Welcome to City View, where we give you an inside view of the City of Columbia. I'm your host, Alicia Yutzi. In our top story, we bring you the press conference where our Community Development Department recently kicked off the City Lender 1 Uplift program. Mayor Steve Benjamin, along with other city officials, were there to make the announcement. The importance of focusing on affordable housing and workforce housing and making sure we support the redevelopment of more public housing is because you want to be a city that reflects the great strength of diversity, that people who live in this city or work in the city ought to be able to live in the city. We ought to be using the levers that we have under our control, using community development block grant dollars from the federal government but also general fund dollars to continue to be creative and innovative in trying to find more and more solutions to creating good housing here in the city. The City's Office of Business Opportunities recently held commercial retention and we development workshops for small business owners. We went very quickly through pretty much the whole process of the program, having a meeting on site, establishing what your improvements are going to be, what's entailed in writing the specs, getting it out to bid, pulling together the package, submitting it, getting it approved and then actually doing the construction. So it's been very busy, we had a very interactive class, a lot of great, great questions. The City's Planning and Development Services Team are continuing their efforts to spread the word about Columbia Compass Envision 2036 during public open house sessions. We've gotten a lot of feedback from a lot of people and there's been a whole diverse set of different implementation strategies people want to see. Obviously the river front keeps coming up, they want to see really responsible development along the river front. Redoing our corridors is a big one, is sort of making sure everything's walkable and everything is safe. We're still getting feedback, we're doing a survey online, you can go to columbiaccompass.org to take that. And then so after these sort of round of meetings, we're going to be putting together sort of the final draft of the plan and we're going to be putting that out to folks here in a couple months. And as we continue to develop our city, we're always excited about new businesses opening in our city. Hendricks in downtown Columbia recently held their ribbon cutting ceremony and Mayor C. Benjamin was there to welcome the new opening of a new business. Columbia is a city rich in traditions and the Harambe Festival has been held for the past 30 years here in Columbia. Councilman Ed McDowell recently presented a proclamation to Dr. George Devlin at Benedict College who founded the Harambe Festival 30 years ago. And speaking of traditions, for the past 15 years, the Auntie Karen Foundation has sponsored the Legends of Concert Series for which the city of Columbia has been a sponsor. This year, the Legends of Concert Series welcomed the famous Isley Brothers. Every year, prior to the concert, the Legends of Artists always sponsors a master class for local students. And this year, students at Eau Claire High School were given the benefit of meeting the Isley Brothers one-on-one. Well, Spring is almost in the air and the city of Columbia and Columbia Water were proud to be co-sponsors along with other partners for the Blue Thumb Landscaper Conference. In an annual tradition, Mayor Steve Benjamin, along with the American Red Cross, have sponsored the Columbia Lifesavers Blood Drive. This year was no different and city of Columbia employees lined up to give blood to help others in our community.  And we've seen quite a few people in here today. Well, that wraps up this episode of City View. Thank you for watching and stay tuned to City TV for all the latest news and updates about the city of Columbia. For additional information, you may also visit our website at columbiasc.net and make sure you follow us on our social media platforms on Facebook, Twitter and Instagram. And if you're looking for our shows on demand, you can always find them on the City of Columbia's YouTube channel. Again, thank you for watching and remember, we are Columbia.


Hi guys, welcome back to the average. Today we are testing out this tub of Molotow 20 markers. I'm really excited because I've tested these out before and I really like them but I was always hesitant to buy more because they are quite expensive but you know I thought I would just go for it this time and I do think that they are better than Posca's and I'm going to explain why. This video is brought to you by Squarespace from websites and online stores to marketing tools and analytics. Squarespace is the all-in-one platform to build your beautiful online presence and run your business. So I think they're better than Posca's because of this like colour range that they have. First of all they come in this really cool little tin um like this which I think could be quite irritating to open every single time so I'm just gonna keep them like that. They have a much wider range than Posca pens so they have like a lot of different ones and you can also buy empty ones and make your own colours which is really cool I think we're gonna try that one day but yeah they just come in a lot of different shades whereas Posca's kind of have the same old stuff and I might be wrong they might be bringing out different colours and stuff but I think they're just they're just really nice and they feel the same way as Posca's so why wouldn't I I mean obviously these are a lot smaller but they do have a really thin nib which is nice to work with especially if you're doing like little details I mean Posca's you can buy thin nibbed ones and yeah I just really like them so we're good today we're gonna test them out I'm gonna do some paintings with them like I did with my Posca's that I recently received because I really enjoyed doing that so we're gonna do some classic painting drawings and I hope that you guys will stick along for the ride. So like I said before this video is sponsored by Squarespace and it offers such a great range of website building tools for you. I use Squarespace to host my portfolio site and I really felt like it was useful to have something for people to go to to search for your name and to see your artwork. In the future I'm thinking about selling my comics using my own commerce website on Squarespace and I think that would be really handy I just took a template that I liked and I went with it and then I just uploaded a lot of images that I thought were interesting and then I went to the About Me page and I wrote a little bit of a description about myself and it was super straightforward and easy to use. Please head to the link in the description if you would like 10% off your first purchase of your website or domain, look down below for that link. First of all I started out by watercolouring some base colour down because I thought it would work better to have a colour behind the paints of the pens and yeah I was right with this I think it worked better to have instead of just blazing white an under colour layer so that's what I started out with and that's all the other media that I use in these images. So the first painting I did was Ophelia by John Waterhouse because I think this has such a real cool mood and I really wanted to emulate that somehow or just design it I always really like this image I think I've redrawn it before I think a lot of people like this image because it's just very mysterious and pretty and very serene but it's about Ophelia from Shakespeare's Hamlet and obviously she's about to take her own life because in the play she goes mad by the consequences of Hamlet's actions and that's pretty much the story behind this image so it is a fantastical image because obviously it's fiction so we can see that a lot of stuff is taken probably just made up in his mind and I really like this image it's really beautiful I don't know why because really the story behind it is quite sad even though it's made up the imagery doesn't seem sad it just seems very serene and calming but I really like the way that it looks it's very dark and this was hard to do because I thought what I could do is just do some colors instead of making it so dark but I think in the end I go in with a black pen and I think it helps it but I wanted to do stuff without any lines or black but in the end I think it worked out better to do that so these pens are really good because I'm basically layering and layering and layering them and they're working fine sometimes I get a little bit of flaking off the paper and that's fine because I think these pens are really supposed to be used for painting on like glass and plastic and things like that so when you use them on paper obviously they're not going to be so durable but they still work fine the same as Posca's really you have that issue with Posca's and I think if I just pressed a lot softer it was absolutely fine in areas where I was kind of pressing down hard that's when I noticed that there was some flaking of the paper but yeah I think I pretty much layer these pens over and over and over again and I really love that they're so opaque because I just felt like this is kind of a style for me because I really go for stuff when I paint I don't really like to do too much planning even though I found that I should do planning but sometimes it's just nice to be loose and go so that really works out with these pens because you can just go in over the top of any mistakes and just keep going and it really helps it's really nice to use these they're really smooth they're really juicy as well I found when I first started using this black pen this like there was a wave of like black ink or black paint rather coming out and so I had to like wipe off the excess a little bit but yeah as you can see they're super opaque and super nice I went in with a red pen on her lips and it was the first time I used it so it was like I said quite juicy so the red lips kind of turned into a big red smudge so I go back in and fix it in the end but I waited for it to dry a little bit first before going over with another pen so I decided that because I used the black for the lines around her I wanted to make the dark areas of painting even darker so the values would match because if you have the darkest area you need to match the darkest area in the painting as well because otherwise it doesn't make sense so I think this really rounded it off and I felt like I was doing too much to this piece because even though it's just a small kind of example of how these pens work I was going a bit overboard so in the end I just kind of stop and step away from him as you can see using the white over the black it's super opaque and it was so satisfying to do these little flowers over all this imagery and it just lay her down and be completely opaque I love it it's so nice so these pens they came with like a thin white and a thick white and a thin black and a thick black and I thought that was really handy I really didn't like some of the like this green very much but it was the only greens that I have so I'm not a huge fan of these greens but I think maybe because I wanted to emulate what the the picture was that maybe that's why but if I wanted that green in another situation then maybe it would work out so this next painting is by Edgar Degas and I really love his work I think he's actually probably my favorite artist of the moment like my taste changes and varies as I grow as an artist and my influences but this guy is really influencing me right now because he was a prominent impressionist and I really fell in love with his pieces because they just capture a moment and I really like the way that his paintings feel or the feeling that they give off this is a picture of like a ballet dancer and in the picture you can't really tell at first glance what it is in the background anyway you can tell it's a ballet dancer but as you look closely you can see it's probably the wings of a stage and people waiting behind the wings and then also the scenery painted on the wings and I just think it's so magnificent and you can see you can feel the painting because you can feel like maybe the way that the dancer is dancing like what she's feeling as everything melts away and she's just there by herself but there are things surrounding her and the light is brilliant I just love this painting so much and I really had fun with this one I felt a lot looser using the paints here just smudging where I could and I just love this painting and I think it really the pens really help for this because obviously just layering down paints like this and then smudging with my fingers was a really good way to suggest those paintbrush marks that Degas had used and I really like the way that this one turns out it's very different to the first one that is very careful and stylized whereas this one is just smudges and I don't know it still invokes an emotion and I really like it even though it is obviously a copy I think sometimes copying people's work is really good for your own development obviously don't be like I made this but I think it's really good because you actually you look at people's work in a way that you would not have looked before it just you definitely look deeper at techniques and things like that so I think that's really helpful okay so those are the final images I had a lot of fun doing them I think my favorite is actually this one and I just think that it kind of is more my style but I like this one a lot too and I had a lot of fun with these pens so I'm going to use them a lot in the future and I like combining mixed media so I'm gonna use a lot of watercolor and pencils with these when I use them next because I think that would be like a next cool step for the development of this kind of style so yeah I really enjoyed using these and that's it that's the video thanks again to Squarespace for sponsoring this video there's a link down in the description and yeah that's it see you next time guys bye


All right, I think we're going to get started. I'm going to try and actually make this a little bit quicker just because we are running behind. And I do want to leave room time for a lot of questions. I like to do that in my talk. So I'm going to try and move through this pretty quickly. Same thing with my other talks. If you could hold the questions till the end, that would be really helpful. All right, so to get started, I'm going to give a talk about Nova Network. And primarily, I wanted to do this, even though quantum's here, quantum is ready to go and grizzly. There's a lot of people that are still using Nova Network. There might be a lot of people deploying Folsom or grizzly with Nova Network and not quantum.  This might be the last open stack conference where we talk about Nova Network at all. But I wanted to give people some idea of what's actually happening behind the scenes. If you've already been running open stack for a while, six months, eight months, you probably have already learned most of the things I'm going to tell you today. But for some people, there may be some information. So like I was saying, Folsom deployment's pre-existing installations. Hopefully this talk will be of use to you. A lot of the quantum information, I just wanted to provide some links so you know where to find the configuration options, things like that for quantum. It's worth looking into and understanding what quantum is going to bring and how they differ between Nova Network and quantum. That's not primarily what this talk is going to be for. So those are some of the links you guys can use. These slides will be up on SlideShare. Under SlideShare.net, Ryan Richard 07. They'll also be posted by OpenStack. All right, so what is Nova Network? Quick overview of it. It basically provides networking for your instances. So it is the piece of open stack that says I'm going to provision an IP from an available pool and I'm going to give it to this instance. It actually does a number of other things behind the scenes, which we'll talk about. So the main choices with Nova Network are basically flat VLAN, flat DHCP. Flat VLAN and flat DHCP aren't terribly different other than the concept of VLANs are added into it. But ultimately they function in a very similar fashion. Flat, I don't know if many people are actually using flat, you don't hear about it too often. We at Rackspace, or at least with Private Cloud, we're consuming DHCP until we move to quantum. The flat DHCP that is, whereas flat is essentially for injecting your own networking into it. Nova Network is also responsible for handling the most of the IP tables, EV tables, and Linux bridge pieces of it. There's other implementations on how things are actually being consumed, but this is what I'm going to focus on today. It's what I have most of my experience with. One important thing to note is that Nova Network doesn't have a direct API like quantum. It is actually part of Nova. So all of the calls to it, all the everything that is the configuration options, they all really fall under Nova. It's not a separate major project until quantum. That's what quantum was born out of is because some of the limitations of Nova Network needed to be surpassed. So that's why quantum even exists. But it is, there is no direct API. There are Nova API calls for networking specifically, but it is not its own project. Let's see. Quick thing on IP tables. I didn't have a slide on this, but I tore it up. Just so you guys are aware that there's a lot of IP tables going on at the host level. There's about 20 chains in use for just the netting portion, not even including the actual security groups implementation. So just an IP table is known for netting. There's about 20 chains in play. And which can grow immensely, the number of rules that are actually in play over time. Quick definition. The way I'm gonna use definitions are, a host network is basically the network space, or interface network space that the Nova compute nodes, the physical machines are gonna talk to each other on, as well as in our case, it's where Nova, the open stack processes, and we also manage the machines from that network space. The fixed network is essentially the layer three network that instances will get their IPs from. It is also where instance to instance communication happens. So if you certainly have the possibility to run these all in one interface on VLAN, but if you choose to separate them out, then that is the dedicated interface where instances will communicate to each other on. So I wanted to, I try to like think about how I wanted to put this in slides, and it ends up being really terrible. So I tried to draw pictures, and hopefully that will make everyone's life a little bit better. So this is an overview of, I don't think anyone wants to stare at IP tables chains all day long. So hopefully the pictures will give some help. So this is my world, this is a small little example network that I have. I'm basically defining that I'm not really showing interfaces right now, just saying that I sort of have a network space, and my compute nodes and controllers are living on this 10 dot network. That's how I communicate with them. I'm also showing that on our compute nodes, we chose to run Nova compute and Nova network processes, as well as the metadata and DNS mask on every compute node. DNS mask is what's responsible for handling all the DHCP for instances. So when instance boots up, does a DHCP request, it's local DNS mask is gonna respond and say your IP is X, your default route is this, and your host name is Y. One interesting thing to note is that Nova network, the Nova network on your local compute node is not necessarily the one responsible for responding to a Nova network API call. So if you have different Nova configurations on different nodes, you could actually, that could cause some serious confusion, because a Nova network process running on a different node could be the one that responds, actually provisions the IP. So that's something worth noting. All right, so initially when I'm booting an instance, first thing that happens, it says it's an extremely new environment. I boot an instance, first thing that's gonna happen is the compute node actually needs an IP for itself. That's gonna act as the gateway for your instances. So it's gonna make a series of calls and get an IP provisioned out of the fixed network, and that will be stored in the same database. There's this very specific database field, the host field, that is going to actually have the host name of the compute node and really know other information in it. Second step in the process is gonna create the bridge. It's gonna put the interface in the bridge that you specified. I'm not really specifying one here, I'm just saying that that's the process that it takes. It's also gonna assign the IP from the fixed network that it chose in the database to the bridge. It's also gonna set up some initial IP tables, EV tables, some rules to prevent some spoofing. I'm gonna actually go into these a little bit more later. But the IP tables, the security groups, and the NAT rules, they're all actually running on the compute host, not within the instances themselves. So that's worth being aware of. Oh, just so you know, the space that I've defined here for my fixed VMs is the 192.168 space. So once my instances are created, it's gonna set up some additional security groups, which are also IP tables rules on the compute host. And by default, when OpenStack deploys, it's a extremely restrictive model, nothing's allowed, right? Next step in the process, the instance is going to send a DHCP request and it's gonna get a response from DNSmask running on its machine. DNSmask is gonna know, it's gonna keep data about all the instances that are running and what their MAC address for their virtual NICs and their IP address.  The instance is gonna get, it's the first available IP out of the fixed range and its gateway is actually going to be the IP on the bridge from the compute node. That's something worth making sure you're really aware of. Again, a lot of people probably realize this if you're running already, but it's something that most people don't understand initially. There are our options on actually to do this a different way, which I'll talk about later. This is kind of the standard default way though. Actually, I guess, does anyone have any questions? I said we could wait till the end, but just about this setup or what's going on here. Any initial questions? No, okay. Port forwarding for like an application in an instance or so, oh, to go outside. So for an instance, so instance to the world. Okay, so from here, if an instance is gonna talk to the world, it's gonna go through its default gateway, which is the computers. There's an automatic rule put in place in the IP tables NAT chain that says when my traffic is destined for something that is not another instance, I'm gonna get NADed to the IP of the compute host and then it's gonna get sent out its default gateway of the actual physical server. So in this world, if I were talking to Google, I would, from VM1, I would get NADed at the compute host and I would appear to be coming from 10.003 and I would go out whatever default gateway that compute host has, assuming you don't have some other route in place. So there's not actually a need for report forwarding. Open stack handles that for you. All right, so as far as options go, I tried to count the number of options possible. It's 50 plus, I'm sure it's actually much higher than that. Once you really start getting into it, that's not even including any of the quantum options. So there's a lot of ways to customize how this looks and there's not really any way it could go through all of them realistically and tell you what each and every single one of them means. So it's worth noting that with anything in open stack is extremely customizable for your needs. So make sure you look and do it before you try and build one. We run multi-host everywhere. It's just a way of basically, so you're not having one machine act as your gateway for all your instances. Multi-host is basically what runs Nova Network everywhere. It allows your gateway to be the compute host. Basically, you don't have a single point of failure. Obviously, if that compute host goes down, those instances lose their gateway, but the host is down anyways. Some of the other major options that I'm gonna talk about real quick are some of the DNS stuff, the DHCP options, what public interface is and what DMZ CIDR is. Public interface as an option basically decides which interface the default SNAT rule's gonna apply. So that's the rule that I was mentioning when your traffic is leaving your instance. If it's destined for somewhere else that Opusack doesn't know about, there's a default SNAT rule. That public interface basically says, watch, apply this rule to this interface. And that's what you're gonna have to set that. Specifically, yes. Well, default, if you don't set that, it defaults EED zero. But when you do set it, it affects the chain. Just put this in here just so you guys can go back and look at these chains. The specific chain it affects is called Nover Network SNAT. The rule there is automatically there. If you do not set public interface, it'll watch EED zero. It's also responsible for, excuse me, you want to associate it with the interface that can reach the internet. So if EED zero is the one that can reach out to the world, that's probably what you're gonna want to set public interface to. Well, so we, the NovaConf runs in a, we have the same NovaConf everywhere, but this is for Nova Network. So wherever Nova Network is running, that configuration option needs to be there. So it just probably your compute node. Yeah, so I explained earlier basically the default SNAT rule says that for any traffic, not destined for another instance, or if it's not in the DMZ sider, SNAT that traffic will make it look like it's coming from the compute node. Some of the DNS mask options, again, I'm not gonna go through all of them, but I just kind of want to explain some of the bigger ones that you might look at. DHCP, at least time. Obviously, people are gonna want to customize that. There's an option for that. The big one is the interesting one that we've done for a few customers is the hardware gateway option, which is kind of neat. So it basically says use a real gateway device somewhere further up in the network, not don't use my compute node. So whether it's router or something else. You know, you have the ability to do that. You can do it with the VLAN mode as well, so you may want to look into it. There are certainly caveats to doing it that way, but it's one way of, you know, some of our customers that have done this is because they wanted to maintain routes to other parts of their infrastructure. And so, otherwise you'd have to do it on every compute node, right? If you wanted to have special routes to reach some other backend network, you'd have to do it on every compute node.  Sorry, I don't follow. So if you're using a hardware gateway, you basically need to tell OpenStack not to apply that rule. And then further up, you need to deal with that in some way. So you need to deal with the fact that your instances may not, so if it's public space and I'm not getting mad into something that has internet access, like through router, I have to, you know, a pad or something out there to basically say to do what Nova's trying to do for you. But if you do point into a hardware gateway device, you basically need to stop Nova from doing that automatic snap rule. Because else it's gonna say, oh, you're trying to reach this other network I don't know about, and it's gonna try and get snatted and that's probably not what you want. I'm gonna tell you how to do that right now, actually. Well, actually, DNS mask also, just so you guys are aware, by default it forwards all DNS queries to whatever the underlying hypervisor installation has set. It will just forward those queries on. So that's just one thing to take note. All right, so DMZ Sider is exactly what I was just talking about just now. It is basically a NAT exclusion list. It is an accept rule in your IP table's NAT chain.  So as you grow this, that chain gets longer and it's more accept rules. It is further up in the process than before some of the SNAT rules get applied. So basically, it says if my destination is some other network, don't perform that SNAT. I don't want you to perform that SNAT. So maybe that's the other end of a VPN, right? Or maybe it's just some other network in your data center that you want access to. If you wanna look at what is set for your installation, that's the chain to look at, the Nova Network Post-Routing chain. All right, let's see, so the IP tables, it's basically not talking, so it is responsible for that. I've been talking about that a lot. It's also responsible for security groups. So when you define a security group in Nova, it stores it in the database. When you boot an instance, it applies very specific IP tables rules to that compute host to limit access to your instances. Default, like I mentioned earlier, is restrict everything. And an example, if you look at your IP tables rules, it's gonna be Nova compute instance, and then the instance ID in decimal, not hexadecimal. There's just one thing if you're trying to figure out which instance to look at. Take the instance ID and convert it. That's where it's gonna be. Some of the default EB table stuff, at least in the liver implementation, does IP Mac, ARP spoofing, doesn't let you assign multiple IPs inside an instance. It's trying to prevent you doing that. It's really following the public cloud model where people aren't gonna be able to have multiple IPs inside of an instance. It's basically there for protection. You can actually break these. The directory is etsylibertnwfilter, if you want. I don't necessarily recommend it, but you can turn off all these protections if you really wanted to. And then floating IPs is one of the final things I'm really gonna talk about is floating IP pools are extremely easy to add. You can define them on the fly. They must be associated with the public interface, though. You don't really have an option right now, or at least Nova Network, to have them go out some other interface. So they have to be accessible on whatever you define as your public interface. They don't actually get assigned inside the instance. I think that's probably one of the biggest misconceptions about floating IPs. They don't get assigned inside the instance. They are actually SNAT and DNAT rules. Well, it's a combination of, it gets assigned to the compute host, and it's a combination of DNAT and SNAT rules that get applied on the compute host to make it happen. They're dynamic and that I can apply them to an instance, I can assign it to an instance, I can unassign it and assign it to another instance to make them dynamic. So let's say I have a, in this model, I've added a floating IP of 10.00203 to my bridge on computer one. That's where my floating IP is actually gonna be assigned.  It's good if you look on your compute host, look on the bridge, that's where it's gonna be. And then the SNAT rules are what affect traffic flow, right? So traffic flow coming into the instance is gonna hit a destination at rule that says anything, traffic that was for 10.00203, getting added to the IP of the fixed IP, and then vice versa, going out an instance. So that means traffic from an instance is now going to look like it's coming from a floating IP instead of the fixed IP. The DMZ SIDER is the exception there. So again, if you set DMZ SIDER rules, they are except rules further higher up in the chains and they'll affect flow. Let's see, and then finally, integrating with your existing network, this is the biggest headache we run into, I think, is that it's actually really difficult to do, mainly because you have to define your fixed IP space. You say, well, I think I may have 2000 IPs at some point, I need to define the correct network. A lot of companies don't like that. They don't like having to define the 4,000 or 2,000 IPs that can only be consumed here at some point in the future, right? So it is kind of difficult. And a lot of people want to know about integration with their existing IPAM. The problem there is that OpenStack really is IPAM, so it wants to know everything about networking, like it wants to decide everything. So in trying to integrate with one of your existing ones is going to be a headache. I'm not sure if anyone's successfully doing that real well or not, but it doesn't handle all the things you expect IPAM. It can handle like DNS. So just be aware of kind of what's going on there. All right, and then some example architectures. Basically, this is one that we use pretty commonly. I'm running my fixed and my management on one interface and floating IPs are pretty much all running on one interface. It's a pretty standard looking environment. And then another common setup that we see is where you essentially have a dedicated interface for your fixed. So for instance communications happening, dedicated interface, and all management traffic is happening on say ETH0 versus ETH1. And then one thing I did mention in my other talks is really another common use case is there's going to be connection between the sender nodes and the compute nodes for maybe like 10 gigabit throughput or something like that if you needed quicker. This isn't a sender talk, but it's certainly part of the networking overall thoughts. All right, so that's pretty much it. Just opened up to questions now. Yeah. So it doesn't work when you assign it to a compute. I mean, that's probably a specific implementation. Like we'd have to sit down and look at it. It's probably too hard to try and troubleshoot up here. Yeah. No, so this is not actually, that's a good question. My traffic's not flowing through the controller. I'm really just trying to say that they're all in the same B-lan. But my traffic's not flowing through my controller. We don't run the controller as a compute node, so we don't have bridges. The controller is a different model. It just needs accessibility to your compute nodes. Doesn't actually need to be able to reach your instances. It's responsible for the control plane, not actual stuff going on inside the instances. Yeah, so the floating IPs pool will be stored in the database on the controller. But when you actually assign it, the work is done by the compute node. So the controller tells the compute node, you need to assign this floating IP to this instance. The Nova compute process, Nova network processes will go to work and make that happen. Yeah, I did talk about that earlier. I am assuming that multi-hosts is turned on and you're running Nova network on all your compute nodes and not in a single point. Yeah, yeah. Yes. Yeah, it's because that's all happening before the VLANs come into play, right? So, yeah, and that's, I'm not sure, I mean, there's a flag that you can set that will not allow that, right? I think it's like a lack of accept rules. It's, I think there's a default behavior in setting that flag actually removed. Yeah, we don't run VLAN mode, so. I don't think there's another session so we can probably just keep asking questions unless you guys wanna go eat food without up to. You can based on how your networking set up. So you can define any number of floating IP pools. They're really easy to add after the fact. But if, right, but they're not, yeah, it's routing further up. But if your network lets you do that, then so be it. So, commonly, we actually assign multiple pools and we actually map them at the firewall to some private IP. And then that way, it just lets us assign new pools extremely easily. So it doesn't even really need to know about different network spaces. Yeah, but you can, absolutely, yeah. I don't know, well, I don't know about Havana, right? And Havana six months away, but in Grizzly? I believe it is. OpenStack tends to let deprecated stuff last for two or three releases. So it is still an option. And then I believe, I haven't looked into it, but I believe quantum allows you, and Evan might know this also, but I believe quantum allows you to mimic the exact same behavior that Nova Network will do if you want just a very basic out-of-the-box thing. There was an initial talk that would let you actually use Nova Network as like the plug-in to quantum. So it was really doing the work. I don't know if that actually made it in or not. I don't know if some other people might know. I think so, yes. It also depends, yes, it is. It is much different in the design and then the idea of vendors come into play which changes everything as well, which is why I didn't wanna focus on it because it's a completely different talk and different architecture, different design, all of it. And then depending on the vendor that you choose or if you don't choose a vendor and use OBS, that's a different design, right? It's big, yeah, and the quantum's big. Yeah, back there in the back. That's a good question. I don't think we've run into that yet and we have some customers running a significant number of instances. But certainly, there were in the past, like in Essex, there was some pretty serious performance problems if you're using a lot of security groups that were sourcing other security groups. That used to be a performance issue. Now, I don't know the answer, to be honest. It's no different than regular IP tables. So, at some number of chains and rules, they're gonna start to impact performance. But even customers running 30 VMs on a host haven't really, they haven't complained about it. So, we haven't hit that limit yet. No, sorry, say that again? So, no, no, the interface will be in the bridge and the IP for the fixed IP will still be inside the instance. But at that point, if you've set up your DMZ side appropriately, your computer is essentially on the wire through the bridge and the host is really not doing anything besides performing IP table security groups. So, you'll communicate directly through the bridge to the hardware gateway device. Assuming it's accessible on that VM, right? You mentioned earlier, EV tables prevents the VM from using more than one IP. Now, is that, so in essence, if you were to go into that VM and assign a secondary IP within the instance, that prevents it from talking to the gateway? Yeah, you could certainly put one in there, but the compute node's not gonna let you do anything with it. I actually think, well, if you do, you might be able to communicate with all other instances on that compute node, but basically you need to break those restrictions if you wanna do that. So, where that's come up is people trying to do traditional HA on here, right? And they need floating IPs, but they want traditional floating IPs and get assigned by like pacemaker or whatever and not open stack floating IPs, but you can't do that because you need two IPs inside that instance and you can't do that with these restrictions. So, I know some people have looked at actually writing fencing mechanisms that talk to open stack and move open stack floating IP across, but there's, you know, doing, just trying to do a traditional HA, it gets, yeah, it's probably not the right. In our instance, be like, if you were to port like, say you convert a physical web server into a VM and then put it inside open stack, well, traditionally like our web servers that have multiple IPs on them, and so that would be a use case for us. But you're saying that's, you said that was under, so is that, in W filter. Now, with no network, you can't do that. Basically, unless you break those, but with quantum, you can. So, you know, the, I didn't really touch on quantum at all, but it is a huge step forward in networking, right? So, we tried that with quantum and it didn't take like the gateway that you wouldn't talk to it. Just setting a, setting up things. Yeah, that might be a implementation. Well, there's the quantum workshop later. Oh, and here? Yeah. So that's worth bringing up. Yeah, that's worth noting. I didn't talk on that at all, but you could certainly define multiple fixed networks and every time you boot an instance, you get an IP from all those networks and that will work. Yeah, that was what Evan brought up. You can do that. You can even, you can even do some things like you can do that. And when you're spinning up an instance, tell it to use this network. Instead of this network, so you can kind of get some of the quantum functionality, but the dashboard doesn't respect that. So, you'd have to always use the API or CLI if you wanted to do something like that. Other questions, I think? I would, I mean, I would go with quantum, grizzly forward no matter what, just because that's the way open stack's going. Yeah, into the, into the mainland. Yeah. There's, there's so many ways of building these. Like it's, it's actually kind of, right? Yeah. You know, we, we chose, like I said, we chose flat DHCP as our standard until we moved to quantum. And anyway, basically just what Evan said, if we have to deal with VLANs and the NAS as the direction we would go, we tag them on the interface and put that into a separate bridge. Who else? Anything? More questions? You got one? All right. Thanks guys.


All right, welcome to the marketplace session about glue on we're going to talk today about why and what it is So why is glue on needed? So my name is Toby Ford and I work at AT&T and my partner here been who he also works at AT&T So we're a little biased toward the NFV workloads, but I believe what we're going to talk about is applicable even broader than that Certainly the impetus to do glue on came from the NFV space and what we're having to deal with So at a very simple level the difference between an enterprise or a public cloud or a typical cloud environment to what we're doing is that typically the clouds that had been built before Were ones that were endpoint oriented whereas what we're building has a lot to do with moving packets from one place to another and Processing those packets as they go Certainly the cloud had been doing that but not at the scale or at the distribution that we're talking about so in a specific cases when we think of Networking we often talk about the OSI model layer 2 layer 3 and such In a data center, you know in a cloud data centers that we built before Often that that boundary was at the edge of the building so we did a lot of L2 stuff in the building and then we sent it to routers and routers would deal with the WAN and whatever was happening in In a in our implementation of NFV. We've shifted that boundary Where does that L3 happen and we've moved that into? Possibly into the VNF itself into the VM or into the hypervisor or in the container management scheme Move it all the way into that layer And we did that because in our belief is that In order to scale and to provide the same Reservation and separation end-to-end from one building to another from your house to our data center from your house to let's say Sony's content management system We want to make sure we can provide consistent connectivity and again separation and reservation So when we've looked tried to implement this concept in open stack And with neutron, you know We got made some progress and then not only us but others in the space orange and such have made progress in making What the way that we think of networking in their use cases map to neutron and kind of contort neutron to our needs But it's as we've gone along and tried to increase the number of use cases and increase the career You know the sort of creative ways that we're doing networking it's starting to show some issues and it one of the issues is a central concept of getting trying to get to a standard API and You know convinced that there's only a simple API that can define networking versus one that is Extensible enough to even to the point where if I made a new service tomorrow that the networking API would change and that's really not what what is intended by the the networking design in open stack today, so So beyond that even if I extend and I keep going in that direction I want to make it so that when I do make that API a multitude of vendors and backends can actually service it very much like ML 2 does today But but even broader and even broader in that it's not just about moving the packets It's also about processing them and this is where service function chaining comes in and service function changing also has the same dynamic of in some Models, it's L2 oriented in others. It's L3 oriented Unfortunately, the existing implementation of of SFC in neutron is very L2 oriented So this is an example where you know, we want more flexibility and more Extensibility so this is an in many other dimensions You know if we think of networking changing just look at the attack that happened last week It's inevitable that networking is going to evolve in new ways with regard to encryption or authorization whether it's me being authorized or a token or if it's going to be content based routing whatever it is It's got to evolve so we have to make an environment networking scheme that Evolves along with these changes and our our view is that You know, we wanted to test this area and try to come up with a way to make it work That allowed to meet us meet our needs So we created this glue-on project You know some of the side effects after the fact we didn't really go into it thinking this But some of the side effects that we've we've realized and our benefits of glue on it as well are about how it's possible to Change out networking constructs have multiple more than two Network constructs SDN controller data plane combinations Have different versions have them all within one environment and be able to maintain that and keep the VMs running and change them between Network constructs so an additional benefit came along from this this work So we didn't really intend necessarily to replace neutron Just demonstrate what's possible and then over time figure out an appropriate place to integrate so I'll pass it to now to To bin to for him to describe what it what it is Thank You Toby So let me give a brief overview of the high-level design of glue on and The glue on basically composed of a two major components one is the ground framework which includes a particle generator and the glue on maintains the mapping of port and a different back ends in the database and Forward the port related request and to the correct the back end and There's a second component of the proton of glue on is called a proton So basically that's a networking API's and it will give the name of proton So different type of network APIs are different of protons and how proton was generated is that there's networking services Was modeled in the model file? So now we implemented the model in a YAML file But it really doesn't matter which type of the model and we are using for example We may also use a yam model We can also use a toss come model or different type of model the key concept here is a model right and the actual model that models the actual networking services and The glue on framework has a component also called a particle generator The particle generator will read the YAML file and generate the API and points and a database schema and for the for the API and the services itself and so the only requirement here is a concept of port and so that the Compute services right can request and start a virtual machines and bind the port to the different back ends and with those networking services and so that it gives the flexibility and Extendability of the new networking API's and based on the model and that's be Created at a design time and also executing those the services at the execution time And of course it's the concept of the highlight of architecture design and that it may be implemented in different ways And so we have implemented the proof concept four months ago and in the open way summit And so here the picture gives the implementation at that time and that time we implement glue on as a stand-alone server and The server will be basically be configured as a network API class and and work with a nobody directly and The glue on server has a logic to determine whether or not the port is from The prutam or the port is for neutral and then if the port is from the prutam And it gives back and the port finding request to the different network API's in the prutam part and the prutam will work with The different editing and controllers at back end if the port is a regular Neutral port and it just give the port to neutral and the neutral will handle it in a conventional way so that all the happy users will be happy And so you can see from the typical the workflow perspective, right? And that prerequisite the users will be able to find those API and points through for example the keystone or some other service discovery mechanism and then the users will be able to use the Prutams all the neutrons to create the port and the network services and then the user will be able to Launch the virtual machines and with the port as a parameter and Nova will talk to the glue on and give the port Information and so that grew on will handle those posts respectively whether or not is be handled by the prutam and its back end all by the neutral in a regular way and for The network API class in the Nova was deprecated and because of the Interoperability concerns and the deprecating of the Nova Networking part and so for this the Open stack summit and we implemented in the temporary using the neutral plugging method so basically we extended subclassing the ML2 plugging and class and We created dummy network and subnets and for the port creation and also using the separate database and from the neutral database and the extended code for the last rappers the The call plug-in will be able to determine whether or not the port is for the ground port or it's a regular the Neutral port if the ground port it'll give back to the proton server and Let put on the handle that and with a network in the back as differentiating controllers And if it's a regular the neutral port it back to the regular the call plugging and let L2 agent handle it So that's where how we implemented at this time And the glue on of course glue on plug-in rappers will have the port arbiter functions in a put on servers at API server And the shim layers will handle all the different ds in controller configurations and make sure that all the back ends will interoperable with each other and it will handle all the related functions and at the back end and it can support a different type of acting controllers as well So here's the example about the model that we of those APIs and in the YAML file then so we use the L3 the VPI as example and you can see that the Any network services can be modeled in this way and it can be read by that particle generator in order to generate the address for API and points and Validate these endpoints and the database schema and the back end communication method and and store those informations in the ETCD of course and The model here the key word is a model It doesn't have to be in the Miamo right and as long as we have tool and we can be modeled in the Yang You have me modeled in the atosca or different about modeling the languages and models, right? And so that's kind of flexible in the back end and the proton will be able to communicate to different the acting controllers through the ETCD and Using the pop-up model, right? And that's you it's a distributed a key value store in the ETCD and shim layer will listen to the update and from proton server and to be able to act upon those requests Accordingly and work with the different acting controllers So the benefits you need made a need of the plug-ins and supports multi wasting controller back end and so any acting controllers can be plugged into the The picture at a runtime and just listen to the ETCD for the different the updates and ETCD died and also the model is a key value. So the any kind of the Jason model it can be supported and as a value of the Models in the ETCD database So the main benefits more simplicity so individual API get any points It's a much simpler because they only have to do one thing, right? And the one back end if as in controller a it's good at doing the service a as in controller B It's good at doing service B and they can do it and it's in its own way and in a mass simpler way And the more choices right and I don't have to find the a one-two of this everything I want And I choose the tool that's best fits my need for this particular service, right? More innovation, right? And we can have them basically unlimited innovation of new network and services and to be created design time and to be launched and Quickly launched and that deployed to our customers and that we fail fast, right? And that as a agile method and to enable users in the technical market and to serve us customers in the more elegant way and in a more rapid way and Accelerate how to market of launching the new services to our telco customers and so Toby will be Wrapping up the talk. Yeah, so then We've actually worked very closely with a number of vendors. It's a rare opportunity to actually have What do we have Juniper Ericsson Nokia Cisco and now Huawei all helping us to make glue on work So if you search around here At least three of them have a demonstration of of glue on as well as at our booth We have a demonstration of of what's glue on looks like So I think this is a good example of a group of community members working together to actually make something work now the real trick is how do we take it the next step and Make it make it real and make it implemented in a release of open stack all right, so like to ask There's any questions about this and feel free Don't want to get in your way between Whatever you have coming next Any questions? All right. Thank you very much. Oh, hey So right today You want to talk about that is what where is it now in terms of being an ml2 plug-in or where is it in the process? yeah, so working and actively working with Nova team the new team and to determine what's the best approach and to move forward in terms of working and integrating with open stack and so We have different implementations and the both implementations Proved to be practical and to be working and we wanted to do it in the right way Ultimately and they have the right architecture and moving forward and ultimately benefit the open stack and the whole ecosystem Yeah Yeah, so we need more supporters from the community, right? And that's to support us to work within the open stack community Hey, can you get this guy out of here? Heckler, all right. Thank you everybody. Have a good evening. Thank you


In this video we're going to discover what simultaneous equations are and how to solve them. Simultaneous equations are two or more equations with two or more unknowns. They're called simultaneous because they need to be solved at the exact same time. There are three different methods we can use to solve simultaneous equations. We can solve them graphically and see where they cross each other. But this is really slow and actually only works if they cross at an exact point. The other two methods involve solving algebraically by elimination or by substitution. In this video we're going to discover how to use elimination. Solving simultaneous equations by elimination only works when we have linear equations. So equations that look like this, with an x and a y, no x-squads or y-squads. Let's get started with an example. We start by lining the two equations up, one on top of the other, with the x's, the y's and the numbers all lined up. We now need to eliminate either our x's or our y's. Hence the method is called elimination. This means that we need to have an equal number of one of those letters. Luckily for us in this example there are two y's already in both equations. So we can eliminate these straight away. We're going to either add or subtract the equations. Looking back at our matching two y's, if the signs are the same we subtract. Just remember same signs subtract s s s. Here the signs are different. This one is plus two y and the other is minus two y. So we add the two equations. Five x add three x is eight x. Plus two y add minus two y is zero. So we've eliminated the y's. Eighteen add minus two is sixteen. So eight x equals sixteen. Solve for x, so divide both sides by eight and x is two. Now we need to find the corresponding y value. Choose either one of the starting equations. So I'm going to choose the top one. Substitute x is two into this equation. Five multiplied by two add two y equals eighteen. And solve the equation. Two y equals eight y equals four. So when x is two y is four. This is the solution to these simultaneous equations. It's then really important to check our answers. So we need to substitute two four back into the other equation. Into this equation. Three times two minus two times four equals negative two. So six minus eight is negative two, which is correct. That's all there is to it, much faster than having to plot the graphs. Let's have a look at another example. So we start by lining the two equations up. Which means we'll need to rearrange the bottom equation to become five x plus three y equals 11. Now to eliminate either our x's or our y's. We need to have an equal number of either x's or y's, which we don't have. So we're going to have to multiply the whole equations to match up one of these letters. I'm going to multiply everything in the top equation by three to get six y. And everything in the bottom equation by two to also get six y. Maybe you wanted to match up your x's instead. So you could have multiplied the top equation all by five. And the bottom equation all by three. It makes no difference. You'll still get the same answers. So back to having six y in both. Now to eliminate. Remember, same sign subtract. Both are plus six y. So we subtract the equations. Nine x minus ten x is minus one x. Plus six y minus six y is zero. Eighteen minus twenty two is minus four. Solve for x means x is four. Can you now find the corresponding y value by substituting x is four into one of the original equations? Pause the video, find y and click play when you're ready. Did you get y is negative three and did you check four negative three was correct? So here's one for you to do. I'll leave the steps on screen to help you. Pause the video, solve for x and y and click play when you're ready. Did you get negative one two? So there we have solving simultaneous equations by elimination. You just need to remember same sign subtract s s s. This works perfectly for linear equations, but won't work if there's a quadratic involved for example. So that we have to use substitution. Watch this video to discover how.


We've seen that, well first of all, there's a bit of a generational split as well. Those of younger generations, much more willing, much more open, that makes a lot of intuitive sense in terms of the way they share data more openly in social settings and social interactions online and so on. But we're also seeing that consumers are willing to give it up. One of the statistics we bring forward in the presentation, about two-thirds of consumers are willing to give up certain information if they get something of value back. Now, something of value back is in the eye to be holding.


If you work for a non-profit or library, you know that times and budgets are tight. At the same time, you most likely need software or technology products to complete your work or mission. This is where TechSoup can help. Through the TechSoup product donation program, your organization may be able to receive donated products from top technology providers. However, before you can request a product donation, you will probably want to know what your organization is eligible to receive. The TechSoup eligibility quiz is designed to help you find out what donations you may be eligible for. This tutorial is designed to help you understand how to complete the eligibility quiz found on techsoup.org. If you are registered, we recommend that you log in to your account first. This will auto-load your organization's information that you entered when first registering. If you are registered and logged in, the only step to the quiz will be selecting your current organization from the drop-down menu provided. Then, press Continue to see the eligible program list. However, even if you are not registered, you can still complete the quiz. First, enter in the appropriate information about your organization, including type, location, mission, and annual operating budget. Finally, click the Check Eligibility button. The resulting screen will provide a list of donation programs for which the organization type you entered may be eligible. Organizations can find out more about products available by clicking on the donation program name. At this point, if you have yet to do so, you will want to register your organization with TechSoup to start requesting donations. To summarize, you can complete the eligibility quiz whether you are registered with TechSoup or not. If you are not registered, be sure to have information on your organization's type, location, mission, and annual operating budget on hand. Thanks for watching this short tutorial on the TechSoup eligibility quiz. We hope that this quiz helps assist your organization in requesting the technology you need to help fulfill your organization's mission.


Hey guys and welcome back to another classroom tennis lesson. In this video I'm going to help you to become smarter on the match court and in particular I'm going to talk you through when you should be attacking, rallying and defending according to where you're stood on the court. As I mentioned I'm going to be talking through how your court positioning affects what opportunities you have during the point and in particular when you should be attacking, rallying and defending. So first of all I'm going to split the court into some different areas. Now in any point you're going to be stood in one of these zones. If you are stood in the red zone at the back of the court your priority should be to defend. Now any time you're this far back on the court it's going to be incredibly difficult for you to put your opponent under any pressure. It's going to be tough for you to keep them back behind the baseline, it's going to be tough for you to create angles. So your priority when you're this far back is to defend and to get yourself back into the yellow zone which we are going to call neutral. Now when you are in this zone you're just behind the baseline. In this zone you don't have the opportunity to attack but you shouldn't be defending either because you're in a good position to be able to apply some pressure to your opponent. Another way we could describe this zone is as the rally zone. Your job is to keep the ball in play to a good length keeping your opponent back giving yourself another opportunity to step even closer into the attack zone. Any time you're in this green zone in the court your priority should be to apply pressure to your opponent. Now the pressure that you apply could be done through hitting the ball harder, it could be done by taking the ball earlier or you can create angles as you're closer into the court. If you hit your attacking shot well you'll either win the point from that shot or give yourself an opportunity in the final zone which is the blue zone which we call the finishing zone. Now the reason this is the finishing zone is if you hit a shot in this zone and you don't finish the point you're going to be fairly vulnerable. Your opponent will have the opportunity to hit a passing shot that will be able to log you or you're going to have to retreat and you'll find yourself somewhere in no man's land. So your aim when you're in this zone is to finish the point within that next ball. Now this can be done through power, it can be done through drop shots and angles, anywhere you can your priority is to end the point when you're in this blue zone. Equally important when we talk about no man's land is if you're in this green attacking zone you don't want to hang around in this zone for too long. If you do you're going to have lots of balls landing at your feet and putting you into an awkward position and therefore having to move backwards again. So when you get yourself into the green and the blue zone you don't want the point to go on much longer. When you think of these zones at your opponent's end you can see how by hitting the ball nice and deep you're going to force your opponent back into their red zone to defend. The more often you can keep them in their red zone you can move forwards into your neutral attack and finishing zones. However on the flip side of this if you give your opponent too many opportunities with lots of short balls they're going to find themselves moving forwards into the green zone and the blue zone pushing you back making it much tougher for you to win the point. With all of that being said it's important to remember that these coloured zones are just a guide and they may differ from player to player according to your game style. It may be that if you're a more attacking player that your green zone might be slightly larger it might creep back into this neutral zone and you may be more aggressive when you're behind the baseline. If you're less of an attacking player it may be that your neutral zone is slightly larger which may creep into your green zone. Another thing to consider is there are always exceptions to the rule. There may be situations where you're stood in the green zone and your opponent has a very fast shot right at your feet you're naturally going to have to defend give the ball a bit more height so you've got time to recover back into your neutral zone. There may be a situation where you're stood in your neutral zone but that ball is coming in a lot slower and it sits up nicely for you then yes in that situation you are able to attack. Another way that you can think about these different zones is rather than looking at different zones on the court as I've laid them out here you can actually look at them in a slightly different way. If you think of yourself in this position here in the centre of the court of the baseline your attacking zone may look a little bit more like this something within your comfort zone. Your neutral zone may be here where you're stretched slightly out of your comfort zone so your priority is to keep the ball in play and keep your opponent under some pressure and your defend zone may look a little bit more like this. So anytime you're stretched outside of your comfort zone you may be stretched out wide you may be pushed backwards you may be pushed in for a really short ball that you're struggling to pick up. This may cause you to defend or hit a more defensive shot. That's just another way of thinking about it obviously if you're a professional tennis player your green zone and your yellow zone may be slightly larger if you're a beginner or somebody newer to tennis then your comfort zone may be a lot smaller and you may find that you have to defend from a position inside of the court because you're out of position more often. The amount of space that you need to cover leading up to the shot can impact whether you need to defend or whether you're able to rally or attack. So the further away from you the ball is the more likely it is that you're going to have to defend. The same goes for how much time you have. If you have lots of time on the ball then you're more likely to be able to hit an attacking shot or a rally ball but if you have a lot less time you're probably going to have to defend. So time and space also come into this when thinking about when you can attack, rally and defend. So there you go thanks again for watching I hope you enjoyed the video. I've done a few more classroom lessons which I'll put in the playlist on the end of this video. If you enjoyed it and found it useful let me know in the comments below and feel free to subscribe to the channel if you'd like to see more. Take care guys, see you soon.