Bismillah ar-Rahman ar-Rahim. Alhamdulillahi rabbil alameen wa salatu wa salam ala as-sharaf al-anbiya wa al-mursaleen Sayyidina Muhammad wa al-Alihi wa sahbihi wa tabi'in. Allahumma alimna ma infa'imna wa fa'inabimma alamtina wa zidna alman yinfa'ibna. So inshallah this will be our last session before we break for Ramadan and then inshallah we'll start up after Ramadan. I wanted to talk about what we've done so far and looking ahead in regards to what we're gonna cover after we get back together in Ramadan. And I also wanted to talk a little bit today about the rationale behind our approach. So starting with what we have already covered, we cover the first two sections of the book. So we went over part one, understanding addiction, the basics of understanding addiction. Why is addiction just different than substance use? And why does addiction require a different approach than someone just experimenting with drugs and alcohol? And then motivation, how does motivation work and why do people change? How do we use motivation? The principles of motivation to motivate our loved ones. Then the second part which we finished last week was how do we take care of ourselves through this process? The third part which we'll start after Ramadan is how do we help our loved ones? And that's the largest section of the book. I wanted to talk a little bit about Medina House. So Medina House started as a response to the opioid epidemic and drug overdose deaths. So if you see in this graph, this is a graph of overdose deaths increasing in the United States. You can see that it's exponentially increasing, largely driven by opioids. Out of all drug deaths, opioid overdose deaths are overwhelmingly the highest percentage of death reports that we receive in the Muslim community, but we see addiction from all different substances being used. A lot of the drug overdose deaths are considered mysterious deaths in the community. So they appear to the community as mysterious deaths, but the family and those they seek out for help are aware of the overdose deaths. There's a documentary on vice titled opioid addiction in Dearborn's Muslim community that clearly articulates this phenomenon of mysterious deaths. And there's a reason why that occurs and we'll go into that in a moment. Drug addiction overdose death is occurring in the Muslim community and why wouldn't it? We have comparable rates of other outcomes in the Muslim community. We have comparable rates of deforestation, mental illness, other factors that the larger non-Muslim community struggle with as well. We have the same risk factors for drug use and drug addiction in the Muslim community. The number one risk factor that I'm gonna go over is access to opioids. So we have geographic access to opioids. There's no place in the United States that's really safe from access to opioids and drugs. And drugs are everywhere. This is a national problem of drug overdose deaths. We have risk factors such as mental health conditions. That's another risk factor. Trauma is another risk factor. Emotional abuse, physical abuse. The same risk factors for addiction exist in the Muslim community. And we have the same deficiencies and protective factors. So sometimes what people think is, well, Muslims don't use drugs and alcohol. So we should have less of an issue. And that might be true to some degree. And studies show that religious participation and spirituality are a protective factor against addiction. But that's just it. There needs to be participation. So a Pew Research Center study in 2017 showed that 42% of US Muslims pray Salah regularly. And that's not to like judge anybody, but Salah's a good objective outcome or indicator of the health of some of these Islam. It's a really good indicator to show the health of this as a protective factor for us. One of the research papers that inspired us to do what we do was a paper that was published in 2016, which reviewed substance use in the Muslim community. And the title of the review paper was 10 Years of Substance Use Research in the Muslim Populations. Where do we go from here? And basically what they found was, number one, substance use exists in the Muslim community. Number two, and here's the kicker. Accurate data is limited because self-reporting astigmatized behavior is what limits it. Another third thing that's worth mentioning is that substance use is different than substance use disorder. The paper is able to assess that substance use exists in the Muslim community, but to really get a feel of addiction existing is a little bit more challenging. You can think about the difference between substance use and substance use disorder as the difference between like unhealthy eating and having an eating disorder. So sure, unhealthy eating might respond to some education, some redirection and nudging on the right eating strategies, but an eating disorder requires medical attention and professional help. One of the conclusions that the paper made was they suggested because of the shame barrier, preventing Muslims from getting help, they suggested online substance use outreach programs. And specifically programs that involve the family. And that's sort of what inspired us to start these online classes and be able to offer something to people. This was another poll by the Institute of Social Policy and Understanding 2020 American Muslim Poll, which basically shows that a significant segment of the Muslim American community reports knowing another Muslim that currently or has struggled with drug or alcohol addiction in the past. So 37% say that they know a Muslim personally who has struggled with an addiction. It's an interesting way to ask the question because it saves people from having to worry about stigma. And this is an important paper that came out just a few months ago. It's a systematic narrative review. What that means is they looked at the existing literature out there that looked at addiction in the Muslim community. And they were looking at barriers. Barriers and facilitators to accessing treatment, basically. What are the barriers? What stands in the way of people accessing treatment in the Muslim world? What's interesting here is they included studies in the Muslim world and they defined the Muslim world as countries that were 70% or more Muslim or studies in Muslim communities that were done specifically in Muslim communities in areas where Muslims were a minority. So they looked at Muslim specific populations. Now, this is where it gets interesting. They found the barriers for Muslims entering treatment. Number one is denial of the problem severity. Having a loved one or having drug and alcohol problems exist and addiction exist but not really even acknowledging how bad the problem is. Feeling like it's a problem that that loved one will eventually phase out of or not really understanding the dynamics of addiction and what it is and how to address it. The second barrier to treatment that this large study discovered, they looked at several different countries, Muslim countries was there was a lack of trust in the treatment system. So somebody who then sees that there's a problem and gets to the point where they say, well, treatments needed but can't get through the barrier of asking for help and getting into treatment. The third theme that they discovered in Muslims with addiction is there was a fear of breach and confidentiality and privacy. So I understand I have a problem. I haven't trust in the treatment system to see that it works or it might help people with addiction but I still don't wanna go or I'm still worried about going because I don't want somebody to find out. I don't wanna bring shame to myself, my family, my community and I'm sure this is something we can all relate to and then they identified the need for more community support. And this kind of brings up our approach. So we looked at the barriers to access treatment and how we could address these barriers on the community level, the family level and the individual level. Basically on the community level, educating about what addiction is, telling stories about Muslims and how they sort of fall into addiction and then more importantly how they get out of it and stories of success. So people can really see how it can happen and see themselves in it and have compassion for the problem because I think once people understand it they tend to be able to see themselves or their family members in it and see how it can hit closer to home and have compassion for it. Number two, focusing on and looking at stigma and really honoring shame as a mechanism in society that's important but also how it can become problematic and prevent people from getting the help that they need. And we've talked about this a lot in the past I'm not gonna go too much into that. And then try and identify people that are silently suffering who may not be at a point where they want to seek help or get help, which is fine but offering them options and solutions meeting them where they're at and not simply dismissing people as not ready for change because they're not ready to take steps but really acknowledging that it's hard to ask for help and it's hard to be part of a community or feel like you're part of a community where whether it be real or not have this perceived feeling that something bad would happen if you sought out help like bringing shame to yourself or your family. The old way of treatment was taking people and fitting them into a cookie cutter model. The new theories, the new way of treatment is meeting people where they're at and learning about them, getting to know them and then finding out what fits in their life and finding out what fits in regards to where they're at and understanding this problem and simply moving them along to the next step. It's not constructive to just simply dismiss people as not being ready when we can meet them where they're at and help them in the stage they're in. And then we talk about the family level. So on the family level, it's important to talk about what is addiction? Because sometimes people think that we're trying to normalize drug and alcohol use. We're not trying to normalize drug and alcohol use. What we're trying to do is normalize stopping drug and alcohol use and normalizing taking the tools to stop drug and alcohol use. But that really requires understanding what is addiction? So somebody that's used drugs or alcohol once or twice that's not necessarily something that you would need to go to addiction treatment for that might require some family training, maybe the family taking approaches other than addiction treatment to handle that problem and how addiction treatment is different than that. Then number two is really talking about the family's role. So the family's role is very important in recovering from addiction, sometimes maintaining addiction and locking it in place. And the more sophisticated family structures are, the more involved families are, the more deeply rooted families are, the more important it is to address and involve family to help with this problem. Interpreting on the family's very important. Let's put aside families playing a part in the development of addiction. Families will absolutely play a part in the recovery process of addiction and can play a part and help in that part. And that's incredibly important to know. And every family's different. And there's great data that training families in certain areas can increase the chances of their loved one getting into treatment. And those are the topics that we focus on when we talk about addiction treatment. So understanding the family's role, understanding what addiction is, how to manage expectations are on addiction, learning how to pace yourself through the process of treatment. And then finally how to help your loved one. Then also it's important to work on the individual level. So people with addiction themselves have to come to terms. There's a phase in addiction where they themselves don't know that they have a problem with drugs or alcohol. Sometimes it happens really insidiously. They get to a point where they start finding that their drug and alcohol use is problematic. And then they may come to a stage where they identify as having an addiction because they've tried to stop and they can't. So they themselves are going through a process of trying to understand addiction, try to understand what is treatment, why is it worth going to treatment? Nobody really wants to go to a family class. Nobody really wants to go to an addiction treatment program like a rehab. These are all hard things. You almost have to bind to the fact that addiction's really hard and go through a trial and error process of trying to do it on your own to some degree to recognize that you need help. And that process is an important process for everybody to go through. And then finally the importance of integrating spirituality into addiction treatment because spirituality has been shown to be protective against addiction. But then also numerous studies show repeatedly that integrating spirituality into addiction treatment has been associated with more success rates. In a lot of ways, what we're trying to do is not replace anything. We're just trying to break that barrier. So when it comes to like on the community level, just start the conversation on the family level, helping them navigate through addiction and get connected to treatment. Family support groups that they can go to on their own. And then on the individual level, having people get connected to existing treatment and helping them navigate their faith in order to do that, but not necessarily replacing anything. In a lot of ways, we're a bridge to help people overcome a lot of those barriers that we talked about earlier. And Shala will wrap up and we can open it up to questions and check-ins, Shala.


Welcome to our series on Connecting Scholarly Publishing Experts and Researchers. I am Kuntan Dhanoia, Vice President Business Development at Crimson Interactive. Today joining me is Michael Willis. He's the Senior Manager for Peer Review at a leading publisher. He's also currently the President for the International Society for Managing and Technical Editors. Hi Michael, welcome and thank you for being here today. It's a pleasure. Thank you for inviting me. Michael, you have an incredible journey working in the scholarly publishing industry. Could you tell us how did you embark on this journey and did you always want to specialise in peer review management? Okay, so my first job in publishing was, if you can call it publishing, was working in a library, a faculty library, a university and from there I moved very quickly to a small start-up company in the early days of putting academic journal content online. That was my first exposure really to academic journal publishing and dealing with the content, dealing with authors and dealing with publishers primarily in that role. I moved in 2005 to the company that I work for now and that was really a peer review management role. So that was my first introduction to peer review and since then I've been working pretty much in peer review all that time. Yeah, I couldn't say I started off with a burning ambition to work in peer review. I fell into it by accident if you like.


You are clear for launch. And with that, shut down your visors, O2 on, and prepare for ignition to O2. You can copy that and um... Alright, Mr. Roush off here. So, so far in this unit, what we've done is we've looked at the physical characteristics of Southeast Asia and the factors that have combined to be able to shape its culture. In this lesson, what we're going to do is we're going to look at Southeast Asia today and some of the issues that it faces. Now, first of all, let's look at the governments of the region. Of the 10 Southeast Asian countries we've looked at, seven, at least on paper, have democratic forms of government. Myanmar, Singapore, Indonesia, and the Philippines are all republics, and Myanmar, Singapore are a parliamentary type of democratic government. Now, constitutional monarchies are found in Cambodia, Thailand, and Malaysia, but what we find in Brunei is an absolute monarchy, and both Laos and Vietnam have totalitarian governments. So, if we look at the rates of freedom in each country, then we would expect that Brunei, Laos, and Vietnam would be at the bottom, right? And that's exactly what we find when we look at the economic, political, and the civil freedoms of each country. But what is interesting is that when we look at Myanmar and Cambodia, who have democratic forms of government, they have just as bad scores of freedom, if not worse than our non-democratic countries. So, what's the issue? Well, the issue is that politics in Southeast Asia is complicated. For example, Cambodia's government has actually been described as a vaguely free market state with a relatively authoritative coalition ruling over a superficial democracy. Now, that certainly sounds complicated to me. Cambodia has struggled even before the Khmer Rouge came to power in the 1970s. The ruling party in Cambodia's parliament and its prime minister, Hussain, have now been in power for the last 30 years, and there's a reason for that. We just have to look at the 2018 elections, which pretty much no one would say is the democratic process. First of all, who sends party basically started to attack the opposition? They then incarcerated the main opposing candidate, and then they outlawed the opposing party altogether nine months before the election. Not surprisingly, who sent one re-election with 80% of the vote? You gotta kind of wonder who the 20% was voting for. Now, in Myanmar's situation is not much better. In 1962, the country was seized by a military dictatorship. In 2018, a pro-democracy movement led by Aung San Suu Kyi was crushed when she was put on her house arrest for 15 years. Now, interesting, the next year, the military government actually changed the name from Burma to Myanmar. Today, while most of the countries of the world, including the UN, recognize the country as Myanmar, the official policy of the United States government is to call the government Burma. In 2015, there were new elections, which most people thought were fair and free, that actually rejected somewhat military rule. Things should have gotten better, but not quite. See, the military still gets to be able to select 25% of the members of parliament. In Aung San Suu Kyi, who actually won election as the state counselor, which is kind of like their prime minister, has pretty much allowed the military to call the shots in the country. In fact, in 2017, she sat back as Buddhists in the country began ethnic cleansing the Muslims. In Thailand, its government, although often caught in corruption charges, operated as a true constitutional monarchy until 2014, when its military took over the country. While none of the other Southeast Asian countries in Asia really do all that well in political and civil liberties, Singapore and Malaysia actually have a relatively high level of economic freedom. In fact, Singapore actually enjoys a higher level of economic freedom than we actually have in the United States. So, what does this all mean for the people of Southeast Asia? Well, first of all, let's look at the population demographics, and we see an interesting divide. Countries such as Totalitarian Laos has both the highest growth and infertility rates, clearly signaling that it is a developing country. And we see that when we look at the population pyramid of Laos. Now, if we look at the population pyramid of Cambodia, it also not only shows it to be a developing country, but it tells another story. We can actually see the effect of Pol Pot's reign of terror in three different ways. First of all, we see a reduction of the adult population during Pol Pot's reign. Second, we see a corresponding reduction in the number of children born during the time of the killing fields. And then third, we see the baby boom that resulted after Pol Pot was finally stopped. While many countries in Southeast Asia have a high population growth rate, we see Singapore, while still growing, has a very low fertility rate just 1.2. Now, Singapore's population pyramid tells us its future. The population today continues to grow due to the population bulge that we see between the ages of 25 and 40. However, with such low birth rates in just 20 years, Singapore will have a shrinking population as the majority of its population will be above 45 years old and outside the reproduction window for most people. Now, other demographics give us a picture of life in Southeast Asia. Our poorest countries not only struggle with poor education and poor sanitation, but they also have the lowest life expectancy. However, life in Singapore isn't bad at all. In fact, it actually has a higher life expectancy and better access to clean drinking water than we actually have in the United States. In fact, if we look at the Human Development Index, we see that Singapore's HDI is actually higher than the United States. We can also see that HDI in the other Southeast Asian countries, while it has improved, most are still in the developing or just industrializing. Now, economic systems of each country plays a major part in the development level of each of these countries. Agriculture is a major part of the economies in Southeast Asia. For example, nearly half of Cambodia's GDP is based upon either farming or fishing. Now, much of this farming is subsistence farming, which feeds into a traditional economy. This means that a large percentage of the population is dependent upon the summer monsoons that bring water to be able to support their crops, such as rice. But one of the reasons that Laos is so low in every developmental category we discussed is that it is one of the few remaining communist countries. Now, remember, communism is an economic system where the government makes all the economic decisions for the country, but Laos is not the only communist country in Southeast Asia. The result of the Vietnam War left all of Vietnam being a communist country. But this is changing.  So changing has this been Vietnam that today, 95% of the people in Vietnam believe capitalism is a good thing, and that's actually a higher percentage than we find in the United States. And for Vietnam, it has been a good thing. Since moving to capitalism, it has reduced its poverty rate from over 50% to around 7%. Now, this is not bad for a country that was created from a war against capitalism. Now, in Southeast Asia, we find that recent industrialization along with this important geographic location makes it a perfect example of globalization. And what is globalization? Well, there's lots of different definitions for it, but my best way to be able to define what globalization is is that it is the cultural convergence on a worldwide scale. It truly is the growing interaction and interconnection of the world due to the movement of products, technology, information, jobs, resources, and ultimately culture. Globalization is often described as a modern development, but we've seen examples of globalization throughout history. The Silk Roads trade connected China all the way to Europe and everywhere in between. The Roman Empire spread its culture throughout Europe and Mediterranean through both conquest and trade. And the Columbian exchange that started after Columbus sailed the ocean blue is described as the largest exchange of good people and ideas that the world has ever seen. And even the transcontinental railroad became a pull factor for both Chinese and Irish workers that come to America seeking for jobs. But today's globalization is not driven by conquests or sailing ships, but by much more recent technologies that has made globalization today truly global. First of all, the telephone has been a major contributor to our globalization. Nearly anyone in the world today can talk to anyone else nearly instantaneously, but technology just doesn't allow us to talk to people around the world. With the airplane, you can easily travel there. Philias Fogg's Around the World was measured in 80 days, but the same journey today with the airplane is measured in hours. In fact, about 45 hours. Then there's the internet. No other technology in the world has allowed for the nearly instantaneous exchange of ideas, customs, and even commerce around the world and the internet. Now these technologies have changed how business has conducted and has driven the expansion of global banking. Today financial institutions around the world really facilitate trade between all these different countries. In fact, the economies of the countries around the world have become so interconnected that the economy of one country, especially if it is China or the United States, it will impact the entire global economy. Now with global banking and these technologies, we have seen the growth of multinational corporations. No longer is a company just an American or a German company. For example, McDonald's employs over a million people in 100 different countries around the world. The German company, Daimler, who makes Mercedes, has production plants in 16 different countries in the world to include two factories in Indonesia. But the contributor to globalization that really involves Southeast Asia is the container ship. Today 70% of all consumer products have been shipped sometime by one of these ships. Now before container shipping was invented in 1956, goods actually had to be loaded onto ships individually. This was slow and expensive. Container ships changed all of this. Now what happens is a company will first pack its goods into a 20 by 40 foot container and then that container is what is put onto these ships. By the way, these containers are the same type of containers we see semi trucks pulling around on our roads. Now the impact on global shipping was enormous. While ports used to load just over a ton every hour, now at the same port can be able to load 10,000 tons of cargo in the same hour. This slash loading cost from nearly $6 a ton to just $0.16. Let me put this another way. The cost for Apple to ship its iPhones to the United States only adds just $0.07 to the price of your iPhone. Now what does this have to do with Southeast Asia? Well look at this visualization produced by Kilm. Each yellow dot is a container ship on its journey in 2012. Here you can see that all the ships that are moving between Europe and East Asia must pass through the Strait of Malacca. And as we zoom in, we see that all these ships seem to stop in Singapore. But Singapore has less than 6 million people. Why is Singapore so important? Well together with Indonesia and Malaysia, these countries serve kind of like a Walmart distribution center to the world. Here's what happens. When you go to buy a notebook at Walmart, the notebook company hasn't shipped out notebooks straight to your local Walmart store. Instead, the notebook company ships the notebooks for many different Walmart stores to one distribution center. At the distribution center, it takes all the products a Walmart store needs to include your notebook and then ships them on a separate truck to your store. This streamlines the shipping process and makes it more efficient. Well this is what the ports in Singapore, Indonesia and Malaysia do. Ships, for example, from China bring all their products. They drop those containers in Singapore and then other ships come and then pick up all the containers that are going to go to their country. Certainly this provides a great deal of revenue to the countries that are along the Strait of Malacca. But Singapore also caches in because it has built the world's fourth largest financial center. With so much international trade flowing through its ports, banks and insurance companies in Singapore provide the financial services to all this trade. But globalization has also created outsourcing. Remember, outsourcing is when a company moves its jobs over to another country due to its cheaper labor costs. Well, Southeast Asia is a major region where American companies outsource their work. For example, Nike was founded on the very idea of having all of its production done outside the United States. Today, 85 factories in Southeast Asia employing over 300,000 employees makes Nike shoes an apparel. Now, in addition to allegations of sweatshop at conditions or low wages, outsourcing of jobs along with rising industrialization provides Southeast Asia with several other unintended consequences. First of all, factors are normally in cities, so that's where the jobs are. This has actually led to a lot of urbanization into the region cities. In fact, by 2030, the urban population in Southeast Asia has nested in the growth by 100 million people. The problem is the cities are already stretched to be able to provide services to its citizens and this is only going to get worse. The international market for palm oil and other agricultural crops is driving deforestation in Malaysia and Indonesia. Malaysia has lost 8,500 square miles of forest since 2001. That's bad, but Indonesia loses nearly that much of forest every year. Now, this not only destroys the habitat for animals, for example, the orangutan that only lives in Southeast Asia, but deforestation produces what is known as the Southeast Asian haze. The smoke from slash and burn agriculture produced palm oil blankets most of Southeast Asia every year between July and October and the smoke is clearly seen on the satellite images from sat nasa. Now, their pollution contributes to the death of a quarter million Indonesians each year, but that's not all. Over 3 million tons of plastic from Indonesia's waste finds its ways into the nearby seas. This threatens sea life, which is ironic because so much of the economy of Southeast Asia is dependent upon agriculture and fishing. Now, one of the major areas for fishing in the region is the South China Sea. However, five countries to include China actually have territorial claims to horse into the South China Sea. Not only has this led to conflict, this China has continued to expand into the sea, but with so many different countries fishing in the South China Sea, single enforcement of fishing quotas is almost impossible. Therefore, overfishing in the South China Sea is a problem as it is throughout the world. It is estimated that nearly 90% of the fish stocks in the world are either overfished or at their limit. This jeopardizes a major part of Southeast Asia's economy. Alright, so this completes our unit in Southeast Asia. You now should have a good idea on the region's physical characteristics, the factors that form this culture, and now the issues that they're dealing with every day. So until our next lesson, keep on learning.


Hey everybody, it's Brian and it is very late at night. I can't sleep. So like many of you, I thought I would get on the internet and waste some time. I've been getting a lot of feedback from people saying, hey dude, where are you? You haven't seen a video from you in like 100 billion years. Did you stop making videos? What's going on? No, I have not stopped making videos. I've actually been working with Qt I O. They are the company that owns Qt and I've been making some official videos for them. So if you go to Qt Studios and you click on playlist and you'll see this tutorial, you'll see there are five videos out there. These have been a little bit challenging. I'm not really the greatest at video editing. And if you've watched any of my tutorials, you know, I don't edit them. I just do them in one shot and throw them up there. And that's not true. Sometimes that one video takes 30 or 40 tries before I get it just because I'm not a huge fan of video editing. But I digress. These are for Qt Studios and there's a lot of video editing, a lot of production that goes into these and they're pretty time consuming, but I'm actually pretty proud of them. I'm hoping we get some more up there very soon. Been working with them and I've got a good feeling about that. Also been really working on my channel trying to clean it up a bit. Admittedly, this was just a side project that mushroomed out of control. So I'm just going back in the backside and cleaning up a lot of garbage that I just thrown up there initially. And the Voidrums Facebook group has really just exploded. I'm just amazed at how big this thing's gotten. I get tons and tons of questions and answers in there and I'm constantly in there asking questions myself for things that I can't figure out and people are answering me in real time. It's just really cool because Google only does so much and Google, let's face it, is just a search engine. But it's great to get real time feedback and you can actually post your code on on PasteBend or GitHub and then have somebody who actually download it and run it and say, oh no, the problem is online, whatever. The other thing I've been doing is actually moving all the code up into GitHub. This has been a lot of my time right here. You can see I have 468 repositories and my flutters actually beating cute as far as stars. That's kind of crazy. So all the original code that I said, you know, visit Voidrums.com, blah, blah, blah, is actually now out on GitHub.  Doing so is a bit of a double-edged sword. The main reason to channel traffic into my website was to, you know, you guessed it, ask for donations. You know, the site's 100% funded by your donations. So now that all that traffic is going to GitHub instead of my website, all the donations stopped coming in. So it's hard for me to pay the bills on that website. So I was reviewing some other user feedback and a couple people had some ideas and they said, listen, I love your videos, but I get nothing out of them career-wise. And I said, what do you mean by that? I was really puzzled what they meant by that because I thought my videos were actually pretty good. And they said, I can't walk into a job interview and say, hey, I watched some guys programming tutorials out on YouTube.  Can you make an official set of classes? So that's really what also I've been working on in my spare time here is out on udemy.com. I am setting up some classes and you can see I have started with Dart. I've got to just ignore this value investing in stocks. It's just something I threw together to figure out how udemy worked. But I have Dart for beginners, which, holy crap, that's a bestseller already. I literally just put that up not too long ago.  So there's Dart for beginners, intermediate and advanced. And it's kind of the structure that I want to follow here. So this is like an official classroom setting where somebody will actually say, you know, I learned programming because I took a class on udemy rather than I just watched some guys' videos. So it actually has, like, let me just jump into one of these things here. It's got actual content and structure to it like a classroom would with quizzes and assignments and things like that. And I want to go through every language and do these sets of beginner, intermediate and advanced, you know, from, you know, Dart to Python, C sharp, C plus plus and Q to obviously Java, you name it. I mean, every language, I just kind of want to revisit and do actual classroom settings for that. Now, the thing with udemy is I am charging money for these, but what I've been doing is going out into forums and news groups and official channels and chat rooms, including like the Voidrom's Facebook group and the official Flutter and Dart channels and posting links for like a hundred or a thousand free coupons so people don't have to pay for the classes. And it's gotten apparently a lot of good feedback because it's already a best seller. I don't know how it's a best seller when I've been given away for free. It's kind of weird, but just anyways, just wanted to drop a note, let everybody know what I've been working on. No, I'm not shifting away from YouTube into udemy. I'm going to be doing both. The YouTube videos are going to be kind of what you guys have been watching where they're just raw filtered unedited just me blabbling into a microphone for 15 or 20 minutes where the udemy ones are going to be kind of more structured and more of a classroom setting designed to help somebody actually get a job. And, you know, I've got a couple other side projects too that I'm not just ready to disclose just yet, but I'm getting there. But that's it. Leave me some comments below. I love hearing from you guys. I just get so busy. It's hard to keep up. So, let me know what you think. Let me know if you guys got any ideas for tutorials either on udemy or YouTube.


If you want to make electrons go super fast, say close to 5-10% the speed of light, then all you need is a few thousand volts applied between two metal sheets kept close to each other. But what if instead of an electron, you wanted to make a proton go super fast? Well, since protons are way more massive compared to electrons, with a few thousand volts, they don't gain much speed. Now for them, you need to provide millions of volts, which is hard to do. And so the goal of this video is to think about how can we use low voltages and accelerate heavy particles, like protons and other heavy nuclei, to very high speeds. Alright, let's think through this. So protons won't gain much speed over here, right? But what if we could somehow make these protons turn and re-enter the electric field? Then maybe we could re-accelerate it and make it go faster. But you might say, wait a second, if it re-enters like this, then it's going to decelerate because it's going in the opposite direction of the electric field, right? So what we can do is as it re-enters over here, we could just flip the direction of the electric field. Now it will get accelerated again and the proton will go faster. And then as we can make it again turn and come back over here and again flip the direction of the electric field, re-accelerate it and make it go even faster. So by doing this, I can keep on making the proton go faster and faster and make it go super fast. But the question we have is, how do you make charged particles turn like this? Hey, we've seen this. Magnetic fields can do that. So now we have the working principle of a cyclotron. So what we can do, so the whole idea is we use electric fields, electric fields to speed up our proton. But we use magnetic fields to make them turn back and re-enter that electric field. So that we can accelerate it over and over again. Remember magnetic fields do not change the speed of the particles. Why? Because magnetic force is always perpendicular to the direction of the motion and so they do no work. And if you're confused about this, we've talked a lot about that in our previous videos in great detail. You can feel free to go back and check that out. But anyways, using this setup, we can use low voltages and accelerate our heavy charged particles to very high speeds. Now of course, one small thing that we just saw is that our electric field needs to keep flipping its direction. And so the electric field we need over here is an oscillating electric field. So this needs to be an oscillating electric field. And therefore this particular voltage source is not a DC but it's an AC oscillating source, usually depicted by a sine wave. Now that we have the working principle, let's look at things a little bit more practically and make our cyclotron a reality. The first thing that comes to my mind is we need to cut holes inside these metallic sheets so that the protons can go through it. So if I were to show you from the side, we'll cut holes in them. The simplest way to do that is make small rectangular holes so the protons can go wherever they want. Okay, are we done? No, there are more problems. Second problem is there could be, there is air everywhere. We don't want that because protons will collide with the air molecules and decelerate. So we need to enclose this whole thing in a vacuum chamber. All right, we'll do that. Are we done then? No. There's one more problem that we haven't considered yet. See, if we had infinitely long sheets, then electric field would only exist in between them. But our sheets are not infinitely long. And as a result, there will be electric fields existing outside over here as well. And why should I care about that? The reason I should care about that is because that means when the proton is over here, notice it will experience a deceleration. The same thing would happen when the electric field flips and comes over here. It would experience a deceleration. We don't want that. So we need to find ways to make sure that there are no electric fields in these regions. The proton shouldn't experience electric field over here. How do we make sure of that? Can you pause the video and think a little bit about this? Well, remember that metals cannot have electric fields inside of them. So to kill this electric field, all I need to do is make sure that there is metals over here. That's why in cyclotrons, we use semicircular metallic discs. So if there's metal over here, electric fields cannot penetrate. And so you won't have electric fields over here. You only have electric fields in between. Of course, there'll be electric fields from outside, but that's not going to affect us because the protons are going to be revolving over here. And so cyclotrons usually have these hollow metallic discs for the protons to revolve inside where there'll be no electric fields. And since these shapes represent the English alphabet D, they are literally called the D's of the cyclotrons. So these are metal D's of the cyclotron. They're hollow and their job is to ensure there are no electric fields over here. So are we done now? No. We have to put the magnetic field. We haven't done that. So here's my question to you. Imagine the proton is over here. It is moving to the right. We want it to turn up, let's say. So what direction should we be putting the magnetic field is a question for you? Can you pause and think about this? Remember, the magnetic force F is given by Q times V cross B. All right. Now, since we want the proton to go up, we need a centripetal force that's directing towards the center, which is somewhere over here. So you want the force to be upwards. The velocity is to the right. And so we need to use our right hand in such a way that V cross B gives you F, the thumb points in the direction of the F. So what I do is I take my right hand and I ensure my thumb is pointing in the direction of the F. My four fingers are pointing in the direction of the velocity. And so notice if I have to cross it, the magnetic field needs to be somewhere into the screen. And therefore, the magnetic field will be directed into the screen over here everywhere. And so if I look from this angle, it is into the cyclotron. So the magnetic field will be into the screen like this, so into the cyclotron. And how do we put this magnetic field? Well, you can use magnets, but today we use electromagnets, coils of wires which are electrified that also generate magnetic fields. But don't worry too much about that. That's on the focus of the video. We can produce magnetic fields. And so the question now is, are we done? Now with these magnetic fields and oscillating electric fields, the protons can keep accelerating forever and ever and ever and you can get super high speeds, right? As much speed as you want, right? No, we've missed one small detail. See, when the proton accelerates again, once we flip the field from here to here, it is faster than it was over here, right? Which means it will now take a bigger circle over here. It will go in a bigger circle. Why? Because if it has more speed, the magnetic field finds it harder to turn. It's harder to turn it and therefore it tends to go in a bigger circle. And in fact, in a previous video, we've derived the expression for the radius. Do you remember that? Well, let's quickly go ahead and do that again. The way to do that is we realize that the force that's making it go in a circle, the centripetal force, is provided by this. So the magnitude of this force should equal the centripetal force. The magnitude over there is QVB sine 90 because VNB are 90 degrees apart. That equals the centripetal force. And that's it. Now, if I just simplify, I get it to be MV by QB and that's the expression for the radius. And again, if you need more clarity, then we've done this in much more detail in a previous video. Feel free to go back and check that out. But what you see is that the radius increases with the velocity. And so the particle, as it accelerates again from here to here, it goes in a bigger circle. And this keeps going on. And as a result, you can see the particle will end up spiraling outwards as it goes faster and faster. Why is that important? That's important because eventually the radius will be equal to the radius of the D. And once that has happened, I cannot make it go any faster because if I do, then it'll go and hit the wall. And that's not something that we want. And so that means once the radius equals the radius of the D, that's the maximum and then we need to let it go. And so there should be some way over here, some hole, some guided way over here to shoot it out. And so once it has that maximum radius, the particle is shot out with whatever speed it has over there. And so you can immediately see that there is a limit to how much you can accelerate it. That limit depends upon how big the cyclotron is. Bigger cyclotrons, that means you can accelerate it to faster speeds. And there we have it. We've finally built our cyclotron. So long story short, how do cyclotrons accelerate heavy particles using relatively low voltages? The whole idea is, although these electric fields speed up these particles just a little bit, the magnetic fields turn them back and make them re-enter that electric field. And by flipping the electric field at the right moment, we ensure that every time it enters the electric field, it'll keep speeding up just a little bit. And so the speed keeps adding up over and over and over again. And finally, once it has gathered enough speed, we shoot it out. Now, before we wind up, there are a couple of interesting questions I want you to ponder upon. First one is, the crucial part of this is that the electric fields need to flip at the right moment, isn't it? So how do we ensure that? I mean, the way I'm thinking is, as the particle spirals out, it'll take more and more time to enter that electric field, right? So should it be like initially it should spin, it should flip faster and then it'll flip slower and then it should flip slower and so on and so forth? Wouldn't that be hard? How do we manage that? So how do we ensure that the electric field flips at the right moment? That's question one. The second question is, for a given cyclotron, if the size of the cyclotron is fixed, how can we increase the speed at which the particle shoots out? There are two options and I want you to think about it. One is we could either increase the electric field strength or we could increase the magnetic field strength. Which one would ensure that the proton shoots out faster? Ponder upon this brainstorm with your friends and we'll explore this in a separate video.


All right, good afternoon, everyone. Welcome to the final session of the day, which is a storage session. We had several storage sessions earlier today, so it's a good way for us to zoom in and see what we've done in our cycle. And with me, I have today, by the way, my name is Sean. Those of you who doesn't know me, I'm a principal project manager in OpenStack, focusing on storage across the board. Today, I have with me John Bernard, who's one of our senior software engineers, focused on Cinder. I have to apologize. On behalf of Flavio, he's actually in the next door room. Flavio is also the soccer PTL, so he's running as a design workshop in parallel, along with another glance design session. So we'll be joining us, I hope, at the end. And if we look at today's talk, the title is very overwhelming, right? The Enterprise Ready OpenStack Storage. And the main question you need to ask yourself is, yeah, you can ask yourself what its enterprise mean, right? But I think, what is, why road? Why are we not there yet? And are we there yet? And for us to actually, I want to take you throughout the journey for the next 40 minutes, throughout some of the stations that we find at our Enterprise Ready stations, including high availability, volume management, business continuity, which is a very fancy word for backups, disaster recovery, to those of you who missed my yesterday session, do the where is my volume, and deployment and volume upgrades, which is a big area of pain today in OpenStack. And we're going to finish with some of where we are in security. And to those of you saying, yeah, storage, but yeah, we have all these concerns when we talk about storage. Let alone when we need to deploy storage in production in OpenStack. So the theme we're after is, what do we need to do in order to get production grade ready in enterprise environments? And this is the session we're going to go in the next 40 minutes. And without further ado, let's kick the tires. So we'll start with high availability. When we talk about high availability, we still need to define what high availability is all about in the context of storage. But in a nutshell, all services that powers OpenStack API should be always on and able to always respond during failure, but also during massive stress. So when we talk about high availability, it's also in the context of scale. We need to provide protection against both hardware and software single-pointer failures. And with that in mind, let's go back a second to see where we are today. So there are cases, and we're going to start with Cinder, which is the block service for OpenStack. And there are cases today where volume is actually left in an unrecoverable state. And it's not actually possible even to delete the volume with Admin or Intervention by the Cloud Admin. For example, if a Cinder volume node dies, for many reasons, natural dying, during volume create request, that is, the volume will be actually unresolved. So this is an area of concern. And where we are today, so we have single volume service running in active-active state. But we find it, as you saw the truck earlier, we don't think the current implementation of active-active is actually safe, right? Yes, it's true. So for active-passive, I think it works fine. For active-active, there are, at the very least, there's some classic race conditions in the volume API service where the volume state is queried from the database. Some local state is created and not shared with the other Cinder volume nodes. And then later, the database is updated to reflect the current state. And this opens the door for Cinder volume nodes to race against each other in an active-active configuration. So to be clear, an active-active Cinder is certainly not safe. I think some shops even run it in this configuration. But if you push hard enough on it, it will break, I'm sure of it. And so it's something we're working on now. In fact, a lot of visibility has come on to it in recent weeks and months. And so people are coming together to try to offer a solution. There's a lot of pieces that are involved in order to get Cinder to a place where it can be run safely in active-active mode. And so there are some blueprints posted and even some design sessions tomorrow to cover these things. So we're moving there. And we're aware of the shortcomings. But at the moment, this is the current state. Thank you, John. So as you see, I wanted to start today's discussion with where the problems are. And this is a big problem, right? So if we want to deploy OpenStack in production with BlockStoried, we need to fix these things. Some of the progress we've done in the last cycles in Kilo, so ice-cazi multipuffing. So Nova Compute supports multipuffing for ice-cazi volume data path. However, some backhands only respond to discovery with a single portale address, even if it's a secondary portale that are available. And the work was done during this cycle actually enable Cinder for this driver to return multiple ice-cazi puffs information so to overcome this problem. However, this is only one step from this block side. This still work enable me to be done in NovaSide. So as we see there, as we're moving on, storage is not an island in OpenStack. It has to integrate. It has dependencies as there's a lot of cross integration between other projects even to enable a single feature. So this is, for example, in the ice-cazi multipuffing. Horizon. So the reason we're bringing it up because it's in the context of high availability, so now we have a front door, what we call Migrate Instance button that allows the administrator to use a simple way for preparing hosts for maintenance or upgrades. So it's very useful for upgrade scenario also to test and perform manual disaster recovery. So now we have a push button so we can automate this process. But are we there yet? Well, so for live migration, certain configurations do work. There's still some work to be done. There's an existing bug in Nova with the way that the block device mapping is maintained that can cause bugs if the lung changes, which is something we should be able, we identified earlier in a design session, I think we should be able to knock that out pretty quickly. And further multi-attach in Cinder should also help with that. And so certain driver backends that can participate in multi-attach and should be able to benefit and allow live migration to be less of a dice roll and more of a something you can rely on. All right, with that, let's talk about some concurrent resource mutation and now we're gonna kill them with some new initiatives in Cinder. So the road to active active, that's how we call it. And there's new initiative called Cinder State Enforcer. By the way, we are including links in each one of the topics we're gonna cover today, so you'll be able to just download the slides at the end and go into the relevant specs to have a full spectrum of what's going on. So few words, longstanding work on improving Cinder volume state, management and reliability allows us to improve failure tolerance, that's the key, in order to mitigate the concurrent resource access problems in Cinder. Work was done in the last cycle to refactor the concept of lock, right? So we can actually have a set allowed and this allowed transitions using the new Enforcer model. So we're basically trying to get rid of those mutation in Cinder. More on the road to active active. So this is actually a link to a very active etherpad on the topic and some of the progress and things we still have to untangle. For example, local file locks in Cinder volume need to enhance the lock reporting to Nova base, so the volume active state. So as I mentioned area, there's very tight relationship between compute and storage and that's exactly it. So if we have an unresolved state in Cinder, what do we want Nova to do about it? Right now Nova doesn't even know that we have a problem, so how let alone how we can take an operation upon this. So that's one area. DB access in drivers. Today we have a lot of direct access by Cinder back end drivers directly to the Cinder database. This needs to be minimized or limited at all. Why? Ah. I tackle them. So this database actually maintains the consistency and if we have somewhere external driver writing to this database, we're done. So that in the context of consistency, right? We're trying to improve that. Yeah, Cinder objects will should address this as well. I think we have a slide on that coming up. All right, yeah, good. So nobody's expecting the internal state of Cinder volumes to be determined to take actions, rather actually properly delegating the detach for example. Other work being done in this area to mitigate active active is the task flow for managing create volume tasks. This is an active spec work being done. The improvements of state management can get a step closer by leveraging state management, what we call task flow. So this one is just to create volume tasks. If we actually be able to nail it down and it's proven, then we can expand it to the rest of the states. So that's another way we can actually untangle this problem. Moving to volume management. So I think you just mentioned the multi attach, right? Do you want to talk about it? Yeah, I mean, the ability to attach a volume to multiple hosts at the same time is a feature that was being worked on in Kilo and it's landing, there's still some work to be done to expose it in Nova and in the Cinder client. And so it's moving forward, but it certainly hasn't crossed the finish line yet. So this is the small detail lines, right? If you read the label, it's landing in Kilo, you cannot use it. We need Nova, right? So we're just explaining. The main use case is we have clusters. We want to run a cluster at the RPVISA level, application level. We need to map the same volume to the two hosts, right? So obviously we need compute to play a role here. So we only done the Cinder implementation side. With that, let's talk about volume migration. That's another key. Volume migration has been here for a while, also volume retype. But what's the confusion around that? Thanks, Sean. I'm glad you asked. Right, so for migration and volume retype, Cinder provides these abstractions and underneath under the hood, it tries to do it as intelligently as it can. And so it makes some choices and it gradually falls back to things that should work if the most intelligent choice fails. And so for migration, it will throw the operation down to the driver to see if the driver can do a migration such that it could benefit from references or copy on write or something like that. And if that fails, if it says, no, I can't support that operation, then it will fall back to generic migration, which will cause the volumes to be attached to the host and DD will be exact to move the data. And so what you get when you ask for migration varies depending on your configuration and what exactly you're doing. And retype is the same way. It will attempt to do the retype within the driver. And then if that fails and migration is required, it will call into the migration routine. And so there's a lot of paths and when things fail, it's not always obvious. Sometimes it can succeed or fail depending on the parameters that you send to the command. So this is an area that if you are doing volume migrations, please take a closer look also how to use it, right? So it's not my default. For example, you may use volume retype to kick your migration, but you have to specify it. And with that, let's talk about what's coming up in Liberty. Right, so in Liberty, I'm working on a feature that will allow drivers that don't support local attachment via iSCSI or fiber channel or something similar to participate in volume migration. And so I mentioned earlier that if all else fails, it will fall back to attaching the volumes locally and then using DD, which obviously requires a file path to the block device. And so for something like RBD, we usually have RBD and there is no path to the block device in that case. How many of you use this app in the room? Raise your hands. All right, so this is an interesting thing for you, right?  All right, thank you. Moving on, business continuity, right? So as I said, it's a very fancy work for backups and let's talk where we are with backups. So progress and this release, we were able to actually land incremental backups. And since the backup PPI was extended to actually support snapshot-based backups where the volume can actually remain online and in use during this operation. And the target can be either Swift or NFS. The enhancements also include performing a backup from Snapshot, right? So this is a typical use case. You don't have to actually do your backups on the original volume because there's performance cost for that. So it's actually a better practice to do it from Snapshot. New Cinder CLI was added, so you can actually use it. In Swift, it uses the Swift PI so you can actually calculate the deltas between the Snapshots. And during restore, differential backup needs to be restored. The restore process actually first restore a full backup. Similar to what we've done in tapes. In all days, you have to do a full first and then incremental to follow. Other improvements on backup. This is actually a very strong theme that we see in Keele release in Cinder, right? So we're closing a lot of gaps. And some of the gaps is, till now we only had backups for block. Now we have NFS as a target. And POSIC as a target, so it's very important. Backup support for encrypted volumes, right? So what do we do in encrypted volume? So there was no support for encrypted volume in the backup. Now we do have support for encrypted volumes. So as you see, we're moving up the ladder of actually getting more robust in backup. However, there's still gaps. We're gonna talk about it when it comes to scale with the service. This is a nova progress, but I'm mentioning it here in the context of block. Why?  This is why we group these topics together because some, as you already figured out, this is not just work in Cinder or in Glance or Swift. It needs to happen across the board to enable. Nova, in KVM specifically, is leveraging the Qmo GA guest agent that can support out-of-the-box quessing of the file system. Why it's important? Because if you're running backup, you want backup to be consistent. So that's the first stage that was done. It's very useful, of course, to taking, when you take a backup, specifically if you run upgrades or maintenance, so you better utilize this. In the future, we'll be able to leverage things that's already available today in Qmo GA, in KVM, but we need to expose them in OpenStack, such as allowing hooks so you can actually stop, not stop, a quess like MySQL database in hot backup mode, so you have a full application consistency for your backup. In Windows, you can use VSS, for example, in the guest agent, et cetera. So there's still room for improvement, but that's a major step forward when you're taking backups, consistency. Not just crash consistency, but VSS and consistency in later application consistency. Swift, one of the biggest features have landed in this release, which is Erasure Coding. Erasure Coding allows you pretty much, by the way, Erasure Coding is one of the storage policies, and as you remember, storage process was a big feature that landed a release ago. So now we're able to leverage this feature. In a nutshell, it allows you to reduce storage costs associated with massive amount of data, such as backups. And of course, it's very useful when performing volume backup to Swift, which is a typical scenario. We have to then open SAC, and of course, this can be compressed and allows us to read once and written for this system. So I think that's a very nice feature. One red label, right? As we mentioned earlier, data. This is a beta feature. Don't use it yet in production. You may lose your data. Yes, we're talking about backup and restore, so this can actually work against you. So, but however, if you want to test it, we won't get it mature enough to use it. So yeah, this is where we are. More backup improvements in Liberty. So Cinder scaling, as I mentioned, we came a long way in Cinder backups, but we still have a scale problem. Currently, the Cinder backup service actually has to, the drivers need to couple and run together in a single node, and we're trying to actually decouple this so we can actually scale out this service and also improve the performance problem we've seen lately here. And there's design sessions actually just to address this topic. Last one on the backup side is Swift with fast posting when pretty much where you post to an object will trigger a container update and to guarantee data consistency in the container. So we had a busy business continuity release, and now let's talk about disaster recovery. So in Cinder, we introduced Consistency Groups a few releases ago. This several enhancements that were done in this release just for Consistency Groups added the ability to add and remove volumes from existing Consistency Groups as well as added the ability to create Consistency Groups from existing Group Snapshot. So these two enhancements, we're gonna talk about Consistency Groups later in the context of replication as well. What else have we done in Liberty? So this is looking ahead, we're here at the Liberty design session and one of the things we're gonna introduce in Liberty is actually Cinder import of Snapshot. So today, I can, using OpenStack Snapshot mechanism, I can create the new images and it's very convenient for me when upgrading base images for taking published image, custom-made local use as I need to but one use case we haven't thought about is what about external use? So this is why we need this feature. It pretty quickly allows us to import volume snapshots from one city to another. Think about all the different use cases when this comes along as well as allow import non-Opus stack snapshots. Think about snapshots you have actually residing already on your storage backend. Now you can actually export the snapshot in a similar way to we're using in expert volumes. So this is two themes that was added, ability to actually import from snapshots from the existing backend. More as I promised replication. So replication has been here, we're pushing replication already from high cells. Currently the API state is we have several vendors backend that have done implementation but it's not unified API, meaning we still have a way to go to expose the right are we doing synchronous replication and asynchronous replication. Not all drivers are written the same way. So this is why we're seeing a slow adoption and this feature in terms of vendor because there's still a way to go and we have a design session actually to tackle this topic. But specifically I wanna talk about two things we missed in version one of volume replication in Cinder. One of them is actually replication between cinders, right? Till now we're only limited to a basic replication in a single deployment. I mentioned consistency group. So we added volume replication. We have the consistency groups but we haven't connected the two. So we need to align the work and the design with the relevant volume replication spec. So that's also work ahead to be done. Looking at deployment and rolling upgrades. And this is actually another topic that we see from the enterprise, right? It's not just the high availability. It's not just the business continue. We also need to work on solving problems around deployment. This is actually work we've done in Glance. You wanna cover this one? Sure. So I've been talking for a while. Yeah, you're very good at it. So Glance has actually seen a lot of cool features for this cycle. Just two of them to cover our introspection, the ability to query metadata about the image without actually downloading the entire image in order to do so. Which is great, it allows you to know whether or not a compressed image is going to expand. Within the amount of space that you still have remaining without actually trying it first and watching that fail. So this is good. And also image conversion, the ability to convert an image during the import process. And so for instance, if you're using something like RBD for both Glance and Cinder, you can take advantage. If the images are in raw format, you can take advantage of copy on write in that case. And so this allows you to ensure all of your images are ready for that, if that's your configuration, which is really nice. You don't have to re-upload images or keep copies of them or different formats or so on and so forth. So it's really simplified the deployment. Yeah, cool. All right, so we've spoken already about the plan. Let's take a closer look at the next thing, which is deployment and rolling upgrades. So let's talk with a small utility, but it's very handful. I've been working with a lot of customers that this is an area of pain. So very long-lived, open-second installation will carry around database rows for years and years. It's a good story. Operating it is to have a way to ability to purge deleted rows, possibly on a schedule like a Chrome job or needed before upgrades or prior to maintenance. So the new utility allows you to clean up these rows already marked for deletion. So you can actually specify a certain age. The age is calculated as a timeline, a time delta in days, which can be given in a command line. So that's a very nice utility for admins and the link is there. Implementing forced detach to allow self-cleanup of a stock volume. Where we had about stock volume, yeah, we talked about like 10 minutes ago, right? So we have all the states where we have unresolved states with stock volume, such in attaching or detaching. And there was no safe way to clean up this involved back in storage. Now, with this feature, we can use the Python CLI Cinder State, but it's not full because it allows us to, it will only change the Cinder database and may leave some volume exported to the computers and may leave entering Nova. So that feature is actually there to resolve that stuff. And as I said, the work is done in Cinder and in this case as well, we also have work to be done in Nova to finish it. With that, we wanna talk about one of the biggest features coming up in Cinder that's gonna really, really simplify the rolling upgrades, which is the Cinder objects, supporting upgrades by using actually Virgin objects. These objects are isolated from the schema and contain required information and communication about the operation. The objects can be sent over our PC. The work is started actually already in Kilo and this is a big work to be done and we have actually designed sessions specifically on this topic. So look at your schedule if you wanna attend it. And of course, there's compute with Nova objects already there. We're pretty trying to simulate the same thing in Cinder. More on deployment and rolling upgrades. Cinder storage policies. So as you know, if I'm a storage vendor and I have a unique capabilities to my backend, I can write a driver and use extra specs to create a volume type to match this characteristics. However, we ended up in a state where we have a lot of vendors exposing very nice features but with no consistent way that the cloud admin can actually use. So we need to improve the visibility of storage policies to the cloud admin either using the CLI horizon and this of course, think about capabilities like quality of service, replication factor. One vendor can have gold bronze, the other one can have IO bound limits. So we need it to come up with more standard API and to be able to expose it all the way up to the user. So this is more admin facing feature. And with that, we're gonna talk about the last topic which is security. And one notable feature that was added is the private volume types. It's a new sendability to define private volumes based on the volume types. Now it can actually be restricted based on this new flagging. Private volumes are special needs when most of you should not be able to select this volume. Think about like upgrading a new high performance volumes that I only wanna expose to a specific development group or production group that I don't wanna expose to any other users to make because they cost me tons of portion just to send them up and connect it to my cloud. So I need a way to restrict that volume types to my user and allow private volumes and of course I can control it by removing a project from. More security and liberty. So glance, image signing, encryption. This is actually one of the sessions that's going on in the next door right now. And right now there is no way to guarantee that the image you asked Lance for is the image you actually got in Nova because we don't have a way to sign the images. So this feature has been actually discussed in the past and it finally looked like it's gonna land in liberty. Image signing and encryption by Barbican as the key manager. So we're looking, to those of you who haven't looked at the Barbican, Barbican is a new service of the last to do centralized key management in OpenStack and we're trying to leverage, as you can see it in the context of images. And of course the goal is to provide image integrity. On a rise in volume encryption. So volume encryption were already done in previous cycles. Now a rise in is following. So support for volume encryption for a rise in almost there. Some of the work is actually done as I said but it will continue to work in this cycle to finish it. Let's talk about object storage. Where we are with Swift in terms of security features. So we have new features, actually two features. Encrypted at rest. Encryption and rest. So currently objects are typically stored on a disk file in a static POSIC file system. Providing option to Swift operators to have object stored in encryption form and think about the life cycle, right? So when this speech end of life, they can be discarded if not properly wiped, right? So you have left of information that someone can access. We better want it to be encrypted. And if using object storage in OpenStack, which you do because you're storing your backup to, we want this feature. Moving on, another important feature is actually around Swift composite tokens and service accounts. If it's ringsable, because we implemented it in Keystone lately and we're actually making use of it already in the context of Swift, we might as well utilize it in the future and send there, et cetera. Composite tokens allow other OpenStack services to store data in Swift on behalf of the client that neither the client or the service can update the data without both parties concerned. So you need two keys to this save in order to open it. Examples, user request that Nova save a snapshot of a VM. Nova passes the request to Glance. Glance writes the image to Swift container as a set of objects. And then the user cannot modify the snapshot without also having the token from the service as well as the service can update the data cannot update the data without a valid token from the user. As I said, if you want more information, each one of the services just use the link we attached. And with that, we want to actually zoom into some final thoughts. As we saw, we came a long way in this release specifically to get more close to enterprise grade storage in OpenStack. But as you saw, we went through a ladder with a lot of steps, all the way from where we are in high availability of the services and how much work we still have to do, just in active-active, for example. We looked how progress we came in just to provide backups using the Cinder backup service, but they're still including incremental snapshots that was added in the last cycle. NFS, POSIX, all the great improvements, but still we have to work on the scale of the service because otherwise we have enter performance problems. We saw a lot of improvements around volume management. You saw how many things we had in volume migration, for example, the simplifying the work there, as well as rolling upgrades, management, all these aspects of deployment. So as you can see, the topics we touched today go extremely away from simple utilities to make the admin lives better all the way to have a full disaster recovery capability. So with all this moving forward, I think one of the examples I think we use today is like a turbo race. So we have a good progress in each one of these areas, but we are getting progress, that's the net, right? So I think with every release, if Gino was pretty much the OpenStack Enterprise ready V1, I think Kilo is already V2 definitely, and looking at Liberty, we're really, really getting there. And there's still a lot of work that need to be done in each one of these areas, as you see, and this is why we're here in the design sessions. Any final thoughts from you? I think you covered it. I think we're moving all of the pieces in the right direction, and I think it'll be a busy summer, but hopefully we'll land some of these. Because you're not taking the case. Yeah, yeah. All right, and with that, we want to open the mic for questions and anything you just saw, and I will leave you with this, Parker, as well so you can actually download the slides and get more information as well. Any questions? Please use the mic there, yeah. I was just wondering if you support the Pixie Boots for images in Glance? And so basically, we want to manage our own images on the appliance, and we want to do a net boot out of the standard Pixie server. So what we would store in Glance would just be an iPixie client that to bootstrap the real image that's somewhere else. That should work. Yeah, so that works today, right? Yeah, I was trying to look for him and I mean, I haven't tried it firsthand, but those pieces should fit together the way you would expect. So one other question. So when we store today the images, they're not encrypted, correct, in Glance? That's correct, correct. Okay, so that's something that's coming up next. Correct. So sorry, I came late to the, all right, thanks. Sure, more questions? Hi, so when you talk about the QoS, are we planning to provide commands to do a control of flow or any of the properties on the array side? So quality of service actually come a long way in Cinder, and it's pretty much today up to the backend to report, as I said, using extra specs. One of the things you see is trying to simplify the standard around there. So please attend the design sessions to impact if you want more things to include it there. But I think already now there's a great variety of storage drivers that can expose great functionality of quality of service. So I think if we need more functionality, this is why we have these sessions so we can impact. Thank you, and just one more question. So what about remote replication? Anything we are planning? So that's a good topic. As I said, volume replication this came a long way. We actually gave a talk yesterday about disaster recovery in OpenStack and things you can actually do today out of the box. But again, it's still a work in progress if you're talking about between sites, right? So as you saw from my presentation, one of the things we're trying to deal with, the V2 of replication is actually be able to do replication between cinders. So that's another, but there's a lot of things you can actually do today. I would not recommend using any stretch cluster topology because of the latency, but there are a lot of things you can do today with different back ends like SAF, et cetera, with RBD. Thank you. Can you expand a little bit on what is missing for volume encryption in Horizon? And then my understanding is that there's two types of encryption is a front end, which will be handled by Nova on back end, which will be, I guess, handled by Cinder. And do you support both? So what does state exactly of? Volume encryption. Encryption. Is it exposed to Horizon? You may know this better than I do. Yeah, that's exactly what we're working right now, the expose. So if I understand correctly the question, can you maybe repeat it in a different way? You were mentioning that there were some issues that you didn't fully finish up volume encryption, so I wanted to know what are these issues. And then depending on your answer, I wanted to know if both front end and back end encryption are supported or what the state basically of volume encryption is. So Cinder encryption is already there today. What is missing is a way for us to expose it out. So that's where you're question, this is the current way that's taking place right now. So it started in the last cycle, it's been going on and hopefully we'll be able to finish it. But yeah, this is exactly what we're tackling right now. Okay, thanks. Thank you. Last question. And if not, I want to thank you all for surviving the day with the last session and I want to thank John. Thanks man. All right, thank you.