ActonOS
Dashboard
Manualprocessed

Database Services Execution Strategy

Streamlining Version Control and Security Waivers

provisioningelder-care

Original calendar title: Database Service on Dedicated Infrastructure

May 22, 2026, 12:00 PM

ActonOS summary

Database Services Execution Strategy

Date: May 22, 2026

Attendees: There, Other, How, Sabar, Engineering Team, Product Team, Implementation Team

The meeting focused on the strategic execution of maintaining database services on dedicated infrastructure, emphasizing version control and the integration of security waivers. Key elements included policy decisions for version support, the introduction of waivers via API, and the discussion of a new design pattern for managing updates across components.

1. Parent-Child Relationship in Databases

  • Evaluated the relationship between VM clusters and databases for better management of updates.

2. Hierarchical vs. Flat Job Presentation

  • Hierarchical: Organized by parent-child dependencies.

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

All right, how's it going? All right. This whole security, the discussion is just getting more intense. Last 10 minutes, I didn't check Slack and there are 2,300 messages. It looks like something is going on. I mean, yesterday we had one call with one Sam. 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 that call? So I can update quickly, right? So DB and GI both proposal is only N is the available version for provisioning, for patching. Like 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 like backup restore, like restore, like create database from backups. 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 mitos and all that. You can file an SR and you can accept responsibility for the security, you know, 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 exception, 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 guest only N through, without exception, only N is available both for VM plus 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, you know, 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 have signed the waiver in the letter or something, whatever. We still 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 data, 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 DBGI below N minus 2 being N minus 3, 4, whatever through SR and for guest in anything below N minus 1, which by the way, in guest OS is monthly. So basically you're 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, 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, like, because two weeks from now, if you're 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, you know, already existing versions. And you may have, you know, custom images built with older values or whatnot. So those old things will now fail and you'll 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 may be from when 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 FIV is supported and now we are making it even small. So, but yeah, I mean, that's multiple times. The problem is this right now, if a customer has like a production databases 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 that Sam, so whatever thing which I did not realize that in this whatever MRP or I don't know whether it is DBGI or 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 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 is what you were saying that if, are we changing the rules perpetually? So he's like, we will see, 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 what I just said is The problem is this right now. If a customer has like a production databases at a particular version level, right, and he's expanding on it, he needs exactly the same version. We cannot tell him, right? We discussed all of that. Whatever thing which I did not realize that in this whatever MRP or I don't know whether it is DBGTI or 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 is like saying that's the number of fixes. So the next RU and the MRPs 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 So that is 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 what I just said is I know we are hitting customers badly. So I don't know 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 in the heck is this? Do we need, because monthly fixes is 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, thousands, whatever, right? You and me are one of the people, 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, mycodex, or whatever, whoever is finding these things, till it gets to a point where at some point, let's say, just making it up, like you were saying, let's say by December, the most of 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 the 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 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. 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.x, whatever 19 or 20 or 21, whatever your production is, but you need to, somebody in the customer site sees so as to sign that document. And that's what we want. See, we've got a new again from one customer saying, oh yeah, there's so many issues in 19.30. Yeah, that's a different, because yesterday, yesterday one, I don't know how we, I think it's an accident. Those guys, you know, they mix up the tooling versus the content, you know? So their thing is there is so much problem with their feet. Oh no, no, FTP. But what I'm saying, one yesterday asked an even more nuanced statistic. He was saying that, can somebody tell me for DBGI and X-ray data, 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 externalized, 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 because when I get a problem from customer, right? I go to my team and say, hey, look, guys, you know, 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 on the value? Did it work correctly before we ship it to customer, right? That is my line of thinking because we, the development writer cannot anticipate and fix every bug. 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 doing 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 B sent out that email, right? Like, yeah, evals, right? I forgot the first thing. 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 codebase, right? And it will, 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, it's public ones. It's not things that codex found or something. Correct, correct. So, which is exactly, the public ones, but 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. I mean, there was that one, you know, XML path validation thing that, you know, worked fine on 23. Then it suddenly, you know, 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, I mean, 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 it in the server. I'll say server. Thanks for joining us about. Yeah, yeah. We've been missing you for a while, but where are you? Yeah, it comes here because it's kicking. I know, some of your audience not there. Oh, can you hear me now? Yeah, now we are. Oh, yeah. So I escaped from you guys. And some things are going on. No, I think I know. But today, I think what I wanted, I think, you know, we discussed offline and we kind of, tomorrow the engineering kickoff is scheduled for the DBGI and the down view, 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? That we fully, we know what is the picture. So maybe Vikas, go ahead Vikas. 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 down view DBGI. But the thing is efficient still about the 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? Like the DB down view and GI that we are doing is applicable into our higher model that you've been discussing for the post and things, right? That makes sense? Yeah. Okay, Vikas. Yeah, go ahead and then maybe. Sam, I don't know if you have. We have the recording and the AI thing on, so. Because it's a totally different look, I'm seeing him after a really long time. Yes. Any guesses, Saba? Hey, compared to one of the records. Yeah, yeah, the record also. Hey, compared doesn't get the video, right? Recording in progress. Right, right, right. We'll have both. Yeah. And yes, Saba, Vikas got married. That's the recent one is changing up here. Oh, congratulations. That's it. One feature, one feature here. Old experiences. Good. Okay, let's go on. Okay, we are talking about that one. Yeah, let's go. Yeah, so I guess I'll start with the Create collection flow. So basically, this is the 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, Vikas, I put my screen and on the PC I can create again. It's okay. I cannot make out the letters. Do one more. One more larger. Yeah, just about I can make out except for database service on dedicated infrastructure, I can manage to read it. Okay, that's okay. That's the thing. These are still marks, graphs, Saba, Prince, Vikas 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? But this is just a rough draft marks. Okay, yeah, go ahead. In the previous discussions, I think we thought right at that point MVP slash T1, we will go with one major version for OS, GuestOS, one major version for GA and major versions for database. I think I just called it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select the oracle Linux 9 and 8 for OS and so on. But for P1 slash MVP, we went one major version for GA and one one and model. So and the other thing is we will look at it on the next slide, but this is we are introducing a major version limit. Today when you do update collection for stack, the major versions are not shown here. So this is a new addition to the flow for the stack is. Yeah, and then once they select... Hey Vikas, 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. I think today actually, today I think the API has 6, 7, 8, but based on the discussion with the guys at the next gen, the web UI can only show 8. I guess we don't have to show the other ones. So we have a filter for that one. So it's a point to be recorded or it's going to be like you need even values. I think that is one from the one project probably in the works to offer an API to show the supported XAPI dot major and core versions plus streaming versions. But I'll go with that for the 28, if that project is before the 6, we can leverage that.

Okay, so should we rely on that feature, that API? This one I will go after that, right? After that preview. Yeah, this will go after that. So I think until then, we can just maybe have code eight and then... And GI and DB, I think, today already. Yeah, it should be totally independent of what you select. Yeah, but yeah, these are the multi-select drop-downs in the future, but for now, it's single select for OS and GI, multi-select for DB. It shows a double though, right? Because for GI, I see 19, 600BAA. Yeah, and then I can change it, but I just called out for P1. That's correct, right? Yeah, I mean, I put the note here saying for, it's only single select for OS and GI. And should be 26AA, right? No more 20. Right, sure. Yeah, I mean, there should be only one entry there for P1, for any P. And the other change that is happening here is the, when they click edit search criteria here, the other change is like, so previously, the major versions were being shown here for the search criteria, so we will move, the proposal is that would be moved here, and the drawer will be simplified to only show these basic criteria, nothing else. And we will select a moving the release version and the system software release versions for from here. So basically, this would be the simplified search criteria. This would be permanently for all irrespective of the stack. So only for the stack, we are moving it. Oh, okay. Let's call it out. I think it's there. Yeah, I think, yeah, I'll just mention for all except the release time collection template, we can add an extra note. Yeah, yeah. So only for this collection type, we are doing it. This one and the one we already shipped, Salva. This is the second extract type, right? So we have the GIOS, and this is GIOSDB, for both of them, we will use this pattern. Okay. The other ones we 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. And I think there was a previous conversation that will 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 want to focus on. And this is basically after they run the search in progress. But one thing, other thing I will mention is that today the search criteria are kind of milderated. Whoever is creating a stack cycle, they have to open the drawer with the leg and 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 plugged in and then they can add the target selector. 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 or... 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 they hit the targets, targets would be under that table, right? But in a DB case, that's not required. Like you can just go with an empty target and still create the collection. So we are just aligning this to that. So 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 targets later, that is also, that was not supported for stack before. So we are just saying a correcting that, that you don't, 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 Prakash is calling out. 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 selections, right? All five elections. You're saying that that is a different, I think, enhancement we should work on. So previously, like we should have some targets, right? No, zero state, we never have targets in any other collection. Okay. And when you hit the 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 if 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 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 the only thing. That's it. Your feedback, Sabha, is that, you know, that should we change the interface of how we add... So 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 currently, all collections have that table. We can remove that. Yeah. Okay, let'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 DBGIOS 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. So and then as you are entering the search criteria and you 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 trustors and associated databases like China resources basically. And we can discuss this and presentation if you can simplify it further. But for now, I think we will. these filters to begin with, like the cluster compartment filters can be multi-select and because the targets can span across compartments, we can try to see if we can simplify any of these other columns, but for now, the idea is like we will actually deal with these three columns or join the individual compartment questions, the current versions. Okay, this thing came from UX designer or you guys made it up? We came from the UI. I'm not sure whether we have a key table now, but we just have the expand and collapse. I will have to take a look at the library. We haven't implemented any key table. We have just have the one expanded row. So if we don't support key table like this, we may have to revisit. The selection could be in your 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, 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 key table. 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, if you go back, right? But then we can filter on the client side if all the results are in one API response. Right. 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 action 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, I mean, this is how the actions will be. These are how the jobs will be. And each of those individual things which have failures will have retry, rollback, those kinds of things. So one side, I thought we were once to get to the jobs, right? We will have individual target type screens. Correct. Yeah, so. Not 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 if 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 let's say of 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 is very good. That is clear. No, wait, wait, let me finish this. If we have five VM clusters with 25 databases. Each or across? 25 databases in one screen as a database result. No, no, no, so how many does one VM cluster have? That is the key. Is it 25 each or 25 across? Across. Across. So how many, this whole presentation is about how much each has. So you'll have job number one, which is VM cluster 1, and it will have underneath that one entry will be for GI update for that VM cluster. If you kind of Store panel today, the single component here, the database, right? The database there in that list of jobs they show, right? They can belong to multiple VM clusters, right? No, they cannot, right? One database can only belong to one VM cluster. No, those set of databases in the in our in our database collection. Oh yeah, yeah, but here the collection is on the VM cluster, right? So database is just the sub-resource, right? This is the vertical job starting at the OS, right? I know, I know, but even then I'm saying, on the results page, right? We will show have a screen only for databases, right? All databases that are part of that collection. No, Sam, like independently, the databases doesn't mean anything, because the database update happens for, let's say, if that database is a 4-node VM cluster, right? VM1's GI, OS, and one database instance gets done, right? No, but they all will get done in parallel. Yeah, yeah, but only, correct, but. No, but I will give a bigger example then. Let's say there are 10 VM clusters. Correct. Okay, correct. And there are 100 databases. Each across. Across, across, total. 10 VMs plus, which means 10 GI, 10 OS, and 100 databases. Correct. Right? Correct. Now, this is one collection, the vertical collection, of three components. Correct. So, let's say we created this collection based on a criteria and all those things are there. There are 10 old GI targets, there are 10 OS targets, there are 100 DB targets, right? Now, we are thinking of passing all this, a bit of this, right? We have already given the images, everything, right? We are thinking of an update. Now, the customers do not look at the results. Hey, how is my update going? Correct. Will we still have the 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 will show only the kind of job. The job can be the OS. Yes, 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 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 type equals DB. But more importantly, so the filter is the second part. Sam, the main question is, in those 100 databases, imagine they are all evenly distributed on 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 100 databases are potentially concurrently progressing. They concurrently progress. Yeah, just, yeah, but it is in the respective context of it. So the vertical job will be, you'll have job ID one, which has GI job, OS job, and all the 10 databases underneath it. They're all progressing as one job. The second VM cluster will have GI job, OS job, and 10 databases underneath it, right? Yeah. So basically, it will be just like the interleaved, like 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 100 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? The last column had a drop-down. You can say, you know, roll back or continue, right? So that time you have to come back some. This is the same as the video direction, right? Wait, wait, wait, Swapan. I'm kind of trying to close the loop here with Prince, Kannan, Vikas, right? The customer should be able to see a screen. There's only databases and decide on that once a job is done. It's not like as it is going, right? Yeah, yeah, yeah. So for some, it would be a flat list of 100 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 acting on them, right? Would be a flat list. Would be a flat list. That's what I am thinking. Because 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 retry? No, that one, Reduces, you see in the screen.

Correct, correct. So then that's what I'm saying. So then at the... Correct. Correct, so then how will they... If you go to the GA screen, that's for GA, he will say something is failed or whatever it is, right? No, but this hundred databases, basically the association is on the hierarchy from the... That is the interesting bit because he already, he knows it. No, but we know it, but where does he associate that? Let's say we give a thing that, hey, these are hundred databases. How does he associate that this database is involved with this vertical collection? This particular cluster ID. But on the execution, you know, it should look like, you know, the one on execution should look like if you have submitted a hundred databases and 10 OS and 10 GA, right? These three are 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 processing if the database has not failed, right? If it's waiting for the next node, things are going on, that's fine. But if it goes to GA, you will see it's a failure. Right, right. No, but Sam, you're still thinking that it is hierarchical, right, Sam? I think it's... No, I think it's... Yeah, I think Sam is saying that... Yeah. Yeah, I think Sam is saying that the interface, right, will get so confusing to the customer. 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 result handling, the output, the progress, you know, the retry, whatever, that experience of should be very similar to what he's doing if he is doing only databases or if he is doing only GA or only OS. Right, right. So 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. So you have 10, 3 tabs just for sake of, I mean, 10, 10, 10, 10, 100, right? So now the question is, if you have a OS failure, which is the first thing which is happening, let's say VM, like, you know, VM cluster 1, 2, 1 through 10, you know, whatever. Nine of them are progressing. Eight, 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 don't concurrently. I don't think that will be the case, but whatever, where the OS is crossed over, it has gone ahead with GI and probably gone ahead with DB. Right, right, right. But what I'm saying is just in the beginning, right? When OS is the component which is being patched, at that time GI and OS, they will be showing some kind of state like in progress, correct? Because they have not started, right? I mean, they just started and they will get started. So may 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 will just start on 10 VM clusters for the OS to happen. And just for, just for now, let's say, and just for sake of this discussion, all these VM clusters are all four node clusters. So first VM is going on, like, typically they should all take similarish 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. First VM, because remember, all... First VM, because remember, the first VM is one VM. 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 are 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 are 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 am just saying that is not visually friendly to a user. Because they are all in progress. Yeah. See, 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? One VM cluster has 10 databases. So you have each row has 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 plus the OS will be done, GIL will be done, and then each of those 10 databases, one, one, one, one, one, one will be done. You see what I'm saying, Sabha? So basically, splitting into multiple pages and all, you are you can do, but the key part here is how do you address in 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. 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 sort of, sorry, it can no longer say in progress because you're not even started. You are in progress, but your GI... Technically, right, the way it works, right, when I take a VM, right, the databases, services gets stopped, databases get 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 is... What I'm 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 failed. The point in showing that is, if you want to show 10 databases failed because the GI failed, right, the customer is going to see a lot of fails. And what is he supposed to do? Okay, I'm not going to... No, no, no, no, databases are not going to show that to me. If you go to a page with 100 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's, it gives the same experience to the customer, whether he does a single target or whether he does both. Right? I don't know, you know, you're no longer making somebody click different tabs. No, no, no, no, no, you're telling me, right, if GI is in progress or GI is in failure, database also shows in progress, right? Even if it is stuck, okay, and it's showing progress, it still needs to go to the GI error log, the OS screen. Correct, and that's what, yeah, correct. And that's what we are trying to get to, right, Sam, that to do troubleshooting, it is not that all 100 databases are, you, 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 eight 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, 100 databases, say 11 databases failed on different clusters. Sure, so that also we will take, but let me just finish this one. But Sam, 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 eight were progressing, and let's say imagine that, you know, on VM cluster, another single VM cluster, eight of them have failed. So basically, seven 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? Correct. 10 jobs, 10 vertical jobs, because there are 10 VM clusters and they are related to it. So first interface will be, you'll 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'll have 10 jobs, of it seven will say 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 whenever 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 seven you don't have to interact with. Three 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. Because it's just the way we have ingested the payload is how we are troubleshooting and exploring the payload. But it is a function of wherever the failure is. So second job, you will open, you will say OS has completed. GI has failed, you will interact with 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 was, I don't know. When you open, see, it's all to be seen. Right, but okay, so then the question, that's what I was trying to say that now... If you go to a page with 100 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... That's 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 he does a single target or whether he does both. Right? I don't know, you know, you're no longer making somebody click different tabs. No, no, no, no, you're telling me, right, if GI is in progress or GI is in failure, database also shows in progress, right? Even if it is stuck, okay, and it's 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 are trying to get to, right, Sam, that to do troubleshooting, it is not that all 100 databases are... 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 eight 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, 100 databases, say 11 databases have failed on different clusters. Sure, so that also we will take, but let me just finish this one. But 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 eight were progressing, and let's say imagine that, you know, on VM cluster, another single VM cluster, eight of them have failed. So basically, seven 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 it. So first interface will be you'll 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'll have 10 jobs, of it seven will say in progress because they have no issues. One of them will say failed, that is on OS. Other will say GI failed, which is Now, how will the screen look like if there are 10 databases on each VM cluster? Yeah, then for each VM cluster, you will have the node more button. How many lines will be there for that? 11. If you have a VM cluster that has 10 databases, you'll 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, But then they'll go off the screen. No, no, no, I'm not even talking about clicks, right? I'm talking about the lifecycle 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 along. 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 lifecycle staging. 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. In one cluster, if there are 10 databases, if the GAI fails, there's no need to say retry for GAI and the database. No, no, no, you don't have to. But if, yes, correct, you don't have to. 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 the only thing we 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? Like only a database collection in job screen. But Sam, this already we did for GAI and OS, right? Even if you have zero databases, and if I just want to do OS and GAI, should we have two tabs or one tab? Let's forget databases. OS and GAI are bundled together, right? Currently, it's a small one because they go together. But no, if they don't have separate regex. But then this whole notion of whether my GAI is progressing, OS is progressing, are we talking about just because it's VM clusters and databases are different resources? What is the like philosophy behind it, right? One philosophy is that each component I want to see, which is the original, each OS is a collection, GAI is a collection.

It is a collection, the presentation is the same, no matter whether you are doing vertical. That I completely, that is something worth exploring. But if you are saying OS and GI is combined payload because they have a relationship, then the database is also part of that combined payload, right? No, no, it's not there. I mean, right now, the way it has been implemented, OS and GI are bundled in one resource, right? And we have rollback for the reward for continuous retry for combined OS and GI. We don't have it individually. If you can do it individually, I would put them in separate screens. Correct. Okay, so if they were, I mean, like, which is what we are going towards. So you're saying, in that case, you will have three tabs. One is for OS, one is for GI, one is for Database. Okay, here are some, kind of taking the consideration. But if you go to databases, right, then you want to be able to see, hey, I've got 100 databases, you know, 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. Yeah, but Sam, yeah, so I hope it is not because of what is seen on the screen. What's seen on the screen is 10. Whether you are 100 or whether you are in GA, right? Here, the only difference between the two barring Saba's comment on the 10th screen, but the 100 is not seen, right? No, no, no, Sam, on a page, you can only see 10 or whatever the limit is, 50, right? That is based on the viewport, right? Even if you see 50, nothing will happen here. So the difference is, you will have, the presentation you are saying, you will have a table with 10 entries for OS, right? So they may or may not happen in the screen, depending on, we are all operating on a certain screen resolution. You will still have to scroll, right? You may still have to scroll, even for that 10, so you will have a screen for 10 OSs, 10 GIs, and you will have a screen for 100 DBs. They will all, let's say, the pagination size for all of them is 5. That's what I've said. So on first page also, you will scroll, second page also you will scroll, third page also you will scroll. Right? But the difference between that present, so total we have 100 plus, you know, whatever, 10 plus 10, 120 rows across 3 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. I'm barring Saba's comment 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, right? So, the user experience that we have, yeah. So the current problem is very clean, right? You always have, it's a fixed function. It's always 10 rows, no matter what. And you only interact those 10 rows not collapsed. You know, all 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, DBGI, OS, everything is good. The utilization of the summaries. Yeah, you will get a, yeah, so now that's a different, now I'm seeing what's the 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 3 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 DBGI. So if, let's say, that's why I was saying that dividing of 10 rows and 7 rows are all green, 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 3 are red. First one you open, OS has failed. So the minute you open, you will have an entry for OS and GIs that entry itself you will see, oh, OS has failed, retry. Database is 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 are all like 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. That is super awesome. That's right there, right? No, no, no, 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 belongs to. You don't need to know which parent belongs to. Right, right, right. You can go click on the database, retry. Now resume or 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 other stuff. So he doesn't need to really know the dependency. He just says, where is the failure? Well, then I'm looking at the failure, I decide what to do, and I act on it. That's all. That is how the customer sees it, right? It sounds like, you know, they understand this. There's a hierarchy here, but for them, there is a database team, there's an infrastructure team, you know, in most likely in West Coast, that's how it is. In Buffer, I don't know how it is, but I'm assuming, yeah, that's how it is in Buffer also. Because the database part of it, right, they are given out to the respective 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 still going on, you don't need to do any action, that's fine. And 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, one only last question I have, retry in that example, it's a very minor issue, but we don't need to pivot our whole UIs based on that. So in this example, let's say I opened up one of the VMs. It's a major issue because... 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 to handle the parent. But is that, do you see that as a use case? Because that's where I, off the bat, without doing any, or rollback for that matter. So remember... You can still do it here. How will you do it? You don't have 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 show a failure in different VM clusters, okay, 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 or OS. 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 GI also and say retry on all of them because that's where they have failed at that point. Now, there is an action where the guy says, hey, I want to remove GI from the vertical stack, right? So when he does that, at that point, we have to kind of hide those things. Not show failures from the GA part because they are reverted and it's not being done. But 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. Now 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 holistically in databases. From a customer action perspective, the simplest way, the direct way for him to act on it is the main thing. Correct. 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 he 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 have failed at that point. Now there is an action where the guy says, hey, I want to remove GI 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 and it's not being done. But 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 Sam, 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 holistically in databases. From a customer action perspective, the simplest way, the direct way for him to act on it is the main thing. Correct. But the two parts are also crucial, Sam, 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. Yeah, yeah, yeah. 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, Sam. Because the guy, 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. Will not know the GA part of it. DB and GA probably may know, but you are right, sysadmin, you're right. OS guy will probably not know DB for sure. I mean, likely, I mean, not for sure, but there's a chance that the guy who's doing with OS, Linux and all that. But Sam, 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 a big 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. Yeah, yeah, yeah. Right. 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, like, I am a DB user, I have. We have something of a group, right? Correct, but that group will have all privileges, all three level privileges. This 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 guy who is submitting it to be able to do everything. You can't do it. No, I think the team will coordinate with others, Sam, but I think the Prince. But the UX is, yeah. So I'm telling you, right, 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 here, right, no, Sam, I think the way it is, is you have this association, at the point of failures, Prince, 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 in that. Exactly Prince, but they are all still parent-child relationships. So you will see. Yeah, I think you should still have the parent-child thing. That's what I feel, but I don't know. If we don't have that 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. It's become a relationship, right. Even on a 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. 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 sub-tab. 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 happening. 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 you 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, you 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 didn't start? Yeah, that is why I was saying when, who was asking you, will it show as executing or will it not start at all or something, right? Correct, so, yeah, because otherwise you will think that database patching is being, if you, and if the way you are describing, somebody comes to the cycle and they are only watching this tab, which is kind of very, to me, they have to go back and think what it means. That means, rest of the tabs, they are not, 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 a single job has not started. They will be like, and if they don't have rback for others, they will be like, oh, two hours, 40 minutes. That is the reason I saw two hours, 43 minutes, nothing happened in the database. So, if you split it, it will become a different kind of model, but it has other benefits because then this whole thing. Yeah, I mean, from a vertical to the plan database alone, and my database got done in 45 minutes. Now, here comes a vertical loop. The clock duration will be longer. Longer, right, right. So, we will have to keep on saying, in fact, hey, this is not. Does not work for you, the second log. Log error, we have other components such as 1600 in between, which you know, which gives you understand data. Correct. So in fact, so if the statement, if we go with this kind of presentation, advantage to this kind of presentation is you can do right click of this tab and create a report if you are a database guy and not have other components. There is other kind of reporting benefits to this, this view, because then you are truly in the statement of vertical or non-vertical, you can have database be like database. It comes to volume, right? Big volumes. 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 is still at 100 entries. Here you will have 110 entries. They expand and collapse, right? That model is not so friendly to me. Those are 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. And so you're only 10 rows coming back. The other one which you are talking about, you will have give me all the vertical jobs. 10 rows, see, there's nothing visual about it, right? So I'm okay with that. 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, like three separate tabs, that also means 120 rows will be sent back. Because 100 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, 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, because 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 distributed. Okay, so basically, yeah, there are 10 jobs and 5 jobs will have 10 jobs. Related jobs, yeah. So you will already always have 120 jobs. Don't talk so much of neither here nor there. If you are having different, you know, kind of job numbers on sub, you have to show them anyway, right? Yeah, so basically, you will have 120 job IDs, a job OS, correct? Yeah. So then, yeah, we'll go back. We'll go back and then I think. We'll go back and then show the pros and cons of that. Yeah, no, no, we have this fair. Yeah, yeah. I leave it to you to figure out what do you think is the best for 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 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 then. You know what they did, right? They delegated the database part of it to their internal customers.

Vertical also? But right now, of course, database is not part of vertical, right? It's only OS plus GI. Yeah, so see, that's right, because once you dedicate... But what I'm saying, when they go to 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 database today, the departments, right, the finance or whatever, or whatever it is, they will just be 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 databases, right? Some security fixes come in, some new image for database, so the company, 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 this splitting, right, I think that keeping OS and GI in one payload also is kind of a little more confusing. We may have to... It'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 OS plus one GI, right? Yeah. Yeah, yeah. I mean, the cardinality is not... 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 in the creation part of it. In the job part of it, nothing changes, right? They've done... Yeah, so the creation part of it also someone mentioned, right, that we will not be able to show you parent-child like that. We will have to do kind of like a... See, when you have a side panel, they can also be kind of reference resources. It doesn't mean it is a child or a... So parent-child relationship, do we need that leaf 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, like 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 FPP, 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, I'll do the hundred in batches or whatever it is, right? They do the hundred now, wait for 30 minutes or half an hour or 10 minutes, and do the other ones. Keep doing that till all thousand are running, something like that, right? Now, what happens is that the... On Friday evening, there are certain internal customers come back and say, hey, this database, I don't want, you know, there's some urgencies going on. I don't want this database to get patched. Take it out. And they get about 50 databases. That's what they say. 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, give them. And that will be based on the area's 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. 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, this 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 the problem. Some maybe that may be true in on-prem world, but in cloud, I think the hierarchy may help. Mainly, at least with the cases and all that, they know which DB in which cluster and knowing that. We are trying to bring GAFA to cloud. They're trying to bring the stuff to cloud, right? If you are expecting that they will change their organizational structure to accommodate cloud, I doubt it. The department guys, you know, they want to say, hey, you know, it's cloudified the cell. Otherwise, you know, you guys continue to, you know, your interfaces will change. But they're not going to move people around or, you know, we are doing a release. 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 to move those. Right. At that point. You have a foot of books because even if it is a, even if that like the regarious 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 saying that, I'm just tussling with 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 VM 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 host is different. And that is continuing to, should be the jobs model, execution model, reporting model is what I think Sam, you are trying to get to. Yeah. Okay, that's a fair thing. Yeah, I think we can accommodate that. But main thing, let us know that, you know, Sam's comment plus if you say 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, in the mix, right? So let us know, so 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. I haven't implemented yet, but we do have one row expansion, but multiple child resources we don't have yet. And also the ability to check the multi-selector one, which I, the proposal I'm working on, is single selector. 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 when I'm using that. So if multi-row is not there or multi-selector is not there or single selector is not there, then we have to come up with alternatives for it. Okay, Vikas, now kind of about the staging, right? Did we decide how we are going to ask for the images based on version for the database? Yeah, that's the thing that first screen, right? I think... I kind of forget what now. Where do we, where do we ask for this image selection based on the version? Image selection based on the... Let's say a cluster has some 19 databases and one 26 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 a target or goal post. Yeah, that's the target, target. Yeah, this is the presentation, Sam. So this is doing, that's doing create maintenance cycle and actions having access to the image module. The idea is like, during stage, we will use the FSU actions resource principle to access the image and stage again. So that's, that customer will be responsible to send us. 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 S note, whatever. So there will be more metadata even on the stock image other than the version. So a simple drop-down may not cut it. Like at least customer it will not. Maybe it will work for stock image, simple drop-down now, but that simple drop-down 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. 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, finally be there. Look finally be there. Okay. So anyway, we will go with this. See, all these things anyway, Prince, I think this has to go more rounds with a little more broader audience. And probably I don't know if you're having any plans to review with the one and others also, right Prince, at some point. Yeah, so we will have to, yeah, so we'll have to come up with that story of a review. But what I was hoping is that, yeah, we'll do a full, yeah, we'll craft that. Yes, we will, we will do that. But I think the idea is the API should not kind of have much impact, like even what Sam's coming. How we can achieve it with the existing ones, right? Correct. Correct. Correct. Okay. API is fine. I mean, it's just data, right? Correct. Correct, sir. I think that's a part. So yeah, we'll 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 that Prince, because they had these things, right? But I want your inputs also Sabha. How you doing? I think that we can have some finer discussions around that. I'm saying like, can we move the kickoff itself so that like I can have the concrete answer for this tree alert. No, I think let's do this because this kickoff has been. So Sabar, this is the engineering kickoff. This is not the project kickoff. So we still have time. By the time project kickoff, we will, you know, we will close out all these things. So because that way, main is see, Vikas needs that EPS and hopefully. One more question because that jobs is flattered, flattered. So in the example, it will be 120 job IDs of which 100 will have related job ID posted, correct? But in the initial creation, when you have the parent child what Sabar is saying, is it a flat list of, is it 120 targets or is it 10 targets with children targets? Okay, then we have got API is good. You are, okay, API is good. So the main work is there, right? Because that, so you are, 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 version and the representation also. Yeah, I understand the custom image. Yeah, but that did not impact your Vikas any, nothing doesn't impact you, right? Because the goal version presentation, multiple goal versions, having the goal version and the version is derived from custom image. None of those things are impacted. So basically we are mapping into the number of major versions in the collection. And if you, 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 just plug in the goal. So all my can see databases with model discussion, all the 26 systems, whatever databases with model discussion. We are not going to have subset right. They can say, Oh, more 19.0.x to 19.0y and more 19.0a to 19.0b. We are not going to have that. No, no, what I'm saying is for an 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 OSID, right? You just have to go on the OSID. You have no other metadata, right? All the things we're talking about, target versions, talk image, will have extra date, all of that. That is all coming from some other thing, right? Okay, update ID or whatever. So basically none of those things change your current. So it looks like API things have not been changed. So, so Sabar, your point, I think you should ask the engineering kickoff, right? Because Sabar will have this and then we will kind of pursue a like, like Prince said, the UX may have some transformation, right? As Sabar, that we can have discussions. Sure. Okay. Okay, okay. Then I'm going to jump to another call also. Okay. Thanks. Thank you. Thank you so much.