I'm surprised to see so many faces in here. The theme is more application oriented. When I was preparing the presentation, I thought I should apply for the least technical content of all the conference talks award. So we're not going to dig deep into Ansible Playbooks, programming details and everything, but I'll give you an outline of the architecture we developed and the reasoning behind it and our experience with it. The agenda is not the table of contents. So I don't have any slides with all of this as a title. This gives you a rough outline of what I'd like to talk about. And this is introduction of our company and what we do, the challenges we face in hosting our first attempt at solving these challenges and then why we changed from an NOVSD setup to jail-based architecture, what we do now in our data center and what we like to do in the future. I myself have been working in IT since 1986 and my UNIX endeavors started with discovering MENIX in 1989. And ever since I took on FreeBSD in 93, I haven't looked back and never regretted it. I'm currently in charge of network and data center operations at punk.de. And I'm proud member of the team MOPS, the magnificent operators. We have three guys who are originally operator type people and one fresh colleague who is a developer. The fun part is that MOPS to all the German speakers means a pug, that smallish kind of dog. So we have an unofficial team logo that looks like this. Does that mean that we do DevOps now? Well, yes and no. I think DevOps must be the most misused IT term of the last year or two. When managers say DevOps, they mean one or two things most of the time. Either they mean no ops. So the developers do the operator's job. But there is a reason why people like me are still around and why it's a profession to manage a data center. Or they mean infrastructure as code and just slap the DevOps label on it. And I'm fine with that because this is what we're trying to do and what I'm going to show you what we do. This is the agenda of our entire team for the last couple of years. Team.de, the company was founded in 1996, started as an ISP. Well, internet these lines are a commodity nowadays, even for companies. So now we're hosting web applications and we have two development teams for hosting roughly 100 servers. We are a right member, a D-NIC member, all the necessary requirements. As I said, three teams and all in all about 30 people. When hosting, as I see it, are availability, performance, cost, and manageability. And manageability is often underestimated, but it's the key point in my opinion that these sites about the scalability of your entire data center. How many people do you need to manage a couple of servers and how far can you scale? We now have 100 at the current location. We can place about 300, but what if we want to scale to a thousand or even more? Hopefully, we will get there one day and we don't necessarily want to increase the number of employees tenfold. Okay, one challenge when it comes to server management. How do you do updates? Well, I never do updates because I never change a running system, right? And how do you do a backup?  Everybody just wants restore, I don't get it. So, as our first try to get a better management platform for servers, we tried to tackle the individual machine and we used the NanoBSD-based setup. NanoBSD was developed by Paul Henning Kump for embedded systems. And the servers we used had two hard disks. You may know the device names from FreeBSD. And what we did was we put a John Mirror on top of that on those hard disks. You can see now it even gets technical. And on this mirror, we put a couple of partitions. And these partitions are part of the NanoBSD architecture. We have two slices that are for the operating systems and all the installed packages. So, this is the entire root file system over here. And we have an alternate slice with more or less the identical software that is not active. And you can update the system by simply using DD to copy a pre-built image to the inactive slice, reboot into the other one. You can easily roll back and so on. The persistent customer data goes into the third slice, as goes the persistent conflict data that you need. And the magic of NanoBSD will copy it over to ETC at boot time. Works quite well. Advantages. Core OS and packages are all read-only. So, there's one less thing to worry about. Even if somebody would have root access, he cannot build, say, a Trojan into SSHD or everything, a keylogger, stuff like that. The partition is not modifiable. If you raise the secure level of your system, you cannot remount it at runtime. So, you're secure in that regard. You get atomic updates. So, hopefully, if your build procedure is okay, you have everything in one consistent state fitting together. So, no missing libraries and everything. You get one system that you know will work. You can roll back by simply activating the previous active partition. Sometimes that's not quite true. For example, when you upgrade from FreeBSD7 to FreeBSD8, the metadata for the JomMirror module gets updated on disk. So, you cannot go back. But most of the time, you can. And if you do it right, you have identical software for all your servers. Yeah. But there are also some drawbacks. The first one was HomeMate. We did not, at the time, automate image creation. So, it was still a manual process, installing the packages from ports into the new NanoBSD image. Sometimes people made mistakes. We had inconsistent software versions, stuff like that. Then, crossed by the architecture, we need a reboot of the entire machine for each update. And we cannot easily install additional software after a machine has been provisioned with a certain set of software. Without going through all the process, building new image and everything. And sometimes a customer calls in and says, well, I need PHP module two. So, how do you go about that? Yeah. And we have one PHP, one MySQL version and everything for the entire machine. So, if you have a shared environment, like a patchy V-host or whatever, you cannot have different PHP versions for different customers on that very same system. We addressed some of these. With the knowledge we acquired during the last couple of years about infrastructure as code and everything, we dug deep into vagrant. So, now NanoBSD image creation for our legacy servers is a simple vagrant up. And then an up-to-date image will come out of that after three or four hours coffee break. No problem. You can run it on a server, trigger it by Jenkins, whatever you go. The entire continuous delivery way, it works really great. And we build our own putria to build our own packages, which is an absolutely fantastic tool. One of the cornerstones when people ask me why FreeBSD, I always say they give you infrastructure, not product, and putria is definitely one of those infrastructure things. So, what do we want from the new architecture? We want an even better isolation of customers on the same machine, something virtual machine like. We want individual configuration per customer. And we want a couple of instances on one piece of hardware, faster updates, and everything fully automated. Not that surprising altogether. That has been the talk of the last years in data center management and hosting and architecture. So, we have two guys that are currently, I think, the big kahunas here. We're into the open stack summit in Atlanta. So, a private cloud with all hypervisor-based architecture seems to be the thing to do. Maybe, or that one. I must admit, they have a cute mascot. So, it's all Docker.  Yeah, 100% buzzword compliance, but didn't fit us that well. So, why not? Why not a hypervisor? One VM per customer. We decided against hypervisors because it would increase our workload, multi-fold, because each VM is a separate system. You can easily dig into the VM's file system from the outside to do updates of 100 VMs at the same time. You have to treat each VM as a separate host, even if you go automating stuff with Ansible or Chef.io or everything. Essentially, on this, wait a minute, let's go back. Here, we have 16 machines to manage, although it's only four pieces of physical hardware. Then, you have a little bit of overhead, not that much, given how powerful today's machines are, that's not really a problem, but you cannot smoothly over-provision, like in a symmetric multiprocessing environment, memory and CPU in a hypervisor, but you have fixed resource sets for each VM, and then which virtualization technology to pick. When VMware came up to be the big guys, I've been talking to them at every CBIT fair, year after year, and I asked them, okay, please show me, you always tell me, you can save so much money by employing VMware. Okay, just do the math for me, you're the sales guys, you do it, and they just couldn't, because their math depends on lots of servers that are running Windows-like operating systems and are mostly idle, like in enterprises. Of course, you have your Active Directory, you have your database server, you have your exchange server, and if you can fit all of them on one machine, then you're saving, of course. For a data center where rent a dedicated piece of hardware to a customer, and the customer wants this precise amount of CPU, RAM, and everything that doesn't scale if you count the cost of VMware licenses on top, plus hardware that is 10 times as powerful as a standard one-unit server with a single socket or two sockets, is most of the time more than 10 times as expensive. So, not that much scalability in our case. And storage is either fast or cheap. Yeah, I didn't forget reliable, but reliable is not an option, I mean, you're leaving out reliable, you don't want that, don't you? Okay, so, what about that container guy that's cute blue whale? I must admit they have a cute logo. Well, no. At least that's what even Docker prepronents and people working in the field keep telling me. They say, if you want to SSH into a container, you're doing it wrong. It's all about orchestrating containers from the outside and you don't do that. Okay, why don't you do it? Because it's supposed to work like this. What you have to look at virtualization technologies with a question, what precisely does the technology actually virtualize? So, if you have a hypervisor, it's like IBM VM back in the 70s. It virtualizes the entire machine. You get N machines instead of one and you put an overrating system kernel, bootloader. Hey, VMware even has a BIOS setup for the machines that you can get into. You're virtualizing machines and you can run arbitrary kernels, that's the plus sign. You can run Windows, you can run Linux, you can run free BSD. Okay, when we have jails, which is much more lightweight, we essentially virtualize slash aspin slash init. So, a jail is just a file system tree starting at some top level directory and then we can bootstrap an entire operating system with everything but the kernel. So, we start at another init process and then go all the way from ETC RC all the way down until all the services are started. And Docker actually aims to just virtualize a single process. Just one thing, an Nginx server, MySQL database, MariaDB, Elasticsearch, what have you. And it happens to be that our customers are of the style that they want the full stack on one machine with persistent storage and they can SSH into it. But we as operators don't want to give them their hypervisor based fully emulated virtual machine because that's too expensive. So, we meet precisely here in the jails. This is a rough summary. They want the semantics of a VM, they want to feel alone on their system and we want fast provisioning, easy updates and low cost. Okay, jails are at an advantage here because they look like a VM to the customer, they have low overhead. Contrary to Docker, they don't require a separate server process and now it's getting really beautiful because from the view of the host system all the processes inside the jails are just regular system processes and all the jails file systems are just regular system file systems. So, you can with local file system semantics always touch and twiddle and tweak all the stuff that is in the jails from within the host system which you cannot do either with Docker nor with a VM. So, and the last innovation is virtualized network stack which is absolutely great.  I'll get into the architecture a little bit later. This virtualized network stack V image in FreeBSD introduces the ePair interface. ePair is essentially a virtual patch cable and one end of the cable happens to be inside the jail as an interface that you can if config, up, down, IP address, IPv6, everything. And the other end happens to be an interface in the host system and every packet that the jail process is right into that interface happens to come out at the host side and the other way around. It's got its own MAC address. So, you can bridge, route and network address translated to your heart's content. We use bridges to connect those interfaces. I'll show you the architecture. We have a couple of customer jails. The ePair interface is called VNet zero in all of the jails. And then we have a bridge interface which is connected to the physical interface of the host machine which is connected to the wire. And the beauty is you don't need to do it that way. Instead of the physical interface, you can use a cloned loopback interface instance, for example, assign a private ePair address to that and then use your host system's routing and netting capability to do whatever you like. You can create multiple of these in every jail. You can connect them to VLAN tag subinterfaces of this. You can use a jail as a router and whatever you desire. It just works. And if you know networking basics, it's really, really, really straightforward. Okay, the shameless marketing plug. We called the new product the pro server. This is how we address the customers. What is so by developers, for developers with that product? It is that we try to put all the technologies in there that modern web applications need for a certain set of applications. So we're still PHP based. Some people would challenge the modern when it comes to PHP. But we put elastic search lockstash, MariahDB instead of MySQL, EngineX and Apache and everything that you might want if you are a PHP developer in there. So the customer gets a full set of features and doesn't have to install that themselves or care about it. That update thing again. It's a managed platform that combines the power of a managed platform with root access. So configuration-wise, the customers can do whatever they want, but we take care of all the software in an automated fashion. Okay, customers get either a virtual pro server. This is a jail instance. All they can render dedicated pro server, which is a virtual instance jail host. And they can put as many jails on that as they desire. And for us, it's all the same technology. So it's easily manageable. Our current virtual pro server host is all SSD based. All ZFS, of course, 256 gigs of RAM, 20 cores, 40 threads. And currently we have one machine with 50 jails and it's just twiddling. Could do more. So how do we manage this zoo, actually? The stack has gone quite big. The jail is of course, the most important element of abstraction here. And we have looked into jail managers. There has been easy jail and free BSC pretty early. Then there was the warden jail management tool, which is part of Freeness, still in Freeness 11 and the new Freeness jail manager, which is called IOcage, currently rewritten in Python. And we are helping a little bit and are actively involved in the development of that Python IOcage by Brandon Schneider. It's a great tool. And if you like, check out the GitHub page. These things are supposed to help management of jails. So how do they do this? All of these, I'm not quite sure about easy jail, but warden and IOcage have the concept of a template jail. So you create a jail with a certain free BSD distribution, say 11.1, and you install all the software you need, PHP, MySQL, all the same stuff again, into the template jail, and then you want to actually do something with it. So you instantiate it for a certain customer or a certain application. And by default, in warden as well as in IOcage, this happens this way. You'll create a snapshot of the ZFS dataset that contains the template jail and then you clone the snapshot. Problem, these are copy-on-write clones of a ZFS snapshot and ZFS snapshot is immutable. So again, we're facing this, one does not simply update how, how am I going to update these things? What I as an operator want is not three instances that I all need to address separately. I want to update this, which I can do, but it won't propagate into these instances because these instances depend on the snapshot. Okay, question so far? Good, so what we came up with is something we call blueprint jails. We made up the term blueprint jail for that because template is already a keyword in IOcage and we wanted to avoid confusion. So in my first sentence, this is not IOcage templates. We just create a regular jail with a free BSD release, install all the software that we need, the packages come from our own putriere and all of this is automatically done with Ansible. And after initial creation, we shut down the template jail and never touch it again. And then we come to an instance jail, an instance jail for a customer application is an empty jail in IOcage, IOcage can do that. And then we mount the blueprint jail on top read-only with Nulloves, that's a local mount that preserves the full POSIX file system semantics and all the read-write directories that a customer's application might need, slash ETC and so on, our separate ZFS data sets that we mount read-write on top of that. All the ZFS mount points are set to legacy and IOcage has got an FS tab feature by which it automatically mounts a certain set of directories and file system at Jail Startup. Okay, okay, yeah. Nope, nope, nope. Okay, so file system layout is like this, we have an empty base jail. This instance is Vpro0048, that's just the pro server product that we manage at this point. Then we mount our template jail on top, the template jails are blueprint jails, are named like the quarter of the parts collection that we use, which PHP version is in there, which Elasticsearch version is in there, so we can have different configuration that we apply to different customer jails. And then we mount all the writable directories on top of that. And this mount is a Nulloves mount and it's read-only and the other mount are standard ZFS mounts and they are read-write. The FS tab looks like this, shortened it a bit, so I could use a larger font and I'm not quite sure if FS tab would accept continuation markers, but you get the idea of what I'm trying to express here. We have some interesting things. This is one of the, on one of the big machines with shared or virtual pro server products. So we have up to 50 currently instances of the jails on this thing. So you can see that we have, for the read-write mounts, we have one Z pool here that is called Zdata. This is a RAID Z2 and we have another one that is Zroot. That is a mirror and all these database directories here, this is Vardy B MySQL, are specifically tuned for database operations so the block size is different, the metadata cache is different and that stuff. And another thing, you have the blueprint jail read-only mount on the very top and then we mount, for example, the ETC and the user local ETC read-write on top of that and then again, we mount the RC.D directory, for example, read only on top of that one. So the customer always gets the startup scripts that match the packages that are installed. So we do this for startup scripts and for the package database. So package info inside the customer's jails gives a consistent output and everything works. Nope. Our customers choose this product because they don't want to. We do it. Okay, provisioning of the entire system works like this. The pro server host is installed via Pixie boot. We have managed to get this completely unattended including ZFS and everything up to a point where you can manage the system with Ansible. The first version of that, install chef.io, client and register at the chef server. We've switched to Ansible for various reasons and we can install the hardware completely automatically. The blueprint jail is installed with Ansible using the packages from our Pudrier and the instance jail is again, provisioned with Ansible and that's about that. So how do we update a customer's instance now? The great thing about jails is that a jail need not be running to accesses from the host system and even to do things inside the jail. I cannot point this out intensely enough to people who are not familiar with FreeBSD. It's just an incredible feature in my opinion. So the jail is just a file system tree that's lying somewhere on your hard disk and if you have workingresolve.conf inside the jail, the jail need not be running. You can just change route into it, use the host networking and do a package upgrade and I don't know any other container technology that would do this. Well, we don't do that. Why? Because of that buzzword here, immutable infrastructure as one of those rollback things. So once the blueprint jails are created and provisioned, we don't change them again. But if we want to do updates, we create a new one and then we update all the instances that depend on them because we just have to iterate over all the customer jails, shut down, change mount points, boot. That takes about 30 seconds. So customer gets 30 second interruption of service and has all the latest security fixes. Okay, backups. We have ZFS. Easy, we do snapshots. You can do them hourly, you can do them daily. There's the sysutil, sysutil ZFS tools port that contains a ZFS auto snapshot utility that you can run from Chrome. And you just tell it how many snapshots you want to retain and it works similarly to Time Machine. So you can say, okay, hourly for 24 hours, daily for seven days, weekly for one month and everything. And you have all those snapshots. So on the local system, the backup for help, I need to rollback something I did to my application. That case of restore is solved. And for disaster recovery, we copy these snapshots to a different system, to a larger backup server with just lots of storage. We plan to have one of those per rack to have them physically near and have faster network connections and distribute the load a bit. I have found a tool on GitHub that is called ZFS backup from Solaris. It hasn't been updated for two or three years or so, but it works quite well. It's a shell script. I liked it. We have built a port out of that, but that still needs a little bit of polishing because before I can submit it for inclusion in the port street. But I will do it, promise. Works for us now. So this was the overview of our architecture and how we run our hosting. So after we tackled some of the problems we have, what's left open and what is left to do, we essentially replaced the VM stuff that is difficult to manage with Jails and we developed the tools that make them easy to manage. What we of course would like to have is some sort of central storage for all of this. Central distributed, I'm not quite sure, without introducing a new single point of failure. I submitted a birds of a feather session that is starting after this talk all the way upstairs and I would love if anyone interested in high availability storage on FreeBSD would just come to discuss concepts and everything. I must admit that I don't have a plan or ready to go solution, but I have some ideas and I'd just like to discuss it. See, just a sec. So another point would be if we could offer self-provisioning of customers. So like a true cloud solution, they could just click and get their jail instance specified to their needs. That would be nice and it would essentially give us a private cloud solution. We are planning to go that way slowly given the resources we have with four people. First thing we want to implement is an API. For all that Ansible code, we have possibly a rest, possibly something different and when the API is done, then the front end can be implemented by anyone. But as I learned today, possibly something like this already exists. There are some people at the booth upstairs from, oh, that was a different difficult name, XTinfinity and they claim to have a complete open stack like private cloud infrastructure based on previously and I'm definitely going to check that out. And I mean open stack like, not open stack compatible or anything. So they're doing everything on ZFS, jails and they say they have a control panel, they have distributed storage and I'm really curious how far ahead of us they are or if they are essentially not so much far ahead. I don't know, I really don't have a clue at the moment. So now for that one. Yeah, we use the resource limits that were implemented for jails not so long ago and we apply them again with Ansible. Okay, so the question was how do we control resources? Do we give every customer all the 20 cores and all the 40 threads? I said no, we just use the resource limits which our experience shows that for CPU cores they work quite well for memory not so much and I have to look a little bit deeper into this, how it's actually implemented and how it works because I figure it might be a hard problem to do something like this with Jail technology. Any clue Kirk, how is it, how it is done? Resource limits for jails? So now there was a few comments in the room that what you've done is re-implemented some of the EZJL features into IOCage. Have you done it in such a way that you could commit this upstream to IOCage so that IOCage can catch up with EZJL on this front? Well, we send all our changes to IOCage to Brandon for inclusion, which he did, but we're actually not really implementing EZJL in IOCage, we just create a custom FSTub for IOCage to use to, as I now learned, re-implement something similar to EZJL. So actually there is nothing to open source. If you take the current IOCage and give it an FSTub file like the one I showed you, there you go. Question from me, when we investigated jail management, which was, well, quite some time ago, it looked like EZJL was more or less a dead-end project. And then IAC system started to sponsor re-implementation of IOCage, so that's why we put our bets on that. So when did EZJL wake up again and get... So the honest answer is I think there's still ongoing effort in FreeBSD to revamp the way that you run and configure jails. And this is not a done thing, so that's where you're stuck as well, I guess. Thanks. One last thing, FreeBSD use jail.conf and EZJL doesn't support that. There were a set of patches to work with that, but they were never committed. Yeah, thanks for the talk. I have two questions. First of all, those resource control things, do they cause any trouble with Java? Because I knew those existed because Java assumes that you are running, like you have 200 gigas, but you actually have like two. And it causes problems when it tries to allocate at all. And the second thing, have you considered using UnionFS for defaults and let users alter their configuration if they want to? Thanks. Okay, so second question first. I've pointed out at another occasion that as an operator, I want UnionFS like semantics instead of copy on write clones. So I understand your question. The fact is that currently UnionFS is simply broken and not being worked upon much as far as I get it. And it seems to be a problem that is not, that all easy to solve for the general case because of what happens when you delete things in the upper layers and how they are propagated down. So possibly this will never see the day of like the light of day. So first question. Yes, that's why I made that remark about memory management and resource limits. As I said, it works really well for a CPU course, but we had Java processes run astray and consume definitely more memory than they were entitled to. And we had to fix this on the application level. Just contact the customer and politely tell them to limit their elastic search memory and stuff like that. So two things. First one is you might not be aware that I think Steve Wills is working on a port of the now open sourced Ansible Tower or AWX to FreeBSD and that would provide you with a REST API to put your UI sugar on top. So that's probably worth a look. The other question is how do you deal with things like slash dev slash log in your jails? And yeah, one first. Well, since the finished product is a managed root server, all the jails have their own private logging because the customer is root with the exception that he cannot install his own software, which we manage for him, which is what people seem to appreciate. So that's the dev log thing. We haven't looked into tower yet. If you're interested, we started our data center automation with Chef.io and we ran a one-quarter lung project where we very, very intensively work with developers and operators and implemented a really huge, now I must admit over-engineered system of managing Chef recipes and cookbooks. We had unit tests, we had integration tests, we had service-backed tests, we provisioned them and pushed them into the Chef server with Jenkins and then finally loaded them down to the managed hosts. Then we had this version pinning thing with a Berks file and everything you can imagine and it was just definitely over-engineered. So now with Ansible, we go with a more lean approach. There are actually still hard-coded constants, things that apply only to our data center. So it doesn't make sense to open-source that part because nobody else would be able to work with us together on the project. I'm very willing and we're very open to share anything we actually created as far as knowledge is concerned. And our approach to the Ansible stuff is that we are continuously refactoring the entire thing every couple of months anyway. So it will probably never be a finished product or something that is usable in the general case. How do you deal with the security risks of accessing data and things within a jail from outside the jail? For example, if you have a sim link inside the jail and you look at it from outside and it's absolute, it points to something else. We use IOH console to change into the jail most of the time. Okay. And when we don't, we hopefully know what we're doing. Yeah, I had a question. How, so what benefits does this give you to access the jails from the outside? It's a bit of a trick question because we're doing the same ourselves, but I would like to hear your ideas first. To me, it's not so much accessing jails from the outside. It's the fact that it's actually local file system mounts. So you can share, for example, the same file system or dataset among multiple jails and all of them have local semantics. So you can have a Unix domain socket on them like MySQL.soc or PHPFPM.soc. So you can isolate the database, the web server or PHPFPM. You can have two jails running different versions of PHPFPM and both have mounted the same customer files and PHP application dataset. So the customer can try his application with different versions of PHP and all that stuff. The single opportunity where I really go into a jail and access it from the outside is, as I said, when I want to do updates or a quick modification, add a package that will of course later go back into the Ansible code. But if I need to manually add a package to one of our blueprint jails and the blueprint jails is of course not running while it's mounted into all those customer instances, then I can just change route into it and package install something. I could even use without the change route package install and give it a destination path and everything. So that's about the only application we have, but the general architecture is local file system mounts beat everything in my opinion and you can do so many fancy things with that that I don't want to miss it. Now what are you doing with them? Okay, forgot that one. Of course we run the stock security scripts and daily scripts as well as our own ones only on the host system and not in the jails. I also use Ansible and jails, specifically easy jail and IOCage. I like the idea that you're putting the local system data on separate file sets. I like that idea because I like Zeta-Vest and I like to put anything that you may ever want to use separately in a different dataset and I'm tempted to do that for my own jails at home which I'm updating myself. I also like the approach of never updating in place but just creating a new jail and I may wind up doing that, say for Postgres. I have a PGO1 jail which hosts use at the moment and instead of upgrading that in place I may create PGO2, update everything in there and then just swap everything over. That's not great for high availability because there's gonna be downtime but hey, it's at home but a few good ideas on what you gave me there. No questions, just thanks. Great, glad you liked it.  Is it saving you time already? Yes, definitely. I can't tell you how much time or money precisely but definitely updating those NanoBSD servers despite the fact that it was sort of atomic and NanoBSD and everything was always a hassle and we dreaded the update days and we've changed to a monthly schedule of doing updates whether there are security updates or not. We just do it monthly to keep our customer base educated sort of and in case of an emergency, of course we do them right away and we don't have a problem to update all the systems we do it in two, three hours. All the jail-based ones, that is. Yes, yes, yes, the interruption per jail is in the order of 30 seconds to a minute or even less depending on the amount of services the customers are running and how much time they need to write out their volatil data and everything. So we've used HA Proxy to put stuff behind and actually end up with seamless updates as a result. So we have an active jail that's performing service. We have the new upgraded one in place ready to go and then just set the back end of HA Proxy for the old jail to maintenance and then it just automatically traffic to switch us over to the new one and I don't know if that works for your customers but certainly for us that makes upgrades embarrassing and easy. So much that we have our databases behind it now, our message queue behind it, our APIs to external, so third-party APIs as well and it's really, really nice. So you're doing this for centralized services like a centralized database server or a couple of them and centralized message queue server or a couple of them, not one instance per customer. Or is it one? Yeah, so we're not a hosted service. It's a, we're running our own business and we have multiple databases, clustered databases, clustered message queue and they are accessed from HA Proxy. So it looks like one externally but we have them on multiple nodes. So for example, this jail host here receives traffic to its local database, unless that's down for maintenance in which case it just goes to the nearest one. Yeah, yeah, yeah. That's definitely the way to go. We don't do it for these customer jails because we have a plethora of independent customers who all run their completely independent instance with a full stack, so that wouldn't scale too well. We have not found a way to do that yet. Hi, what happens if a customer is not okay with a down time of 30 seconds? What do you do then? Or is it just your business model just saying this is how it's done and you have to accept it? He can book an additional jail that is not built as highly because it's inactive most of the time, come up with his agency who does the software for him or with us, with the replication mechanism and then we switch over to the inactive one, update the active one, there you go. Or have two jails the same size and simply switch over, of course. Okay, so no question. If you made that presentation two months ago, I would tell you that you were wrong about the SageRoot command, but now Solaris is dead, you are right. Since you managed to fail over a situation where you have a separate jail where you replicate and stuff, how do you handle host updates, the physical machines? Do you have the same mechanism somehow or do you say it's part of the business model? The host runs very few applications on its own, so it's mostly the base operating system and we schedule a maintenance window and inform the customers in that case. For several of them who have contracts that match that, we actually switch to jails on a different host, but not for all of them. Okay, thank you.


Sue and Wendy are in the meeting and I'm turning my microphone off. And so Ron, we'll catch up after the meeting. Thank you. Welcome everybody. This is Thursday, April 23. For another hearing from the general housing and military affairs committee and we are going to get right into the conversation about as 333 we had a long conversation yesterday. There were some bumps in the road on our way to finalizing this bill. We have with us today the same folks we had yesterday we have representative from the Vermont legal aid, Wendy Morgan representative from an attorney who works on bank closures. Sue Steckel is here as well as the attorney as well as David Hall. And so there's everybody in the 17 minutes that we've been since or less than we've since we checked out at the last meeting. Has anybody seen the material that we just emailed out so that we have. So I just want to get to the microphone with with Wendy first and then Sue to talk about the compromise of the compromise, you know, this is the correction. This is where we thought we were 24 hours ago. So they've they've come to a compromise on this language that I do think is probably a little clearer and gets to where we both want to be. Lisa, do you want to chime in before we get going. Yes, if you don't mind. I have seen the material I have not had time to digest it. I don't know that more witness testimony is going to make it clear because yesterday it certainly did. And I liked where we were on last Thursday or Friday whenever it was that we ended with this. I understand the fact that we need to include mobile home residents in this bill, but to keep adding and adding and adding to this and narrowing down the focus and rushing it out so that we can vote on it in the full house next week is not where I want to be going with this. So I also I'm taking really. I'm trying to be patient but the fact that other people are writing this bill for us. It just really goes against what I feel we should be doing in this. That's what I had to say and I'm feeling now really rushed and pressured to get this out. And I'm not fully understanding all of this. Thank you. That's, that's fine. Thank you for sharing the fact is we've been working on this for a long time we are writing this with the advocates this is information that we have. If I had my druthers and if we were doing this in 3D this would have been done three weeks ago. The fact that facets keep popping forward. It's our job to act and think pretty quickly when these things come forward it's not easy. This is information that, you know, we will. I invited the witnesses back because the language is sufficiently different. And I would ask of the witnesses to be as concise as possible. Moving forward in the next I would I don't want this. I don't want this particular meeting to take an hour but I don't feel that there's a rush on. You know, I will take the other stance that we've been working on this for a long time and we need to get this across line there. There are Vermonters who need this kind of protection as soon as we can possibly get it to them and we will make a decision after we hear the after we hear the testimony from the witnesses on the new language we have several choices we have. There are all amalgamations of the stuff that we agreed to last week which is broader language and includes the mobile home stuff David had provided those those options upon our website and we will, we will go through them. And we will, and we will make sure that we understand them as best as we can but we've been working on this for a long time. I've been working on this a long time, respectfully and that's why I'm asking to not have all of these changes last minute because we have to get it out for next week's vote. We were set on this last week and I understand the mobile home thing, and I do understand that we have to pass something and get it out to people, but it doesn't have to go down to this level of detail to help Vermonters. The broad, the broad brush. Right, so if that's it but if that's, if that's where you are when we after we hear this, this testimony, that's fair that's your vote. And that's what you're going to be comfortable with and and that's, I'm perfectly fine with that but I'm going to, I'm going to move us a little bit forward and and get going here so Wendy please you can start and as I said I'm just trying to you can just tell us a little bit about what what you've worked on and I don't know actually David, I'm sorry I'm going to ask. I don't know how are we going to do this technically can David put this up on the screen and Wendy talk. David can you yeah okay thank you. Jared just with which version are we looking at okay David if you could chime in and just show tell us what we're looking at here so that we can. This is so this looks this looks like to me. That the language that they this is the confusion language so so we see online 12 actually David I'll let you explain this if you can and just and then Wendy and Sue will chime in and talk about what be and little one and little two are. Chair I'm sorry it's john I just need to know where in draft 3.1 draft 4.1 or Susan Steckels language recommend I don't know. I'm looking at David can you clarify please. What I hope you're seeing on your screens, which I am sharing is draft 4.1 4.1 thank you. Is everybody seeing draft 4.1. Yes. Yes. Great. And so now David can you scroll down on that I'm seeing just the top half of page one. Okay so Wendy can you just go ahead and say this is this is the language that was provided through Sue Steckel and but it was this is the agreement agreed upon language from legal aid and from and from the bankers. Wendy if you could just take us through this this kind of combines what both of the things that we're talking about so can you start please. Yes. Thank you very much Wendy Morgan from Vermont legal aid for the record. So you will recall that our concern was with the word that is occupied and the concern that not. Everyone has the same definition of occupied but more importantly that there's some could be some residences that are still occupied but where the tenant is no longer or the resident is no longer in the residents because of maybe their hospitalized maybe their sheltering in place with somebody else caring for somebody somebody caring for them whatever. So be be is an explanation of what is going to be, if you accept it, not for purposes of this act a dwelling houses deemed to be occupied and less. All of the following are true so this is basically a definition of what is not occupied when, when the court could find that the residents is not occupied and one thing that this provides is some very specific messaging to the attorneys who are representing the mortgage ease that. These are. This is information that they should be supplying to the court to determine whether or not it's occupied or not occupied. So this actually tracks or not exactly tracks but is is parallel to the abandonment statute in landlord tenant law when a property is deemed to be have been abandoned by the tenant so this is sort of similar to that it's it's not the same but it's similar. It's particularly excuse me similar in construction so it says that a dwelling is deemed to be occupied unless all of the following are true so little I is that there are circumstances that would lead a reasonable person to believe that the dwelling house is not occupied as a full time residents, including evidence that utilities are disconnected mail is not being delivered, or the dwelling house is empty of necessary household furnishings. So if there's just trash that's not furnishings but if they're furnishings then you can't can't say that it's unoccupied. Number two that the mortgage and the dwelling house is not current that's going to be pretty standard because you're not going to bring up for closure action if, if the mortgage is current. And finally three that the mortgage G the, the person is holding the mortgage has made reasonable attempts to ascertain the mortgage or as residents, and it has a reasonable belief that the dwelling house is no longer the mortgage or as residents. So in that case the, the mortgage G would file an affidavit with the court that says, I tried finding this person I asked the neighbors they told me he was in jail I checked with the jail yes sure enough he's in jail or whatever it is so that especially if the person's in jail they may still be a resident but if somebody's moved to North Carolina, and they've found the person they've communicated with the person then obviously the court will say okay the person's agreed that they're living in North Carolina and they're not available, not living here. So, number two is the mobile home park resident which I think you all said that you had no problem with yesterday and number three is during the emergency period which is language that we have after the effective date of this act, which came from David so that's what you have in this proposal here. I'm going to go to Sue now. Sue is that is, is that what we're talking about or again are we in agreement between the two of you. Are you in agreement that this is the, this is language that you agree on before we consider this as a committee to go. We are in agreement. I think this language provides the comfort level that legal aid has been seeking. It gives good guidance to attorneys as well as to courts. As to some of the factors that they should be looking at and the information that should be provided to the court with the filing. Okay, do we have. And the David do you have any do you have any legalistic questions or comments or editorials on the language that was provided. Nope. Okay representative Triana hold on a second week. Representative hang go first. Thank you. I guess this question is for either Wendy or Sue, where did this definition come from and is it a mutually acceptable definition throughout the judicial world by definition I'm asking about the definition of unoccupied. Well, we can go and either of them. This is again as a reminder this is language that appealed that is only it's a session law it's not changing underlying statute and it's what's going on for the length of this particular, this particular crisis. This is over but but but the attorneys can weigh in on that as well if you like. I'm asking specifically for small letter I, the circumstances that would lead a reasonable person to believe that the dwelling house is not occupied as a full time residents. Where did that language come from and is it accepted throughout the judicial community. What is the concept of of of what would lead a reasonable person to believe. No, not the concept of but the whole small letter I who who thought this up or is it in a definition some is it a definition somewhere of a non occupied unoccupied dwelling. It's similar the first half. I don't know if it's word for word maybe David can check while we're talking and I'm, I don't recall the exact language for abandonment in the landlord tenant law but the first part of that my recollection is is almost exactly the same as the current landlord tenant law and then we added the evidence, including so those are just examples of things that could show the court or could lead a reasonable Morgan G to say okay this person is not living here. And I, if I, if I may add to that, I think those are examples that are typically used by foreclosing attorneys in a pleading to demonstrate to the court that yes this is an unoccupied property, and those are factors that the courts like to see. There could be, there could be many others but I think those are good examples. You'll hear me because for some reason my screen disappeared. Yes, we can hear you. Yeah, so I can no longer see. And I'm sorry I missed Sue's answer, because for some reason I'm in the joint a meeting again. I will try that again. You hear me now. Yes, just and just to be aware of Lisa we can actually see you just fine. That's really interesting so I'm not sure what's going on because I'm at the screen that wants me to join a meeting again and I can't, I don't have any click on view video or you. Lisa, are you on your iPad or on your computer. I'm on a computer. So, can you are you on a windows or you on a Mac windows. So there should be something on the bottom of your computer screen that you can click I'm not as familiar with with windows, but that will show you all your different applications that are open. And so that's what you could possibly see to try to find something to find where where we are. Do you see a little camera at the bottom of your screen a little blue camera. No, not Ron. And thank you dn I'm not seeing what you're referring to. Another option Lisa is to maybe minimize your major screen. And it might be hiding behind it. It might be hang on. Oh, I think I think I'm getting there. The guy, the lives you leave that I apologize and please go ahead Sue if you wouldn't mind. I don't think that there is a standard accepted definition of unoccupied for the Vermont judiciary, but be small I as proposed, suggest criteria that in the past, both for closing. Plaintiffs attorneys and courts have looked at in order to make this determination. Thank you so I guess my question is if it's generally accepted by the judicial community, why we need to spell out all these different scenarios. I can, I can answer that I think it helps to give guidance, perhaps to attorneys who are less experienced in this area. Or who may tend to take shortcuts in terms of vacancy it's giving suggestions both to the attorneys and to the court of things to look for rather than just a blanket statement, this property is vacant. So my, thank you for that so my recollection when we spoke with judge Geerson, Geerson that they, they were right on this, they didn't have any such concerns. So I'm going to stop asking questions now because maybe Representative Triana wants to ask some judicial type questions. Thank you. Nice by the chair. There you go. You're on. Okay. So, I do want to comment that the reasonable person standard is widely used throughout the legal system, criminal law civil law and we're seeing it here and now in the landlord tenant law. I'm not a fan of it because what's reasonable to someone is not particularly reasonable to me maybe, but it is well used, and in fact, over 35 years of challenging it on occasion in court have lost every time. So I can say that, you know, I think, I think this language clarifies some of the issues that some of us, I think, including me, we're having yesterday as far as, as Sue said, giving some guidance to the court, and to the attorneys and and that is actually beneficial when you're, when you're creating or writing law that it does give possibilities or or examples of what it is that we are looking for in order to make a determination, whether a dwelling is occupied or not occupied. That's what it says to me. So, that's just a comment. Okay, representative Kalaki. Well, what I'm, what, what I'm struggling with is that the, the intention of the markot amendment which we all kind of like to make sure we understand that it has to be occupied. But if we're drilling down, I don't know if it's making it better. And if landlord tenant law already recognizes abandonment, and that it's, it's within this framework, is this clarifying it, or is it making it more diffused in a way and is it better to leave it more open with the markot thing and just add in the mobile home element and and I'm not sure in this refinement that we're actually getting a better bill out of it. But I think leaving it more wide open for the courts. There we have landlord tenant law and if all this is in there from what I'm hearing from our witnesses today, I just don't see where this is getting this anywhere better with the intent of what we're trying to do we're trying to protect people in their homes. And so everyone thinks this is better I'll go with it but I think we got pretty close with the markot amendment myself. Representative Triana. Yeah I, I'm just, I'm not going to comment I disagree john with that what you're saying I think this clarifies the situation to a point where it makes the bill a lot better. All right, any further questions for the witnesses because then it's just going to be up to us and we'll have several choices to to hash out and we'll try to. We'll try to hash out and I don't as a, as a, hopefully I got across that may not have gotten across as clearly as I wanted to but again this was just language that came across our transom. 45 minutes ago basically or an hour ago. And prior to that we were basically at a point where the language that was put on our website. And that was shared with the committee earlier was basically, I mean it sounds like we don't have a problem with the, what we just saw as a third instance of amendment which was the timeframe. We don't have a problem with adding mobile homes and so the question is, the question really comes down to this line, I think we can probably assume that it's between the markot amendment which simply says, which David actually, if David if you could put that up again. If you could put up what was on this, what was on our website for today. There were two, there were two different amendments that David had prepared for us to consider. And the one that that is where you rewrote the markot amendment basically where you changed it from which is occupied to a different version of using unoccupied, I think he's what you did. If I'm not mistaken. There were two there was one that was more representative of the markot amendment and there was one that was more representative of the language that we discussed yesterday. So this formerly said, which is occupied the yellow text, yes, you know with under the markotum is the markot amendment was comma, which is occupied period. And this was something that you developed yesterday or tonight or this morning correct. Yes. What version is this 2.1. What 2.1. Thank you. So this still is a fairly broad. Broad definition, it does not narrow it down. In the way that the language that we heard specifically today does, I mean we're going to, I'm going to ignore the, I'm going to ignore the language that we heard yesterday and treat today's language as what we. It's, it's basically. It's basically this language or the language we just heard about is, or we can go back to just simply, which is occupied, which is the simplest, which is the simplest version of this. I'm going to unmute everybody who wants to be unmuted. I'm sorry, go ahead. Could I respond to this is Wendy Morgan, could I just respond briefly to Representative Colacchi's comment. Yes, and just from a technical yes just from a technical perspective Wendy, do you know where the raise your hand thing is. No, I have no idea. So on your zoom screen to see do you see at the bottom of the zoom screen says participants. Does it say participants. Yes. Yeah. All right. And then if you lift it up, it should have on the bottom of that. It should have a thing that says raise your hand. On the right hand side at the bottom. Yeah. So if you can do that, that would be, then I'll be able to see that you've that you want to chime in and look. Oh, look, Wendy, please go ahead. Thank you. I just wanted to say that the language is in the landlord tenant law, but this bill deals with both landlord tenant law and foreclosures and so this is putting parallel language for foreclosures. That's all this section is doing here. So I guess then I have a question.  Are we doing blue hands now, even though we're unmuted. Actually, that might be help still helpful. Yes. Just just so that I know when people need to, to chime in. So, so chip go ahead and then we'll get to you Lisa. I just want to finish up on the piece that we had just looked at that that when after working in statutes for so many years. It is lack of clarity sometimes in the work that we do that precipitates litigation or so. It is again my opinion that the more clarity that we can lend to, to the courts and to the litigants. And keep in mind that we have, we will, we're looking at a situation in which many tenants and even and even property owners are not represented in the in these situations. So the more clarity you, you can provide. I think the better off we are in creating a law. And that comes from my experience and again, and seeing that, you know, vagueness is what brings on litigation more often than not. And those who are not able to properly litigate a situation, such as tenants and landlords are at the disadvantage when things are more vague. Representative Hango. So I guess then my question is, maybe for David, what does, what do the laws around foreclosures have to say about this if we're told that 10 landlord tenant law has language like this. Is there nothing in foreclosure law. And I guess for now that's it. I would have to look back at chapter 172 I don't I don't know off the top of my head. Sorry. That's okay and my other question had to do with abandonment is it the same thing as an unoccupied dwelling. I don't in my mind abandonment is not the same thing as unoccupied. I don't know who wants to answer that. Well, so they're, they're definitely just different terms for the same concept, I think, I mean the, the reason we're referring to abandonment in the context of landlord tenant laws because there's actually a specific section, section nine about abandonment and the reason that the reason that that section of law exists and there is a standard for what it means for a residential rental unit to be abandoned, is that it, what it does is trigger requirements on the property that's left behind. I feel like this is probably, gosh, 10 years ago now, but there was, there was kind of a significant debate about who has the responsibility for property that is left behind when a tenant leaves. Is it trash or is it personal property. If it's something that needs to be saved who has to pay for it what do you do with it, and all those duties are triggered by whether or not the property has actually been abandoned by a tenant. And so that's why we have a standard currently in landlord tenant law. I mean, hopefully it's, it's, it's, there's not really a comparable circumstance right now in foreclosure law because there's a fairly objective standard over whether or not you're going to go into foreclosure and that is, you haven't paid your mortgage, right. And I think that the this bill, you know, is reflective of the exceptional circumstances we're in, where somebody might not be physically occupying their residents, but they are not necessarily abandoning the residents, even if they're behind on their mortgage there could be exceptional circumstances for why they're not there. So, you know, I think the chair has it right when he says that, as far as the markout amendment goes, this really is the same standard it is the broader exception to the foreclosure moratorium. I mean, the way that this language before you will function is that s 333 will not apply in foreclosures against unoccupied properties. The new language as represent triano has suggested just put some shape on what we mean by a property is occupied or unoccupied well how do we know that by having it in this bill, you give direction you give schema to litigants and to courts about the objective criteria concerning occupied or not occupied doesn't change the status or the scope of the exception. It just puts more shape on what we mean by that term occupied. So, you know, the words that are being used in this proposal happened to mirror the words that are used in 90 SA 4462, which relates to abandonment of a residential rental unit. I appreciate it when they're your clarification for me and I know I listening to chip as well I kind of like the clarification in this, this new language we're seeing and I think it just refines the bill and the intention that the Senate sent to us and so I'm, you know, I was earlier, asking questions about it but I, I think it's stronger. So I'm with chip on this one. Is that are you are you talking about the language that was presented today or language that was from from from legal aid today. Yeah, okay, new language. Yes. Okay. Representative Gonzalez. Wait, wait, wait. There you go. That's right. So, thinking about that 4.1 it feels like you've had a lot of conversation about this and and I would like to call the question to see if we could vote on so I move if we vote on S 333 draft 4.1 and move us along. All right so we have a motion on the floor to accept amendment draft 4.1 to S 333 do I have a second second. So, Matt's Matt's seconding so I'm going to. So, I'm just going to pause here for a second. I'm going to mute y'all up for a second. And we can still continue this conversation before we vote, but I just want to make clear, Mary, are you ready to Are we are we own the bill now. So votes that we take on the bill now are going to be recorded as as votes so this is a this is a vote to accept amendment 4.1 which is accepting today's language plus the language on the mobile home in the time frame. To go into the Senate's versions of S 333 and we're essentially, I would like to have this vote on this particular amendment as it's been proposed and then basically go back to S 333 which we would then be saying that we're concurring with when we present this on the floor will be concurring with further amendment. This is the further amendment that we're we're contemplating now so do you have the material that you need to have when we're ready to call the call the vote you unmute. I will have to look it up here. Okay, and run run it set me that call sheet but I'm going to have to Just this vote when we have this next vote it will be on, it will be on version 4.1 of Right. Did you have a further question Mary for your hand. Now I was just going to second representative Gonzalez suggestion.  I just want to make sure I understand what we're voting on now I'm going to confuse. Are we voting on the amendment as we heard amended this morning or on the entire package. No we're we're hearing we're the vote that was the question that was called by representative Gonzalez was to vote on version 4.1 which is what we just heard about from Wendy Morgan and Michael so that language that that was introduced today. Not the not the versions that were not the versions that legal counsel provided this morning but the ones that were just provided this afternoon. And reporting just on the amended language or on the entire bill. It's on the amended language I don't want to I want to I want to keep. I mean this has been fairly contentious and I just want to make sure we're straightforward on on this particular language as it's been as it's been moved and seconded representative Hango. You need to unmute. There you go. You sent us an email midday. Mr chair that spelled out four different scenarios. And my understanding at that time was that we were going to have the opportunity to vote amongst ourselves straw poll or whatever on which scenario we liked the best to amend as 333 as it came over from the amendment and then low and behold while we were in our house floor session. All of this other language came through an amendment was written that we didn't have any input into writing the amendment and now the question is called that we are going to vote on that I'm not comfortable with this process at all the way it went because I actually spent my lunch hour reading your email with the four scenarios and I had decided in my mind which scenario worked best for me and my constituents so I'm a little disturbed at the quickness that this is going by and the lack of opportunity to craft an amendment of our own so to speak in this committee. Thank you. Okay, point taken. Thank you. I have a couple of comments right now on the on round version 4.1. Okay seeing none. Claire can commence to call the roll. Okay. Representative walls. Yes. Representative Gonzalez. Representative long is not there. Representative gommash. Wait, I'm sorry. Hold on Mary, please. All right. Representative gommash your vote again. I'm sorry. No. Okay. Representative triannel. Yes. Representative Howard votes. Yes. Representative Colacky. Yes. Representative Zot. I'm sorry. Just a minute. Can you unmute? Randall, can you unmute? Here you go. Representative Zot. I didn't hear you. Can you give me a thumbs up? Or a thumbs down. Okay, thank you. Let's say yes. Yes. Representative Byron. Yes. Representative Hango. No. And representative Stevens. Yes. So we have. Are we going to wait for Emily or. No, she's not here today. Oh, she's not here today. No, she won't be coming in. Okay. So we have. Eight. Yes. Okay. Okay. To know. One absent. Eight to one. Okay. And, um, if there's no further conversation on the bill, the next vote would be. To. If someone would make a motion. To concur with the Senate. To concur with S three 33 with further amendment. Okay. Okay. Do I hear a second? Second. Who was that representative Kalecki. Yeah, second. All right. And I understand this has been really, you know, it's been hard and it's been in this particular section has been contentious and that's fine. That's, this is. Again, it's been quite a while to work on this bill. And we really appreciate it. This, this universe, this standard out into the world. I mean, it's clear. You know, I personally received emails from the Southern part of the state and in, in, uh, Counties that may not have been. That don't have this coverage yet or this kind of coverage yet. And, um, And from others who are concerned that, that these issues. Not just what we were talking about today, but the, the larger issues. Need to be homogenized across the state. They need to be standard across the state. And this is what this bill. Attempts to do for this particular crisis. It does not change the statute, the underlying statute. None of these changes will continue on once this crisis is over. And I think that's an important piece. Of, of this, um, Of this legislation. Um, representative. Hold on a second. Let me see who's first representative Hango. Thank you. I just want to be very clear that I am totally in favor of helping all Vermonters and, um, The bill that we had crafted last week with the exception of mobile home residents was a fine bill. Um, the amendment to it, which was the Markott amendment. Worked well. Um, I am disappointed that there was not an opportunity to discuss the email that chair, Steve, it's wrote to us today this morning that, um, outlined several different possibilities and combinations of. Case one, two, three, or four, or amendment, whatever you want to call it. So, um, I really regret having to vote now for this. And it's quite painful for me. So, um, I just wanted that to be on the record. Thank you. Okay. Representative Kamash. Hold on a second. Yes. No, I was. I was going to add to what Lisa has just said. How is this bill. Going to actually read. What exactly is going to be in it at this point? I, so it will be. It will be what the Senate passed to us, which was language that we developed for the most part. Right. And then there are three instances of amendment that we just voted on. So that's what's, that's this, that's what's in the bill. So it basically does not deal with. Any job protections of family leave, which we had discussed that did not come back over and as 333. Um, it does not have any information on homelessness protections or funding that's going to come from a different, that's going to come from a different angle. And so the Senate cut that out. So this is, this is eviction moratorium and foreclosure protections. And I think that that's one of the things that's been very, I think that's a great comment. And in the end, I think in the past we've discussed them and we've spent the last several hours discussing this piece on, on, um, foreclosure. Protection is trying to get this right. And making sure that, that people are displaced. Um, Because of a foreclosure due to this, due to this, um, crisis. This has gotten a lot more complicated than what it, than what we had originally. In my opinion. So, um, I'm very disturbed. At this, we are, we are taking up this bill today. And in a short amount of time, we just, we've changed it substantially from what we had all agreed on. And I don't know what this. Well, we have to vote on it, right? We're going to take a vote on it. Um, uh, representative hang or representative triano first, please. Yeah. And I would just like, I just like to reinforce that when pro se litigants get in a courtroom before a judge, it is incredibly intimidating. And the more clear that we can make this statute, which I believe is what that just new section did on, on section four, a 4.1 is a much better bill. And it's not that difficult to understand the language that we just incorporated in this for any, it shouldn't be for anyone in this committee. And the notion that, uh, amendments are drafted or recommended by other people, other than our committee, uh, is really standard operating procedure Lisa. And I just have to reinforce that this is a better bill for more people, for more Vermonters that will find themselves in court, litigating these situations. And it's, it's, that's my opinion. So that's what I'll wind up with. All right. Representative hang go. Thank you representative triano for adding this is my opinion to your statement because it is your opinion. And this is my opinion. I'm not challenging that. And that's, and that's fine. Um, I just would like to request a clean copy of the entire bill so we can see what we're voting on. Thank you. Um, is that something that you need to see in order to understand it? Or is it something to delay the vote? I absolutely take offense to that chair Stevens. I am not trying to delay this vote in any way, shape or form. I'm actually trying to get clarity for those of us who don't quite. Know what the exact bill is going to say. I have never in my short time at the legislature have voted on a bill that I haven't seen a copy for. And I'm going to choose to forget that you just said that about delaying the bill. Thank you. So the clean copy of the bill. Is. It's a big issue to us. That the bill was sent to us in S. 333. There is the separate amendment version 4.1 that we just passed. Those are the two pieces. There's not like, and when we present this bill on the floor, it will be that we concur with further amendment. So if you, if, are you asking. in order to make a vote, yes or no, that you need to see what the bill looks like with all of the language all put back in as if it's a finished vote after we vote on this on the floor. Is that what you're asking? I guess I'm asking to see and maybe David Hall can point me in the right direction because our webpage has many different iterations can point me to the two sections that the bill will look like when it's passed in its entirety. And that's typically what we do in committee to my recollection, but as you know, I have limited experience with this. So I'm just trying to understand the process. Yes, I'm sorry if you were offended by my comment. I've made it clear that we do have a deadline. So I apologize if you were offended by what I said. Representative Gonzales. I wonder, Representative Hango, part of it is that since we haven't done many bills where we have a further amendment from the Senate on the Senate bill, and so if that's part of just in terms of the clarifying process of a new process, but because we are doing an amendment to a Senate bill, we don't typically get what the whole bill would look like after we had voted, after we had voting. So I think what you're asking for is more when we do a strike all. So when we do a strike all, and then everything gets put in to the bill so that it's easier to read, which is not what we're doing here. And so I think what I'm hearing you ask for is not something that we typically do unless we do a strike all and then it gets incorporated in. So I think what you're asking for isn't something that we would normally have. Okay, so Representative Gonzales, that must be the teacher in you because that's exactly what I was looking for. Thank you very much. I appreciate that. Representative Kalaki. Just procedurally, didn't we already have a move and a second on this? So I don't really understand, should we vote? Or is this typical that we have discussions? Well, we have a move in this. Oh yeah, absolutely. Okay. Absolutely, we'll call the vote when discussion is over. Okay, thank you. Any further comments? Does anybody else want to weigh on? And again, I totally appreciate that this is not an easy bill and this is not an easy section of law for us to get right. But I think we've gotten to that point. And if we have no further questions, then the clerk may commence to call the roll. Okay. Representative Triano. Yes. Oh, I lost my place here. Representative Walz. Thank you for not forgetting me, Mary. Yes. I'm sorry. Okay, Representative Gonzales. Yes. Okay. Representative Gommash. I choose to abstain. Sorry, abstaining is not allowed in a vote like this. Okay.  Yes. Is that, would you like us to come back to you? Yes, I want you to come back to me. Okay, thank you. Okay. Let's see. Representative Howard votes yes. Representative Kalaki. Yes. Okay. Representative Zot. Can't hear you. Representative Zot. I'm sorry, I'm sorry. We can't hear you randomly even when you unmuted. Okay, that's a yes. Can you give me a thumbs up, please? Representative Byron. Yes. Representative Hango. No. And Representative Stevens. Yes. You need to go back to Representative Gommash. Yeah. Representative Gommash. This is very difficult. You got to understand. But inside. I'm truly torn. Okay, can I, can I, Marianna, can I just pause for a moment here? Sure. And just pause and representative Howard, just pause. I'm sorry, I just got an email from David Hall who took the time just now to put the amendment. This is what the bill will look like with the amendment as if it were a strike all. Do we want to see that? I would like to see that. Okay, David, would you please share that with us? And thank you for doing that, David. Are you seeing highlight on your screen? Yes. Great. So what you have on your screen right now is S333 as it came over from the Senate. And then I've threaded in the language from draft 4.1, the amendment. And so if you had structured this as a strike all amendment rather than what I usually refer to as a surgical amendment. So the surgical being, you know, first instance, second instance, third instances of amendment, which can be confusing to read. A strike all would reproduce the bill in its entirety plus the changes that you're recommending. And so you would see here in section one, landlords and tenants, housing lenders, temporary housing related moratoria. You have our definitions in subsection A. You would be changing the definition of ejectment to add in the mobile home park resident. You would be adding to the definition of foreclosure, caveat that the property actually be occupied. And then the language and subdivision B concerning what it means to be occupied. And then the last piece is down in subsection D or new foreclosure and ejectment actions. And this is the timing issue during the emergency period. But after the effective date, you can commence the new action. So otherwise with those three changes, you'll see the rest of the bill is as past the Senate. So that's the compilation version. Okay, committee, do you want this sent to your email boxes right now? We'll take a 10 minute break and get back to it. I would appreciate that. Sure. Representative Hango, is that sufficient? Sorry, I already voted so. No, I'm more than willing to allow people to change their vote if they are, if your answers, if you have answers to your questions, if you have an opportunity to review what David has done for us. Is that posted on our website, Ron? David can email this to, David, can you email this to the committee please? And I have. All right, so it should be in your email box and we'll, Ron will post it as well. But do I, can I, I can't see everybody nodding their heads or anything, but if basically people are people okay if we take a few minutes for the committee to review the bill? Certainly. Yes. Okay. The procedure for a break is that we ask everyone to turn off their cameras and mute themselves. And I will put up a sign saying that we're on break. So we're still live, but all that will be shown is a, we're on break side. Okay. It's 429 on my computer is 440 sufficient or 445. All right. Before we, before we get back to voting, I just wanna put it, their discussion is still out there, Representative Gommash, you were, and Hango in particular, you were able to read what would be a strike all amendment. If you want to unmute and if there's any further comments on this, we can, I can simply ask if we want to, if anyone wants to change their vote, we had one person who's, who hadn't voted yet and the floor is open. If someone wanted to change their vote, it's not permanent until it's closed. So Representative Hango, did you have any further comments on seeing the bill in its current form as if, as if it were a strike all? No, thank you. And thank you to David for doing that for us. Yes, that's over, thank you, David. That was really over the top and very good. Very nice of you to do that. I appreciate it. So Representative, does any, the Representative, well, anybody does, let's finish the vote with Representative Gommash and David learned a new, a new trick. The, let's finish the vote with Representative Gommash and then if anyone would like to change their vote, they can raise their hand and we'll allow that. Representative Gommash. Yes. And does anyone choose to change their vote? Okay, seeing no one, seeing no one raise their hand. 9-0-1. No. No, no, I'm sorry, 9-1-1. Okay. Sorry. No, that's fair. So thank you everybody. Again, I appreciate that this was a hard conversation and it's been, it is a unique circumstance. What we're trying to do here and it's been difficult, but I appreciate you're sticking with it. And to this point, and we will get this to the clerk and move it forward to the floor. To, we'll work with you, Mary. Okay, thanks. So again, everybody is unmuted except by choice here. If ever, if does anybody have any further comments for today, we will have an agenda for next week. We are on two, for our committee, we have Tuesday meeting and we have a Friday meeting that's been confirmed. Ronald will send that out and we were going to pick up a conversation as we discussed about what are we going to do come May 15th, we're starting on May 15th. If the stay at home order expires, there was actually a very difficult article in today's Montpelier Bridge about what's been happening, at least as it's reported in the bridge that reflects a little bit of what we heard about how difficult it is up at the hilltop in Berlin across from the hospital. And so there's some issues that we really need to work on and discuss and so we'll probably have a conversation with some of the housing community and with representatives from the administration if we can get them, if they have time to start this conversation on our end. Yes, John, first it's in the Indiana. You know, I appreciate it meeting with our Senate colleagues and I thought that's helpful and the way we did this bill was, I think, terrific together. My sense is that we have gotten more information about the 1,500 people who are in these temporary housing in the hotels with the 200 children than the Senate and May 15th is coming up. So I really think that we have to find, we have to really move that forward something. I don't even know what it is, but we also have to move it forward with our Senate colleagues because they were looking at all housing issues. They were looking at homelessness issues. And I think that we've just gone further in depth about that and this precipice of, if it's May 15th, whatever happens to these 1,500 people is a very dangerous moment and it's coming up. And so I am very anxious about this timeline with our community that our, so I hope that we can either do that learning with ourselves and build on that or if we can include our Senate colleagues to get their attention to it because when they were saying, well, we don't know what's happened in our county. It's like, well, we actually have the statistics now in our committee. So I just, I think I'm agreeing with you, Chair, about that that's a big issue for us but I don't know how to get it in concert with our Senate colleagues at the same time because we have about a week. And well, and there's that conversation and there's like, how can we use the existing housing community who can, I mean, for those of us who have been on and looking at Tommy and Deanna and Mary in particular, but folks who have been on this committee and I think Chip through his work on human services has seen the stresses for years that we've been feel like we're yelling into the wind and trying to say, if we could just do this, then that can happen. And here it is all of a sudden, all of it coming into one place that's, it's not gonna get solved immediately either but I think it is gonna be shocking to people when they understand what our world is and getting the housing community to join in with their real knowledge will probably be an important part of this conversation as well. But yes, it was kind of interesting to see the Senate just go, yeah, whatever you guys wanna do. But also we need their participation to make sure that, to make sure it's not a typical house and Senate back and forth. Representative Gonzales. It's a procedural thing is the chair that we're meeting on Friday. Do we know what time we're meeting on Friday? 12 to two on Friday. And then our Tuesday is the same time that we've been having? 11 to one. Yeah. And that changed primarily because of the expected floor times. So things got shifted around. I think floor is on, when is floor on Wednesday and Thursday? Floor. There are two floor sessions on Wednesday and one floor session on Friday. On Friday. Okay. In the morning from 10 a.m. I assume to noon on Friday. And then we're at noon to two on Friday, you said so. Yeah. Okay, so yeah, I mean, that's where we are. We're kind of, and what that pretends for the next couple of weeks in terms of what we're gonna discuss and what we're gonna hear about. I mean, we'll work with leadership. We'll work with the Senate. I'll work with, I'll check in with Senator Sorokin and see where we go from here. But yeah, this is a big issue in the price tag. I mean, if we're concerned about the price tag, which I think we need to identify what the issues are with the short and medium and long-term issues are and let the price tag follow. But I think we're uniquely situated because this is after all what we've been dealing with and in conjunction with human services, with Department of Corrections. I heard recently the issues coming out of the migrant population up north where farms are going under and people may be losing homes or the question of whether they're contract workers or undocumented. I mean, there's a lot of facets to this conversation that we have to try to nail. And you mentioned this Montpellier newspaper but I didn't see it. Can you send us the link or tell us what had happened? Yeah, I'll try, I'll try. It was just, I was just reading it during their 10 minute break. It was just, I mean, I can't give any credibility because I don't know the writer. But I mean, what we heard is that it was pretty tough up there. That there was, because it was a different situation than the Econolodge, right? The Econolodge was leased to the state and Good Samaritan Haven was given the direction to take their people from from Barry and Montpellier and bring them up to the Econolodge. The Hilltop, however, has, it's not full of folks who have vouchers but there's a huge portion of the population up there that have emergency vouchers that were issued either as cold weather exemptions or an extension of the cold weather extension voucher program. And remember, all of the qualifications have been dropped so anybody who needed one got one. And the population of having folks up there has been very difficult. There's people who live in the Hilltop as weekly or monthly rentals. And certainly there's no daily turnover because there's no, there's no trade right now because no one can travel. But it's created a very difficult, and the article portrays it as a difficult thing and Good Samaritan is interviewed and talked about how difficult it is. So I'll try to get that link out to you this evening. So, all right, thank you for all your work this week. It was a long time on the computer. And if I don't see you again until Tuesday, enjoy your weekend. We don't have floor tomorrow. So enjoy the break from the screen and if you could. I'm ending the live stream now. Thank you. All right everybody.