 Sorry for the delay, we had some glitches, some gremlins in the works. So I'm Nick Sandro, and I built my own OpenStack system at home a few years ago. So this is how it began. I have been working, doing programs and also build some home computers since I was in college in the 70s and mid-70s. So this is what I started with, zero V8 8-bit processor. So in 1988, I left, I'm from Romania, I forgot to mention, so in 1988 I left Romania and ended up in Denmark for the next 15 years. There I learned dunics. I signed up for some courses at the Danish Technical University. So this is the Unix and the Unix System Administration. Then in 1992, I came across this system named Linux. So I have been using Linux pretty much since then and by the leaving of it. So my interests are basically what I would call infrastructure, systems, the system programming and building and configuring servers and networks. So I did also some hosting for friends and family, mostly, but also for paying customers on my own equipment. That was in the mid to late 90s. So then, as I would say, with a little more capacity, I adopted the Xen virtualization system, Xen domain. I had two servers that work as a cluster and I used to spin up virtual machines with this Xen system. And later on, I became interested, I got into touch with configuration management systems. The first one that I began to use was Puppet. That was in around 2011, when I actually introduced it, my then employer, the Associated Press. So then I continued, I found I began to use Ansible and the latest I have been deploying by instances with Terraform. So I had also some issues with ESXi, I had a big project a few years ago where I had to move a whole data center, 30 servers with 200 instances. So then around 2016, 17, 19, I began to see the limitation of the Xen system. I still had only two servers, but I decided to find a real cloud solution for my needs. I came across the OpenStack in 2018. I decided to give you the train in late 2018. So I had to also move some of my stuff into public clouds like Linux and Digital Ocean and AWS because I was living in a blood-prone location. So I had to turn everything off and evacuate a couple of times while I was living there. So in 2017, I moved to Pennsylvania to a place which is quite high up from the nearest river, something like 20 meters or so. So I began to buy some new equipment. It was first with the summary for which Delta T310, these are tower cabinets. So I built also a rack in my basement for these machines. And I began to experiment with OpenStack. The first instance, I chose OpenStack because it is free. Well, actually not exactly free because the electricity, I still have to pay electricity bills for it. So I used a tool set named DevStack in the beginning. So then I decided to, DevStack is a developer tool. So it doesn't satisfy all the requirements of a production system. So eventually I replaced those T310s with more powerful servers, R620s. So this is what I'm using now, three such R620 servers. So this is a picture of the rack. So for now it provides enough capacity for what I need, what my wife needs. She's a travel agent and needs this infrastructure for her business. So this is how I started with DevStack, that was in 2018. So then I switched over to Colline Cable, which I found much more flexible when it comes to configuration and it can be used on a production like system. So you can build it with the default mode when you build with Colline Cable, it creates a set of containers. Docker containers will perform with different functions in the system. So that was in early 2020. So then I wrote, I had troubles with that OpenStack. So I wrote some articles in LinkedIn, I also kind of break with this project. So this is a short explanation on Colline Cable and how to use it. And those are short description on how the system is built. But in 2021, I got contacted from a big company. They had an OpenStack system that needed fixing. So I ended up with a contract with them and they build their system and I'm still servicing it today on a part-time basis. So these are short explanation of what Neutron does, which is, in my opinion, is the most complicated to configure, though Colline Cable offers some default configuration, which is much easier to understand and to modify. So this was how I started to make a limit out of OpenStack. So I got a call from a major technology company, the one whose product name begin with the lower case I and has a partially beaten fruit taste logo. So they needed someone to fix their OpenStack system. Their system was a mess. It was an older release. It was based on an old release of Ubuntu, about 40 nodes. They had a lot of problems. So after looking at it, I arrived at the conclusion that it needed to be a little bit from the ground up. The problem with it was I had to keep it, to keep the services that it provided, the instances that I had to keep them running while I was doing rebuild. They didn't have enough servers for me to start a new installation on a new set of servers. So I had to do rolling rebuild, taken all the time out of the system. But after migrating everything off it, build it with a new system, joining it into the new OpenStack installation with Colline Cable and then I wrote some scripts that migrated transfer instances and the volumes from the old system to the new one. So their hardware was based on Ureba Car ProLiant G7s. I have some old G5s in my basement that was I used before I bought the Dell machines. So I took one out of services as a web server for spiders. So I used it to develop an auto install procedure to be able to do Ubuntu installs remotely. So I did this auto install script for it and then I began to take one or two nodes at a time, take out of the old system, rebuild it to the new with the Ubuntu 20 and joined them using Colline Cable. So I used the same configuration that I had used at home, the same method, Colline Cable of course with some adaptations for their particular situation. So this is what the project involved. I moved all instances from the node to be rebuilt, instances and volumes. I took it out of the old open stack. I built the new node, I rebuilt it with using auto install in the Ubuntu 20 that was the latest release at the time. So then I updated the Colline Cable inventory so that the new node was introduced or attached to the new system. And then we could move instances to the new node. So I wrote a number of scripts there. I'm still working on cleaning them up and I'm going to put them on my GitHub archive, others might use them. So it was also a good thing that I had this whole open stack installation because I could test things on it. But I couldn't test on the customer's environment. We want to take the poor production down. So after the rebuild was done about a year ago. So after that, I'm still, I get sometimes context about troubleshooting and also doing maintenance monitoring every day to see whether everything is okay. So this is a few, I don't know how much you know about the open stack system. This is more about something about what you see when you open the hood. So the servers, they are called nodes. This is the, so there are several functions that a node can perform. Control, which controls the entire system. Compute, that is a, it runs Hypervisor, which manages the instances. Storage, it stores data. There are actually two forms of storage. There are disk images, which can be mounted as volumes on instances. And media images that can be used to bootstrap a new system to build it. There is also access control on different levels. And user interface, it comes, there are two, there is a web-based user interface named Horizon. And there is also command line interface. So what are the different types of nodes are doing? So the control node, open stack needs one, at least one. My installation has two, so I have some redundancy. So what it does, it schedules the placement of instances on the compute nodes, it takes into consideration what resources are available on each node. It does the network management, the virtual network aspect, like networks, virtual networks, routers, and other associated equipment. So those are storage access management. And it has also monitoring component. So the compute node, that is what actually does most of the work. It deploys instances under the control of a Hypervisor. And it does the resource allocation, the connection to the virtual networks. It manages all the operations to be done with the instance, starting, stopping, pausing, taking snapshots, also it runs the deployment of the instance. So then we have the storage node, which is nodes. It manages the virtual data storage and provides connections for the instances. We have two types of objects, volumes. These are these images that are mounted as virtual drives on the instances. And those are images, these are machine images, like installation media images. We use to boost the instances. There are a number of backends available. You can use local files on the node. You can use NFS shares or distributed storage systems such as Swift, SIFs, and GlastroFS. I'm using Swift on my installation at home. So then you have the access control. The system, an open stack system has several, you can set up several domains. Each domain, for example, for another kind of organization, they are independent of each other. So it provides a complete measure, splits the access in compartments. So, and then you have projects within each domain. So you have different projects which can be isolated from each other and the users that are granted access to the project can access it. Otherwise, there is no access for other users. So for the users, you have command line interface using actually a utility named OpenStack. And it has a web-based which is called Horizon, web-based dashboard. So these are some essential components that need to be installed to have a functional OpenStack system. Nova is the scheduler on the control node and the hypervisor on the compute nodes. Neutron manages the networking on the control node and also has agents on the compute nodes that provide, for example, DHCP servers for the services for the instances. Cinder, that is block storage for virtual disk images, for the volume storage. Glass, this is for the virtual media, the machine images. Keystone is the identity and authentication service provider and Horizon is a dashboard provided for the user to access the system. So there are some of the kinds of virtual resources, instance, that is the name of virtual machine managed by the hypervisor running on the compute node. Network, these are virtual networks. They can be specific to a single project or they can also be shared between several projects. One particular type is a public network which connects these private networks, the project-specific networks to external networks. Subnet is a block of IP addresses within a network. Router, it provides connectivity between instances in a subnet and also can serve as a gateway between networks. So volume, it is a disk image containing the file systems that can be mounted on instances. Image, it is a media image, like a CD-ROM image which can be used to install bootstrap and instance. Then you have the security groups. These are sets of rules specific to projects or even networks that control the access to certain parts on the instances. This is the kind of firewall rules on a system. So how to secure it? You have to control access through the user interface. You have the keystone authentication and validation of users. You have the domains and projects which they have their own access controls. The access to the dashboard and command line interface can be limited both by validating some users who need access and denying access to everybody else. Or they can also be limited by using firewalls. For example, limited access just from a certain network. So instances, they have their own protection like SSH keys, the security group that I mentioned before, like the takeover of firewalls. And applications that are running in these instances, they can have their own specific access controls. So I'm partial to Kola and Siebel because I'm most familiar with it. So I learned how to customize it and to configure it. So the current installation that I have is using the Wallaby release, which was the latest in 2021. So yesterday I built on a virtual box host the latest release, Zen or Zeta. That is the latest release or Zeta. So I cannot run any of these in real time but I know because they take a long time, takes something like one hour or so. So the way beyond the time for this presentation. So what I intend to do in the future, I have been around for quite a long time and I'm surprised that I made it so far. So I'm partially retired. I'm still working part-time on the project for Apple. So I decided to construct myself my time to some hobbies that I have, like model railroads. Also I had a hobby as a student. I was a hobby key keeper. So I want to resume this occupation. But I was open to part-time contracts related to OpenStack. So I started also work, I know it's kind of sidetracked, but I want to resume it after this summit. A series of books about OpenStack. They will be published on Amazon. So I was a small GitHub repository. The address over there. So I can add, I will add, for example, the set of scripts that I did for my moving instances between the new OpenStack system and some other utilities. So these are the slides. I had problems with the slides. My wife made them using that template that was sent to her by OpenIFRA. She made it in PowerPoint on her Windows machine. I transferred them, I wanted to transfer them on my Mac book. They wanted me to buy the PowerPoint for my book. For my book. So eventually I converted them. This presentation is actually run on a virtual host, on virtual box, Ubuntu host on my machine. So I converted into the Libre office. The problem was the conversation didn't go too well and I didn't have time to fix it. So I'm sorry for these problems. So how much time do we have left? Because I went to, yeah, okay, let's, hmm? Yeah, I left my glasses on the floor. I'll bring them to you. So it looks like, hmm? Yeah. There you go. Oh, okay. Thank you. So I have this, I need to resize it. I ran, no, I have this problem. Yeah. So I ran yesterday, I built a virtual box host and installed one OpenStack node using Cora Ansible. This is the latest release, the Z release. So there is one thing to be run. There is a script named init run once. The problem is that, just load me out. Something is not going here. No, I just can't see anything. Maybe don't run it full screen. So you could be able to scroll up and down. No, it's just something to do with the screen, display settings. It would give you more resolution. Yeah, the problem is, okay, this is better. Yeah, so now you can see it. Something is wrong with the script that it logs me out. So I think we have to. So you have this in GitHub already? Hmm. These things are GitHub, we can. They are going to be on GitHub. I have to do something up and, no, I have this glitch that I don't want to put glitchy things on GitHub. Okay. So. Thank you. Yeah.