Hey, what's going on everyone? It is be Avery here for another trailer reaction. This one is by Sony Pictures This is the Venom movie official trailer number two Initially, I was not excited about this movie like oh Sony just leave it lonely Spiderman alone But as long as they keep this venom in their own separate universe I guess you can call this like the ultimate universe or something like that. I'm fine The first few images when they came out were okay Then they came well that now that first teaser trailer was kind of wack But then they came out with the first official trailer and I was you know kind of getting on board and now we have official trailer number two I'm just not getting to this after work. It dropped this morning, but I be to see the trailer Not yet. I'm gonna do it after work or whatever. So anyway, let me go ahead and stop talking put on these headphones And you guys can stop listening to me talk and watch me watch this trailer had to move my chair up a little bit Here we go Kind of like that voice though I'm Eddie Brock. I'm a reporter Don't always seem to find myself questioning something the government may not be looking at I found something really bad. I have been Taking an association around the world. What do you see? a Planet on the brink of collapse human beings are disposable But man and symbiote combined This is a new race your species A higher life form. What do you want by me? Find out We cannot just hurt people Oh, I see it. I like that. It's not completely awful You have no idea how much you're scaring me right now Eddie cooperate You just might survive Guys, you do not want to do this. Trust me Is it time now? Giant leaps Will always come At a cost That was badass. I gotta take that back and look at that again That was so much to take in that last little shot right there Name is jen have some mixed feelings about this trailer right here and we are going to talk about it What time is it because Uh, I gotta go and I'm gonna tell you where I'm gonna be going right after this so Overall, I thought the trailer was pretty good. Um, I like Uh, the guy playing Eddie Brock. Why am I forgetting his name tom hardy? My goodness gracious I think he fits the role very well. I like the voice of venom, which is the candy man from back in the day Um, I forgot his name and I need to Find out his name because I just want to give that guy credit or whatever. I just Excuse me.  I'm looking on imdb right now to try to find his name. I'm looking for venom voice, but I just can't Uh, find it now something that I really did like in the trailer besides everything that I was, uh, You know, oh and on about is the size of venom now When the 2000 when did that spider-man movie come out 2007 the spider-man 3 with, uh, you know, the guy from the 70s show Topher grace was playing Venom, you know, he was relatively small compared to spider-man But in this we got a lot of nice Wideshots and we see the size of venom and he is huge and the vendor that I knew growing up the venom And they used to be a marvel vs capcom that video game marvel vs capcom 2 on dreamcast I don't know if y'all played video games back in the day venom was big during that time He was much much much larger, um than spider-man. So I do like the size now when he was, uh, Venom was saying hey, oh, there's a lot to eat here like the pancreas and the heart and all that stuff like that That seemed like a little weird to me I don't know if the effects were not they did that in the very middle of the trailer when they first showed venom Really big and they also did that the end where he was like, you're just going to be walking and talking to the Asian guy in the store Like you just gonna be walking around with no little arms or something. He said When venom was talking during both those scenes just looking at his face I wasn't buying it like I was looking at it and I was liking everything from His neck down, but it was just something about the face to where I was just I don't know It just it just wasn't meshing with me. It wasn't yelling with me. I wasn't entirely in love with it However, I really did like the transformation of the symbiotes And on the earlier trailer they called it a symbiote. I don't know why but the symbiote's how It latches on to human beings and how it's clawing back all on the body and things like that That was cool.  That was cool. I like that I like how that looked in the trailer and that just kind of makes me look more forward to the movie As far as the story is concerned, okay, we all know eddie. Oh, if you know the comics if you know the spiderman lore We all know that eddie brock is a reporter And he's saying I think he says something like, you know It seems like I'm always falling into something that the government doesn't want to know about or something like that If you're a reporter, how did you get involved in this right here? Um, of course, we're gonna have to wait until the movie comes out to see But that is just kind of something that I was just kind of like, huh, you know, what's going on now Um, the little like another lady that was in this uh film, of course, there's a lady in the film You know what I'm trying to say another actress in the movie that I think she looked like she was Asian too I couldn't I couldn't it was going everything was going so fast But look like she has some type of symbiote. I'm I'm saying I like the crazy lady symbiote Parasite on her as well and I think that she may be coinage or something like that I don't even know if that's in the movie something that I think they should have waited for is I mean, you want to see a tickets and things like that, but I kind of think that they showed us a little too much venom in this movie Um, I don't know. I mean the movie the film comes out in october And you know at the same time, sony does need as much help as possible Even though I heard that they're doing a much better than they were a couple of years ago I think they have like a new ceo or something like that I honestly In the past two and a half years, I just have not been paying attention as much to movie news Because I think it's probably obvious why if not, I'll probably answer that in another video. So I don't know But uh, we're just going to have to see Um, the director of this is Ruben Fleischer Um, if you're not too familiar with this work, he did zombie land Gangster squad 30 minutes or less Until night stand never heard of that But uh, you know, we're just going to have to see Uh, initially I just was not on board with this video movie But hey man, as long as I don't keep this into the MCU, y'all can do whatever the hell you want to do And then, you know, when the, um, marbles in my universe gets even bigger and expands even more You know, we can do more top verse and things like that crossing over dimensions and all that good stuff. Let me look up The candy man Because I gotta give my brother his credit the candy man Candy man. Okay. I think his name is Tony Todd I should know his name, but we're gonna have to see Yeah, Tony Todd candy man. He is the guy that is voicing venom. And so, uh, I think that's a perfect choice now Uh, let me I'm gonna play this trailer again. I'm not gonna play it to what y'all see it enough And I watched the whole thing again, but uh, I'm just want to see this I just want to blow this image up. Oh, I went too far Oh, I still went too far So I'm looking at right now while he's in the store. Okay the dude is not I don't know what he is He ain't black Sorry guys Okay, yeah, I had to so venom brings up the john as blades and he slices those computer desks open them That looks cool. And it looks like in this last scene that venom and tom hardy are kind of fighting over control Or whatever and then this last scene right here. You got itty-brock Venom way over here What is that over there like this is so crazy because there's two venoms is one cornish, but I don't see no red So we got itty-brock right here in the middle But then we got venom up here But then we got this other mouth and tongue thing over here. It's looking like they are really, uh Fighting over the whole this host body here So, uh, yeah, it looked like this head is coming off over here and then we got a venom head over here So we'll have a more than one symbiote In this movie. So, um, you know, it looks entertaining for the most part But you know, we're just gonna have to see they're going. I don't know what they're gonna have to do But uh, yeah, this last scene over here venom is huge and I like the size of venom I like the body. I'll just not not liking the head. We're just gonna we're gonna have to see about that Don't come out to october something they probably not finished with the effects But we're just gonna have to wait and see but guys, uh, oh and uh, I'm all it's Yeah, oh seven or four I got 26 minutes to get to the theater because they're having a showing of christopher robert But guys, thank you very much. Uh, uh, I forgot my outro. That is just my opinion For the venom trailer trailer number two Uh, what did you think about it? Do you like it?  Do you agree with me or do you disagree with me? Let me know down in the comment section below Let's get this conversation going and keep it flowing if you like this video Go ahead and give me a thumbs up if you don't that's fine But you can still subscribe to my channel also look me up on social media facebook instagram twitter All the good stuff is right there at the bottom of your screen And I made it very easy by providing links to all the good stuff down in the description box below But guys, I just want to thank you again for tuning in to my opinion slash review slash reaction For the newest venom trailer number two starring tom hardy and before you go don't forget Then my name is brennan Keith avery And that's just my opinion peace


So, good afternoon. Let's begin. So, last time we were looking at Gaussian elimination with pivoting. We described the process which involves using these rotation matrices. So, today we will and towards the end of the class, we started looking at other modifications to the LU decomposition. And we sort of were working our way up to this decomposition we'll discuss today which is known as Cholesky decomposition. And we'll also discuss some uses of this Cholesky decomposition. So, just to recall, at the last, in the last class we saw that if matrix A, if matrix A is symmetric and non-singular, then in the decomposition, LDM transpose, L is equal to M, which means that we can write or we can find a lower triangular matrix L such that A is equal to LDL transpose exists where L is lower triangular and D is diagonal. Okay. So, this kind of a decomposition exists. Now, don't confuse that entries of D are the eigenvalues of the matrix. They are not, in general, they are not. D are some diagonal entries. And this is the LDL transpose decomposition. One thing is that the eigenvalue decomposition of a matrix is not something that can be done in using a polynomial type time procedure like we are describing here. Whereas these kinds of LU decomposition or LDM transpose decomposition or LDL transpose decomposition, these are, you can write down a polynomial time algorithm that can actually find this decomposition. Whereas to find the eigenvalue decomposition, you need to find eigenvalues and eigenvectors for which you need to typically use iterative procedures or some other techniques to find the eigenvalues and eigenvectors. Okay. So, the D is a diagonal matrix, but the entries of D are not the eigenvalues of the matrix. Okay. So, now we will discuss about Cholesky decomposition. So, I need one definition which we are going to use very heavily in the coming classes. And that is that of a positive definite matrix. So, a in c to the n cross n is positive definite if it is Hermitian and x Hermitian a x is strictly greater than 0 for all nonzero vectors in c to the n. Okay. And we will write this as a slanted greater than 0. Okay. So, another way to define a positive definite matrix is a matrix is positive definite if it is Hermitian and all its eigenvalues are strictly greater than 0, but we will come to that. For the purposes of this discussion, this definition is enough. So, this is that of a positive definite matrix. Okay. So, now the first result we have is that if a is symmetric and positive definite, actually this is for the real case and positive definite which I am going to abbreviate as pd, then there exists a lower triangular matrix g with positive diagonal entries such that a is equal to g g transpose. Okay. So, instead of an LDL transpose decomposition, we have a g g transpose decomposition. So, why is this true? It is because, so first of all, a is positive definite and symmetric. So, that means that x transpose ax is strictly positive for every nonzero x in r to the n which, so since a is a positive definite and x transpose ax is strictly greater than 0 for all nonzero x, it means that the matrix x is non-singular. So, it admits, it is symmetric and non-singular. So, by the previous result, it admits an LDL transpose decomposition. And so, that means that x transpose LDL transpose x is strictly greater than 0. And since a is positive definite, it means that the matrix L here is going to be non-singular, rather full rank. And so, if we let this full rank, which means that if we let y equal to L transpose x, then what we have is y transpose dy, just substituting is greater than 0. And this is true for every y not equal to 0. And this in turn, this holds, if and only if, dii, d is a diagonal matrix. So, each of, so you can, for example, choose y equal to e1. That will pull out d11. And that is greater than 0. Then you can choose y equal to e2. That will pull out d22. And that is greater than 0. So, dii is greater than 0 for i equal to 1 to up to n. And since dii is greater than 0, we can define g to be equal to L times this diagonal matrix containing square root of d11, square root of d22, up to square root of dnn. Then a equal to g g transpose and g is a lower triangular matrix with positive entries along the diagonal. This is as desired. So, one thing is that this Cholesky decomposition, where you are only looking for a g matrix such that a equal to g g transpose, it, since a is positive definite and symmetric, it can be done with half the number of flops as compared to the vanilla LU decomposition. And the other thing is that because a is positive definite, it turns out that the computation of the LU decomposition is stable without using pivoting. So, you do not need to do this pivoting step that we discussed in the previous class. So, here is how you compute the Cholesky decomposition. You can do it more efficiently than LU because of the following. Matlab has a built-in command C-H-O-L of A and it will directly give you the Cholesky decomposition of A. So, we will illustrate this for the 3 cross 3 case, but you will see that the idea applies to any dimensional matrix. So, in the case of 3 cross 3 matrix, we are interested in solving for the matrix g where it has the structure g11, g12, g22, g, sorry, this is g21, this is g31, g32, g33 and zeros everywhere else. This is g, g transpose will then be g11, g21, g31, 0, g22, g21, sorry, 0, g22, g32 and 0, 0, g33. This product should give me the matrix a11, a12, a13. So, then by following a proper order in trying to figure out this g, ijs, you can actually compute each of them quite easily. So, for example, if you compare the 1, 1 element, so the 1, 1 element here is g11 square, that is equal to a11 and then taking the positive square root, we have g11 equals square root of a11. So, this, whether you take the positive or negative square root gives you some flexibility in computing the Cholesky decomposition, but if you restrict yourself to taking the positive square root each time, then the computations are unique. So, the Cholesky decomposition is unique. And then what you do is you look at the first column of the product. So, that will be, the next entry will be g21 times g11. So, or more generally, g i1 times g11 is equal to ai1, which implies that g i1 will be equal to ai1 divided by g11. And essentially, the fact that the matrix A is positive definite implies that this a11 will be strictly positive, because if you recall, x transpose ax equal is greater than 0 for all non-zero x. So, if I take x to be equal to e1, that extracts the entry a11, and therefore a11 should be strictly greater than 0. So, I would not be dividing by 0 here. This is i equal to 2 to n. So, all elements in the first column of g are now already determined. And similarly, if I look at the second column, the first entry will be this times this, which will be g11, g21. But I already know what g11 and g21 are. So, that does not give me any new information. Actually, this matrix A is symmetric. So, these two will be the same. So, maybe just to avoid confusion, I will write this as, I will do the following. This is a12. This is a13. And this is a23. Okay. So, this times this gives me g11, g21 equals a12, which is the same as what I got over here. g11, g21 equals a12. Nothing new from that equation. Excuse me. But if I take the 2 comma 2th entry, I have g21 squared plus g22 squared equals a22, which is this entry here, which means that we already know what g21 is. Sorry, we already know, yeah, we already know what g21 is. gI1 we know, i equal to 2 to n. And so, since we know this, we can then compute g22 to be equal to the square root of a22 minus g21 square. And the positive definiteness of a ensures that this quantity will be always positive. This is something, these kind of things are something we will see later. But it is indeed a consequence of the fact that the matrix A is positive definite. So, that ensures that this is always greater than 0. Okay. And so, since now g22 is known, then the second column, which is essentially now g32. Sir. Yeah. Sir, as you changed the entries, because of symmetry, you changed the subscript things. The second line of your proof, like it is not directly having any entry at it. You wrote ai1. So, a21, a31 is not directly present. Okay. You can make that small correction, call this a19. Okay. So, and so on. But you are right. This a21, but the idea is that whatever entry I put here, you know it, because I am just writing the entries out here. So, you can always determine these gi1s. So, basically, this is how you can efficiently determine the Cholesky decomposition of a matrix A. Now, if A equals gg transpose, then in order to solve Ax equals B, what we do is we first solve g times z equals B. So, basically g transpose x, I am calling it z. And so, gz equals B and you solve for z. And g is lower triangular. So, you can solve this efficiently using forward substitution. And then, you solve g transpose x equal to z and solve for x. Now, g transpose will be upper triangular. And so, you can do backward substitution and find x. So, this Cholesky decomposition, like the LUD composition, is useful to solve a system of linear equations. So, as I mentioned, if you take the positive square root at each step by the way we have developed it, it is clear that this Cholesky decomposition is unique. And yeah, so I will just make that note here. If always take the positive square root, the Cholesky decomposition is unique. And the other thing is that since A equals gg transpose, this is like writing A as the product of something times its transpose. It is a matrix analog of the square root operation. But the difference is that the square root of a matrix is not unique. So, in particular, if I consider g times q, where q is any orthonormal matrix, then if I take gq times gq transpose, then that is also equal to gg transpose, which is equal to A. So, gq is also a valid square root of this matrix A. So, it is not unique. So, for example, another square root could be v times the diagonal matrix containing lambda 1, square root of lambda 1, square root of lambda 2, up to square root of lambda n. So, this also, if I take this times its transpose, it will give me v times lambda, a diagonal matrix containing all the eigenvalues times v transpose. And because, so these are the eigenvectors and these are the eigenvalues, then remember that the eigenvalue decomposition is of the form A v equals v lambda, where this is a diagonal matrix containing lambda 1 through lambda n. And so, A is equal to v lambda v transpose. So, this is also a valid square root. So, there are many square roots that are possible. But the Cholesky decomposition is a unique square root in the sense that we have taken the positive square roots at each step. And what you are getting is a matrix g, which is lower triangular and has positive diagonal entries. So, if you restrict to square root matrices that have these two properties, that it should be lower triangular and it should have positive diagonal entries, then the square root of the matrix is unique. Now, if we have one small point here is that what I need here is that QQ transpose must be the identity matrix. So, Q need not even be a square orthonormal matrix. It can be any matrix such that QQ transpose equals the identity matrix. So, it could be of size n cross k with k greater than or equal to n. And still this will work. So, the square root of a matrix in this sense need not even be a square matrix, because GQ will then be of size n cross k. Now, another point is that if we consider, if we have a zero mean vector process xi in r to the n. So, this is a random process. So, maybe for, I will write it as capital X i. Okay. And suppose we have m samples of this random process. And suppose that m is greater than n. So, you have more number of samples than you have than the dimension of each of the vectors. Then we can form the matrix x, which is a concatenation of all these like this x1 transpose x2 transpose xm transpose. And this is going to have m rows and n columns. Then each row here is a sample xi transpose. Then an estimate of the covariance matrix is r is equal to 1 over m times x transpose x. Okay. So, you might have seen this, for example, in this form 1 over m sigma i equal to 1 to m xi transpose. Okay. So, this is a way to estimate the covariance of this vector process x. And this has some properties that you will see possibly in your detection and estimation class next term. But for now, just say that this is the estimate of the covariance of x. Now, if we have, I will call it r hat, the true covariance matrix r, and this is the estimate obtained using m samples. So, we call it r hat. Now, if x is equal to q times u, where this is the q r decomposition. So, this is, remember that this is m by n. So, this matrix would be m by m. And this u would be an upper triangular matrix of size m by n. And this is the q r decomposition of x. I don't want to write r because I said the true covariance is r. So, I write it as u. Sir. Yes. Sir, if u is not a squared matrix, so how can we write like a triangular matrix or upper triangular? Upper triangular just means that there's nothing below the main diagonal. I mean, it's all zeros below the main diagonal. So, that's what I'm writing here. So, this is of size m by n. It has more rows than columns. It's the tall matrix. And this is the first n rows. And this is the remaining m minus n rows. There will all be zeros. Okay. And u zero is upper triangular with positive entries along the diagonal. So, we'll choose the q r to ensure that. Okay. Then u zero transpose is the Cholesky factor m r hat. That is m r hat is equal to x transpose x just from this itself. And that is equal to u transpose q transpose q u. And q transpose q is the identity matrix. And so, this is equal to u transpose u, where u has the structure, which is equal to u zero transpose u zero transpose considering the block matrix multiplication. Sorry, u zero transpose u zero, which is equal to, I can write, think of this as g g transpose because it has the structure that u zero is upper triangular with n positive entries along the diagonal. So, this is like my g transpose matrix and this is my g matrix. So, u zero transpose is the same as g. So, so what this means is that the u zero resulting from the q r decomposition from the q r decomposition of x is, in fact, the Cholesky, in fact, the transpose of the Cholesky factor of m r hat. m is just a scalar. So, in fact, it is a scale version of that one over square root of m times u zero would be the transpose of the Cholesky factor of r hat itself. So, continuing with these points, this Cholesky decomposition is useful for, for example, if you want to generate a vector process with a desired covariance matrix, this is useful for simulation purposes. So, so suppose we want to generate an x which is in r to the n with a desired covariance matrix and let us call that desired covariance matrix sigma symmetric. Any covariance matrix is by definition symmetric positive definite covariance matrix. Okay, then what we can do is, so we first find since sigma is symmetric and positive definite, we can find g such that sigma equals g g transpose. Then what we do is, we say we start with a vector w which is in r to the n be a random variable such that its covariance matrix expected value of w w transpose equals the identity matrix. So, generating such these are called isotropic this isotropically distributed random vectors is easy. So, you just generate vectors with independent and identically distributed entries, then expected value of w w transpose will be one if the variance of each of those entries is equal to one. Then, then we define x equal to g times w. Then the expected value of x x transpose will be equal to the expected value of g w w transpose g transpose which is equal to g is just a linear operator and expectation is also a linear operator. So, I can exchange them and pull the expectation inside and pull the g transpose out from the other side. So, this is g times the expected value of w w transpose times g transpose which is equal to g g transpose is equal to sigma. So, we have generated random vectors that have this desired covariance matrix sigma. This is useful as I said for computer simulations for creating vector processes with a desired covariance matrix. The converse of this is what is called whitening which is also very useful because when we have for example a stationary random process x i which is r to the n and i equal to 1, 2, etc. And suppose we get to observe these x i's with x i being equal to some s i plus v i where s i is the signal plus v i is the noise and this v i being the noise is colored meaning the expected value of v i transpose is not the identity matrix but some other matrix sigma. It is not equal to the identity matrix. So, suppose this sigma is known so somehow you have access to independent noise samples from which you are able to estimate the noise covariance matrix and suppose sigma is known and is positive definite then there is a g such that sigma equal to g g transpose.  Then the new noise covariance matrix is the expected value of g inverse v i v i transpose g inverse transpose which is equal to g inverse expected value of v i v i transpose g inverse transpose and this is just sigma so that is equal to g inverse sigma g inverse transpose which is equal to g inverse g g transpose g inverse transpose which is equal to the identity matrix. So, we whiten the noise so the resulting noise is white. So, basically this this Cholesky decomposition is very useful in noise whitening which is a very important tool in signal processing and in particular Cholesky is used because it is stable and it is easy to compute. So, just to summarize what we have seen in this seen so far in this chapter is that we looked at the Jordan canonical form where the main working block was this Jordan block which has the form lambda along the diagonal and once on the first super diagonal and zeros everywhere else and we saw that in the Jordan canonical form any a can be written as s times a matrix that contains some Jordan blocks and call it j n 1 of lambda 1 j n k of lambda k and zeros everywhere else times s inverse and we call this matrix j which is the Jordan canonical form of a and here these n 1 n 2 their block sizes are such that n 1 plus n 2 plus etc plus n k is equal to n and lambda 1 through lambda k are at the eigenvalues of the matrix and these eigenvalues are not necessarily distinct and further if I look at the summation of n i over all i such that lambda i equals some particular value lambda this gives me the algebraic multiplicity of lambda and if I look at the sum of i equal to 1 to k I just add one each time lambda i equals lambda this counts the number of blocks in which this eigenvalue lambda appears in the Jordan canonical form and this is equal to the geometric multiplicity of lambda and of course see from this itself you can see that the algebraic multiplicity is greater than or equal to the geometric multiplicity if all these blocks are of size one then all these n i's are equal to one and these two will be equal and so the matrix j or a is diagonalizable if and only if k equal to n i.e. all are one cross one blocks okay and the other thing we saw the next thing we saw was how to find the JCF Jordan canonical form what we do is there's a recipe we wrote out where the first step is to find all distinct eigenvalues of a and then for each lambda i eigenvalue lambda i we calculate the rank of a minus lambda i times the identity matrix power k for k equal to 1 2 etc and we study the sequence of ranks and this sequence gives the orders of all the Jordan blocks of a corresponding to the eigenvalue lambda i just right here for each eigenvalue and one very interesting consequence of the Jordan canonical form is that a is similar to a transpose for every a and we saw that a the matrix a is convergent if and only if mod lambda is less than 1 for every eigenvalue lambda of a this is also true for non diagonalizable matrices and then we discussed a bit about the minimal polynomial which is a monic polynomial that is the leading coefficient equals 1 and smallest degree polynomial that annihilates a that is if i p such that p of a equals 0 and this minimal polynomial is unique and divides any other polynomial that also annihilates a and the other thing we saw is that similar matrices have the same minimal polynomial and the other thing is that the JCF can be used to find the minimal polynomial although it may not be the best way to do it but what you do is that if a has eigenvalues the distinct eigenvalues lambda 1 through lambda m then the minimal polynomial is of the form through a of t equal to the product i equal to 1 to m t minus lambda i power r i where r i is at least equal to 1 but it's equal to and in fact r i r i is the size of the or the order of the largest Jordan block corresponding to lambda i and of course a is diagonalizable if and only if r i equals 1 for all i it comes back to the point that the the all the Jordan blocks are 1 cross 1 because r i is equal to 1 and the minimal polynomial is of the form say t minus lambda 1 it's up to t minus lambda m okay um then we looked at other factorizations which is the lu fact decomposition and the lu decomposition with uh this is just nothing but a Gaussian elimination and lu decomposition with pivoting which is a numerically stable way of computing the lu decomposition and then we looked at Cholesky decomposition and we briefly discussed about the use of lu in solving linear systems okay so this just sort of summarizes what we saw in this chapter so far okay so um with this I conclude what I wanted to say about these matrix decompositions


My full name is Arjun Varia and my course is Water, Waste and Environmental Engineering in MSc. So I'm particularly doing my master's. Yes, as postgraduate student I would say due to this COVID, everything is stuck on and we have mixed and blended learning as they are, as they promises us, right? So I would say faculties are so much powered. They are like master and their own field. And apart from that, the subject and the studies are much more, let's say, practical in the sense of, right? If I want to specifically say the subject or the help which I got from the University of Greenwich, I would say it's phenomenal. It is out of the context because I would say from where I belong, it is far greater than that. So I live in Madhava campus which is, there are four kinds of accommodation over there, like four kind of buildings where there is one building which is specifically known as Merlin House. I live over there and I would say it is far cleaner. I mean I get every kind of facilities, let's say cleaning, like daily cleaning, right? I get maintenance services on board. I just have to mail and they will give the services. I am getting the dry cleaning services. I am getting the most possible security itself. And again, we are talking about the pandemic itself. So what could be better than university accommodation? That's a kind of tricky question I would say. But first of all, I decided to pursue my own postgraduate degree at any kind of universities, like out of my own country. So then I think about that the country itself, it's UK. We are talking about the UK and the big universities like Oxford and Howard and they belong here. So I would say the education system, I would say it might be good or it might be excellent. So I searched around and I found that the university of Greenwich is the best of its own kind. And to be honest, I was very much fascinated with movies and the scenes which are actually shooting over here.


Hello everyone, and thanks for joining us today and welcome to Open Infra Live. Open Infra Live is an interactive show sharing production case studies, open source demos, industry conversations, and the latest updates from the global open infrastructure community. This show is made possible through the support of our valued members. So let us thank them for supporting us here today. My name is Kendall Nelson and I will be your host for today's show. We're streaming live on YouTube and LinkedIn and we'll be answering your questions throughout the show. So feel free to drop questions into the comments section and we'll answer as many as we can by the end of this episode. So it's here, 2023.2 release of OpenStack, affectionately named Bobcat. Today we have with us several community members representing various OpenStack services to talk about highlights from the cycle. So first up, we have Sylvain here to talk about Nova. Hey, Kendall, thanks for introducing me. So thanks, folks. I'm happy to see you again. So this time, yeah, it's the new Bobcat release. It was a pretty smooth release. We bought any bumps on the road except one CVE that happened and that Rajat will explain later. So can I, oh yeah, can I please get the next slide? Okay, cool. So this cycle, this cycle, it was an interesting cycle because we are able to merge more blueprints than the previous cycle. So as you see, we accepted 17 of those. On those 17, we basically accepted to have implementation for eight of them, actually nine. Unfortunately, we found a last minute problem on one of them. So we needed to revert it before the first release candidate. So that wasn't impacting any operators, no relations found, and blah, blah, blah. But yeah, basically the number is pretty good given also we did not add a lot of contributors this cycle. So thanks, very thanks to all the contributors that were around because we are very productive this cycle. As you see, the numbers are also pretty good in terms of bug fixes. We had that specific CVE, that Rajat would explain later with Cinder. So again, definitely kudos to the team. It was a good one. And as last reminder as well, maybe some of you already know about the new cadence that we have for upgrades. You will be able to skip one release. And I'm happy to say that Bobcat will be the first keepable release. Meaning that if you're already on entropy, the previous release, you should be able to upgrade directly to Caracol without using Bobcat without upgrading to Bobcat first. So if you really want to use Bobcat, that's definitely good and I would appreciate that. But it's possible to be skipped. Next slide please. Okay, so what do we have this cycle for Bobcat? So first, it's important to mention that we are currently changing our quota system. The limits that you were previously providing directly in Nova should now be provided in Keystone. That will help you to define all the limits for all the projects on one single place. But that will also help you to define some specific quotas for resources that were not available yet. In order to ease that move, this cycle we're providing you a new Nova manage command that will automatically import the limits into Keystone. As a move, we also decided to duplicate the previous quota driver. That doesn't mean that it won't work, but that's a good incentive for you to test if you're running Bobcat, the new unified limits driver that's a configuration that you can modify and also use the migration tool. Hopefully next cycle, we should definitely be changing to use the unified limits system. A second feature that we did care for the previous cycle was actually how we wait hosts. Some operators at the previous physical PTG in Vancouver told us that they are having troubles with the current sorting that they were having for all the host candidates. We heard them and we then provided two different widows, two different schedule widows that can be used with different units and use cases. For example, if you want to migrate or create instances to hosts with the lesser number of instances, you can use that waiter, but you can also try to pack your instances into specific hosts by changing the waiter of that, by changing the waiter number. Another waiter was also created due to some discussion we had with operators. They wanted to create instances within, I would say, the last compute nodes where, for example, the US was the latest. So we heard them and basically we created a waiter that was looking at the hypervisor version, sorry. So, for example, you can then default to use the compute that have the latest livery version, for example, but you can also, I don't know why, but you can also modify the number and say I would like to use the older ones, that's possible. Again, during the physical PTG in Vancouver, some operator told us that he wanted to call Magretts with an end user. We helped him, so we basically created a new authorization policy for call Magretts. By default, you now have two policies for call Magretts. One is for call migrating without providing a host and the other one is for call migrating by providing a host. Both of them are by default for admin users, but you can actually modify that for one of them. For example, and that's the use case that was asked by the operator, you can modify the policy to say for an end user, I can call migretts without knowing any host. That's no possible. Some other features, for example, the liver driver can modify the cache size for the translation block, which is nice for short memory instances. That's due to some new liver version and no, it's supported by Nova. We also deprecated a configuration for the running driver. I won't explain more of that, but basically, next cycle hopefully, you will see you will have a new behavior for, I will say, HS strategy. I won't tell that by now because that's one feature that we currently looking, but look at this configuration option. You will see why we deprecated it and basically we're working on a new feature for next cycle with the running team. And we also did some stability improvements about instance reboot, not sorry about instance reboot, about volume attachments. During instance reboot, automatically we verify the volume attachments to make sure whether we have residues. And we also modified something important for us as an implementation, but for you, you will see the use case is that, for example, when you want to rename a compute, no, it won't be accepted. Because if you did that before, maybe you know about that, but it was creating a lot of problems. And basically what we did is that we threatened the linkage because compute and services. So no, basically accidentally you shouldn't be doing that. Next cycle, please. Next slide, please. I know what I'm saying, cycle. Anyway, again, so as you see, we discussed a lot with operators during the previous physical PTG. This cycle, we have a virtual PTG. That's actually nicer for operators that were not able to go to Vancouver. This time, this is virtual. That means that you can discuss without. It's simple for you, it's free. So if you have some questions, concerns, I would say new features would like Nova to have. Look at the dates that we have for the virtual PTG. Look also at the link that I provided. And that's definitely the time where you can discuss with the contributors and you can explain your use cases. Voila, that's basically it for Nova. So thanks and Kendall, back to you. Thank you. Yeah, I definitely want to invite everyone to get involved at the PTG. Like Sylvan said, it's a free and virtual event. So please join us there. We would love your feedback and your help developing the Caracol release. Wow, 17 blueprints merged in Nova and just about half of them got implemented. That's amazing. Thank you, Nova contributors for all of your hard work. Next up, we have Neutron updates from Rodolfo. So thank you, thank you very much, Kendall. Hello everyone. So during this last cycle, last cycle was quite intense for Neutron in terms of March. And I'm proud to say that we have a healthy community contributing in new and very interesting features. I will also want to highlight the participation of many users during the Vancouver PTG. Maybe the problem we had is that we didn't have time enough to finish all those ongoing developments. But we have some new features introduced in the last book, for example, please next slide. So for example, the new APA, which a new APA which allows defining a set of security groups that can be used automatically in new security groups. For example, that will allow the administrator not to be constrained to the full security group rules that are now created when the full security group is created along with a new framework that will improve the security if needed by the administrator. We also have a new port attribute that will modify the local OpenB switch user space transmit package in feature that allows the user to configure the performance of each form when you're seeing obviously the game. You're seeing different strategies. We also have a new implementation for new APA policies for the role-based access control with system scope and default roles that belongs to a common effort that started more than two releases ago implementing the secure RBAC policies. And this is aligned with the OpenStack community goals to implement this new APA for every project. And also we have a rate limiter for the metadata services to avoid TOS and stop misbehaving instances. But I would also to mention, yes, that access line thing here. So to be honest, next time I will be more more explicit when creating those kinds of first line. But let me explain this a bit better. I will be better explained that making those slides. So we have several going developments that have been started not only during this release but also in previous one. For example, improving the OVM-E3 scheduler that will be optimized for balance to balance the gate with nodes. This, those new schedulers will handle better the availability zones. And there will be also new classes that will be able to work fine with bare metal posts using the same scheduler using in core OVM. We will also have router flavors for OVM allowing to use external hardware devices along with software routers in ML2 OVM. We will have also IPv6 metadata support for OVM closing another ML2 OVS to ML2 OVM party gap. And we will implement OVM gate with multi-homing which is a feature currently supported by core OVM. And as I said, this is an ongoing feature in Neuron but it's taking more time than expected. As Sylvain mentioned, the next virtual PTG registration is open and all the DFTAR paths are open to propose any new feature. So as a summary, I will say thank you and stay tuned for the next cycle. Thank you very much. Yes, lots of excellent work done by Neutron developers as well. Thank you for all your hard work and being involved in the Bobcat release. And Neutron is also planning to meet at the PTG so there are more opportunities to get involved and help out with that future development. Joining us next to give updates on Ironic is Jay Faulkner who is actually the newly elected TC Chair as well, congratulations Jay. Well, thanks for that. Yeah, I appreciate folks having the trust in me for the next six months. But let's make sure we have one of these for Kerakow before we celebrate too hard. So let's talk a little bit about what Ironic did this cycle. I always like to start out with some of the statistics about the development. During our cycle, we had about 324 commits, 32 different contributors, including a couple of new first-time Ironic contributors and welcome to the team across over 15 different companies, 3,200 change lines. And notice we don't know this, but bare metal is pretty complex. We actually have 22 different repositories that we juggle to keep all this going. So I'm very excited about this because our team is growing, not just in code contributors, but in operators who are part of the community. And if you're one of those, you're welcome to come join us in IRC or through the matrix bridge sometime to come say hello to us about your installation. But let's talk about what we delivered for you. And so I've kind of broken these up into three big themes. The first theme is with Ironic, we don't only provision bare metal hardware, we also manage its life cycle. And that's where a lot of the effort in Ironic goes to make sure that you're able to maintain a bare metal server throughout its lifetime in your cloud. So what this means is we're always making that better. This time what we've done is we took our step framework, which is the way in Ironic you would perform maintenance tasks such as erasing a disk or upgrading firmwares or really anything you need to do on a server. And it used to be that you could only do those for cleaning, which is when a machine isn't provisioned or at deploy time. But now we've added in the ability to perform service steps. And these can be triggered via the API with a set of steps to run. And those steps will run actually on an active provisioned server. It may reboot your instance or something of that nature, but it's very exciting because when you combine this with the Ironic feature, which currently only is supported for standalone, we're coordinating with our Nova friends to get this in for Caracal for Nova users. But if you're using Ironic standalone and you enable our automatic lessee command, you can configure your policies in such a way where the users who provision bare metal hardware in Ironic can be actually given the keys to perform service steps to maintain their own devices. So imagine a world where your users are able to coordinate firmware updates with their own software, making API calls to Ironic, removing nodes from rotation before beginning the update, things like that, just completely removing a class of work from the traditional cloud administration team and giving the users the keys to it, which is very exciting. And that's a pattern that I think you'll see emerging more. In addition, and these were sort of the next two were kind of targeted toward, well, this is still in the server maintenance. The last two bullets there are about adding some steps to enable some coordination. And this may, these may seem a little disconnected, but they're both a part of an effort to support DPUs or smartNICs or in general, these advanced pieces of hardware which might have their own power supply, which might have their own BMC and might require coordination between the operating system of the machine it's in and the firmware of the device itself. And so in order to support that, we've had to add some enhancements to our steps. We've added steps that permit flow control. So you can do things like, you can say hold during cleaning and that node will hold in a clean hold or service hold or deploy hold state while an external coordination that you've configured goes, reads, does actions on that node until it sends ironic API and unhold command. And this is useful for coordinating things between different servers that may need to coordinate with this or even if you have a third party system that you wanna be able to participate in those processes, they can now look for that state and go for it. And that's exciting. For power control as well, we've exposed those as steps. So power off, power on and restart just as we would call them in ironics code or as what happened if you called the HTTPS APIs, you're now going to get that power control ability in built-in steps. In addition, we've added a concept of a parent node and a child node. So again, you could have a server that's the parent node with a DPU as the child node and using all of these features combined, create a coordination that can upgrade that firmware between the cooperation between the PCI device and the OS itself. It sounds complex, it's because the hardware's complex. We're trying to do all we can to make it usable. And so along those lines, we've actually taken one of our concepts that used to be sort of more complex and more custom and we've taken it out of that realm and we promoted it to a top level ironic API. This is always an exciting moment for us if we can get the next slide, please. This is always an exciting moment for us because ironic often does things like firmware update support, for instance, before the standards are in place to make it similar across to our hardware. And now that we've proven that out, we've shown the value that it can do, we've taken that, we've promoted it to a top level API. So what this means is we have a driver interface for ironic that can be implemented to allow access to this firmware support. We do have an initial implementation that supports RedFish. I will say hardware is wildly different. This is a new feature. It's been tested on actual RedFish hardware, but it may not have been tested on your actual RedFish hardware. So please just make sure you test it, do your own due diligence. We can't always count on our hardware to behave the way we expect. And this is gonna allow queering through the API for firmware information. So if, for instance, you have a security requirement that you're able to return the firmware version that's on all of your nodes, we'll be able to do that now. If you want to be able to check that it's running a specific version before deploying a specific workload, you can do that now. In addition, just like with all of our other interface-based things, that's where we've centralized the update commands to update and manage that firmware. So this is very exciting. Thank you so much to Yuri for writing the support, working through it. And Julia actually did a lot of the work for the cleaning enhancements before. And we always want to make sure that folks get that recognition. But realistically, those are exciting for certain use cases. Everyone always wants to see more stability and more fixes. And that is definitely something that we focus on every cycle. I picked out a few top-level items that we've had for bug fixes and just sort of minor enhancements that hopefully will make your life easier, depending on how you use Ironic. We had several issues reported to us by the Metal Cubed project under CNCF, which we're grateful to our partnership with them, related to SQLite database utilization. And large amounts of effort has gone into making this work more reliably, making it work more quickly. And even if you're not using SQLite, those cleanups in our database code to prevent locking, to handle failures and contention better, are going to make your more highly-scaled Ironic's work better due to that error handling work we've done. So it's the sort of thing, I'm not gonna be able to point a finger to one specific thing you'll see there. However, it's our hope that we've maybe removed a class of potential issues or confusions in database layer. The other, one other item is something we've been working on to make it easier to run a single Ironic cluster to manage multiple CPU architectures. Traditionally, we had a top-level, single setting to set defaults for things like RAM disks and kernels for cleaning or deployment, such things. That obviously doesn't work very well in a situation where you might have multiple CPU architectures. And while we had a way you could do it by overriding it on a per node basis, that's obviously not sustainable at high scale. So we've added the ability to set those defaults by CPU architecture, which is a big boon and it should enable people to easily run mixed x86 and ARM clouds or heck, maybe some other CPU architecture. So come talk to me, because that sounds like it would be fun. And thanks to Cuba for that feature. The other item is operators can now force the use of non-MD5 hashes for image verification. It's not our belief that choosing MD5 hashes for image verification at the last step is necessarily a security issue, but we know that we have some security sensitive operators and environment to require the ability to turn that off universally. And so we've added that and hopefully that makes your life a little bit easier if you have that requirement. Finally, I'm gonna plug just like everyone else has the Ironic Virtual PTG. We definitely had a lot of participation, a lot of new faces at the physical PTG in Vancouver and it was nice to have those conversations. We'd love to see you back at the virtual PTG. We've not exactly aligned all of our topics to times yet, but all Ironic sessions will be within these windows in the fulsome room. And in addition to the Ironic VPTG, which we have every year, we also are renewing our bare metal SIG operator hour. If you've never been to our bare metal SIG meetings and you're not familiar, this is something that's run by, open stacks run by Ironic contributors, but really, we've all been working on provisioning hardware for years and years. And we wanna talk about the troubles, the success stories, the sad stories, just meet each other and commiserate for a little while about that. So I don't care if you're an Ironic user, if you use a metal cube, if you're using something completely off the board, come say hello to us, talk about bare metal provisioning and we'll see what we can do. And thanks so much. Got to love a group therapy session. The statistics that you mentioned at the beginning were my favorite part in particular of this update. I really love the data and knowing that there are new contributors to Ironic this cycle is even more exciting. Congratulations to all new and old contributors to Ironic. There's always more work to be done and we always welcome more contributors. Open community is an incredibly important tenant of all of our open infra communities and projects. Next up, we have Bobcat updates from Manila. So take it away, Carlos. Thanks, Kendall. Hello, everyone. And yeah, I'm Carlos, I work in the Manila team and I'm a DOPEc Manila PTO. And yeah, today I'm gonna be sharing you some of the highlights of our Bobcat release or 2022.2 as you wish. Couple of items, couple of things that we managed to complete after an effort of a lot of cycles. The first of the things that I would like to mention is the research logs for shares and access rules. And this came from operators requests and feedbacks. All of these were really important for us to cover two main use cases for this feature. One of them is operators that wanted to prevent accidental deletion of shares that are mounted and consumed across multiple user workloads. And the other one, which is really important for us as well, is the usage within OpenStack Nova. So we are actively pursuing a share attach or detach API for the Caracol release. And this feature will enable users to request their shares to be attached to VMs using Virtio FS. So Nova, in order to do this to happen, Nova would need to lock the corresponding shares from accidental or intentional deletion until it's properly unmounted by the compute instances that can prevent outages and some unwanted things. So this research lock was for shares was one of the things that was implemented. But we also use the same research locks mechanism to do other stuff that we would need to get the work. We needed the Manila side for Virtio FS to be completed. And the other part is the access rules, visibility lock. So in the past, let me walk you through what that means. So in the past, access rules in Manila didn't disclose the access to an access keys field. And that could end up exposing a VMIP or an access key. And we can call those sensitive fields because I mean, we don't want to expose information like that to people that shouldn't be seeing it. So we needed a way to make sure that the access rules created by Nova VMs would have their, we would be redacted. We would redact the IP addresses or the access keys of the Nova instances. And now you can also place a visibility lock in the access rule and it will have the, some of the fields are redacted and you'll be able to hide a couple of things there. And these were like the parts we discovered we thought we needed to do and they were completed during the Bobcat release. And as I told, like the resource locks API is generic as you can see. So we could reuse it for both locking shares and access rules, like access rules can also be have their deletion locked. We also want to make it a deletion lock because otherwise someone could attempt to delete the access rule to the Nova instance and then people would lose like access would not be able to write data to shares anymore. So deletion locks for access rules are also in place but this API it can be extended through any of the monial resources in the future. And we designed this thinking about that and all of these authentication authorization is having our back in mind. So there, please check out the blog post that features these changes. It has some reasonings, the specifications and a special quote from folks at Clura that mentioned about their use cases and how this feature will make their life easier. We've heard several requests about this in the past, and the operators feedback was really incredible and it helped us to shape this and to get this done. And a special thank you to the Nova team on this as well for working with us on the design and also Gotham and Hene for leading the implementation of both Gotham in the monial team and Hene in the Nova team. We are targeted this for the Karaka release. So another major feature that we added to Monila was share backups and it works similarly to what Cinder volume backups do. In Monila, basically you'll be able to backup and restore shares generically with the help of the Monila data manager service. And it will work like similarly to the way we do share migration in the generic approach.  And this is currently only implemented in a generic way but in the future, the third party drivers and the vendors will be able to implement this as well and leverage the features of their own backends. One other big thing that took several cycles for us to complete was after a lot of work and a couple of releases we have managed to add the last piece we were planning for in the Monila client which was we are adding the deprecation warning to the Monila client. And first huge shout out to all the interns and the community members that worked with us to reach future party and do proper testing on this. And we reached party in the previous cycles and completed the last piece we needed on this cycle and then came the decision to start the deprecation process for the Monila client. So now when you are issuing a Monila command that will be a very nice thing that came from operator feedback as well. So every time now you issue a Monila command you will get a deprecation warning plus a suggestion on what's the command you should be using in OSC or OpenStack Client. And that's gonna be really useful. So thanks everyone for the feedback on that as well and for helping with that. And also a couple of more updates I think in the next slide we have next one is limiting the maximum share size for share size extension through the share type extra specs. Some important enhancements to this FNFS driver when doing migrations from previously deployed Ganesha cluster to SFADM-deployed Ganesha cluster. Now the export paths will contain a preferred export location that will always default to the SFADM-deployed Ganesha and the access rules will be replayed when you do the restart. And environments that use the NetApp back and you'll be able to use their NetApp active IQ a scheduler layer. So this is something that the NetApp team worked on. And it has some built-in AI to help you place the pools to help you find the best pools to place your shares. And yeah, that's something NetApp specific. So please take a look in case you're using the NetApp back and this can be quite useful to you. We have two new backend drivers being the Dell Power Store and Dell Power Flex and several bug fixes and enhancements. So these were all of the items we managed to accomplish. I mean, you can check out the things we worked on the Bobcat release as well, checking the release notes. There's a lot more that was done there. Lots of bug fixes and things that we were proud to get completed on this cycle. And for the next cycle, we have some plans to support user-modifiable metadata for share export locations and continue the work, the course team work with the Nova team to allow users to attach and detach their Manila shares on VMs via virtual FS. Now some enhancements to share backups as well. And we have that kind of completed already, like the APIs in the SDK for research logs and everything Nova needs, but we just need to merge that on the OpenStack SDK, but it's almost done as well. So as I said, I tried to highlight a lot the importance that the operator feedback had on all of these items. So please, if you want to, if you have some feedback to give to us and if you'd like to see something enhanced, please join us at the PTG and we will be happy to hear your feedback. So yeah, that's all for the Manila updates. Thanks. Thank you so much. I just want to take a second to call out the resource lockwork in particular. It really is an excellent example of the feedback loop that we aspire to for all of our projects. So if you're an operator of OpenStack, we really need your feedback. The PTG is coming up, please register and participate. It doesn't matter if you're not running Bobcat, if you're a couple of releases behind, that's totally okay. Your feedback and involvement is still crucial to the continued growth and success of our community. So please get involved. We really want you there. We want to hear from you. We want you to be more integrated in our community. Next up, we have one more project. Bobcat highlights from Cinder from Rajat. Yeah, hi. Thanks, Kalyan. So I am Rajat. I am serving as a Cinderpreet here. So let's get on to some of the new things that we have in Bobcat. So we added three new storage drivers. So first one is the Yadro Tatlin Unified FC Driver. So in the last cycle, they added the iSCSI driver, and it's good to see they are actively contributing. Now they have their fiber channel driver as well. So yeah, more contributions from them. This one is a new one, which we have the ToEunit Store iSCSI driver, and it's good to see contributions from different vendors, like adding more to our list of supported drivers. And finally, we have the Pure Storage Flatchery NVMe TCP. So Pure already supported iSCSI and fiber channel, and now they also support NVMe TCP. So it's kind of the most used protocols that Pure supports now, which is really good to see. So that's all the driver we added, and it's not a new feature, but it's actually a bug fix that we could not restore RBD backups to normal volumes. So in center, we have the volume backend, and we have the backup backend. So when we create a volume in, let's say, LVM or any other storage array, and we try to restore RBD backup to it, it used to fail before, but now we have fixed that functionality, so it works now, you can use it. Another one is the OSC SDK work. So in the last cycle, we reached parity with OpenStack Client, and now we are pushing it further to add support for missing APIs in SDK. So once we have all the sender API supported in SDK, we will continue to migrate the OpenStack Client and to point to SDK, and finally, we could duplicate center client at some point, but yeah, it will take couple of more cycles for us to get to that. But yeah, the work is ongoing, and even we are going to discuss it at the upcoming PTG, so if anyone is interested working on it, then surely join us. And on to the next slide. Yeah, so this is kind of an important one, so I filled up a whole slide with it. So we have a CVE, which is kind of important and has a deployment impact. So I would just like to quickly explain what is the situation. So when a volume is attached to a NOVA instance, and we just unmapped that volume, so we have the attachment delete API in sender that unmapped the volume from the NOVA host. So we have unmapped the volume, but NOVA isn't aware, like if the volume disappeared because of a network issue or any other issue. So it keeps on checking, like if the volume can be available later. And in the meantime, if we try to attach another volume and it uses the same values, like the host bus, the same PCI configuration, then the NOVA instance thinks it's the same volume and it gets unauthorized access to that volume, which is really bad. We don't want any random instance to get access to a volume that is not intended for it. So the solution that we preferred was to block the attachment delete request, unless it's one of the reasonable reasons that... So for NOVA, the reason is like, if the request is coming from NOVA and NOVA has a service token, then we will accept that request. But now end users cannot just go and delete attachments because it is a security loophole that we fixed during the cycle. And there is a deployment change associated with it. Like we have a whole documentation around it, how to configure service tokens for NOVA. But you will need to modify the NOVA.conf file to add more credentials. And so yeah, the document covers everything, but there is a deployment impact. You need to change some things for your attachment delete to work. So if you just upgrade to Bobcat and see the attachment, volume detachment failing, then you can just refer to this talk and see the changes you can do to fix that situation. So we have merged and release this CVE on all the supported stable branches. So from 2023.2, bobcat.yoga, we have this fixed merge and release. So you can be rest assured like all these, if you use any of this branch, the latest version, then you will not be seeing this issue or it is not exploitable for you. And finally, we have information about the PTG. So as everyone already said, like we have a PTG upcoming. So Cinder is keeping four days blocked from 24 to 27 October. And the time we keep for every day is four hours from Tuesday to Friday. So usually the Cinder topics fill up all the time. But if there are less number of topics this time, we can just shorten the duration. But for now, I have booked the cactus room in the PTG link. So I will update the meeting URL, but if you just go to that during the PTG and just click on it, you will be redirected to the Cinder room. And we have a planning etherpad. So I would like to request you to please add topics if you would like to discuss it with the Cinder team. Yeah, that's pretty much all the updates from Cinder site. Awesome, thank you so much Rajat for all of that. So that wraps up updates from five OpenStack services, Nova, Neutron, Ironic, Manila and Cinder, but there are just a few more OpenStack services than that in case you are not already aware. So if any other OpenStack projects want to share their Bobcat project updates like these lovely folks did, remember that you can always record your own and then send it to us and we'll make sure to share it with the entire community. So while we wait for audience questions to roll in, I want to invite everyone back on camera. Do any of you have anything in particular you want to mention about your amazing contributors or operator involvement, being the two focuses of this release in particular? Well, I was going to follow up on something that Rahat said about Cinder in that CVE in particular. I'm just noting if you've not upgraded for that yet and you are using Ironic, Nova or other OpenStack services, please make sure you read that security notice in detail. There is an Ironic patch required if you're using Ironic Cinder integration that goes along with that. So that's a particularly tricky one. Make sure you look at that and make sure you get all your services updated or else you're just going to see weird failures. Important thing to note, definitely. So while we wait for any questions that the audience has about any of the updates you all have shared today. Yeah, so I would just actually reiterate what I said previously. I mean, if you really look at the numbers, I think a third of the features that we implemented this cycle were actually provided by use cases from the operators. Nothing is magic. Nothing is magic. We all have priorities and we basically try to do our own stuff. But if we don't hear any feedback from the operators, I mean, we could be wrong. The only, and you mentioned basically a feedback loop. For us, this is crucial. Particularly this time, we'll have a virtual PTG. I then reiterate the fact that, yes, indeed, this is free. Yes, indeed, there may be some concerns about the fact that we have contributors. But here, all of the PTLs are trying to make room for operators joining. And that's definitely the right time for operators joining in. They don't think their own use cases that they have in order for us to find a solution for them. And that happened last cycle and I would really like to have it happen again for Caracol because that story works. Yeah, Jade, do you wanna talk a little bit about the TC trying to organize operator hours for? Well, I was gonna play off of something that Sylvain said first, which is don't ever feel imposter syndrome or feel nervous about engaging with the community if it's not something you've done before. There have been multiple times, not even always in upstream context. Sometimes in a downstream conversation, it'll be the most junior person in the room who will have the idea that breaks through the problem or things like that. So please come talk to us.  No ideas too silly, no problem is too weird. Let us be the ones to say no, don't say no for us. We wanna have those conversations. And as Kendall indicated, the TC is encouraging projects to hold operator hours explicitly for this type of interaction. But I'm gonna be honest, in the past we've not had great participation in that. And in order to justify that time from the contributors, we really do need folks who are using OpenStack to reach across, to come join us and have those conversations. Or even like I said, if the operator hours, if coming to a video session, talking to people, coming to IRC talking to people is not it. And you have some good idea for how we can gather feedback, bring that to, right? Like the meta feedback. We'll take whatever you've got. We want to be where the operators are, because y'all know where the real problems are. And quite frankly, I would rather hear about your problem from you and solve it rather than wait until the people I work for experience sit. And have to solve it themselves, right? Like we all have different environments and you will have a unique insight if you come and chat with us. Yeah, addressing problems before they become problems is great. But if you're having problems, we would love to know about them so we can help you work with you on fixing them. So actually, if you are unsure about getting involved in the PTG, you can look at the schedule that's developing as various project teams sign up for time. So if you go to ptg.opendev.org, you can see when teams are planning to meet and we're working on getting the operator hours set up on that schedule as well. So keep checking back for updates. And yeah, perfect. Yeah, there you go. A link makes it easier for discoverability. Yeah, just one last notice. So basically, when you look at this website, we'll find that the teams will meet together on specific timings. Don't be afraid of the fact that you will see it's like, for example, for now, this is four hours per day. That doesn't mean you have to attend four hours per day. Obviously, you can actually join anytime you want. We'll have some kind of agenda depending on the projects. Some projects do have some kind of agenda before they meet while some other teams are trying to run on the topics when they want. But the fact is, keep in mind that if you're only able to join at some specific time, no worries, people will try to make room for discussing about your own use case. That's not a problem. Take it more like the fact that some projects are meeting together for four hours per day.  This is the other way you should be seeing it. Yeah, it's very flexible. And a lot of teams are willing to shift topics if you say that you really want to be involved in a particular one, but can't make it at that time. Everybody's really friendly, I promise. And honest, we do have a number of teams outside of OpenStack that are meeting at the PTG as well. StarlingX will be participating, Kana containers with a little bit of the confidential container project from the CNCF is actually going to be meeting as well. So if you're a project that is interested in meeting at the PTG, but isn't already signed up, feel free to reach out and I can get you set up and get you involved. There are going to be a lot of excellent conversations all throughout the week. And yeah, we'd love to see you there. Love your feedback, love your involvement. Doesn't look like we've got any questions so far. So are there any other Bobcat things that people want to mention before we wrap? I know that Nova, Sylvain did a good job of mentioning this in the presentation, but we should be a little loud about this, that we did hear operator feedback about the upgrade carousel that you get on a little bit. This is our first release that you can skip. So if you've somehow listened to all of this and you go, I don't need it, you can skip it and you can upgrade directly to Caracal. We've worked hard to give you that option and have been testing it. So please do not forget that. And it's pretty fun that we go from having projects where you could upgrade their software six times a year if you wanted to, to now you can upgrade once a year. So we're trying to maintain that flexibility to keep you off of that upgrade carousel. I've done open stack upgrades in large clusters before. It is, you can make the software as good as you want, but making that many computers do what you want is an incredibly difficult task and having to do it once a year instead of twice is gonna be a benefit for a lot of folks. Yeah, and that itself is operator feedback that we've adopted and figured out how to make dreams come true, you know? So I wanna thank all of our awesome speakers today. Thank you, Salon, Vidalpo, Jay, Carlos, Rajat. And thank you to our excellent audience for being here with us today. And we look forward to the next episode. Don't forget, if you have an idea for a future episode, we really want to hear from you. Submit your ideas to ideas.openinfra.live and maybe we'll see you on a future show. Thanks again to today's guests and we'll see you on the next episode of Open Infra Live.