Database Version and Security Waiver Strategy
Defining security waivers and version restrictions for Database, GI, and OS
Original calendar title: MVP Slash T 1
May 27, 2026, 12:00 PM
ActonOS summary
Database Version and Security Waiver Strategy
Date: May 27, 2026
Attendees: Other, How, But, Lookman, Engineering Team, Product Team, Implementation Team
The meeting focused on implementing a version control strategy with security waivers for databases, GI, and OS provisioning. Immediate and medium-term plans were discussed to restrict provisioning and patching to the current version with support for older versions through a waiver process. Customer notification plans and the implications of numerous security fixes were also addressed.
1. Hierarchical vs. Flat Structure for Database Management
- Hierarchical: Emphasizes parent-child relationships with OS and GI dependencies.
Action Items and Follow-ups
0 trackedNo explicit commitments were stated.
Follow-up Points
Nothing flagged.
Additional Notes
Nothing flagged.
Decisions
Nothing flagged.
Open questions
- How can we efficiently communicate dependencies within the vertical model to ensure effective troubleshooting?
Risks
Nothing flagged.
Commitments
0 foundNo 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, the discussion is just getting more intense. Last 10 minutes I didn't check Slack and there are 2,300 messages. Looks like something is going on. Yesterday we had one call with one time. I mean, it was more about N and N minus 1 like supported cloud. We are kind of restricting. But was there any kind of fruitful outcome from that call? So I can update quickly, right. So DB and GI both proposed 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 restore, like create database from backup. That 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 these mitos 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 Warren 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 of 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 2-3 week proposal. OS same thing, only N, OS meaning guest, only N without exception, only N is available, both for VM plus provisioning and guest service patching. Then the medium term, which is right after like 4-6 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 blood or something, whatever. We may 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, Linux issues are more publicly known and more talked about. 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 and GI, below N minus 2 being N minus 3, 4, whatever, through SR and for guest, 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-based 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. 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 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 customer notification will be sent out, I think we have like next 3-4 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 changing the acceptable versions. Already our customers are not really happy with whatever we support and now we are making it even small. So that's multiple times. So 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. Whatever thing which I did not realize that in this whatever MRP or I don't know whether it is DB, GI or combined, but some numbers which Warren 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 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 is like saying, So that's what you were saying that are we changing the rules perpetually? So he is like, we will see. Hey, my folks were like, between now and December, we will see how many of these issues we are fixing. But for RU 32, right, 32 and 33 for sure, it's 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 just 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, that's why. So whatever thing which I did not realize that in this whatever MRP or I don't know whether it is DB, GI or combined, but some numbers which Warren 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, 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 is like saying… So that's what you were saying that if are we changing the rules perpetually? So he is like, we will see. Hey, my folks were like, between now and December, we will see how many of these issues we are fixing. But for RU 13, whatever, this one 32, right, 32 and 33 for sure, it's 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… No, I know, we are hitting customers badly. Absolutely, 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 in the heck is this? 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, thousands is a lot, right? He will have thousands. 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, Mythos 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 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 N 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 services. Basically, we want customers to go to the 19.32, right? Or you sign the waiver and accept responsibility for it. We don't want to be responsible. That's the key. You can continue, maybe you have a business case for continue to be on whatever 19.x 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 are so many issues in 19.30. Yeah, that's a different, because yesterday, 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, the other thing is, there is so much problem with the API. Oh, no, no, no, 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-Liter, the number of regression bugs which are caused by our 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 are not externalizing, 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 an X 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 customer, right, I go to my team and say, hey, look, guys, you know, do we have a, do we have a test case for this? If there is a test case, what is the result of the test? Did we pass it before we, on the main and on the audio, did it work correctly before we shipped it to customer, right? That is my line of thinking because we, development writers just 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 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 we sent out that email, right, like, yeah, I forgot the first name. The email from our EVP is 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 15th 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 and Clarify. And it's not like they're not introducing regressions, right? Yeah, yeah, yeah. I mean, there was that one, you know, XML pass 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, but, you know, I mean, to 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 the suba. Say suba. Thanks for joining, suba. Yeah, yeah. We've been missing you for a while, suba. Where are you? Yeah, it comes here. Is this kicking? I don't know. Suba, you know, the idea is not there. Oh, can you hear me now? Yeah, now we can hear you. Yeah, so I escaped from you guys. And so 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 Donu, right, what we discussed. So I thought we will just walk through that thing with, I think, Sam and Jonathan have been there, but including suba. Maybe we can just have a quick walk through of what we are going to present even in the kickoff, right, that we fully 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 Donu DBGI. But we need some definition 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? Like the DB Donu and GI that we are doing is workable into our higher model that you have been discussing for the post and things, right? That makes sense? Yeah. Yeah, okay. Okay, Vikash. Yeah, go ahead and then maybe... Sam, I don't know if you have... And 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 about... So any complaint on what is they want to record also? Yeah, yeah, that I probably will also say. Any complaint doesn't get the video, right? Recording in progress. Right, yeah, we'll have both. Yes, about Vikas got married, but that's a very simple thing. Congratulations. That's it. I should ask, like, one feet. One feet of air. All experiences. Good. Okay, let's go on. Okay, we are talking about this one. Yeah, we'll go ahead. Yeah, so I guess we'll start with the create collection flow. So basically, this is the new drop down menu value that will be added from 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, because I put my screen, and I see if I can create again. It's okay, I cannot make out the letters. You do one more. Maybe one more larger. 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 marks, drafts. Sabha, Prince, Vikas has been brainstorming this, but I think I will leave it to you. 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 marks. Okay, yeah, go ahead. In the previous discussions, I think we thought that for MVP slash T1, we will go with one major version for ROS, guest OS, one major version for GI, and major versions for database. I think I just call it out, the Scorpio. So in the future roadmap, we will support multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we will go with this pattern, just showing a new drop down value. Hey, because I put my screen and if you see, 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. Okay, I can manage to read it. Okay. Okay, just a thing, these are still marks, drafts. Sabha, Prince, Vikas has been brainstorming this, but I think I will leave it to you. 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 marks. Okay, yeah, go ahead. In the previous discussions, I think we thought rather that for MVP slash T1, we will go with one major version for ROS, guest OS, one major version for GI, and major versions for database. I think I just call it out, call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But for T1 slash MVP, we went with one major version for ROS, guest OS one major version for GI and major versions for database. I just call it out, the call out the Scorpio. So in the future roadmap, we will support like multi-select Oracle Linux 9 and 8 for OS and so on. But Okay, so should we delay on that feature, that API? I think we'll go after that, right? After that preview? Yeah, this will go after that. So I think after then, we can just maybe hardcode 8 and then pull all the apps. 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, 600, the API. Yeah, and I can change it, but I just called out for P1. But that's perfectly correct. Right? Yeah, I mean, I put the note here saying for it's only single select for OS and GI, but I think it should be totally independent of what you select. Yeah, but yeah, these under-monthly select drop-downs, so 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, 600. Yeah, and I can change it, but I just called out for P1. That's perfectly correct. Right? Yeah. I mean, I put the note here saying for it's only single select for OS and GI, but I think it should be totally independent of what you select. Yeah. And should be 26a, right? No more 26. Yeah, I mean, there should be only one entry for P1 for MAP. Yeah. And the other change that is happening here is the, when you click edit search criteria here, the other changes are feed. So previously, the major versions were being shown here for the search criteria. So the proposal is that will be moved here and the drawer will be simplified to only show these basic criteria, nothing else. And we will select a moving release version and the systems of their release versions for from here. So basically, this will be the simplified search criteria. Okay, this would be permanently for all irrespective of the. For stack, we are moving. Oh, okay. Let's call it out. I think it's there. Yeah, I think I just mentioned for all executable stack collection template, we can add an extra note. Yeah, so only for this collection type. This one and the one we already shipped for the other. This is the second extract type, right? So we had the GI and OS, and this is GOOSDB for both of them, we will use this pattern. The other ones we did 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. I think there was a previous conversation that simplified the whole. 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 it. This is basically after the search in progress. But anything 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 plugged in and then they can add the target. 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 not at all. 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 it'll create. So when we see the targets, targets will 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 basically, what we are saying is that the target 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, the thing we need to kind of, you know, like that. So what is this table then? No, no, this table is if you hit search criteria, you add 50 targets and you hit create, that is the regular flow, right? Even if you don't add search criteria, you just create and then add target later, that is also, that was not supported for stack before. So we are just saying we are correcting that, that you don't, targets are not required to create a collection. You can add targets post create. That is how all others collections are. And stack will also follow the same path. 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, which 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 long as they enter the major versions. So, and that's it. 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 selections. You're saying that that is a different, I think, enhancement. 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 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, it is, 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 all. 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? Targets are not required, right? So we don't need to show that table. If you 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 like 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 you need 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, all five collection types. Okay. And then as in the enter the search criteria and hit search, then once the search is done, the state, the table will be populated. And the post 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. I these filters to begin with, like the filters can be multi-select, 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 actually deal with these three columns for showing the individual compartment versions, the current versions. This thing came from UX designer or you guys made it up? No, that's 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 a 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. 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. You 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 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 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 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. Yeah. So one size, I thought we were once we get to the jobs, right, we will have individual target type screens. Correct. 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 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 like vertical job. Right. So let's say of the 15, let's say database four and seven failed, then you can do retry on them. But what I'm saying is if we have five VM clusters. No, no, five VM clusters are very good. That is clear. No, no, no, wait, wait. If you have five VM clusters with 25 databases. Each or in 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. Across, across. Total. Ten VM clusters, which means 10 GI, 10 OS, and 100 databases. Correct. Right? Now this is one collection, the vertical collection, which has three components. Correct. So let's say we created this collection based on a criteria and you know, all those things are there. There are 10 more GI targets, there are 10 OS targets, there are 100 DB targets, right? Now we are taking our passing on this, update of this, right? We are given the images, everything, right? We are picking up an update. Now the customer has to now look at the results. Hey, how's 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 100 databases. Yeah, so the presentation will be like this, but they can filter, right? If they want to filter, they can apply the filters saying I only want to see DB kind of jobs or I don't want to see GI jobs or OS jobs. So the filters 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, yeah, so the filter is the second part. Sam, the main question is, in those 100 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 100 databases are potentially concurrently progressing. 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 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? 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 dropdown. You can say, you know, roll back or, you know, continue, right? So that time you'll have to come back some. This is the same as the creation, right? Wait, wait, stop. I'm kind of trying to close a 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, there is not like as it is going, right? Yeah, yeah, yeah. So Sam, it would be a flat list of 100 databases or we refer the hierarchy. Yeah, that's what the question is. The 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. 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 retry? No, they're not the ready ones that you see in the screen. Correct, correct. So then that's what I'm saying. So then... Correct. So then how will they... If you go to the GI screen, that's for GI, he will say something is failing or whatever it is, right? No, but this hundred databases, I'm see the association is on the hierarchy from the... That's why I was saying that it's not something that... Right. But what I'm saying is that on the one of execution, you know, it should look like, you know, at the one of execution, it should look like if you have submitted a hundred databases and 10 OS and 10 GA, 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'll show processing if the database has not failed. Right. If it is waiting for the next node, things are going on. That's fine. But if it goes to the GI screen, that's for GA, he will say something is failed or whatever it is, 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. Right. The interface, right, will get so confusing to the customer. He needs to feel like, you know, I'm... 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 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. Right. So... 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. Right. So you have 10, three tabs, just for sake of 10, 10, 10, 10, hundred, right? So now the question is, if you have a OS failure, which is the first thing which is happening, let's say, VM cluster 1, 2, 1 through 10, you know, whatever, nine of them are progressing, 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 go concurrently. I don't think that will be the case. For whatever, where the OS is crossed over, it has gone ahead with GI, it has gone ahead with DB. Right, right, right. But what I'm saying is just at 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... No, not started, right? I mean, they just started and it will get started. So, in this case, if it's combined job, it must show 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 sake of this discussion, all these VM clusters are all four-node clusters. So first VM is going on. 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. What was VM cluster or first VM of the... First VM because remember, all of these... 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 hundred 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 we had all of this in one page. It is like all parent-child. No, no. I'm just saying that is not visually friendly to the user. Because they are all in progress. 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? VM cluster has 10 databases, right? So you have each row has 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, the OS will be done, GI will be done, and 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, I know you can do, but the key part here is, how do you, like, address, like, 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, you know, 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 cannot no longer be failed. It will, sorry, it can no longer stay 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 get 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... Wrong and 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 failures. 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 failures. And what is it supposed to do? I'm not going to look at... No, no, no, no, databases are not going to show us 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 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 a different tab. No, no, no, we're talking about you 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 is showing progress, it still needs to go to the GI error, the OS screen. Correct, and that's... 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 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 are 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 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 it. So first, in 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 which 7 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 failures. Let's say 11 databases are 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'll 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 job. That's the way it works, 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, but that's the option where you can page it. There's a progressive loading. Yeah, so this part I need to check it out. Like, framework, we don't have a... No, no, no, no, go back to your other screen. Okay. So where you had the VM clusters and DB. Go on DB. 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 load more button. How many lines will be there for that? For the 10 databases. 11, if you have a VM cluster that has 10 databases, you'll have 11 rows. So that screen is already used up mostly. But the other things will be collapsed because first of all, the first VM cluster... I know, they'll go off the screen. Correct, so it's exactly 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 GI, right? Retry is allowed, right? Rollback, yes. In one cluster, if there are 10 databases, if the GI fails, there is no need to say retry for GI and the database. No, no, you don't have to. 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 there is no 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 wanted 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 small because they go together. But no, if you... There's no separate matrix. 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 like philosophy behind it, right? One philosophy is that each component I want to see, which is the original or each OS is a collection, GI 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're 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, no. Right now, the way it has been implemented, OS and GI are bundled in one response. Right? And we have rollback or reward or continue 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 like, 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 DB. But here I'm 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, 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. But Sam, yeah, so I hope it is not because of what is seen on the screen. It's seen on the screen is 10, whether you are 100 or whether you're in GA, right? Here, the only difference between the two barring Sabha'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're 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 to you have a screen for 10 OSes, 10 GIs, and you'll 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 scroll, second page also, you scroll, third page also, you scroll. Yeah, correct. But the difference between that present, so total we have 100 plus, you know, whatever, 10 plus 10, 120 rows across three tabs. That is one model and we have not explored it, but we will explore it and come back. But just to kind of clarify that, current presentation is not very complex. I'm barring Sabha's comment that if the compart 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? Absolutely. Look at user experience. Yeah, so the user experience that, 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, DBGIOS, everything is there. Utilization of the summaries. Yeah, you will get, yeah, so now that's different. Now I'm saying versus 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'll 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 seven 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 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 interact with it. 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 like in progress. Third row, you open, you see OS and GI are marked as green. It's on the same row. And then the 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. From 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 uncollapse those, expand those, right? Otherwise, you have to switch between tabs and make the correlation that which is the parent and which is the child. That is the constant, right? That is right there, right? No, no, 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 have to know which parent belongs to. You don't need to know which parent belongs to. Right? It can go and click on the database, see what. Now the 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'll go to the third node, right? It'll 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 the thing. Customers see 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 Westport, that's how it is. In BUFA, I don't know how it is, but I'm assuming, yeah, that's how it is in Westport. In BUFA 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 wish. 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 escape, but 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. 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? Because that's where I, off the bat, without doing any, or rollback for that matter. So remember... I can still do it here. How will you do it? So, let's say there are 10 databases that show failure in different VM clusters, okay, on the database tab, right? 10 databases. The only reason we show failure there is because the database patching failed. Correct. Right? The causal 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 he just continues and he 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 are failed at that point. Now, there is an action where the guy says, hey, I want to remove GI, you know, 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, 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 to 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. Yeah, yeah. From a customer's action perspective, right? The simplest way, the direct way for him to act on it is the main thing. Right, but the two parts are also crucial, right? I think that 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, it's the one who is submitting it. No, that submitting owner has the responsibility to bring up the database GA and the OS. But don't happen. Right, I think. No, I think, I think about 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. He will not know the GA part of it. DB and GA probably may know, but you are right, sysadmin, right. OS guy will probably not know DB for sure. I mean, like, not for sure, but there's a chance that the guy who's doing the 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 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 them. 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 permissions on different, different resources. So I don't know if that is true, right, because if I, like I am a DB user, I am something of a group, right. 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. No, I think the team will coordinate with others, but I think the print. Yeah, but the UIs is, yeah. So it makes sense, I'm telling you, right. The database owners, they need to be able to handle database, right. On the failure part of it. Not on the failure part of it. No, I think what Vikash suggested here, right, I think Sam, I think the way it is, is you have this association, at the point of failures, print, what Vikash 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. Exactly. But the, they are also parent child relationships. So yeah, I think we should still have the parent chain. So that's what I feel, but I don't know. If we don't have that parent chain, then 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 the relationship, right. So even on the, 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 can be, we are like keeping him ignorant of that. Right. No, I mean, the whole collection itself is vertical, so that, but, but key part here is to Sabah's point, right. This whole, if we are saying that it is like going VM one is going, there are four VMs in a cluster. VM one is going DB, I mean, sorry, OS, GI, and all five database instances. Then it is going VM two, DB, GI, and all five database instances. Right, right. But what I'm saying is that relationship during creation is not established because it's a parent. Yeah, you're looking at that from a developer perspective, from a, from a customer perspective, from an operator perspective, right. He doesn't care, you know, what sequence it is or when it is done. For him, right. I, my application is a hundred 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 VM one. In fact, it has to say exactly database instance one is running on VM one. VM one's OS is going on. VM, you know, VM one's GI is going on. Now database instance one 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 parents, 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's why I was saying, when, when, I think who was asking, will it show as executing or will it not start at all or something, right? Correct. So, yeah, because otherwise you'll think that database patching is being, 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, 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, a single job has not started. They will be like, and if they don't have R-back for others, they will be like, oh, two hours, 40 minutes. I've been reasoning 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. Again, it goes to the plan database alone. And we say, my database got done in 45 minutes. Now it comes to vertical. The clock duration will be longer. Longer, right, right. So we will have to keep on saying, in fact. This is not. That doesn't work for you, second log. We have other components in between, which he has to understand. Correct. So in fact, so the statement, if we go with this kind of presentation, advantage to this kind of presentation is you can do right-click on 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 linked database. That's the 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 will still have 100 entries. Here you will have 110 entries. The 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 giving all the vertical jobs, you will have 10 rows sent back. And inside that you have progress of give me the GI update or OS update. And so you have only 10 rows coming back. The other one which you're talking about, you will have giving 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 of expandable. Right? Yeah, correct. Yeah, that is fine. That part is not the problem. Right. So the 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 that. 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, wait. Because it's the forwarders. 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. So each job ID will have a target like a partner. So it will be trusted or it will be assisted. Okay. So basically there are a sub 10 job and 5 job. Yeah, we don't have a limit. Yeah. We have related job. Yeah. Yeah. Okay. So you will always have 120 jobs. If you are having different kind of jobs. Okay. So basically, you will have 120 job IDs, job OS. Correct. Yeah. Okay. So then we will go back. Yeah. Yeah. We'll go back and then I think. Yeah, no, no. We have this pair. Yeah. Yeah. Yeah. So it's up 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... You know what they did, right? They delegated the database part of it to the internal customers. And right now, of course, the database is not part of the vertical, right? It's only OS plus GI. Yeah, so see, that's right, because once you dedicate it... But 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, 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, it will go into a queue and then it will get executed as part of a 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 are in single target. Because sometimes they might have a round of patching where there is only database, right? Some security fixes come in, some 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. Once we do this splitting, 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... I mean, the number of resources are just one-to-one. One OS to 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 is split, will not change. But I do think that at the time of creation, if you don't have this parent-child relationship, 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... In the job part of it, not in the creation part. In the job part of it, nothing changes, right? They have done the job. 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 anything, right? So parent-child relationship, do we need that need 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, there is a part of thing that we worked with before. What happens is they are scheduling a thousand databases for the weekend, okay? Now, in FFE, 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 kick, run those thousand commands in lots, right? They will say, let's do the hundred 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, and 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 is going on, I don't want this database to get patched, 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 database name. You know, the guys who are doing the databases, they don't know like which VM cluster, which OS, which GI. They have the database name and they're all unique anyway. Like 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. I mean, at least with the Indian cases and all, right, they know which DB in which cluster and knowing that... We are trying to bring Gopher to cloud. We are trying to bring this cloud from powered 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 are going to say, hey, you know, it's cloudified the cloud, otherwise, you know, you guys continue to, you know, your interfaces will change. But they won't, they are not going to move people on how, you know, we all do a reload. 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, you know, they... they have a footprint. Even if it is like the regaceous model, if you give a search and filter, that they can just come and search the DB. Even on that, even in that parent-child... I'm just... I'm just saying that I'm just trying to find 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, it may not be intuitive. And it's not even... see, UI is just one thing. 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 we do flat or not? I think all of this is coming down to flatten out 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 that will... Yeah, no, yeah, I think we can accommodate that. But main thing, Sam, 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 mix, right? So let us know, Sam, 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... Yeah, I will 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, 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. Okay. Okay, can we discuss with Vikas about the staging, right? Have we decided how we are going to ask for images based on version for the database? Yeah, that's the first screen, right? I think... I can't forget for now. 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 19 databases and 126 databases, right? Both need to be patched. We need to ask for the image for 19 image for 26. So you're talking about the target or goal version? Yeah, this is the presentation, Sam. Yeah, this is given. That's during create maintenance cycle and actions having access to the image model. The idea is that during stage, we will use the FSU actions, resource group to access the image in the stage again. So, but that's the customer will be responsible to send us. And even in Oracle stock, I think 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 drop down may not cut it. Like at least custom 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. Yeah. Lookman will be there. Lookman 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 remember you are having plans to review with the one and others also, right friends, at some point. Yeah. So we'll 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'll do a full, yeah, we'll craft that. Yes, we will. We'll 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, how we can achieve it with the existing ones, right? Correct. Correct. Okay. API is fine. I mean, it's just data, right? Correct. Correct. 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. Yeah, Sabha, I 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 where I think we kind of focused at Prince, Vikas, they had these things, right? But I want your inputs also, Sabha. Okay. Be more of the kickoff con. Yeah. After the kickoff. 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. No, I think let's do this because this kickoff has been... So for this is the engineering kickoff, this is not the project kickoff. Okay, so 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 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? Yeah. But in the initial creation, when you have the parent-child work, so I'm 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. So the main work is there, right, because that, so you and 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, dropout, none of that impacted the number of gold version and the representation also. Yeah, and I understood the custom image. Yeah, but that did not impact your Vikas any, nothing doesn't impact you, right, because the gold version presentation, multiple gold versions, having the gold version and the version is derived from customer image. None of those things are impacted. 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 just plug in the gold. The one I'm trying to say is that, so online can see databases with model discussion, all 26 systems, whatever database is with model discussion. We are not going to subset that. They can say, oh, more 19.x to 19.y and more 19.o to 19.p. We are not going to have that. No, no, what I'm saying is that 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 OS, right? You just have to find the OS. You have no other metadata, right? All the things we're talking about, target version, stock image, we'll have extra date, all of that. That is all coming from some other thing, right? Either the repo, update ID, or... Okay, update ID order. So basically, none of those things change your current. So it looks like API things have not been changed. So, Sarbat, your point, I think you should ask the engineering kickoff. Right, right. So I will have this, and then we will kind of proceed. Like, like Prince said, the UX may have some transformation, right, Sarbat, that we can have discussions. Sure. Okay. Okay, okay, then I'm going to jump to another call also. Okay, thanks. Thanks. Thank you, Sam. Yeah.