ActonOS
Dashboard
Manualprocessed

Database Version and Security Waiver Strategy

Transitioning to Limited Database Versions and Security Waivers

provisioning

Original calendar title: MVP Slash T 1

May 25, 2026, 12:00 PM

ActonOS summary

Database Version and Security Waiver Strategy

Date: May 25, 2026

Attendees: There, Other, How, But, Sabha, Engineering Team, Product Team, Implementation Team

The meeting focused on implementing a strategy to restrict database provisioning, patching, and backup restoration to the current release (N) with plans to support older versions through security waivers via service requests and API-driven waivers.

1. Database Version Restriction Strategy

  • Discussion on restricting provisioning and patching to current release and using waivers for older versions.
  • N is the only available version for provisioning, patching, and backup restorations.
  • Waivers required for older versions via SRs in the short term.
  • API-based waivers for N-1, N-2 in the medium term.

Action Items and Follow-ups

0 tracked

No explicit commitments were stated.

Follow-up Points

Nothing flagged.

Additional Notes

Nothing flagged.

Decisions

Nothing flagged.

Open questions

Nothing flagged.

Risks

Nothing flagged.

Commitments

0 found

No commitments found

ActonOS found the transcript, but no concrete owner, action, or follow-up was stated.

Transcript

Hi, how's it going? All right. This whole security discussion is just getting more intense. In the last 10 minutes, I didn't check Slack and there are 2300 messages. It looks like something is still going on. I mean, yesterday we had one call with one team. It was more about N and N minus 1, like supported cloud, we are kind of restricting. Was there any kind of fruitful outcome from the call? So, I can update quickly, right? So, DB and GI both, the proposal is only N is the available version for provisioning for patching. There are three proposals, three milestones. One is the immediate, two weeks, within two weeks milestone. So, only N is allowed for provisioning, patching, and backup restore, like restore, create database from backup. There is a version which we consume when we provision database. So, even in that flow, so only N is allowed. If you need older, then you, short term, short term meaning in the next two weeks, what we are going to deploy, given all this mythos and all that, you can file an SR and you can accept responsibility for the security risk if you want to provision or patch using older N minus 1 or 2 or 3 or 4, whatever it is. Initially, I think one was like, once you sign the waiver, how does it matter? You can go N minus whatever, 9, 10. Then we kind of had a back and forth because already cloud only supports for stock images, it only supports N minus 4. So, long story short, that came down to through SR exception, you can take any version if you like, but you have to assume the security risk. So, that is a two to three weeks proposal. OS, same thing, only N. OS meaning guests only N without exception, only N is available both for VMware provisioning and guest service patching. Then the medium term, which is right after like four to six weeks out, is N continues to be available without any issue. N minus 1 and N minus 2 for DB and GI will be available through a security risk waiver, but you don't have to file SR. It will be through some cloud API. There will be some cloud attribute which stores your intention, where you sign the waiver in the cloud or something, whatever, we need to design that. So, N minus 2 is going to be available through API, but same security waiver is required. For some odd reason, I think there was a big debate that being X-ray Linux issues are more publicly known and whatnot. And there it is N minus 1. So, you have N and N minus 1, which are available. So, N is of course, you don't need any waiver. N minus 1 through API, you will have a security waiver you have to sign and assume responsibility. And then anything below this, for DB, GI, below N minus 2 being N minus 3, 4, whatever, through SR and for guests, anything below N minus 1, which by the way, in guest OS is monthly. So, basically, you are just giving two months of versions in cloud, meaning one is the latest current month X-ray image and then one month before through the whatever security waiver, API security waiver. And then everything below that if you want to use, you have to file SR and whatever. The SR will have some automated approval thing where you will have to accept the terms of the security impact to applying something older or using something older to create also, you will need that waiver. So, that's where the conversation is right now. Nothing to do with MRP yet, that will be like a separate discussion. So, but the decision is made that today or tomorrow, because two weeks from now, if we are implementing this, we have to send a notification out and reach out to all the bigger customers because they may already be halfway through using the API for already existing versions. You may have, you know, custom images built with older RUs or whatnot. So, those all things will now fail and you will have to raise an SR in the short term. So, that notification, that customer notification will be sent out, I think we have like next three, four days and I think the effective dates maybe from which this will happen is May 28th or June 1st or 2nd. I mean, between that time frame, between 28th and 1st. Yeah, that's where this is. It's pretty crazy that we are kind of, you know, changing the acceptable versions. Already our customers are not very happy with what we support and now we are making it even small. So, but yeah, I mean, that's multiple times. The problem is this right here. If a customer has like a production database at a particular version level, right, and is expanding on it, he needs exactly the same version. We cannot tell him, right. We discussed all of that as hands of whatever thing which I did not realize that in this whatever MRP or I don't know whether it is DBGI combined, but some numbers which the one is saying in this whatever May and June MRP, like we are looking at 5,000 fixes per month, security fixes, 5,000. He's like saying that's the number of fixes. So, the next RU and the MRP is inside that RU is almost non-negotiable. If you are not on it, then we don't want to be responsible for it. You may have a database and he's like saying. This is like a one-time decision. So, that's what you were saying that if are we changing the rules perpetually? So, he's like, we will see, hey, folks were like between now and December, we will see how many of these issues we are fixing. Right. But for RU 13, whatever, this one 32, right, 32 and 33 for sure is like the fixes are way too much and that is more of an MRP decision. The number of fixes are so huge that we will have to force them to take MRPs also. Right now, all this is just that if the problem is this right now, if a customer has like a production database at a particular version level, right, and is expanding on it, he needs exactly the same version. We cannot tell him, right. We discussed all of that and so whatever thing which I did not realize that in this whatever MRP or I don't know whether it is DBGI combined, but some numbers which one is saying in this whatever May and June MRP, like we are looking at 5000 fixes per month, security fixes, 5000. He's like saying that's the number of fixes. So, the next RU and then the MRP is inside that RU is almost non-negotiable. If you are not on it, then we don't want to be responsible for it. You may have a database and he's like saying that this is like a one-time decision. So, that's what you were saying that if are we changing the rules perpetually? So, he's like, we will see, hey, folks were like between now and December, we will see how many of these issues we are fixing, right. But for RU 13, whatever, this one 32, right, 32 and 33 for sure is like the fixes are way too much and that is more of an MRP decision. The number of fixes are so huge that we will have to force them to take MRPs also. Right now, all this is just that. Yeah, I know, we are hitting customers badly. Yeah, so I don't know about this MRP thing, you know, you know, it's just been around, but we are not publicizing it a lot, right? So they are saying, why the heck is, do we need, you guys need like monthly fixes? It's a product so buggy. I mean, that's what somebody was saying, right? Like, typically we have like five, six fixes monthly. But now we have thousands. Yeah, yeah, thousand to whatever, right? That's the number, right? Yeah, yeah, that's what that's what is expected. I mean, we'll see, but the number of fixes till this whole thing kind of whatever this Gen AI or whatever Codex is finding it, MIT is or whatever, whoever is finding these things, till it gets to a point where at some point, let's say, just make it up, like you were saying, let's say by December, the most of the the fixes are in and after that, every time you run this, it comes back to a normal level, which is mostly whatever normal product fixes we do. It's only that data, but this is all historically whatever we have is getting exposed and we don't want to assume responsibility. So on-prem they completely turned it off, right? So only NS is available. Everything else is, you have to sign the waiver. Cloud, that's what, I mean, effectively that's what we are doing, but we have some more API-based self-service waivers. Basically, we want customers to go to the 19.32, right? Or you you sign the waiver and accept responsibility for anything that works. We don't want to be responsible. That's the key. You can continue, maybe you have a business case for continuing to be on whatever 19.13 or 20 or 21, whatever your production is, but you need to, somebody in the customer side sees so as to sign that document. Correct. That's what we want. See, we got a notification from one customer saying, oh yeah, there's so many issues in 19.30. Yeah, that's a different because yesterday, yesterday morning, I don't know how we, I think it's an action item. Those guys, you know, they mix up the tooling versus the content, you know. So, yeah. They are saying, is there so much problem with the FIP? Oh, no, no, no, FIP. But what I'm saying, Warren yesterday asked an even more nuanced statistic. He was saying that, can somebody tell me for DBGI and X-ray, the number of regression bugs which are caused by a security fixes or any fixes which we deem necessary, because those are also introducing regressions. So are we tracking the regressions from security fixes separately because that is another, like customers will be saying, are these all net new problems? Are we fixing something? Are your fixes causing more problems? You know, but he's like, of course, we're not externalize, but he's trying to understand, you know, are all of these just net new things and will it tail off? I mean, like, or are we saying that every time we fix regression, it's also a next percentage of fixes? So... I mean, we have to tighten, you know, the real issue here is not the, because when I get a problem from a customer, right, I go to my team and say, hey, look, guys, you know, do we have, do we have a test case for this? If there's a test case, what is the result of the test? Did we pass it before we, on the main and then on the AU? Did it work correctly before we shipped it to customer, right? That is my line of thinking because we, development writers cannot anticipate and fix everything, okay? Right? So the focus should be, rather than, you know, saying there are more and more bugs going to customers, we should be looking at how can we reduce that by building a better quality control. Right, so Sam, I mean, again, I think here the overall quality control is, I don't know what the focus is, but secure these are all security related ones. And I think what we publicly, I think whoever that be sent out that email, right, like evals, right? I forgot the first name. The email from our EVP, assuring all customers is that we will make sure that all publicly found like, you know, security vulnerabilities will be fixed in our code base, right? And he is also coming to some date, every month, I think it's the 18th of every month, right? So that, and it is, this is a new world, right, Sam? I think, I don't know. No, that's public ones. That's not things that Codex found or something. Correct, correct. So, which is exactly the public ones, but the thousands, the thousands are coming from Codex and Kiwi and this and that. Correct, correct. And it's not like they're not introducing regressions, right? Yeah, yeah, yeah. There was that one, you know, XML path validation thing that, you know, it worked fine on 23, and then it got backported to 19 and then it broke the installer, because nobody runs install LRGs when backporting something to 19. Wow. And it broke them, not because they were calling the code, but because they had a jar file that was conflicting with the jar file that we were using, API that we were using. An old XML parsing jar. So, you know, that kind of thing, I don't know how we could improve the quality control to find it, other than, like, you know, running install LRGs for every backport. I don't think that's going to happen. Yeah, it's tough. Anyways, okay. Yeah, let's move on to the, I think I put in this above. Say, Sabha. Thanks for joining, Sabha. He's there. Yeah, yeah, we've been missing you for a while, Sabha. Where are you? Yeah, it comes here. Is he speaking? I know, Sabha, your audio is not there. Oh, can you hear me now? Yeah, now it's there. Oh, yeah, so I escaped from you guys. And some things have gone on. No, I think, I know. But today, I think what I wanted, since I think, you know, we discussed offline and we kind of, tomorrow the engineering kickoff is scheduled for the DBGI and the Don U. Right. What we discussed. So I thought we will just walk through that thing with, I think Sam and Jonathan had been there, but including Sabha. Maybe we can just have a quick walk through of what we are going to present even in the kickoff, right? But we fully, we know what is the picture. So maybe Vikash, go ahead, Vikash. Go ahead and share the story. But Sam, this is all the things that we have been discussing, right? And so we have a consensus now with Prince also, right? That this is what we will tackle for the Don UDB and GI. But the focus is still about the full post story and other things, right? But the idea now is this piece is aligned with that other thing, Prince. I think that is what is the bottom line, right? The DB, Don U and GI that we are doing is workable into our higher model that you've been discussing for the post and things, right? Right, Vikash. Yeah, go ahead and then maybe. Sam, I don't know if you have anything to add. We have the recording and the AI thing also. Because it's a totally different look. I'm seeing it after a really long time. Yes. Any guesses about... Yeah, yeah, correct. Yeah, so I started the create collection flow. So basically this is a new drop-down menu value that will be added for the collection type. I think there was some back and forth about whether to use a different pattern, but I think for now, for this project, we'll go with this pattern, just showing a new drop-down value. Hey, Prakash, I put my screen and I can create again. I cannot make out the letters. You can do one more. One more larger screenshot. Yeah, just about I can make out except for database service on dedicated infrastructure. Okay, I can manage to read it. Okay. Okay, just a thing. These are still mocks, drafts, Sabha, the Prince, the Vikash has been brainstorming this, but I think I will leave it to you or I don't know, Prince, we have been thinking of involving the designers also if needed, right? Right. But this is just a rough draft mock. Okay. Yeah, good. In the previous discussions, I think we thought rather than for MVP slash T1, we will go with one major version for OS, just one major version for GEI and one major version for database. Then I just called it out, the Scorpio. So in the future roadmap, we will support like multi-select Linux 9 and 8 for OS and so on, but for T1 slash MVP, we went with one major version for each. And the other thing is we will look at it on the next slide, but this is, we are introducing the major version limit. Today, when you do update collections for staff, the major versions are not shown here. So this is a new addition to the flow for the staff case. Yeah, and then once they select it... Hey, Prakash, one more question. So the Linux 8 would be a drop down, like what are the values we have to show? Yeah, I think today it's only 8. Today, actually, today, I think the API has 6, 7, 8, but based on the discussion with the Center of Excellence, the WebUI can only show 8. I guess we don't have to call the... So we have your filter for that one. So it's going to be called or it's going to be like unique value. I think that is one, one project probably in the works to offer an API to show the supported accelerated major and minor versions plus streamless versions. But I'll go with that for the future. If that project is before this, we can leverage that.

Okay, so should we delay on that feature, that API? I think I'll go after that, right? After that preview? Yeah, this will go after that, so I think that. I think until then, we can just maybe hard code it, and then... And GI API, I think, today already. Yeah, it should be totally independent of what you select. Yeah, but yeah, these are monthly select drop-downs in the future, but for now, it's single select for OS and GI, multi-select for... It shows a double though, right? Like as per GI, I see 19, 700, 3A. Yeah, and I can change it, but I just called out for P1. That's what we expected, right? Yeah, I mean, I put the note here saying for it's only single select for OS and GI, but I can... And it should be 26A, right? No more 24. Yeah, I mean, there should be only one entry for P1, for LAP. Yeah. And the other change that is happening here is the... When they click edit search criteria here, the other changes are... So previously, the major versions were being shown here for the search criteria, so we will move the proposal that will be moved here, and the drawer will be simplified to only show these basic criteria, nothing else. And we will select the latest version and the systems software release versions for from here, so basically this will be the simplified search criteria. Okay, this would be permanently for all irrespective of the stack. So only for the stack we are moving, right? Oh, okay. Let's call it out, I think it's there. Yeah, I think I just mentioned for all except the stack collection template. We can add an extra note. Yeah, so only for this collection type we are... This one and the one we already shipped, Salva. This is the second stack type, right? So we had the GI and OS, so this is GI OS DB for both of them, we will use this method. The other ones will not scope, maybe it will all line up, but we don't want to increase scope and go and look at DB and single collections right now. Maybe it will just work the same format as well, but... I think there was a previous conversation that one. Simplify the whole thing. Yeah, so that's why we are just focusing on the stack for now, and then maybe these changes will propagate to other collection types also, but right now we don't have to focus on it. And this is basically after the search in progress, but... And the other thing I will mention is that today the search criteria are kind of milderated, where it's creating a stack cycle, they have to open the drawer with the legacy going forward. They don't have to do that, they can just hit create after specifying the major versions. So this will align with the single component collections like DB or GI. Basically they can create like an empty collection just with the major versions bundled, and then they can add the target. That's just... I don't think many people will do it, but we are just aligning with the other collection types. Well, it's all or nothing, right? All or nothing? I don't get it. So today, like if you go to a DB collection, you can skip the search criteria altogether and just select the major version for DB and click create. So when you see the targets, targets would be under that table, right? But in a DB case, that's not required. You can just go with an empty target and still create the collection. So we are just aligning this to that. So that's what we're saying is that the targets is not a required thing for you to define your collection. You can just say that I have a collection and then you can add targets post-create or during create. Before the API would error out. That's just a minor thing. Nothing new. And what is this table then? No, no, this table is if you hit search criteria, you add 50 targets and you click create, that is the regular flow, right? Even if you don't add search criteria, you just create and then add target later, that was not supported for stack before. So we are just recollecting that. Targets are not required to create a collection. You can add targets post-create. That is how all other collections are and stack will also follow the same part. This is nothing new we are saying. You can add targets and create or without targets also you can create. That's the only thing. Yeah, I think today the behavior is the create button is disabled. So we're just saying that this will always be enabled as soon as they enter the major versions. Can we totally remove the table only if they hit on the search criteria after they choose target, we can show this table. It would be confusing, right? We show tables with no items to display. But basically, so now that's a different UX discussion which we need to do, right? So this is there for all collections, right? All five collections. You're saying that that is a different, I think, enhancement we should go for. Previously, like, we should have some targets, right? No, zero state we never have targets in any of the collections. And when you hit search criteria, you find it and then add it, then it shows up here. That's how the current behavior is. The only change is that the API errors out if you don't add any targets. Today, that is true for other collections here. I mean, for stack collection, we are just removing that restriction that you are allowed to create a collection without targets. But that's not the emphasis. We are just aligning with whatever is existing. And we can change that pattern also, but let's keep that as a separate thing. Okay. That's all. That's the only thing. That's it. Your feedback, Sabha, is that, you know, should we change the interface of how we add it? The targets are not required, right? So, we don't need to show that table. You can go to Edit search criteria, then fill in, then they select targets, we can show the table. I'm just looking at current implementation. So current all collections have that table. We can remove that. Yeah. Okay, that's... We can take that as a side enhancement. Yeah, okay. Because I think Sam also provided feedback. We'll probably change that whole add targets experience as a separate focused item to make it slightly different. We have some ideas. But then that will kind of deviate from this whole vertical. We have to get the DBGI OS out. So that one, maybe it will come before and then we can use that presentation. Maybe it will come after, but we don't have to overload this project with that enhancement of, you know, target selection, if you will. Okay. So, edit search criteria for this use case is only to choose some targets if the user wants to. Yeah, which is true for all the collection types, all five collection types. Okay. And then entering the search criteria and hit search, then once the search is done, this table will be populated. And for the new stack type, the proposal is the table will become like a tree table to show like a hierarchy of the trusters and associated databases like China resources, basically. And we can discuss this and presentation if we can simplify it further. But for now, I think we will. These filters to begin with, like the filters can be multi-set and because the targets can span across departments, we can try to see if we can simplify any of these other columns, but for now, the idea is that we should actually have these three columns for joining the individual compartment questions, the current questions. Okay, this thing came from UX designer or you guys made it up? We together that's from the UI... I'm not sure whether we have a keytable now, but we just have the expand and collapse. I will have to take a look at the library. We haven't implemented any keytable. We have just have the one expanded row. Yeah, that is there. I'm referring to this pattern. Yeah, they have it, but I don't know whether Jet have it or not. So I will have to take a look whether the framework that we use supports the keytable. So we just have one row expansion. Yeah. Yeah, that also will make it something, but my understanding is this is based on the mind toolkit kit from OCI and so and they offer the keytable special expanded folder, the higher table. And if they can actually come to see whether we support that in current framework. So it will have each the VM cluster may have many databases, right, expanded rows or only one. It should be more. It can be correct. So if we don't support keytable like this, we may have to revisit the selection could be in the side panel for each row. But then how will we do that, Sabha? So, for example, let's say first cluster has five databases, second cluster has... So are you saying that it will be a two-step interaction? Yeah, if you go back to the screen that you are showing. But this is the pattern. Yeah, this one I will get back like whether we do support in our current framework that we are using. It is there in the framework. I don't know whether Jet supports or not. I will have to find out. We have not implemented any keytable. We have just have the one expanded row. So what I'm saying is like if we don't have that support, we will have your three dots in the first row VM cluster. When you click on it to view or select databases, then the side panel will come. There you will see the list of databases for that VM cluster. But Sabha, this whole thing was populated as part of the search criteria results. Remember, like if you go back, right. But that we can filter on the client side if all the results are in one API response. We could do it. So if I am not able to achieve this, right, the alternative pattern is have your three dots on the first row VM cluster. Then select databases would be one of the row actions that will show the panel. The panel would list the databases. From there, user can choose the databases. When they close the panel, we will show the expanded row with the databases comma separated and if you want to see the version, we can show the metadata. But if you are seeing n number of databases, then this page would be really crowded. Yeah, but Sabha, this pattern is not just this. Later on, on each of these databases, we are offering rollback, retry, those kinds of operations. This structure, right, is not just during create. This is how the jobs will be. This is how the actions will be. These are the jobs will be and each of those individual things which have failures will have retry, rollback, those kinds of things. But since I thought we were once we get to the jobs, right, we will have individual target type screens. Correct. Yeah. So target types, yes, but it is all under the parent, right? So let's say you have one VM cluster, you have five databases underneath it, right? And this whole job is one action, right? So let's say the VM cluster one has one GI job, one OS job and 15 database jobs. So and it is all operating as one vertical job, right? So if let's say all the 15, let's say database 4 and 7 failed, then you can do retry on them. No, no, but what I'm saying is if we have five VM clusters. No, no, five VM clusters are made good. That is clear. No, no, wait, wait, wait. If you have five VM clusters with 25 databases. Each or across? Across. Across. Total. Okay. Ten VM plus, which means 10 GA, 10 OS, and no databases. Correct. Right. Now, this is one collection, the vertical collection. Correct. So let's say we created this collection based on a criteria and all those things are there. There are 10 GA targets, there are 10 OS targets, there are 100 DB targets. Right? Now, we are thinking of passing on this. Right. We are going to give them the images, everything, right? We are thinking of an update. Now, the customer is to now look at the results. Hey, how is my update going? Correct. Will we still have an interleaved screen where the 100 databases will be interleaved between the OS and for each VM cluster or are we saying there will be a job screen that will show only the 100 databases similar to the individual database target, right? And there is a job screen that shows only that can get. The job indicates the OS. Yes. And the presentation will be like this, but they can filter, right? If they want to filter, they can apply the filter saying, I only want to see DB kind of jobs or I don't want to see GI jobs or OS jobs. So the filter is what will help them to populate the table based on what, if they want to focus on only one target, then they can add a filter saying target 10 equals DB. But more importantly, yeah, so the filter is the second part. Sam, the main question is, in those hundred databases, imagine they are all evenly distributed around 10 different VM clusters, right? So the progress is different. So your database job is dependent on your each instance GI and OS completing, right? Yeah, but all hundred databases are potentially concurrently progressing. Right. Concurrently progressing. Yeah, just, yeah, but it is in the respective context of your, so the vertical job will be, you'll have job ID 1, which is GI job, OS job, and all the 10 databases underneath it. They are all progressing as one job. The second VM cluster will have GI job, OS job, and the 100 databases underneath it, right? Yeah. So basically it will be just like the interleaved, like what, however the, because your retry and rollback and all of that are tied to your OS and GI, correct? So it will be just like the interleaved. The way it is executing is how it will present it. Are you thinking... What I'm saying is, right, those hundred databases, a customer should be able to see that on one screen, right? And then monitor the progress. And when they're all done, you can go to the failed ones. And then, you know, do you remember the last column, right? Last column had a drop down. You can say, you know, rollback or, you know, continue, right? Okay, so that time you have to come back some. This is the same as the creation, right? Wait, wait, wait, wait, stop. I'm kind of trying to close the loop here with Prince, Kannan, Vikas, right? The, the, the customer should be able to see a screen. There's only databases and decide on that once a job is done. There's not like as it is going, right? Yeah, yeah, yeah. So for some, it would be a black list of hundred databases or we refer to hierarchy. Yeah, that's what the question is. Hierarchy exists, but the visibility in terms of the customer, you know, looking at the results and, and acting on them, right? It would be a black list. That's what I'm thinking. So then, Sam, how will we do the retry of, because database jobs are not the only ones, right? So for one database, let's say the GI is hung, so then where will you go for the GI job, GI retry? No, that's not the database.

Correct, correct. So then, that's what I'm saying. It is still progressing, either it is the second node or third node, right? It is still progressing. Correct, correct. So then how will they... If you go to the GA screen, that's people, for GA, he will say something is failed or whatever it is, right? No, but this hundred database is MC the association is on the hierarchy from the... That is the interesting thing, because he already, he knows it. No, but we know it, but where does he associate that? Let's say we give a pane that, hey, these are hundred databases. How does he associate that this database is involved with this vertical collection, this particular cluster ID? On the point of execution, you know, it should look like, you know, the one execution should look like if you have submitted 100 databases and 10 OS and 10 GI, right? These three as individually. So he can go and manage those. Only thing is that when you're doing this, when you look at the database, they show progressing if the database has not failed, right? If it's waiting for the next node, things are going on, that's fine. But if we go to the GI, he'll see it's a failure. No, but Sam, you're still thinking that it is hierarchical, right? Sam, I think it's not. No, I think that, yeah, I think Sam is saying that... Yeah, but the other way, you know, the user interface, right? Because it will get so confusing to the customer, right? He needs to feel like, you know, I have, I can submit a hundred databases, right? And then I see the job results. Now he should have that same experience when it comes to vertical in terms of at least handling the, submitting is different because we all know that it's a different way of submission, but the results handling, the output, the progress, you know, the retry, whatever, that experience of it should be very similar to what he's doing if he's doing only databases or if he's doing only GI or only OS. Even the retry, you are saying that it will be separate things, Sam? What is that? Even the retry, you are saying that somebody just goes... The retry will be on the same component, right? It will say what failed, right? OS failed, the go rate and OS, and then you continue on the other ones, on the vertical, right? But the GI or DB will not show failure at that point. Otherwise, you know, these failures are just multiplying. One failure in the OS will say GI failure, 10 databases failure. And then the guy will get confused and say, hey, what am I supposed to look at? Right? Or is he going to visually correlate these 10 and all those things, right? That is why I'm saying the show is promising, no noise. There's nothing to complain, no noise. But wherever there is noise, we have to show it and make him look at the one part of it that needs action. Because you see, these 100 databases with the 10 OS and 10... I'm not going to fit in one screen. And then also the failure will percolate to the top, right? I think we have it in the other one, right, Vikas? If you are submitting 100 databases patching, they're all in progress. Something fails, say the 90 was to fail. It will percolate to the top and show the failure on the top, right? Yeah, that depends on the default sort you are applying on the column. So we are listing out the column, then the default sort is not applying. No, the sort, it should bubble up the failures on top, right? It's just how we present it based on the data and the sort. So Sam, this one we can look at, but one question I had, like, so for example, just to break that down, right? So you're in this example, saying 10 VM clusters, so technically, just for sake of, just to translate what you just said, right? You will have a, if you go by the OS, each component has its own page. You'll have a page where 10 GI jobs are listed, 10 OS jobs are listed, and 100 database jobs are listed. It happens to be interleaved. That's like something which the engineer knows about, right? The end person who's looking at it, you have three lists of things. Now, based on our thing, we know that, you know, each of those clusters and the, you know, first all, you know, because we start OS here. Right, right, right. Someday we can show a bar saying, hey, this is part of the vertical, but visually, right, we should, we should get his attention to look at only the thing that he needs to act on. Sure, sure. Now, and that part we are achieving. If that is the objective that we are achieving here also, but let me just kind of finish like the thought which you had, right? So you have 10, three tabs, just for sake of having 10, 10, 10, 10, 100, right? So now the question is, if you have an OS failure, which is the first thing which has happened, let's say VM, like, you know, VM cluster one, two, one through 10, you know, whatever, nine of them are progressing, eighth one has failed, right? Now GI is not started for any of them. Database is not started for any of them. Because in this format, OS is what is going to be like the first one which is running. No, they all run concurrently. I don't think that'll be the case, but whatever, where the OS is crossed over, it has gone ahead with GI, you know, probably gone ahead with DB. Right, right, right. But what I'm saying is just at the beginning, right? When OS is, the component is being patched, at that time GI and OS, they will be showing some kind of state, like in progress, correct? Because... No, not started, right? I mean, it just started and it will get started. So, in this case, if it's combined job, it might show in progress, yes. Yeah, right. So basically, right, so the GI all 10 will show in progress and DB all 100 will show in progress, but really, the job has just started on 10 VM clusters for the OS to happen. And just for now, let's say, and just for the sake of this discussion, all these VM clusters are all for node clusters. So first VM is going on. Like, typically, they should all take similar-ish time. So let's say one of them failed, the OS job failed on one of the VM clusters. So now that failure has happened and then the other nine have progressed to GI. On that first VM, we are still talking about just the first VM, right? And then now that one failure has happened on the OS, now you have the option to click on that. What was VM cluster or first VM of the... First VM, because remember, all of... Yeah, yeah. Correct. And it is happening across these three tabs, basically. Because first tab is only GI jobs and they are all operating on the GI. I mean, first tab is OS tab. They're all operating on the first VM of all those 10 clusters. Then after that, they will operate on the first VM of all the 10 GIs. Then it will operate on the first database instance on all 100 databases. So the way this progress, you are envisioning and maybe you are thinking is slightly different. But let's just see what you're saying, right? No, but it was going to be, right? No, no, but we had all of this in one page. It is like all parent-child. No, no, I'm just saying that is not visually, you know, friendly to the user. Because they are all in progress. If we are seeing like hundreds of databases, right, showing it to you in one page, it's not going to be... No, no, it's not hundreds of, right? Those hundred are like each... Let's say, again, just to make this example more simpler, right? It can be just... One VM cluster has 10 databases. So you have each row as 10, 10, 10 databases in it. But they are related because the first VM cluster's first VM and the first and the first database, all are going to be done together. That is when one VM will be done. Then the second VM, OS will be done, GI will be done, and the second, each of those 10 databases, one, one, one, one, one, will be done. You see what I'm saying, Sabha? So basically, splitting into multiple pages and all you can do, but the key part here is how do you address failure, right? So first, let's just say, OS has failed. The first component has failed on VM cluster 8, and that means that now, the minute that failure happens, that means your GI and database are stuck. They will not progress. Correct. Correct, so you have, let's say, one entry in the GI page, which will have some state saying that, you know, it can no longer be failed. It will, sorry, it can no longer stay in progress because you have not even started. You are in progress, but your GI... Technically, right, the way it works, right, if I take a VM, right, the databases, services gets stopped, databases gets stopped, the GI gets stopped, then the OS patching starts. You cannot do the OS until you get these guys down. Correct. So it's in progress, technically. I don't think, you know, it's all up and running and stuff, right? Correct. So it is, correct, but that means... Because the wrong one is showing in progress. Yeah, but, okay, so then the question, that's what I was trying to say, that now... So if you go, if you have one page that has nothing but databases in it, then some of those databases are marked in progress, but really, they're not progressing because they're underlying GI failure. The point in showing that is, if you want to show 10 databases failed, because the GI failed, the customer is going to see a lot of failures. And what is it supposed to do? Hey, I'm not going to click on... No, no, no, no, no, the databases are not going to show this to me. If you go to a page with a hundred databases and they all look happy, but some of them aren't going forward and the rest of them are, then, you know, that's, I'm just saying it would be nice to have some way of telling the ones that are stuck because they're waiting for something else that failed from the ones that are happy and they're... The thing is, visually, right, the display based on the type would be more convenient. And it's, what I would say is, it gives the same experience to the customer, whether it does a single target or whether it does both. Right? I don't know, you know, but... You're no longer making somebody click different tabs. So, that's what I'm saying, you're telling me, right? If GI is in progress or GS in failure, database also shows in progress, right? Even if it is stuck, okay, and it is showing progress, it still needs to go to the GI error log or the OS screen. Correct, and that's what, yeah, correct, and that's what we're trying to get to, right, Sam? That to do troubleshooting, it is not that all 100 databases are, you, you, so even whether you put it on three tabs or on a single tab with parent-child relationship, the way to troubleshoot will be, in this case, let's say VM cluster 1, I mean VM cluster 8, OS has failed on the first VM, VM cluster 2, GI has failed on the second VM, and let's say all the other 8 are progressing as expected, right? So when you see failure, you will see jobs today, what Vikas is presenting is, you will see 10 vertical jobs, just 10. I'll give another example, because, let's say OS and GI success, the 100 databases, say 11 databases failed on different clusters. Sure, so that also we will take, but let me just finish this one. The same, actually, that's a beautiful example, because both your example and this example have the same number of clicks to troubleshoot, is what I was saying. First, let's just finish this one, right? One VM, OS has failed, one GI has failed. And then, let's take actually all three in one shot. And in another example, because only if these two, the other 8 were progressing, and let's say imagine that, you know, on VM cluster, another single VM cluster, 8 of them have failed. So basically, 7 jobs are running and all databases are progressing, no problem. So if you go look at the vertical jobs list, you will first of all see 10 entries. We all agree? Any questions there? 10 jobs, 10 vertical jobs, because there are 10 VM clusters and they're related to each other. So first, in interface will be, you will have 10 jobs. I'm just trying to play out what Vikas is saying and how the troubleshooting works, right? So if you just have a nested list, you will have 10 jobs, of which 7 will stay in progress because they have no issues. One of them will say failed, that is on OS. Other will say GI failed, which is on the GI component. And the third job will say failed, and when you open it, you will see the database failed. Let's say 11 databases have failed. So wherever you have failure in your stack, amongst the three components, it gets updated and shown on the job, which is a composite of all the components which needs to be updated, right? But you will have 10 jobs, and you know 7 you don't have to interact with. 3 you have to interact with. The minute you click, the first one, you will see, oh, OS has failed. Then you interact with it. But rest of it, you don't have to interact with. You don't have to interact with the GI job or the database job when you open the component. Yeah, that's, yeah, because it's just the way we have ingested the payload is how we are troubleshooting our experience of payload. But it is a function of wherever the failure is. So second job, you will open, you will see OS has completed, GI has failed, you will interact with the GI component. But again, you will not open the database or do anything with the database because databases have not even progressed. Right? And then the third one, you will see, when you open the job, you will see OS has completed, GI has completed, and when you open database, you will see, oh, there were, I don't know. When you open, see, it's all the screen, I just stopped to visualize what is the customer looking at. Yeah, I think this one we can, we can show, right? I mean, maybe, but because we said it will be flat, we did not get to that presentation though. Because do you have that presentation? The idea was that the action, the individual jobs would also expand. It will look like this. Yeah, but if you have a, you know, your example here, right, it says there's only one database. Imagine there are 10 databases. Now, how will the screen look? It will show only one VM cluster. It will not call the remaining. That's a misunderstanding of the UI pattern, which does make us... If you don't add, yeah, I can quickly... It's about like this, right? Like if you have like this kind of a list, then this is what will happen. You can do this kind of a presentation of the option where you contain it. There's a progressive loading. Yeah, so this part I need to check it out. Like current framework, we don't have a... Go back to your other screen. Okay. Where you had the VM clusters in DB, one DB. Now, how will this thing look like if there are 10 databases on each VM cluster? Yeah, then for each VM cluster, you will have the load more button. How many lines will be there for that? 11. If you have a VM cluster that has 10 databases, you will have 11 rows. Oh, that screen is already used up mostly. But the other things will be collapsed because first of all, the first VM cluster... No, they'll go off the screen. Correct. So these things... You don't have to go back and check whether we support free tables or not. So what I'm saying is, like, the first row will have your three dots that will open your panel where you see we are all talking about 10 databases, right? It could be n number of databases. Yeah, yeah, yeah. So having the separate panel for choosing the database would be the right thing. But about the choosing, we can still get by, but the constant progress is... It's the same clicks, right? It's the same click because the expand, you have to click on expand. That is equivalent to show databases. One click. It's equivalent clicks. No, no, no, no, I am not even talking about clicks, right? I am talking about the life cycle of it. Those entries have API calls on it. That's my thing. And it is related to your parent status. That's the key part. Here it is just adding. This is like still we can somehow get around. This one we can still maybe, you know, somehow hack it together. I think it's confusing. But the main thing is that this structure is how the actions and jobs are also planned. Because each of those entries have its own dot, dot, dot. And it has its own life cycle states saying retry only this entry, not its parent. Or there is an option saying retry this parent with all its children. Yeah, that's still possible. It's the same pattern, same pattern as adding the databases, right? And are we allowing for one component to go through without the other one unless it's taken out of the stack, right? No, you can retry, right? Rollback, yes, but retry if you fix something, you can retry all failed databases in one shot under the cluster or you can retry the whole job or the GAI, right? Retry is allowed, right? Rollback, yes. Retry in one cluster where there are 10 databases, if the GAI fails, there is no need to say retry for GAI and the databases. No, no, you don't have to. But if you have... Correct. You don't have to. That's what I'm saying. I'm saying here, you show, maybe you have tabs, right? You show the whatever VM clusters on one tab and the databases on another tab. And there is still a need to have the hierarchy thing, but that would be like, you know, the panel for the child resources if you want to retry. Yeah, but then how will we see the running progress unless without opening the panel? Only a database collection in job screen. But Sam, this already we did for GI and OS, right? Even if you have zero databases and if I just want to do OS and GI, should we have two tabs or one tab? Let's forget databases. OS and GI are bundled together, right? Currently, it's a one because they go together. But no, you see... There's no separate prefix. But then this whole notion of like whether my GI is progressing, OS is progressing, are we talking about just because it's VM clusters and databases are different resources? What is the philosophy behind it, right? One philosophy is that each component I want to see, which is the original OS is a collection, GI is a collection.

The presentation is the same, no matter whether you are doing vertical. That is something worth exploring. But if you're saying OS and GI is combined payload because they have a relationship, then the database is also part of that combined payload. Right now, the way it has been implemented, OS and GI are bundled in one response. Right? And we have rollback or rework or continue retry for combined OS and GI. We don't have it individually. If we can do it individually, I would put them in separate screens. Correct. So if they were, which is what we are going towards, so you're saying in that case, you'll have three tabs. One is for OS, one is for GI, and one is for database. Here I am kind of taking the conversation, but if you go to databases, right? Then you want to be able to see, hey, I've got 100 databases, how many have completed, how many have failed, and how many are progressing. Right? Those kinds of things are visible on a database collection screen, and that is what I want to bring the same experience. But Sam, yeah, so I hope it is not because of what is seen on the screen. Seen on the screen is 10, whether you are 100 or whether you are in here, right? Here, the only difference between the two barring Samas comment or the 10 is green. The only difference between that is the total, we have 100 plus, whatever, 10 plus 10, 120 rows across three tabs. That is one model, and we have not explored it, but we will explore and come back. But just to kind of clarify, the current presentation is not very complex. Barring Samas comments that if the compact itself is not supported, then we have a different problem. But that's a technical problem, and first we need to align what we want. So the user experience. Yeah, so the user experience. So the current problem is very clean. You always have, it's a fixed function. It's always 10 rows, no matter what. And you only interact those and those not collapsed. All collapsed. Because you will only interact when there is a failure. So if there is a failure on one database, the color gets propagated to that row. Then only you will interact with it. Otherwise, you don't have to open it, correct? If everything is perfect, 10 rows, DBGIOS, everything is there. Utilization of the summaries. Yeah, you will get, yeah, so now that's a different, now I'm seeing what's a summary. So if you want to say right click, open all rows, what you will get is, let's say they are all evenly distributed or let's say there are 10, 10, 10 in each cluster. What you will get is 10 rows which are existing parent rows, and within each you will get 10. So 100 plus. So you will have 100 plus and 110 rows fixed. No matter what. You will have 110 rows and the open close collapse will determine what you are viewing. See, that is the net net. And you will still have scroll. So instead of 120 rows across three tabs, you will have 110 rows if it's fully open on one tab. That is the present. Now the question is, how do you do RC, right? You only interact if the first row is red. First row is red means something in your stack has gone down, right? Whether it is DBGA. So if, let's say, that's why I was saying that defining of 10 rows and 7 rows are all green, you don't, you don't touch it. You don't open it. You don't need care because everything is going as planned. One of them is red. Let's say last three are red. First one you open, OS has failed. So the minute you open, you will have an entry for OS. OS and GI is that entry itself. You will see, oh, OS has failed. Retry. Databases, all 10 of them are all in progress. You don't interact with it, but it is open. The second one you open, OS has succeeded, GI has failed. That also is on the same row which you opened and interacted with. You right click and say retry GI or rollback GI, whatever you want, but you open 10 databases. They are not progressed. They're all in progress. Third row, you open, you see OS and GI are marked as green. It's on the same row. And then on 10 databases, 1, 2, 3, 4 databases are all successful. 7, 8, 9, 10 have failed. Now there you can do right click each or you can do right click. The way I see it, from a customer perspective, it seems this is a little bit more tedious, right? You need to go and then, you know, uncollapse those, expand those, right? Otherwise, you have to switch between tabs and make the correlation that which is the parent, which is the child. Right. No, Sam, but the tab is only there, but you still have to build that relationship, right? From there, you have to find out which parent. You don't need to know which parent. If there is a space, right, you can go click on the database, see the retry. Whatever it is, right? And you know, the dependent components will proceed. If you look at our vertical stack implementation, let's say on the second node, the fifth database. Now I'm giving an example. It perhaps is not technically what we want, but for argument's sake, let's take it this way. When it does a retry on the fifth database on the second node, right? And it goes through, right? It will go through the other stack components. It will go complete the GI, it will complete the OS, then it will go to the third node, right? It will do all of the stuff. So he doesn't need to really know the dependency. He just says, where is the failure? Go ahead. Then I'm looking at the failure and I decide what to do and I act on it. That's all. That is how, see, the way customers see it, right? It sounds like, you know, they, they understand this, there's a hierarchy here, but for them, there is a database team, there's an infrastructure team, you know, and most likely in Westford code, that's how it is. In Buffalo, I don't know how it is, but it's a, I'm assuming, yeah, that's how it is in Buffalo also because the database part of it, right? They are, they are given out to the respective, uh, departments. They handle it. And then the infrastructure part of it is handled by the central team, right? So it depends on, you know, the same thing. As long as we tell those guys, hey, look, you know, there is something that you're still going on. You don't need to do any action. That's fine. And for, for us to get them to look at it and do that action as quickly as possible with minimum clicks, with minimum expansion, with minimum scrolling, that's the best. We have to, we have to play that out, Sam. I'm just thinking because the key part there is like the one only last question I have, retry in that example, it's a very minor issue, but we don't, we don't need to pivot our whole UX based on that. So in this example, let's say I opened up one of the VMs. No, no, but retry meaning individual retry versus, yeah, so if I want to say that I want to retry all of the ones which are part of this cluster, then you need the handle of the parent. But is that, do you see that as a use case or because that's where I, off the bat, without doing any, or rollback for that matter. So remember. How will you do it? There is a relationship with each other, right? No, no, that's not the thing. It's not dependent that way. Let's say there are 10 databases that shows failure in different VM clusters on the database tab, right? 10 databases. The only reason we'll show a failure there is because the database patching failed. Correct. Right? The cause of the GI ROS. So the action to retry on all of them is completely valid. So, but the action to retry a subset of it is probably not important enough. Like for example, those 10 databases are across two clusters, so just retry cluster 1's database and cluster 2's database, probably not. Probably not, yeah. Because it just continues and it does, it's a collection for him, right? He wants to get all of it done. Right? So he says retry on the whole lot. And he can go to the OS plus GA also and say retry on all of them because that's where they are failed at that point. Now, there is an action where the guy says, hey, I want to remove GA, you know, from the vertical stack, right? So when he does that, at that point, we have to kind of hide those things and not show failures from the GA part because they are reverted, it's not being done, but the OS plus DB operation is getting done, right? So at that point, we won't show failure because of GA because it's reverted on any cluster. So I think I get your point. I think, see, what you are saying is you still, we have to maintain the association, but we should be able to see these individual components for the stack. Yeah, yeah, yeah. From a customer's action perspective, the simplest way, the direct way for him to act on it is the main thing. The thing about what he wants to do is fine. It's fine. The two parts are also crucial, right? I think whoever whichever customer is going to go do this vertical, that one person is going to be the owner for all the three components. That one person is going to be the, there is no two different owners. Basically, the owner is submitting it. No, that submitting owner has the responsibility to bring up the database, GA, and the OS. That won't happen because the guy will think of it this way, when the jobs are there, the guy who is an expert in the GA part of it will not know the DB part of it. The guy who is doing the DB part of it will not know the GA part of it. You will not know the GA part of it. DB and GA probably may know, but you're right, sysadmin, you're right. OS guy will probably not know DB for sure. I mean, likely, not for sure, but there's a chance that the guy who's doing it OS, Linux, and all that. But still, right, the person who's doing vertical privilege model-wise, there is, when we say guy, right, we have to step back and say that somebody who has update privileges on all three to do software update is the only one who can submit this job. That means they have to have full access and ability to define payload on all of that. So then if the person who's submitting the job is not the one who's troubleshooting, then whoever comes, then they have to have read privileges on different, different resources. So I don't know if that is true, right, because if I'm a DB user, I have... Some kind of a group, right? Correct, but that group will have all privileges, all three level privileges, is what I'm saying. But you're saying that maybe I'm a database admin, I have... See, if there are a thousand databases, right, you can't have, like, you know, one admin kind of submitting it to be able to do everything. I think the team will coordinate with others, but I think the... But the UI is... So the database owners will need to be able to handle database, right? And on the failure part of it. Not on the failure part of it. No, I think what Vikas suggested earlier... No, Sam, I think the way it is is, you have this association, at the point of failures, what Vikas said is to, can we have a filter to just say, hey, this is the whole stack, but I just want to see what are all the databases involved, and then... That became friends, but they are all still parent-child relationships. So you will see... I think we should still have the parent-child thing, that's what I feel, but I don't know. If we don't have the parent-child thing, sometimes we don't even know if the Uber guy is expecting somebody to just go independently do the databases, because the Uber guy has some... Become under the relationship, right? So even on the database tab, right, we can have a mark indicating this is part of a vertical. Correct, correct. That we need to have it. It's not that, you know, we are keeping him ignorant of that. Right? No, I mean the whole collection itself is vertical, so that... But the key part here is to Sabah's point, right? This whole... If we are saying that it is like going VM1 is going... There are four VMs in a cluster. VM1 is going DB, I mean, sorry, OS, GI, and all five database instances. Then it is going VM2, DB, GI, and all five database instances. That is... Right, right, but what I'm saying is that relationship during creation is not established because it's a separate. Yeah, looking at that from a developer perspective, from a customer perspective, and operator perspective, right? He doesn't care, you know, what sequence it is or when it is done. For him, right, my application is under databases. I need to make sure if my databases are getting done or not. Yeah, if anything, if we do this flattened view... Yeah, one of the things will be because you see, if it is sitting on progress to Jonathan's point, right? And if you're on a database page and let's say all of them say progress, then the work request needs to say that currently doing vertical patching of your OS. It has to say that, right? Then it will say currently doing GI patching of your VM1. In fact, it has to say exactly database instance 1 is running on VM1, VM1's OS is going on, VM1's GI is going on. Now, database instance 1 is going on, right? Otherwise, it will be... Yeah, I mean, like if you split... Yeah, if you split the presentation, then you have to explain that in the work request of the child that your parent's certain component is going on. Otherwise, they will think that, oh, it is taking such a long time and is my database update even started? That is why I was saying, when who was asking, will it show as executing or will it not start at all or something, right? Correct. Yeah, because otherwise you'll think that database patching... If you... And if the way you are describing, somebody comes to the cycle and they're only watching this tab, which is kind of very... To me, we have to go back and think what it means. That means, rest of the tabs, they are not... I have access to, they don't watch. Then they will be like, oh, two hours, 43 minutes. Database is going on. Open the work request. Like even now, single job has not started. They will be like, anything, don't have a hardback for others. They will be like, oh, two hours, 40... There's been a reason I saw two hours, 43 minutes, nothing happened in the database. So, if we split it, it will become a different kind of model, but it has other benefits because then this whole thing... Yeah, I mean... Yeah, I mean... That's not good for you. Second loger. We have other components like the in-between, which you know, which he has to understand. Correct. So in fact, so the statement, if we go with this kind of presentation, advantages to this kind of presentation is you can do right-click of this tab and create a report if you're a database guy and not have other components. There is other kind of reporting benefits to this view because then you are truly in a statement of vertical or non-vertical. You can have database be like database. It's also volume, right? Big volumes. Yeah, that doesn't look practical to me. That's all. The one which where the extra parents are added to the job, basically, see, the other tab will still have hundred entries. Here you will have 110 entries. The expand and collapse, right? That model is not so friendly to me. This is friendly. 110 entries. And you're talking about UI. If you get a get call, I don't know how we are doing it, but if you do a programmatic get call of give me all the vertical jobs, you will have 10 rows sent back. And inside that, you have progress of give me the GI update, OS update. So you're only 10 rows coming back. If the other one which you're talking about, you will have give me all the vertical jobs. 10 rows. See, there is nothing visual about it, right? So I'm okay with that. You have 10 rows, but each row will have a collapse and expand, right? Yeah, correct. Yeah, that is fine. That part is not the problem. Right, so oh wait, so visual part of it in terms of clicking and scrolling, right? That is the part that I'm looking at, not the API part of it. So, okay, then that is another thing, right? Because API, if you design it the way you are saying flat, three separate tabs, that also means 120 rows will be sent back because hundred jobs will be database jobs, 10 will be GI jobs and 10 will be OS jobs. If you say give me all jobs in this vertical maintenance cycle, you will get 120 jobs back, right? The other one. No, no, no, no, wait, wait. Because it's the how it is. Yeah, I mean, no, no, that's not how it is. The one which Vikas is presenting, it will give 10, then you can do a params saying give me GI, give me OS, or give me DB and then you can do a subquery from that job ID, right? I mean, I don't know, Vikas, do you have database as a separate job ID? We discussed that, right? Yeah, yeah. So each job ID will have a target ID. So it will be clustered or identifiers. Okay, so basically, there is a 10 job and 5 job, there is. Related job. Related job, yeah. So you will already always have 120 jobs. If we are having different kind of tile job numbers and stuff, we have to show them anyway, right? Yeah, so basically, you will have 120 job IDs, job hostsets, correct? Yeah, yeah. So then we go back. Yeah, we'll go back and then I think. Show the pros and cons of that. No, no, we have this pair. Yeah. Yeah. I leave it to you to figure out what do you think is the best for the customers. No, no, but I think this is very good because you are saying, see, your whole point of view is from an operator. We are thinking too close to the implementation. I think we'll do one round and see and if we clearly identify something which is lacking or by one, in one way or the other, then we will have otherwise, I think either of them will work. And there is advantages to because like from an operator standpoint, you're right. I just care about databases. I don't know the structure, right? So, and other way around also, I just care about differences and. You know what they did, right? They delegated the database part of it to the internal customers. But I didn't.

Vertical also. Yeah, so see, that's right. Because once you dedicate... But I'm saying, when they go to the database, they will want that model to continue. That is, what the difference will be from their perspective is, so the same guys who are doing databases today, the departments, right? The finance or whatever, or whatever it is, they will be physically delegated to them. They will still submit their jobs, okay? Right? But it will get executed as part of a vertical and they will be informed, hey, you know, we are doing the vertical this weekend, so you guys monitor your database jobs. You guys have submitted it and they have submitted, it will go into a queue and then it will get executed as part of vertical. But they will be asked to monitor their jobs, their database jobs. And at that point, you know, their experience should be pretty much the same as what they have seen earlier. They will be with a single target because sometimes they may have a round of patching where there is only database, right? Some security fixes come in, it's a new image for database, so they can't say, hey, this is vertical, I'm seeing I've got to go through this. This is not vertical, I've got to go through this, right? You give them the same experience. But in real life, that's how it is. At least in the ones that we know. But once we do the splitting, right, I think that keeping OS and GI in one payload also is kind of a little more confusing. We may have to... That's like one to one is to one, right? It's not too bad. You mean resource to number of, I mean, the number of resources are just one. One OS, one GI, right? Yeah. Yeah, yeah. I mean, the cardinality is not in higher. Exactly, yeah. So that's not too bad. Yeah. Yeah, it's more of complete. So okay, we'll... I don't think because it will not, like all the other decisions we made, even if it's split, will not change. But I do think that at the time of creation, if you don't have this parent-child relationship, and then how is the vertical aspect kind of driven, like the mental model that this is vertical, how does customer know that this database is related to this VM cluster, right? That part is not yet... On the job part of it, not on the creation part. On the job part of it, nothing changes, right? We have done those things. Yeah, so the creation part of it, also someone mentioned, right, that you will not be able to show you parent-child like that. You will have to do kind of like a, see, when you have a side panel, they can also be kind of reference resources. That doesn't mean it is a child or anything, right? So parent-child relationship, do we need that tree to show that, or can we just get away with... Because then you can also argue technically that at the time of creation, the screen, yeah, this is... I'll tell you what will happen. Customers, so today, for example, this is part of the thing that we worked with before. What happens is they are scheduling a thousand databases for the weekend, okay? Now, in FPE, of course, we didn't have collections, right? So they have to create a thousand commands, okay? And then Friday night or Saturday, whatever it is, they'll keep run those thousand commands in lots, right? They will say, do that in batches or whatever it is, right? They do the hundred. Now, wait for 30 minutes or half an hour or 15 minutes and do the other one. Keep doing that till all thousand are running, something like that, right? Now, what happens is that on Friday evening, there are certain internal customers come back and say, hey, this database, I don't want, you know, there's some urgency going on. I don't want this database to patch. Take it out. And they get about 50 databases. That's what they said. They get about 40 to 50 databases which are supposed to be removed, okay? Now here, for us, right, in this one, what really, that requirement will not go away. What really shows in the creation or in the, not in the creation, in the creation of the maintenance cycle, right? They need to be able to take those databases off the current cycle. So we need to be able to give them, and that will be based on the area of the needs. You know, the guys who are doing the database, they don't know like which VM cluster or which OS, which GI. They'll have the database name and they're all unique anyway. Right, they have the database name and say, I got to go, you know, disable, you know, this database from getting patched because, you know, something important is running. So at that point, again, you know, the hierarchy really doesn't help them. The flat thing helps. They can quickly go to the database and uncheck or check or whatever it is. Don't do check or whatever, right? And then it's off the table for that round. Some maybe that may be true in on-prem world, but in cloud, I think the hierarchy may help. Mainly, at least with the Indian cases and all, right, they know which DB in which cluster and knowing that... We are trying to bring Bofa to cloud. We are trying to bring result from cloud, right? If you are expecting that they will change their organization structure to accommodate cloud, I doubt it. The department guys, you know, they want to say, hey, you know, it's cloudified the result. Otherwise, you know, you guys continue to, you know, your interfaces will change. But they want, they don't want to move people along or, you know, we all do a rework. Because it's going to be done in phases, right? If an application has like a thousand databases, they might take a whole year or something like that to move those. Right. At that point... They have a footprint of those because even if it is a, even if that, like the bigacherous model, if you give a search and filter that they can just come and search the DB. Even on that, like even in that parent-child... I'm just thinking, I'm just saying that, that I'm just contemplating the requirement. Yeah, no, no. Yeah, you're right. Like searching on a flat database page for databases versus starting on a page which looks like VMware process, but also has implicit database filter in it. You may, it may not be intuitive. And it's not even, see UI is just one thing that I'm thinking the API payload, right? So if the API query is after on the VM cluster, give me databases or is it based on databases, whether people flat or not? I think all of this is coming down to flatten out the names, the namespace. It is much more modular and extensible and aligns with the operator model. Forget the data model. Data model is only for us to execute. The operator's model is database is different, clusters are different, and hosts are different. And that is continuing to, should be the jobs model, execution model, reporting model is what I think somewhere we are trying to get to. Yeah. Okay. That's a fair thing. Yeah, I think we can accommodate that. But main thing, let's know that, you know, Sam's comment plus if you see that trees are out, then we have other problems, right? But if we can solve Sam's concerns and if trees are available, then you know, we keep it in the mix, right? So let us know so well, what is the situation on tree? Because that tree thing I'm using in all other present proposals also. So it's a very important. I'll get back on that. We haven't implemented it yet, but we do have one row expansion, but multiple child resources, we don't have yet. And also the ability to check, this is multi-select, the one which I, the proposal I'm working on is single select. So three expansion with, I mean, here he's not showing it, but the one which he was showing, right, the pattern, three expansion multi-row with multi or single select, that is the pattern eventually we want. I mean, not in this project, but that is the, I'm talking about a different project that I'm using that. So if multi-row is not there or multi-select is not there or single select is not there, then we have to come up with alternatives for it. Yeah, Vikas, now kind of more the staging, right? If we decide how we are going to ask for images based on version for the database. Yeah, that's everything the first screen, right? I think. I kind of forget, where do we ask for this? Image selection based on the version. Image selection based on the... Yeah, let's say a cluster has some 1980 databases and 126 databases, right? Both need to be patched. We need to ask for the image for 19 image for 26. You say you don't want the target or goal version. Yeah, the target, target. Yeah, this is the presentation, Sam. Yeah, this is doing, that's doing create maintenance cycle and actions having access to the image model. The idea is like during stage, we will use the FSU actions resource principle to access the image in stage again. So that customer will be responsible to send it. And even in Oracle stock, I think the more, there will be a few more properties, I think, the release month. And then we will maybe, depending on how the MRP implementation goes, maybe it will be a normal image or it will be a normal image underscore MRP1, MRP2. And then the key part then will become when was it released, the month, date, and whether it has a security yes, no, whatever. So there will be more metadata even on the stock image other than the version. So a simple dropdown may not cut it. At least custom, it will not. Maybe it will work for stock image, simple dropdown now, but that simple dropdown will also have more identifier properties in the future. So we can, that UX is not a problem. But can you go back to your UX which you were presenting to Sam, like the one in the back? So Sam, the idea is that whether your target version is, actually this UX also will improve, right? Because target version, yeah, I mean, target version is derived from the stock image or custom image. And if you're doing a custom image, you will have some more attributes to show that, you know. Yeah. But yeah, I think, so I think I was thinking, hey, Sabha, I think tomorrow somebody will be there, right Sabha, from your end. Look for it, right? Look for it will be there. Okay. So anyway, we will go with this. See all these things, anyway, friends, I think this has to go more rounds with a little more broader audience. And probably I don't know if you're having plans to review with the one and others also, right friends, at some point. Yeah. So we will have to, yeah, so we'll have to come up with that story of the review. But what I was hoping is that, yeah, we will do a full, yeah, we'll craft that. Yes, we will do that. We'll craft that. But I think the idea is the API should not kind of have much impact. Like even what Sam's coming, will that be tentative? How we can achieve it with the existing ones, right? Correct. And I think we have a story. Correct. Okay. API is fine. I mean, it's just data, right? Correct. Correct. So I think that's a part. So we will go with that tomorrow and then we will kind of rehash these things as we move up with the user experience. Yes, Sabha, please also have and then your inputs. Because the one thing Sabha, I think is all these things are ideally, it would have been better with the UX designer and things, but I think we kind of focused on printers because they had these things, right? But I want your inputs also, Sabha. Okay. The kickoff call. Yeah. I think that we can have some finer discussions around this. I'm saying like, can we move the kickoff itself so that I can have the concrete answer for this. I think let's do this because the kickoff has been... So, this is the engineering kickoff, this is not the project kickoff. So we still have time. By the time project kickoff, we will close out all these things. So because that way, main is see, Vikas needs that API's and one more question Vikas, that jobs is flattened, so in the example, it will be 120 job IDs of which 100 will have related job IDs posted, correct? But in the initial creation, when you have the parent-child, what Sabha is saying, is it a flat list of, is it 120 targets or is it 10 targets with children targets? Okay, then we are good, API is good. UI, okay, API is good. So the main work is there, right, because that, so UI, we will discuss. Okay, good. So that means we are not changing much in the, and nothing of what's last Sam said about custom image, it dropped down, none of that impacted the number of goal versions and the representation also. Yeah, I understood the custom image. Yeah, but that did not impact your Vikas, nothing impacts you, right, because the goal version representation, multiple goal versions, having the goal version and the version is derived from custom image, none of those things have impacted. Yeah, I mean, I think, so basically, we are mapping into the number of major versions in the collection. And even if you have additional metadata, you only care about the version, but all of that is just for the customer to make a choice, right? If you're coming from API, you're just plugging the goal version. Yeah, the what I'm trying to say is that, so all 9Kc databases will move to this version, all the 26 systems, but whatever database is will move to this version. We are not going to have a subset that we can say, oh, more 19.x to 19.y and more 19.8 to 19.p. We are not going to have that kind of... No, no, what I'm saying is that for the API user, and when I'm doing this target version setting in the cycle, if I say 19.31, the only thing you care about from the custom image is the final OS, right? You just have to go and download it. You have no other metadata, right? All the things we're talking about, target version stock image will have extra date, all of that. That is all coming from some other thing, right? We are not going to give us some data ID or whatever. So basically, none of those things change your current. So it looks like API things have not been changed. So Sabha, your point, I think you should ask the engineering kickoff. Right, Sabha will have this and then we will kind of proceed. Like Prince said, the UX may have some transformation, right, Sabha, that we can have discussions. Sure. Okay. Okay, okay, then I'm going to jump to another call also. Okay. Thanks. Thank you, Sam.