Prime Minister thank you so much for taking time off your busy schedule to be with us and we welcome you to the studios of the GIS NTN. Always great to be here. Happy New Year. Thank you. Happy New Year to you as well and we'll be discussing all of those things that will make 2020 a happy one to the end of the program. I want to start with your budget address for 2019-2020 and that's going to form the core of our discussion. In there you gave St. Lucian's the sort of roadmap as to what will be happening for the fiscal year and also an insight into where it is that the government wants to take St. Lucian as a country. So I'm going to give you a quote. The need to break free from stagnation and focus on the things that are going to turn lives and the country around. The urgent need is to unlock the opportunities that propel every St. Lucian to an acceptable standard of living and offer the chance to build wealth for themselves and their families. This is the singular focus. People-centered growth. Prime Minister how do you think your government has fared on that front over the last year? We've made tremendous strides. I mean sadly it's not something that can be achieved overnight but it is an overall goal that we have and it's how we measure our success. So the idea of using GDP growth or per capita GDP which are all averages to suggest that we have succeeded is crazy. Those are good indicators in terms of macroeconomics and from a financial basis but ultimately what is it we want to be able to achieve as a society in our opinion as a party is that there needs to be a minimum standard of living. Now if I person I'm not going to say arouse demand but if I'm a person and I don't want to be part of society I want to go and live in the country and if I choose to do that I should they should still have access to the security system the health care system that they want to send their kids to school and it's to make sure that every single St. Lucian has access to that minimum standard of living. So me going around in constituencies and meeting people who are struggling to determine where they're going to get the next meal from or a house is not safe. Talk to them about anything else they're not interested they have a singular focus so genuinely if we want to have democracy democracy means that people must be aware of what is going on and that therefore they have to take an interest but if people are too busy just trying to survive they're not going it's not going to happen and this is the same conversation that we had at the UN with regards to climate change or SDGs they're just not important enough when there are some more bare essentials that people are trying to strive for. So the goal here is is how do we create a society in which government can afford to support people. So if we take health care as an example in the health care insurance program government is intended to pay the health care insurance for the vulnerable the elderly that can't afford it because they can't change their income levels and the unemployed. Now that money has to come from somewhere right so at the same time we have to grow our country sufficiently to generate enough revenue and resources to make sure that we can provide a minimum standard of living for every single person in this country. And speaking about that so the economy must be buoyant in order to do all of those things that you want. We had an IMF mission here last October concluded November 8th and they had the usual article for consultation and the determination was that St. Lucia's near term growth prospects are favorable. It's interesting because I saw your reaction posted on your Facebook page and you said that you were encouraged but there wasn't any feel of celebration in your statement. Why is that? Shouldn't we be celebrating that the IMF believes that we are on a customer favorability when the economy is concerned? Favorability is still potential. You know for me it's not until we've actually realized that potential and it becomes reality. And I know and you and I are having a discussion before. You can have the greatest laid plans but there are a lot of things outside of our control that can stop you. You know when we were in government in 2007 to 2011 and we had a lot of projects lined up and then all of a sudden there was a recession. Outside of our control banks were going into bankruptcy. There was no money available so you now have to adjust so I would say to you what the IMF is saying is that we're on track. A lot of things are lined up and really hopefully this year we will start seeing things come to fruition. And so I know that there's still a tremendous amount of work that has to be done and we have to remain extremely diligent and focused to make sure that these things happen. In your budget presentation for 2019 for 2020 you unveiled a medium-term development plan for 2019 to 2022. Why such a strategy approach? We cannot sit back and expect that we're going to be able to have a one-year budget and that that's going to deliver. One year is insufficient. You know the Chinese 10 years minimum as a short-term plan is 10 years for them and then they have a substantially longer term plan as to where they want to be able to go. And I think that we need to take a similar approach on what we're trying to be able to do in Celusia. So we've made it very clear a globally competitive education system, affordable quality health care, security. So whether you live in a poor neighborhood or a rich neighborhood, the quality and the level of security you obtain should be the same. And then the economic opportunity and economic opportunity means that we provide the opportunity but it's for individuals to take advantage of it. That becomes the nucleus of what we're trying to achieve. So the mid-term plan was how do we now start putting things in place to achieve that overall arching goal. And what we've said is that a GDP of $1.7 billion which is what we're currently at cannot generate enough revenue in the country and we cannot generate enough taxes to be able to fulfill that goal. So there was a very clear objective to say we need to double our GDP of Celusia at minimum and that ultimately we need to triple and if not quadruple the size of the GDP in order to be able to generate the outcomes that we want to be able to have. And so that medium-term goal was to say okay if we were to double the GDP what would be the constraints to that happening. So we know that if we had to double the GDP we need to grow tourism. The airport was inadequate to be able to do that. If we double the GDP there's going to be more people traveling around Celusia. The road network is inadequate. If we're going to double the GDP there's going to be more consumption of water and the production of water around the island was inadequate. We know that the castries port as an example has to be separated meaning that we have to put the container port in its own separate location. We've seen for the last two years in particular and it gets worse and worse every year that the number of cruise ship passengers coming in is blocking cargo ships from coming in and therefore it's becoming uncompetitive on our part. So having a separate port is absolutely necessary if we're going to double our GDP. To make it work. Now the plan identifies six ski areas and you've alluded to to what that is and we're looking at healthcare, education, citizen safety, tourism, infrastructure and agriculture. PM let's look at the banana industry because for a lot of Saint-Duchan's this is still seen as the backbone of the agriculture sector. Gains were made over the last three years in being able to get people to return to the farms. The production was even up but constantly we are seeing that climate change is beginning to impact what it is that we can yield from the banana industry. The government had promised that there would have been exports to the French market and further field in Europe. Can you give us an indication as to where the government is with that? So we believe there's still tremendous potential for bananas. We're about to embark on a pretty significant campaign. So one is to create a brand for our bananas which will include billboards, integration within the hotels. So for instance we want to know that when a tourist is having a banana at the hotel that they see a label on it that resembles the label that they're going to see in the grocery store. And so we want to develop that brand loyalty while they're here. So we get 85,000 British tourists here a year. We know where they're coming from and we can trigger that right down to the neighborhoods as to where the grocery stores are. We want that when they leave that we can give them a recipe book on banana bread and banana colladas and the daiquiri collada. But we also want them to be able to try those products here in Saint Lucia. So we want to increase the consumption of banana products and introduce them to different variations of what bananas can be used for. It is the world's favorite fruit bananas. But we want them to know that Saint Lucia's banana is a very special banana. Secondly that I think that we've started the process of re-looking at Winfresh. So what happened was is that Winfresh was a very successful entity. It had four countries participating in it and only one of those countries is still producing bananas which is Saint Lucia. And so Winfresh remained an agency in the UK to distribute product but to make money they were not generating enough bananas from the Eastern Caribbean to make it successful. So it now sells bananas from the Dominican Republic and from Ghana. And I think that the loyalty and the focus of Winfresh has been deviated and so therefore there's a problem. So really what should have happened with Winfresh is if anything they should have diversified the products that they were selling but they should have always come from the Windward Islands. And I think that the leaders now are re-looking and re-examining that mechanism as to what Winfresh is. So in fact Winfresh UK in my humble opinion if it was done right is something we could have replicated in Canada and we could have replicated in the United States of America as becoming a portal to distribute our products. Why are they not selling dashed in Yam and Fig? Why are they not selling many of the other products that we're for agri-processing here? Sawgrass, what's it called? Seamoss as an example is being one of them are coconut oils. And they should be helping and working with exports in Lucia and with some of the other Winward Islands in identifying those products. So there are serious discussions taking place at looking at that. So either Winfresh can make it or we're going to have to now go and find a new mechanism to distribute our products in the UK. So that is already afoot. In terms of the climate change 100% correct. But there are two things we believe that we can do. One is flooding. So to do better drains so that when heavy rains come that we're not getting that level of flooding in our banana belt as we work. With regards to the wind is to do intercropping. So the idea is to be able to put more cocoa in order that those trees can help break the wind. But it still means that there is always going to be that level of vulnerability. And I think that there is one huge change that is in the process of taking place that really gives me the hope and the Minister of Agriculture the hope that we can continue down this path and it's called Brexit. So I had the opportunity of meeting the Prime Minister Johnson when he came through St Lucia on his way to vacation. And we did discuss that in terms of what is his intentions. And he said we're going to buy as many bananas as we can get. So Brexit happens at the end of this year and it's to make sure that we're having meetings in terms of determining how we can make sure that we can reintroduce our bananas and maybe even the other windward islands will be sufficiently confident now to get back into this sector. Who would have thought it would have been something good coming out of Brexit? Absolutely. And then sir the last one really is the French. Yes. So in the French bananas we originally were going to be exporting to France. We were going to send I think it was three container loads and then we had a storm. And therefore we could not meet the production. Then all of a sudden there was an overproduction in Martinique and Guadeloupe and we got stymied again. So we've now started the process again but when we went to do it the packaging for the French bananas is different than the one for the UK market. And it's not something that our farmers here were accustomed to. And so now we're trying to develop a new market with them in the French market through WinFresh. But right now our production is up significantly and we're currently I believe we're up to about 12 or 15,000 boxes a week. And with the new invigoration coming with Brexit that we're really going to be focusing on that. But we are continuing to explore the opportunity to get into the French market. Alternative crops to bananas. We've spoken a lot about diversification over the years. There's been some successes, strides made, some retardation in certain areas. What are your thoughts on what we can do definitively to ensure that we diversify? So there's a couple of things because it's one is when you see diversifying from bananas and you're 100% right. The output per acre that bananas produces but more importantly the size of the market that banana offers is tough to replace. If we're going to do in fresh crops, cabbage and lettuce, it's limited where we can sell that. We can sell that in St. Lucia and in the nearby islands. So there's a cap on how much we can actually sell. Whereas with bananas when you talk about 65 million brits and you talk about the consumption even here locally, that's a huge market potential. So it means that we used to produce 120,000 tons of bananas a year. I think we're at 20 or 30,000 tons of bananas a year now. So we have still a long ways to go to get back up to that level of capacity. The diversity is really cocoa. Cocoa is a powerful crop and that it's healthy. So unlike what people think it's the milk chocolate that's bad for you but once you start getting into 70% plus cocoa it's actually considered to be healthy. St. Lucia, St. Vincent, Grenada and Tobago have a high quality cocoa. Not only that, it is potentially possible that the cocoa that we produce on island can be used all on island. So Hotel Chocolat, Jade Mountain or Anne Chastain, Fondue and there's a company in Canaries that are producing chocolate bars and so therefore these are the full processing, our beans, our processing, producing our own chocolate and between local consumption and the tourists that are coming down they can't keep it on the shelves. So the traditional cocoa sticks, I mean I have good friends who are complaining continuously, more and more difficult to find a cocoa stick. I can't find the cocoa stick at the supermarket. And then with what we're planning on doing at the castries market in terms of upgrading the facilities there bringing more people into that location it's to create even more outlets for sale. So I think that cocoa has a huge future also from an environmental and a climate change perspective, deep roots. So when you plant cocoa trees in fields or even on the hillsides it helps hold the soil and it actually is much more resilient to the wind. So incentives to farmers then, how do we now begin to change that mindset and the idea now that banana is really a cash crop, turnover pretty high. So for those farmers who or anybody else may be thinking about entering farming, how do you incentivize them? So again, I'm not as experienced as the minister of agriculture. We're very very blessed to have somebody like him who is as experienced as he is at the helm of agriculture. But certainly in my time in Sufrere and now my time in Miku and meeting with the farmers there you see the same story right where people decide based on the weather patterns and their need for cash as to what crop they're going to produce. They all sit there and dream about how much money they're going to get for this crop. When it's produced they find out a lot of other people have thought the same way and they're stuck having to try to sell this product. And many times they either cannot sell it or are selling it under what their production price is. And that tells you the commitment that they have to the sector but the problem is that young people are not getting involved in the industry because they're not seeing where the profit is. So the program that the ministry of agriculture has started with seven crops is to say okay in order for us to do import substitution meaning that we don't have to import these crops means we have to produce it on a year-round basis.  But sadly we cannot produce it and as we were being told today the peak of the tourism sector time which is your November until April is when in fact they can produce the least amount. So this is where now we must introduce technology. So we must get into green housing in order to be able to produce these crops on a year-round basis. The other thing is is that we know what the consumption of tomatoes, lettuce and these products are almost a hundred percent. So let us give contracts now to the farmers. So a farmer no longer is going to be speculating as to what he should produce. Farmers are qualified and certified farmer by the ministry of agriculture, by the extension officers and then they will be given a contract and they know what price they're going to get for their product and we're going to continue to work with them in improving their capacity. What this will do now is means that when they go to the bank it can present the bank with the contract, they can present the bank with their certification and also the bank knows if there's any problems that there are the extension officers as well as a central distribution point to be able to facilitate those farmers so to take out the risk of what currently is taking place. Saint Vincent and Dominica have done a great job of having a boat and bringing products now to the northern islands and when Dominica went through the hurricane we were able to penetrate some of those markets. So we want to do is to have export Saint Lucia working with the marketing board to look at making sure that we develop and strengthen those markets for us. So Barbados and Gwilla, Antigua, Saint Bart's, BVI and even up to the U.S. Virgin Islands there is a market opportunity but the key is to make sure there's a weekly boat and we understand what the production is coming in. We're getting into such detail that we can actually have monitors that are there that tells us whether in fact the product is being produced on time and in order to be able to get to the distribution company to let them know what's coming up. The other part that the ministry of our culture wants to introduce is packaging. So if we're going to now collect all of this stuff there's some stuff that we can now process for the for the grocery stores. So the wrapping that you see on them or slicing them, taking the pineapple and cleaning the pineapple and putting the slices. So to do that now at a central station in which there is added value and because of the volume that that makes it much more competitive for us to do. Now you mentioned there the seven crop program very very important because that is really designed to offset this huge import bill that we're having and food import bill and especially in the very crops that you mentioned cabbage lettuce watermelon and cantaloupe bell peppers pineapple and tomatoes. When you think of the impact this program can have on generating the generating the economy on the sort of ground level and also cutting the food import bill you excited by that by those prospects? I'm very very excited but let's not fool ourselves. The food import bill is always going to be high because of one of the industries we're in which is tourism. So there are clearly products that I don't see us producing gin I don't see us producing a lot of alcohol there are a lot of products that we depend on that will always be but the fact is that there are products that we can produce here and so if we can make it cheaper for them to bring in some of the other products and allow them to pay the hotels to pay a higher price for some of others so that they can be proper profit a reasonable profit in the sector this is where the win-win situation starts coming now once we start developing that expertise the key here is agri-processing if in fact we can find things that we can do with those products and we can create special ingredients so barons as an example using peppers right and coming up with a special recipe right now improves or increases the amount that we need to be able to consume because it's being consumed in another product and this is really where the huge win-win situation will become and that if we now have people producing our culture and the technologies we have in some cases these are not full-time jobs so what this is a way for a family to be able to augment its family income by having an investment in something in which they can share and make sure they're going to be taking care of okay let's quickly talk about the fishing sector what's happened in there there was a lot of debate publicly regarding the fish markets in cooperation a lot of the the fisher folk not certain about what was really going to happen to their livelihood as a result are you satisfied now we've gone through that process of restructuring that we're beginning to see what the potential for that sector can be yeah you know fishing requires change so the system that we had before farmers just going out I mean fishermen going out for a couple of hours catching some fish selling it to who they wanted to and whatever was left over bringing it to the fishing marketing board or the fish fish board to purchase these products and when they were purchasing it they were purchasing it at a market price and then they were freeze blasting it and the cost of freeze blasting it and therefore the the fishing complex was never making any money ever and the product had deteriorated to the point where a refrigerator was not working properly the washrooms and the facilities were in deplorable conditions a new person has come in a solution uh Karen Fontenard and has made a significant investment now the irony here was here is this lady coming in making this investment and all of a sudden the Ministry of Health was not passing her certification people that were purchasing fish from the fishing board before now all of a sudden we're requiring health certification and so it's not been an easy transition for her but she's continued to make the investments in you can see how much better the facilities are looking and simple things like understanding that the space between the building and the waterfront you could make into restaurants very much like oysters and thing and you have all these tourists that are walking by that location so sometimes that's the business innovation that it's just difficult for government to do that they can see an opportunity but difficult for them to take that advantage so the role of government really is to improve and help fishermen do a better job of fishing and when you capture fish how do you clean it and therefore whether in fact we are some fish that is better for us to export it and import other types of fish because it's cheaper so this is the process we're going to be going through in no way are we abandoning our fisher folk and the government remains absolutely committed with them but we've got to be able to expand and change how the fishing industry was here in solution this is the first part of our special production I'll sit down with the Prime Minister the Honourable Alan Chastney looking back at 2019


Yeah, it works. So hello everyone on this presentation about guaranteed minimum bandwidth feature. We are three of us on the stage, Miguel. So I'm Miguel Avalle, I've been working with Neutron since 2013 and over the past three cycles I have had the honor to be the Neutron PTL and it's been a great honor this past three cycles. And I am Benzer Omsic, I'm a software developer for Ericsson and in the past in OpenStack I worked for a short time with Heat and Horizon and nowadays I'm mostly developing Neutron. Yeah and I'm Balazs Gibiser, Gibi on IRC and I'm a core developer working on this feature on the Nova side. So before we continue there's another two people that we want to mention here. The first one is Lajos, please stand up. He's been one of the key persons developing this functionality and the other person that we want to mention is Slavic Kaplonsky. Slavic is one of the Neutron core team members and he's also been one of the key persons developing this functionality. Slavic we miss you. Okay so what you will see today we will try to give you an overview about this feature. Why do you need this, how this works and then we plan to show you a real live demo. We have some technical issues with the presentation but let's see if you can solve in the meantime. If not then you will see a non-live demo and then we go back to the slides to talk about where we are with the actual implementation of this feature and then most probably you will have time for questions. Okay let's dive in. Why do you need minimum guaranteed bandwidth? First of all if you have network heavy applications then the definition of network heavy tends to suggest that you need something like a guaranteed pipe coming out of your server or going into your server. A basic example of that is when you have a streaming application where each video stream has its own well known bandwidth need and each application server has a configured number of streams it can handle then you easily calculate how much bandwidth your server at least needs to serve those streams. Another example is if you have SRIOV devices in your in your cloud then most probably you are giving virtual functions to your servers and those virtual functions will compete of the bandwidth of the physical functions they are coming from and if those virtual functions are used by different servers then those servers will compete on that bandwidth and you most probably want to avoid fight over bandwidth and instead you want to split that bandwidth properly beforehand. So these are the use cases and then we can go a bit more details about how this works. This feature works the cooperation of three open stack components Neutron, Nova and Placement and we are assuming that you're a bit familiar with Nova and Neutron because those are well established open stack components but placements are pretty new so we would like to talk a bit more about why we need placement for this and what is placement. Bandwidth is a resource that is naturally belongs to Neutron to handle and in the open stack baseline when you want to place a VM to certain compute host Nova decides the place of the VM based on its resource needs and in the past this decision was impossible to make based on resources that are not owned by and managed by Nova. So one reason we introduce placement in open stack is to allow placing VMs based on resource needs that are not managed by Nova. And as in this case the bandwidth is something that managed by Neutron we need placement for this feature. What is placement? Placement is a database and the REST API and placement maintains a quite even a quantity resource view of an open stack managed cluster and we will dive a bit into that two views of the cluster. Besides all these things placement gives you a lot of benefits during scheduling it solves REST conditions and makes sure that the resource allocation could be done in an atomic way. So what's inside placement? So placement stores the quite the concrete view of the resource view of the cluster and the basic resource of resources is the compute host. So compute host is represented in placement as a resource provider as simple as the name and the UID and as we go forward as a compute host provide resources provide resources you can have placement can store resource inventory for you this compute host might provide disk memory and VCP resources and therefore in placement for this compute host resource provider there will be inventory of these resource classes and the total amount of value for each. Of course placement will store extra information top of the total available resources for each resource class but we don't dive into that right now if you are interested this morning was a good presentation from Kevin about these and also in Vancouver from Eric and Ed you can find that video online. This is the quite the view of the system so these are resources that can be consumed but there is another view of the system where you describe the quantitative part for example if your compute host provider tells placement that it provides 10 gigabyte of gigabyte of disk it might want also describe that this disk is coming from solid state disk or a spinning disk because that affects your quality of service. This information can be described and stored in placement as straight like this this is the disk is coming from a solid state hardware can be described with a storage disk SSD trait. This completes the picture so you have quantity view with resources and you have quality view with traits. Let's go forward. So this is half of the picture you can store resource inventories and traits in placement but you also consume those resources so when you go to OpenStack and boot some servers NOVA will eventually create consumers for your VMs in placement that are consuming resources from resource providers and this way placement will have a view not just about the total available resources but what is used and what is still free for new allocations. These are the simple things and if you go forward then there are complications your hardware already complicated than that your compute host will have more than one physical network device and if each device provides some bandwidth some resources like bandwidth then you want to express them as separate resource providers because you cannot consume from both at the same time for the same virtual nick so those will those providers those physical nicks will be represented as two separate providers but you still want to express that they are belong to the same compute host because your server cannot consume from two compute host at the same time so this this creates a tree in placement of resource providers where the compute host is a root resource provider and there could be many layers of child providers under them 100. This is all you have to know from placement so that now we can talk about how we model bandwidth in placement Mikuel we talk about that. So before implementing this feature we were really faced in the between Neutron and Nova with a dilemma on one hand in Neutron we have had a minimum bandwidth quality of service rules since many cycles ago so we were so with minimum bandwidth you were able to say okay I want this port and I want this port to consume to be given at least this minimum bandwidth in this nick so we go and we wire the virtual interface and we wire the bridge or we wire the nick in Neutron in such a way that we deliver in the data plane we deliver that minimum bandwidth to the nick to the virtual interface of the instance but then what happens if Nova comes and schedules such a big number of instances in that compute host and oversubscribe the capability of the nick of the physical nick of the host then I mean we made a promise with the minimum bandwidth rule in the quality of service policy that we cannot deliver on because Nova doesn't have any knowledge of the promises we made to the user through the quality of service so what we are doing is essentially having Nova and Neutron cooperate using the placement the the placement API in such a way that we Neutron will let placement we create resource provider trees of resource providers in placement in such a way that when Nova schedules an instance it's going to take into consideration the promises that we made in minimum bandwidth to the ports of that instance so as you can see here we have we have the we have the root of the so we have the root of the tree which is resource provider and that's and that's the compute host and then underneath that we have a couple of agents that are also represented as nested resource provider of that of that compute host and underneath that we have virtual nicks or bridges that belong to that to either one of those agents and that's another nested resource provider inside the structure if we go to the next slide please we can see in a little more detail so this is the second and third level of the of the of the resource provider tree you can see that we have the nested resource provider for the agent and underneath that we have a specific nick in this case it's it's the nick ENS5 in the compute host and what we are saying here is that this nick has an inventory of that many kilobits per seconds in in egress and and that many kilobits per second in in the ingress direction and the other thing that we are saying there is that that that nick has those traits meaning that that that that nick is connected to that physical to that fiss net to that physical network in this case fiss net zero and that we can connect to that nick we can connect uh those uh virtual nick uh types we can connect direct we can connect mac v tab and we can connect that direct physical uh for those of you who don't know what a vnick type is essentially when when you when you create a port and you want that port to be realized in the compute host you specify the vnick type for that port in other words you're telling you're telling neutron when you when you wire this port in a compute host i want that that port to be connected directly to a to a physical network in a physical interface and that would correspond to the vnick type direct so so so you as a user when you create your your your a port you specify that at the at the binding process and the binding process is nothing more than the moment where neutron the the binding process is the moment where neutron realizes your port physically in whatever in whatever compute host that port is going to leave so so so now we have we have we we want to create this tree of uh nested resource providers for for for nova to use during the scheduling of the vm's and what we do is that that we communicate the the um the inventories of bandwidth and the and the and the types of nicks that we have in the different compute uh uh uh host all the way from the compute host to the placement api and essentially this is a three-step process as you can see here we have a we have config files and in that in those config files we declare uh we declare the different bandwidths uh physical bandwidths that we have available in different different vnicks in the in the different physical uh network interfaces the neutron agent starts up uh it reads it reads its configuration file and it communicates that that information to the to the neutron server via the rpc channel and it essentially it it says i have i have these many interfaces i have these many many bridges and in in each one of these bridges and in this one in in each one of these interfaces i have this much uh bandwidth inventory and i have this these traits and then the neutron server what is going to do is using the placement service api the rest api is going to uh create the tree of uh resource providers that i explained in the in the in the previous two slides okay so this completes the first step of of actually using this feature but as an end user you you most probably want to have your server getting guaranteed uh uh bandwidth and for that you need to do some extra steps so as a first step as miguel described neutron will periodically and continuously report resource inventories to placement and when you as an end user want to have a server uh with a port that has guaranteed bandwidth you go to neutron create a port as usual but you also select qs policy rule for that port that might be pre-created uh the administrator pre-created for you or you might also be able to create yourself it depends on the configuration of the of the cloud but that will describe uh that how much bandwidth that port needs and then neutron will return return back to you the you idea of the port as usual now you go to nova and ask a server from nova and you specify that nova please plug this port as well uh to my server so nova will know that he needs it's need to plug a port then uh nova needs to figure out what is the resource needs over our resource needs of your server and that's coming from different places one place where you specify resource needs is the flavor you're the built at the vm width uh there you specify cpu memory and disk but now with this feature a port will have a resource needs as well nova only sees the you idea of the port so nova needs to go to neutron and ask neutron what is the resource needs of this port neutron will based on the port's qs policy answer this question answer this question to to to nova then as nova now gathered all the resource needs the server needs nova can go to placement and dust placement please placement tell me where are those compute hosts where are those resource providers representing a compute host uh are in the system that are capable of support this over our resource needs of the server uh then placement will go into the inventories it knows and search database for for allocation candidates basically resource provider trees that still have available resources for your request so now i will get back a list of allocation candidates from from placement and each allocation candidate is capable of supporting uh this server so now i will now use the basic the the the normal filter scheduling process to filter those down further based on uh extra logic that nova has like numa and and and uh and others to select one single compute host one single allocation candidate that will be used for your server when it's done nova will go back to placement and tell placement now placement these allocation candidate becomes a consumer nova creates a consumer that consumes all the resources that the server needs uh from those resource providers that are selected by placement first by providing allocation candidates and then the final decision made by nova by filter scheduler to to set a single resource provider tree so now nova knows which compute host the server will will be booted on and actually nova knows which resource providers providing the resource needs of the server but as this resource is not just coming from the flavor but also coming from the port now nova needs to tell neutron what was the decision it's not new nova previously did port binding to tell neutron which compute host the port will be bound to to let neutron do some extra preparation work on the networking side but now with this feature nova needs to also tell neutron which resource provider which physical network device will provide the bandwidth uh resource needs of each given port so that will be an extension of the port binding here we also need to mention let me well like talk about the port binding a bit because that's that's something we changed so what i want to mention here what i would like you guys to remember is that in this process that we are showing here steps three and step step three and step seven were already happening anyway i mean that's that's the normal that's part of the normal process of booting an instance so nova when nova is creating the instance one of the things it does it it requests from from from the neutron rest api the characteristics of the ports that that are going to be connected to that to that instance and it also it also once once the decision is made to skate to schedule the the instance in a certain host that was the moment of binding the port in other words is the moment of telling neutron neutron please that this port is not is not a an entry in the database anymore go and and create why this port instantiate this port realize this port in this compute hole so steps three and the step seven were already happening anyway the only thing that we did is that we added some extra information some extra information in the in the in the dictionaries that are exchanged in the in that in those two steps okay so if the port binding succeeds then nova goes forward with the normal server boot processes as before and that completes the process completes the whole process and usl end user will get your server booted with the ports with guaranteed minimum bandwidth okay i think miguel we talk about two small so remember remember remember step three so in the step three always we have always when when when when nova requests the port the port information we send back that dictionary through the rest api in a response to the through the rest api the only thing that we are adding is that the port the response in the port has a new attribute which is resource request and and that that resource request includes two other attributes inside it's a dictionary with two other attributes number one the resources and what there we are saying okay this port has has a minimum bandwidth a qr rule associated with it so that's the that's the that's the that's the bandwidth that we promise to that port and the reason we need this that this that way is that we didn't want nova to have to learn to talk to the quality of neutral quality of service api we wanted nova to mostly continue doing more or less the same thing it's been doing for years so we just started this request and the other thing that we added is and by the way we since we are we are this this port has to be connected to this physical network and with this veneq type and this is a this is this required attribute sub attribute is what is going to be used against the traits of the resource providers that we created in the in the placement service here now we are looking at what new nova is sending to neutron in the binding process in the in the step number seven in the in the in the graphic again this this dictionary was already it was anyway being sent by nova it's it's a it's a it's a put request it's an update request to the port from nova to neutron saying neutron please bind this port in this host and that that was happening anyways the only thing that we are adding is in the binding profile and binding profile it's a it's an attribute that we already existed in in in in neutron that it's that was specifically created for to send this kind of additional information for the binding process the all we are saying is we are adding the resource provider uuid in other words the uuid of the resource provider that represents the veneq that that placement selected and and that way neutron has now all the information necessary to bind the port in the host selected by nova and in the interface that can provide the the the minimum the minimum bandwidth promised to the to the port so this is the place where we would show you our demo yep so basically what is going on is that we have a working live demo on another laptop which we cannot connect the projector so i'm sorry for that but i will not be able to show you that as it is but we have uh back up slides which oh shall we give it a try yes okay let me just until then for the sake of simplicity so so bear with us just a couple of minutes we're going to give this a try if not we come back to for the back up slides yep excuse me excuse me uh can i ask a question so uh you spoke about s r i o v uh network card so let's say you have one physical port and you have multiple uh virtual functions on top of it and uh nova requests let's take two virtual functions so when you make allocation uh two out of uh let's say 16 how much of uh bandwidth are you going to reduce on the physical port what did i so you promise a minimum bandwidth now an allocation has happened and uh two virtual functions have been consumed on the physical uh function so how do you partition do you like equally partition the total bandwidth across all the virtual functions or you have a mechanism to control it per virtual function so i'm not i'm not absolutely sure i understood the question but let me let me give it a try okay um so so so remember that that in in the in the response we sent to to to nova from neutron with the port characteristics we say we say this port requires this this much this much bandwidth and that that it's a consequence of associating a a a minimum bandwidth rule qs rule to to that port with that information what what between nova and placement they go and they they they select the host and the within that host the inventory that can fulfill the bandwidth available in that in that in one of the nicks of one of the hosts once no one placement take that that decision that that the the bandwidth consumed by that port is deducted from from the resource provider so the next time when you schedule another another instance against that host against that nick uh the the inventory the bandwidth inventory of of of that that that of that nick is already updated it reflects the fact that now you have the first port consuming bandwidth from from that nick is that was that the question no sometimes when you have virtual functions how do you know how much of bandwidth to reduce once the allocation is done you actually actually ask for that bandwidth so when you create the port in neutron you tell neutron how much this port will use that is at the physical level right no no that's on the neutron port logical level you will tell neutron that this neutron logical port needs one gigabyte of minimum guaranteed bandwidth and then uh this will be deduced from the inventory of the physical function that actually create that that is uh uh used to create the virtual function for your vm so you're deducting from the physical function so that's what you're saying yes and that's and that's why that's why this allows us to actually fulfill the promise if you want this minimum bandwidth we we commit to deliver this minimum bandwidth to you because now we are we are deducting whatever your port is going to consume from from from that inventory we're deducting that bandwidth from that inventory so we don't oversubscribe anymore that's exactly the point of this picture thank you okay so i think we can show the actual live demo yeah sorry for the colors sorry for the color space that's the best we could produce now but this way it it's at least live uh so let me first jump into what the demo will show you uh i want to show you uh what you need to expect as the user of open stack from your environment how you can discover that the version of open stack you're using is supporting this feature or not so we will be talking about a few neutron api extensions and placement api micro versions that you will need to use this feature as we probably already mentioned at the beginning this is a work in progress feature uh so you can reproduce all what i'm showing if you take the master branches of nova nutrient placement and a few patches that are still under review then i will show you what kind of configuration the cloud admin uh we'll need to produce to set up uh what kind of resources are available in the system these will be mostly neutron configuration files and then i will try to show you three scenarios uh which will show the feature working and also what kind of guarantees it gives you and when it cannot satisfy what is asking what what you're asking from the system uh i may have some uh maybe three colorful figures later i will hope work with this strange uh color space but let's see uh and here now i don't need the slides anymore but uh don't care about this these are just my uh own own uh notes uh this will be the one uh where you should see what is happening and i hope this is uh readable at this point so the first thing is that this demo is running in a desktop this is just the desktop directory i am using uh i already built a stack i don't want you to wait for that now and uh for the sake of simplicity so i don't have to switch between an end user an unprivileged user and an admin user i will be doing everything as an admin but i will be mentioning what kind of operations are usually decent uh usually that uh so the two api extensions you will need the two api extensions you will need from neutron and which will be hopefully merged in uh the staining release are the uh qs bandwidth minimum ingress extension which makes sure that you can create a qs policy rule which uh describes the ingress direction of the minimum uh guaranteed bandwidth ingress and digress in this case always uh are meant from the perspective of the vm so they are practically egresses upload and ingress is download then uh the other neutron extension you will need is the port resource request extension uh this refers back to what miguel already explained uh this is the machine to machine interface between neutron and nova where neutron uh tells nova what kind of resources are needed for this port uh so this is usually not seen by an unprivileged user then from placement uh what you need is at least 1.29 of the placement micro version here in this uh system we have 1.30 so this is more than enough then let me jump to the configuration that is usually preset up by your cloud admin the first and simplest thing is that since neutron server is a client of the new placement service you have to tell neutron server where the placement service is available and what kind of credentials uh you have to access it so that is what you are putting to neutron conf and uh then here comes the real configuration which describes uh your resources so what kind of bandwidth you have on your physical network interface cards uh since now we are working on support for the neutron ovs agent and the neutron sri ov agent i will show you both configurations in the ovs agent the kind of physical resources uh that we are talking about on the bridges so here the configuration describes that on the bridge belonging to fizznet zero you have an upload of 10 gigabytes and a download of also 10 gigabytes and just for the sake of an example on this other bridge you only specify uh an egress uh value and the ingress value is undefined here just just a quick observation here uh in in this uh first implementation we are we are requiring the admins to specify the physical bandwidth uh we are thinking of in future iterations to have this to have a auto discovery feature so you don't have to but even when we will have the auto discovery this will probably stay here so the admin if uh here she wants to or can override what was auto discovered uh and practically the same configuration exists uh for the sri ov agent here in this example on this enus five uh physical function we did configure that a total available of 40 gigabits I guess as as up and and down then let me move on to the actual uh scenarios uh proving that this feature works and and how it works so this will be the tricky thing I sorry I hope the colors are somewhat yeah somewhat working so uh the three pictures from left to right are the three scenarios I'm trying to show you uh the different colors are for different VMs so I will be booting all together three VMs in three scenarios the first scenario is a single VM uh the fact that that VM will boot proves that you can boot a VM which has a minimum bandwidth guarantee and uh boot is booting is still working uh with a new feature merge uh then the second scenario uh will add an extra VM on top but in such a way that all resources should stay under what is the total available so both all the CPU RAM and bandwidth resources uh should be sufficient to boot the second VM and in the third we a third scenario I will be replacing the kind of orange uh VM to the brown VM and as you can see the brown VM uses the same flavor as the orange VM so and the only change from scenario two to three is that we will be raising uh the bandwidth request the minimum guaranteed bandwidth request of uh the brown VM uh in such a way that it would try to go over the hundred percent of total available resources and of course that's impossible so what we expect is that the first boot will succeed the second boot will succeed but the third boot will fail and Nova will tell us that it did not find a compute host to uh to do this job for us so uh let me just do these then uh and before we jump into the scenarios I have to show you a little bit of an environment setup so these are the uh resource providers uh that uh formed the uh resource provider tree uh we already learned about uh and then I can show you that on one of these resource providers we actually have an inventory reported uh does it work for you if I still reduce this then it's still readable okay uh so what we can see here is that on the brfisnet zero uh resource provider we have an inventory uh both for egress and ingress uh bandwidth minimum guaranteed bandwidth with the values of 10 gigabytes up and down just to just to be sure that we're on the same page in these last two commands uh pens is talking placement api yep which by the way is the same api that neutron uses to create the resource providers yep usually these values are only visible for an admin so an ng server we'll not see what is the total available uh in the system in an usual configuration and uh then I must show you that the network we will be using for all three VMs is a provider network so it is a vlan type uh provider network using vlan id 100 and as in many other examples before uh we did show this is attached to fisnet zero and uh what I uh still want to show you is that we have a qs policy again usually pre-created by the cloud admin and in this qs policy we will have sorry we have we have two qs policies one providing at least one gigabit of guaranteed bandwidth and another providing at least six gigabits of uh uh guaranteed bandwidth so for some ports we will be using the using the one and the other ports we'll be using the other and that's how we can uh make the difference that I did show you in the figures in the beginning uh so let me show you that I already pre-created three ports port one two and three four VM one two and three in the three scenarios uh the first VM will be using six gigabits of uh guaranteed bandwidth the second will be using one and the third again six so the first two together should be using a total of seven that's under the 10 what we have available but the first and the third together should be using 12 that's above the 10 we have we have available uh okay so finally I can really jump into uh the demo and hopefully if I don't have a demo effect I can show you the O at the beginning yep thank you if I don't have a demo effect I should be able to show you that I am just booting a VM that requested six gigabits of uh guaranteed bandwidth yep and because the VM went to active uh uh the request must have gone through and let me prove that to you by asking for what kind of resource allocations are now present in the placement database and what we see here this is only part of the actual resource allocation so the resource allocation is made for the uh whole VM and but this part only shows uh that was made for the uh port of the VM uh so uh we did not have just the VM booted but the resource allocation actually happened now uh I can move on to the second scenario as a reminder the second scenario adds the orange VM on top but still staying under the what's available uh so I should be able to boot VM 2 adding one gigabits of guaranteed bandwidth on top and this again should succeed yep it went to active so it succeeded and now what I wanted to show you is uh that previously I did show you that some allocations were made uh proving that something happened in placement this was the allocation of the six gigabits of the first VM and now I can also go back to placement and ask for not just what kind of allocations were made but all together how much resource was used up so far so I can show you that uh seven gigabits is now used up from the 10 we have and then we can jump ahead to uh the third scenario in which uh uh sorry not there in which we would be trying to go over the 100% mark so we expect this to fail yep and in order to do that I'm first deleting VM 2 I'm replacing that so I'm also waiting for VM 2 to go away so the resource allocations get freed and uh creating VM 3 instead which again uses the same flavor so the CPU and RAM uh requirements are the same but now we were requesting six gigabits of uh uh bandwidth so the boot fired the system couldn't place uh uh the VM as expected uh let me just show you as a final part of the demo is that yep is this the one that the error message was actually know well it was was found so this was really a failure coming back from the placement of the VM and that concludes the demo and if we still have time let me just jump back to the slides I think I think I only only use like three sentences to close this up uh one thing is uh what you saw is working progress uh most of the things that are in this demo is or all the things that is in this demo is available either as merged code or a carried review uh you have the links there uh but there are things that are not working yet uh like you cannot move VMs around having minimum guaranteed bandwidth or you uh cannot use multi-segment uh neutron networks uh with this feature we will be working on that uh as as we progress uh and on the last slide you will see uh a lot of references uh that uh where you can read more about these features specifications and Ben's already published the blog post about the demo technicalities so you can reproduce the demo in your own environment and look at the details okay thank you so I just I just want to say that as the neutron PTL it it fills my heart of joy that it's Thursday at 6 p.m. and you guys are still here watching a CLI presentation thank you so much thanks a lot thank you


Hello and welcome to the NFCOR Hackathon online and distributed in March 2024. My name is Philiuels, I'm Product Manager for Open Source Software at Sikira and it's my pleasure to welcome you all today and give you a quick overview of how the Hackathon works, what to expect from the next few days. Firstly, it's amazing to see so many of you here today. Signed up this year we have 466 people, which is phenomenal. It's a record. Again, it's the biggest hackathon we've ever hosted, I think, and it's just brilliant that so many people are excited to turn up and work together. They're really excited to see what we can achieve. This year we have distributed sites, so we have 23 of you have volunteered to host local sites all around the world and the majority of people joining the hackathon are joining in person at one of those local sites. So, 321 people at local sites and 145 of you are joining online. So, welcome everybody. I said it's a record, it's just brilliant looking at the online hackathons that we've had over the last three years and seeing these numbers kind of climb year on year, both in the number of attendees and the number of sites. So, a great trend to see continuing and let's see how long we can keep this up. We asked a few questions when you signed up just to kind of get a feel for the types of people attending and just like as we have with basically every event we hold, the majority of you have never been to an NFC hackathon. So, if you're sat there not quite sure what's going to happen or don't worry you're kind of amongst friends, the majority of people at the event are also new to it. So, of course, 159 of you have come back for more. Great to have you here. But the 307 of you have never been to an NFC or an NFC hackathon before. I hope you enjoy this one and I hope you'll be in the light blue segment of the next time. Looking at the different local sites on the way around the world, the first thing that strikes me is that there's lots of them this year. Thanks again for everyone volunteering, it's amazing to see. And quite a range in how big the different sites are. Some of you will be a group of people kind of in a meeting room, I imagine, and some are quite big sites. This year around Heidelberg in Germany is the winner that most people attending. A phenomenal turnout there, so welcome all of you. And of course, the biggest site is online. Those local sites have got a pretty good geographical spread, lots to view in Europe. It's good to see a few more sites popping up across America and also in South America as well and Canada. So thank you all for joining. Really good. If we look at who's joining, including the attendees, we asked you where you live. You can see we've got an even better geographical spread. So special kind of notes to those of you joining from India and further afield. I hope you don't have to stay up too late. Right, so let's go on to kind of the mechanics of how we're going to do this. Because we're running primarily online, we're going to use this platform called Gather, which you can get to at www.gather.down. Gather Town is basically kind of a bit like a computer game if you like. If you've ever kind of played Pokemon, if you're old enough like me, or anything like this, it's kind of like you have a little avatar, a little character you can walk around and explore and chat to people. You can find the right keyboard shortcut you can dance. And there's a dedicated bite size talk all about Gather Town. We've been using this platform for a few years. So if you're feeling lost or just curious, go and look up that link and James explains all about Gather, how to use it and various troubleshooting and tips. The map this year is built based on previous years, but kind of extended. A lot of work on in here by Chris. They're looking pretty fantastic with the sticker logo up there and various different kind of regions that you can explore. You can see along the top there's kind of different doorways you can go through there for different groups and their main lecture hall and various other stuff. So it's just like being in a kind of real life conference venue really. You can get outside that stuffy hall if you want to go for an explore. There's a nice beach to go and have a rest and relax if you'd like. And who knows what other regions you might find if you explore enough. I genuinely don't know.  Look out for these. They do different things. Some of them will load up relevant web pages with more information or kind of things like that. Some of them will whiteboards which load up collaborative whiteboards where people you're working with you can jump in and scubble. So various different kind of elements around Gather Town. Look out for that. One of the things that's quite difficult sometimes with many of us in Gather Town at once is finding other people. So just remember on the right hand side you've got a toolbar. You can click that to bring up or a list of everyone there. Type in someone's name, click on them and then you have a few options and the one that I personally use the most is a button that says follow and that will just get your little person just to walk around the map and go and find that person so you don't have to spend ages feeling lost looking for the person you're trying to talk to. And final thing, when you're walking around you'll sometimes see the screen kind of change like this where everything grays out apart from the section that you're stood in and it pops up saying you've entered a private area. What these rooms are, they're kind of like breakout rooms on Zoom where you can hear everybody in that space and everybody can hear you but it cuts off all the chatter from people outside that private space so it's good for small groups to go and kind of meet and chat without distraction. There are lots of these spaces all around so as you walk around you'll see them and many of them are kind of dedicated rooms. So to get into the Gather Town space please remember to use the email that used to sign up for the hackathon. It's done by email list so check your inbox if you're not sure what that is. And try and stay online on Gather Town platform even those of you who are at local events. Sometimes it can be tempting to kind of just forget about it because there's lots going on around you in person but remember we're collaborating across different teams and Gather Town is really the key place where that happens so please try and keep your, stay logged in and keep an eye on that in the background. Also if you're having meetings or chatting to people online remember to use your headphones if you're in an in person location otherwise they can get noisy so just try and be respectful for the people you're sat next to. Okay what else are we doing? Slack as always with NFCore and NextFlow so if you haven't yet joined the NFCore Slack go and find this link NFCore website and press the big green button to join. There's a button you can click on which just takes you straight into our Slack organization and this is where all the kind of text-based conversation will happen basically. Once you're into the Slack space if you search for channels the channels are where you can break up the conversation into different spaces within Slack you'll find one dedicated for this event called Hackathon March 2024. That's not all because there's so many of us we break up into smaller channels dedicated on specific topics so it's not too noisy and so you'll find a whole bunch of them with the same prefix and there you are named after the different kind of project groups we're working in so you can all chat together there in Slack as well as a handful of other ones which are to do as social events and various other things. You'll also find going on to the groups that we're working in each of these group leaders has prepared a video explaining roughly what the topics will be about that particular group how it will work and giving kind of an introduction to it. At the time of recording this isn't online yet so I've got a screenshot from 2023 but it looks exactly the same so it's a playlist on the NFCOR YouTube channel. Also when you go to the NFCOR website with the event page you'll find all the different groups listed there with the topics and you should hopefully find these introduction videos embedded there so they should be easy to find. When you signed up you will have picked the groups you're interested in working with but don't worry if you can't remember don't worry if you've changed your mind it's very flexible you can just come and go into different groups many people spend the three days mixed across multiple groups and that's totally fine. It's just to give you an idea of roughly where to go and the kinds of things to work on and kind of make it easy to find people who are working on similar topics. So I said you had to sign up and say which groups you're interested in this gives you an idea of how popular the different groups are as usual Pipelines is the most popular group that's basically always the case and of course where we come to collaborate on Pipelines and lots of you want to do exactly that. And there's also lots of people interested in joining in with their modules, sub-workflows, NF tests and training materials and infrastructure. A handful of you put things into other textbooks of other things you wanted to work on and my favorite was the person who said they wanted to work on croissants so yeah good enjoy that. Bonus points. Okay you've decided what you're going to work on you found your group everything's great what do you do now? First up you pick your group and you watch the introduction video so usually you can watch it at your leisure. Hop into Slack find the relevant Slack channel for your group and say hello say who you are where you've come from what your experiences what your expectations are get chatting and see who else is around. Next up you find a task that you want to work on means either tasks you already know about you've kind of bought your own you know what you want to work on that's fine or you go to the GitHub project board for the hackathon which I'll show in a minute and find something that sounds interesting. If you are bringing your own work please make sure you create an issue if there isn't one already on GitHub and add it to the project board and this way we track all of the work that's been done through the hackathon and get a feel for what people are working on. Once you've found an issue sign yourself on GitHub so that basically puts your face on that issue and means that other people don't also pick the same issue and you do the same thing at the same time and end up duplicating someone else's work. It's fine to add more than one person to a single issue as long as you both know about it then that just makes your work visible. And then get on with it start writing some code enjoy yourself ask other people for help and when you're finished make a pull request so push your code to your fork of your NFCore GitHub repo and then open up a pull request to merge those changes back upstream. Remember pull requests are the best when they are relatively small and well described so try not to make some kind of bare mouth which is going to be impossible to review keep them nice and neat and kind of itemized. And then over time we're going to have wrap up meetings at the end of each day and we're going to basically do a quick report of just the kinds of things that people have been working on. So remember it together with the rest of your team just keep a note of the kinds of things you're working on on those Google slides so the group leader doesn't have to panic at the end of the day with an empty slide which is almost guaranteed to happen. It always happens. Okay. GitHub project board. What do I mean? If you go to NFCore GitHub pages and click projects at the top you'll hopefully find one called Hackathon March 2024. This is a slightly overwhelming page because there's many tabs along the top and many issues. The first one is overview which has got loads of stuff and then these tabs are also broken up by team you can see there. Some of them are special so there was ones like saying my issues which filters just for the ones where you've assigned it to yourself. Ready to review poor request you've reviewed and good first issue are ones where we've labeled ones which are good for beginners. So this is where we track and label all of the work that's going on in terms of the duration of a hackathon and there's a tab that you should basically have open in the background the whole time. When you put in that poor request you're not done. Creating the poor request is kind of step one and then getting that poor request merged is step two. There's two parts for this. There's firstly getting someone to review your code and then there's usually some back and forth where they might suggest changes or you discuss something and before finally getting it merged but also of course this is a two-way situation so other people need you to review their code. Even if you're a beginner doesn't matter. Everyone should be reviewing poor requests. It's a big part of getting into the community and if you are a beginner it's a great way to learn best practices and see how other people write code. If you are a beginner and you're nervous don't worry you don't have to merge anything and it doesn't matter if multiple people review poor request that's a good thing. So just jump in and do as much as you can What can happen at Hackathons we have loads of people pushing work and if we don't get enough reviewing we end up with a huge backlog of poor requests which don't get merged which is kind of a bit sad and have lots of people doing puppy eyes or kitten eyes saying please can you review poor request and if you really towards the end of a Hackathon there will be many memes I imagine so you need to sort of get in there review review review should do as much reviewing as you do submitting a poor request at least. The best way to do this in our experience is to kind of find a review buddy and so find someone else maybe who's sat at your table or is working in your team or something and you can kind of swap reviews with each other as you go with poor requests and this way you kind of while you're waiting for someone else to review your poor request you can be reviewing theirs and it keeps everything moving fluidly. There's also a special Slack channel called Request Review which is not a Hackathon thing, it's there all the time so if you're kind of waiting and no one's picked it up you can pop a link to your poor request into that channel and people can jump in and help out. Okay, if you're kind of especially relatively new to next phone NFCOR and looking for some extra resources check out the Bite Size page on the NFCOR website. We have weekly short talks there they're typically 15 minutes long about all kinds of different topics some of them about pipelines and stuff but there are many talks there aimed sort of as training resources which go through all kinds of topics related to working with Nexplo and NFCOR so have a look there, there's loads of good resources and most of them have tramscripts so you don't even have to watch a video if you don't want to you can kind of skip through the text. There's also the YouTube channel where all of these Bite Size talks are hosted but there's also many more videos on there on the YouTube channel for NFCOR and then there's Nexplo training material itself where if you just like to spend three days basically working on the training material and getting yourself up to speed with Nexplo that's absolutely a valid way to spend your time and just generally the NFCOR website has got tons of documentation and resources Of course hackathon isn't all work, we've got a few kind of social activities lined up for you those of you who've been to the NFCOR hackathons before will be familiar with them we've got a scavenger hunt for photos, we've got a regular bingo running Findersocks, Kahoot, Chris and Pizza so a scavenger hunt there's a special Slack channel hackathon march 2024 scavenger hunt and basically there will be a bunch of kind of challenges posted there saying take a photo of this thing it might be a nice view out of your window or some kind of other challenge so keep an eye out on those and each time there's a challenge there's a kind of thread under that Slack message to post photos and response no limit just go crazy do as many as you can it's really fun and it's a great way with all the different distributed sites especially online people all over the world kind of seeing where people are working in different kind of situations so it's really fun more than area we will share the highlights and the daily syncs and if there's any particularly good ones we have our regular NFCore bingo cards running of course you can find the link to this through the event page which is basically a whole bunch of kind of silly things and some jokes about things like GitHub always goes down during the hackathon so if that happens you can see if you can find it on your bingo card and give a shout if you get bingo in Galatown we have the NFCore Socks emoji now Chris Hackart has hidden five pairs of NFCore Socks all around and gather before you ask we're not going to give you any clues he's a hard man and when you find a pair of Socks take a screenshot so that we've proven you found it keep track of them and when you've got all of them send those photos to Chris and the fastest wins basically there will be prizes for winners now it's pretty addictive the sock hunt searching I'm very well hidden you can see this one from a couple of years ago where Matthias has found a sock just poking out from underneath a tree so it's not going to be made easy for you but yeah maybe don't spend your entire three days just looking for socks I won't blame you if you do on Tuesday we have Chris on the platform called Kahoot basically it's multiple choice questions this is Chris has been done by our resident master Matthias there might be some mega-no-ones such as those tricky mark down questions that always get me but it's always a lot of fun so join in if you can this is our only kind of synchronous social event which will be happening at 3pm European time and hopefully it works for most time zones and that will be in Galatown in the lecture theatre this one's not going to be live streamed on YouTube or anything and then finally if you're at local sites there will hopefully be pizza or something like it and this is kind of totally up to each local site so it will be different depending on where you are so if in doubt talk to your local site coordinator and site coordinators please talk to Chris Hackert and be nice to him he's got much more sort of professional looking photos on the web but when I found this one I couldn't resist ready to launch so Chris is going to be sat there approving all of your kind of virtual credit cards and I think it will be slightly traumatised by it so please be nice to him right we're nearly there code of contact by being here and signing up you agreed to abide by it so please just take 30 seconds to check over it it's on the NFCOR website it's pretty simple just remember especially for the hackathon to ask consent from people when taking screenshots or photos of people and sort of just be nice and remember to take breaks and remember also you got an email with a checklist of all the different things you need to do to kind of get set up for the hackathon now I'm sure all of you are great at reading your emails and you've already gone through this checklist but just in case there's anyone maybe it went into a spam folder well whip through them super fast so check the code of conduct I'm sure you've done that one I've been talking register on the NFCOR Slack if you haven't already and found find those hackathon Slack channels register on github if you've never registered on github before and join the NFCOR github organization you can do that by going to a Slack channel called github invitations wave your hand there pull up your Slack username and someone will add you to the NFCOR github org that gives you right access to all the repos so you can push code and open pull request and merge other people's pull requests also means you can be assigned to issues and everything so it's a really key part of working in the hackathon if you find that you can't be assigned to things you can't review other people's pull requests it's probably because you're not a member of the NFCOR organization yet on github register on gather join the hackathon space and then get set up locally so get nextflow and NFCOR installed and some kind of way of provisioning software or if you prefer join on github which is kind of virtual online coding spaces when set up an environment there there's preconfigured NFCOR spaces you can use on github so post on Slack if in doubt and of course check on the NFCOR website to make sure you know where to find all the docs and the training and everything else quick note on training because there probably will be some of you who are kind of beginners and interested in doing the training we have three courses now we've got fundamentals which is great for beginners there's now advanced training as well run by Rob Simon-Sikira which has got some really kind of more detailed topics and a shorter course called applied training which is great as a refresher it's kind of hands-on you're just writing code straight away rather than going through lots of theory we ran the foundational training just a few days ago and so those videos are up on YouTube and embedded into the training website so it should be easy to find and the URL is training.nextflow.io next up a couple of things that are coming up soon just while I've got everyone's attention so in 2024 we'll have two Nextflow Summit events just like last year but they'll be a bit better spaced out so the first one will be in Boston in the US and that's coming out pretty soon in May so tickets are open right now so please do go and register and actually I think the deadline for submitting an abstract has just been pushed out slightly longer so it's still time to get a talk in it'd be great to see as many people there as possible and then there'll be the Barcelona event in October, end of October both of these events have associated hackathons so these are the next NFCOR hackathons after this one you can find out all the information about the events and where to register and everything else at summit.nextflow.io also out just a few days ago was the kind of Nextflow survey that we do every year annual survey which we call the state of the workflow we've been doing a bunch of years now it's kind of consistent questions roughly year to year so we can kind of track changes in what people are interested in and how they're working and if you need any encouragement there's a prize draw as well so you can win a MacBook and then I think 10 people will be getting a Nextflow kind of goodie bag with all brand new swag with a new nice rebranded Sakura and Nextflow logos on it so definitely worth filling out for that I'm actually quite jealous I haven't got all that myself yet and there's a typeform link there secure.typeform.com don't worry if you kind of don't get this in time it's also posted on the NFCOR Slack channel so it should be easy to find right final but a little bit I just wanted to kind of point to a few of the ways that we get news and updates out about Nextflow and NFCOR especially for those of you who may be a bit newer to the community also to draw attention to the fact that we now have a blog on the NFCOR website which is pretty new so the NFCOR blog we use for anything NFCOR specific so we've got some articles there about new releases of NFCOR tools highlighting changes especially focusing on anything that impacts pipeline developers there's also the Nextflow blog on the Nextflow website with lots of really nice articles there are some quite detailed technical things some more based around community and then Sakura has a blog as well which includes Nextflow things but also across to other portfolio of Sakura products and open source tools for example I'm going to plug my own multi-QC place that I put there the other day so across those three there's plenty of good reading and if you're not a fan of reading you can catch a bunch of stuff there on video or audio so I mentioned already we have the weekly bite size talks on NFCOR which are just nice short 15 minutes talks across all kinds of topics and we also have the channels podcast which is a longer more kind of in-depth thing it goes out every couple of weeks and that's about everything Nextflow so we've got some really kind of technical deep dios on how Nextflow language works from the developers of Nextflow we also have on kind of users of Nextflow using it in different ways and some community talks and all kinds of stuff there so that's across YouTube but also on Spotify and Apple podcasts and all the rest of it right I've been talking long enough so I'd like to say a huge thank you to all of our sponsors AWS and Microsoft for continuing to give us cloud credits to run all of our big tests on so thank you for that and big shout out to Sakira for financially supporting the event it would be it makes a huge difference so thank you all of our sponsors also a big thanks to everyone who's been involved in organizing the event as always I've listed just to get faces of a core team here who put in a phenomenal amount of work to keep everything running for NFCOR but also a big shout to the outreach team to the maintenance team and really all of you you know who you are and in making this event happen as well as just keeping NFCOR running it really is a fantastic community to be part of so thank you right with that I'll let you get on local site leaders if you guys want to talk about anything specific to your site otherwise jump in, watch intro videos for your talks get started and have a fantastic heck of them thanks so much


It is a privilege to receive the 2023 Brain Foundation Research Grant. This grant will be used to evaluate whether blood pressure augmentation with metaraminal could enhance blood flow to the brain until definitive treatment restores blood flow in ischemic stroke. If our research yields positive results, it could lead to improved outcomes for rural stroke patients requiring long-distance retrieval for reperfusion therapy. I would like to express my gratitude to the Brain Foundation for their generous support and to everyone else for their time and assistance.


Who should win MVP this season and why? McCaffrey. McCaffrey. Non-quarterback. We're going running back. We're going running back. Tyree Kill, he's gonna get 2,000 yards. Michael Parsons, because he's the best player in the league. Every single person says a non-quarterback, so should it be a non-quarterback? I think it could be, yeah, but most time it's quarterback. I'm gonna go with Christian McCaffrey at MVP. Quarterbacks be damned.


What's up everybody? Welcome back. What is up and a little bit of a different start today's video looking at the sim rig as you Guys can see my energy wheel a little bit of a holographic love on it So today I wanted to talk about this handbrake right here the fans. I can break so if you guys do remember my old setup had the energy innovations Handbrake handle on it without the button removed obviously because that's why there's a hole through it Button is on the side over here. So you guys remember I had that on my old rig and The Finitech has this fancy foam. Well, I did find out that this foam Actually comes off a lot easier than I thought So all I really had to do was twist and as you can see the foam just started coming up And then I kind of went from the bottom and just pulled up on it I kind of used two hands. I'm trying to do this with one hand right now and it is somewhat working But all I had to do was pull the foam off and it revealed the Bottom part so I'm gonna continue pulling this off. So I pulled it off and it reveals a plastic top on both sides of the handle and it just so happens to be the perfect size for The energy handbrake handle to just drop right on to it and all you do is tighten the four set screws on the sides or the three and That's actually how I put it on. So the foam piece comes off very easily just by pulling it straight up Well twisting it a little bit and pulling from the bottom I used both hands and just kind of pulled it up off the bottom and it came right off wasn't glued on or anything It's a very tight fit. I tried to put it back on and it's uh, extremely tight But you can get it back on so that's how I now have the energy handle on the handbrake the energy wheel the energy seat now all I need is uh an energy shift knob and uh, maybe uh Some uh energy pedals And uh, we'll be full energy setup On the rig so we're gonna get into horizon 4 do a little Fun with horizon 4 here today with the sim rig But just wanted to show a little quick clip on how to get that off on the fan attack and uh all the energy goodies and then More energy goodies over here and then fan attack stuff and then uh a porg Porg for good measure and joker and Harley Quinn. So we're gonna hop into the game As I got my reflection in my uh dashboard, so let's uh, let's get to this All right, now we're back on the game camp. We are in one of my Higher end Or highest end, I guess drift car that I've ever built here in horizon 4 and that is uh Oh that grinding gear that uh beautiful roof torpedoed Audi r8 and we're gonna take a rip forward up the mountain probably the most expensive drift car That I've ever built for car wise Okay, apparently It does not like third gear too much Two back super light in this car Oh We lost it I feel like the feedback is super light on the car and it might have to do something with uh The way the suspension is set up, but it's really light But we are still getting it on that high end just Just ripping through those high uh rpms in this car So I'm sure a lot of people have built one of these into a drift car because I've seen these before But I never did So we did convert as we were able to try and this thing is definitely Getting it Throttle there Handbrake action there to go this way It could be using the paddle shifters like the actual car, but maybe we wouldn't have a clutch Just screaming at like 9400 rpms Trying to keep the clutch kicks going. Oh, that was too much So I have been having fun getting back into horizon 4 and uh sliding In the mountains in the streets But I feel like this car Could be a lot better, but it's still not bad for what it is I mean It's an outie with a giant Torpedo on its roof and we just ripped the mountain section. So let's uh See what other cars we can uh crack ourselves back into and just So we have decided to bring out an old faithful car that I used to love drifting The really wide-tired Mustang. I apparently lost all telemetry on my dash for some reason. So uh, we're gonna be doing this with Just the feel no telemetry Don't know what's going on I mean, I could go in first person really get the feel And see my speed and everything, but we don't need it We can drift this thing by sound and feel alone This car has so much forward bite And so much Rear bite it just kind of goes where I want it to go if you guys remember a while back. This was probably my Favorite and best drift car when it came out And I feel like this thing still gets down With those very wide rear tires It's still good It's a little short, but we managed to save it The downhill slides with this car and we'd go ahead to slow that down, but we're good Doing this all in fourth gear though That was a major chuck on that guard rail So not a bad run. So I feel like we should switch it up And do some first person Now we can actually see our speedometer and everything but I feel like we don't need it. We're on fourth We're just gonna send it uphill Didn't anticipate the wet roads Trying to be smooth with it. I feel like fourth is not the right gear We're going uphill Look around the guard rail Still sideways though Not the best run-up hill I've ever done, but Little able to manage that bump pretty well though. I feel like back this way Can get back It's gonna downshift, but I feel like we can- nope. I had downshift there And the fourth a little uh Back on the hill action here in Forza Horizon 4 With our energy equipped rig And an old face will drift car So I know I'm definitely better drifting in third person But we're gonna put this to the test because we had over 300,000 Going downhill In third So we can give us a test and stay in first And go down the hill in first person and see What we can come up with I know it's not going to be as good because I'm still trying to get used to the first person head movement in this game whole game glitch That kind of screwed me up, but we're just gonna keep going Kind of threw me offline, but we will try and manage to make this somewhat reasonable That was a very uh Slow roll through there You can definitely tell my drifting is way better In third person than first But when I was playing a setto with the Oculus That was so much Easier because I was looking where I wanted to look But we are gonna finish this downhill runoff Just kind of feather in the throttle Use way more handbrake than I need to be This car rips up if you get off throttle, but we are still good Don't lose it so definitely not the best downhill run at all I feel like I'm just I throw it way too hard because I'm waiting for it to look where I wanted to look Whoo racing though in first person way faster drifting Still got to get used to it Not too bad So I think we're gonna switch it up to third person Go back uphill. See what kind of uphill we can get In the rain in the dark in a Mustang Hopefully we don't do Mustang things We almost did right there Let's kick it up. There we go. Yeah, I'm not sure I'm just so much smoother this way because I think I can see the angle of the car better So we're gonna finish this uphill run. Make sure you guys follow me on instagram and twitter All of which are found in the description box below There we go right on it. Oh, that man just came flying on nowhere Don't know why but this is still my favorite car Too bad this car is not in forza this or forza 7 the specific version because I probably would try and build this into ESDA if I can I could probably run a 5c Or the drift spec mustangs if I wanted to but I like my Corvette a little bit too much. There we go Pull on throttle. We're gonna try this without too much handbrake. Just use brake to transition us Little tap of the brake there We need to pull the handbrake there Just a quick little pull And we're good That was that was hard lock Out Way better uphill and third person over 300k going uphill If we might have beaten our downhill score going uphill not our overall record, which is 460, but So like I said, make sure you guys follow me on instagram and twitter As always, I thank you guys for watching. I'm evil rabbit and I will see you guys Next time. Oh, jeez. This is very tricky in the rain I just don't want to stop drifting because it's so much fun. All right. We're done. We crashed We did Mustang things