Earlier  
Posted Nick Remark
#openstack-nova - 2022-08-30
19:26:16 dansmith then they reboot, nothing happens.. then 6mo later when the operator upgrades that compute .. poof, user data changes
19:26:33 sean-k-mooney[m] yes but when the compute is eventually updated it will regenerate the config on the next reboot
19:27:48 dansmith right, but that could be many months later
19:27:56 dansmith which could be quite confusing for someone,
19:28:15 dansmith especially if they wrote something to test, tried to set it via hard reboot, it seemed to allow it but never worked, shrugged and went off,
19:28:24 dansmith then 6mo later it changes suddenly...
19:28:38 dansmith that user_data script might have been untested, they couldn't test it, so they assumed no harm
19:29:08 sean-k-mooney[m] it could. so orginally the problem of how/when to regnerate the conf dirver came up a few months ago after the spec review
19:29:27 dansmith I upgraded my +0 to -1: https://review.opendev.org/c/openstack/nova/+/816157
19:29:32 sean-k-mooney[m] and at the time the ideia of the dirity flag was disucsed to allow this
19:29:59 sean-k-mooney[m] its obvious we should have intoduced the rpc bump now
19:30:15 dansmith yeah I understand the "lazy do it later" aspect, but if it's broken and doesn't get honored right away, that "later" being a half year or more seems like more harm than good
19:30:25 sean-k-mooney[m] but orgianlly i tought that lazy rebuild was actully desirebale
19:30:39 sean-k-mooney[m] ack
19:30:51 dansmith lazy is good as long as it's not TOO LAZY :P
19:31:53 sean-k-mooney[m] the rebuild series has both a compute service bump and rpc bump right
19:32:22 dansmith yes
19:32:30 sean-k-mooney[m] so eihter way it will have to be updated when this is adressed
19:32:38 dansmith yes
19:32:50 sean-k-mooney[m] so 6.1 would be for update_userdata and 6.2 for rebuild
19:33:02 dansmith yeah
19:33:09 dansmith are you thinking be sneaky and combine? I dunno how I feel about that
19:33:30 sean-k-mooney[m] no
19:33:53 sean-k-mooney[m] 6.1 for extending hard_reboot
19:34:01 sean-k-mooney[m] and 6.2 for extending rebuild
19:34:08 sean-k-mooney[m] not cominign both into 6.1
19:34:18 sean-k-mooney[m] since there in different patches that would be odd
19:34:23 dansmith ack, yep, that's what i'll be, and of course service versions for each bump
19:34:35 dansmith *it'll
19:34:39 sean-k-mooney[m] and we should not squash them obviously since the patches are unrelated
19:35:11 dansmith no, I just thought you were about to "get creative" :)
19:35:29 sean-k-mooney[m] hehe not with correctness
19:35:49 sean-k-mooney[m] out side of a bug fix…
19:36:59 sean-k-mooney[m] jhartkopf: ^
19:37:09 sean-k-mooney[m] not sure you were following that
19:38:17 dansmith not online, AFAICT
19:39:00 dansmith ugh,
19:39:11 dansmith all of the virt and rpc stuff that the rebuild patches touch will conflict out
19:39:18 dansmith I so wish luck had landed these in opposite order
19:46:56 sean-k-mooney[m] by the way apprently the matix bridge does not actullly only show you the currently online people
19:47:24 sean-k-mooney[m] which is why jhartkopf auto completed for me even if they are not here
19:51:26 dansmith sean-k-mooney[m]: https://termbin.com/q3ev
19:51:32 dansmith I think that's basically what needs to happen
19:52:43 dansmith I wish we could get a read on this from melwitt and gibi so I should know if I should spend my evening trying to get this all changed and tested
19:53:31 sean-k-mooney[m] ignoring your base64 nits that looks about right
19:54:57 dansmith it also seems like the tests on this are pretty lacking, no?
19:55:04 dansmith like, there are no tests on the virt driver changes?
19:55:10 sean-k-mooney[m] im currently trying to set up a devstack env i dont currently have one to test it. we do still have 2 days for code frezee
19:55:42 dansmith like, no test that I see that actually checks that the libvirt driver will honor the flag
19:56:03 opendevreview Rico Lin proposed openstack/nova master: Add traits for viommu model https://review.opendev.org/c/openstack/nova/+/844507
19:56:19 gibi I'm not sure I have enough brain left today for this. But I have at least two comments to the above 1) I don't think this is a rebuild feature it is tight to hard reboot 2) I think we prevented the possible upgrade issue with the capability trait.
19:56:43 ricolin sean-k-mooney[m]: just update the viommu traits patch :)
19:56:45 gibi I cannot argue that this can be done differently
19:57:08 gibi and dansmith you are right that the system metadata dependency makes it at least a grey interface
19:57:42 gibi it is sad that we figured out this issue late in the cycle
19:58:12 dansmith gibi: I don't understand what you mean by #1, but yeah I guess you're right on the trait.. that's preeety thin though :)
19:59:02 gibi #1 is probably just a missunderstanding from
19:59:03 gibi 20:58 < dansmith> rebuild is basically growing a new feature, and we need to pass it a flag,
20:00:03 sean-k-mooney[m] the trait wont be reported on a non upgraded compute yes
20:00:14 sean-k-mooney[m] which might help for the upgrade chase specifically
20:00:26 dansmith gibi: oh yeah I meant reboot there sorry
20:00:27 gibi on the flag itself. The RPC flag vs the persisted field has some semantic difference. If we update the user_data in the DB in the API layer then pass a flag to regenerate the config drive via the RPC then a lost RPC means that the DB data and the config data got out of sync
20:01:24 dansmith gibi: but we can and should revert if we're reporting failure to the user
20:01:30 sean-k-mooney[m] so im not sure if we should revert
20:01:32 dansmith because if this happens because of the lack of a trait or version,
20:01:34 gibi the reboot RPC is a cast
20:01:45 gibi so if the RPC lost the API wont notice
20:01:46 sean-k-mooney[m] the reason for that is todya id we update instnace metadata
20:01:48 dansmith then it will pop into being in six months and be very confusing
20:01:52 sean-k-mooney[m] we dont update the config drive
20:02:04 sean-k-mooney[m] unless you do a cross cell migration
20:02:23 sean-k-mooney[m] so you can have a delta between the metadta api and the config drive today
20:02:31 melwitt ugh, my irc client had "froze" not receiving new messages for only this network and I didn't realize it until now. had to close and reopen the client to receive and send messages
20:03:02 dansmith gibi: ack, not for a version conflict, but for an actual lost RPC we'd get out of sync.. I'm not sure if that's better or worse than queuing an update for six months later on a different version of the software, but fair point
20:03:35 gibi yeah, both case seems problematic
20:03:39 dansmith indeed
20:03:55 melwitt I just skimmed through yalls review comments from today a little while ago and don't have a handle yet on what's going on. I will read further and add a comment once I understand it
20:04:23 dansmith I guess the trait eliminates the acute concern of this being actually broken, but I'm still concerned about setting the precedent for shadow RPC interfaces in metadata, even if protected by a flag like that
20:04:24 gibi could we do both the DB update and the config driver regeneration from the nova-compute service?
20:04:33 sean-k-mooney[m] do we consider the user_data to be higher imporantce to be updated then other info in the config drive
20:04:36 dansmith it's what we have versioning for and how we do math about "can we do this now or not"
20:04:38 sean-k-mooney[m] that we dont regenerate today
20:05:06 dansmith gibi: well my first thought was not a flag, but pass the user data to the reboot call, and let it update it
20:05:14 dansmith gibi: that would be much better all around
20:05:21 dansmith I need to look at the potential size limit though
20:05:29 sean-k-mooney[m] like if you attch a volume/interface or update server metadata that wont get updated in the config drive today
20:05:31 gibi ahh yeah, it is a blob
20:05:34 dansmith if you can pass a MiB that would be bad...
20:06:11 sean-k-mooney[m] its 64k i think
20:06:36 dansmith sean-k-mooney[m]: is it?
20:06:52 sean-k-mooney[m] its large yes
20:06:57 dansmith we might want to make that bigger though at some point, so expecting to put that into an rpc message might be a bad idea long-term
20:07:44 melwitt it was a bit of a coincidence :) I saw sean's comment on the userdata review come in email and they said "I talked to dan" but I didn't see any talking to dan in the channel. that's when I realized my client was messed up
20:07:56 dansmith aha
20:08:26 gibi I need to drop for the night. I'm fine pulling user_data out of the release while we design it better. I just whish we can somehow avoid in the future push contributors into a desgin dead end and then pulling the rug out at FF.
20:08:51 dansmith I know the feeling because I was arguing that we not do that for bfv rebuild either
20:09:01 gibi yeah
20:09:04 dansmith and I noted in my comment that (a) I know the implication and (b) I'm willing to scramble on the work
20:09:09 melwitt so I disconnected and reconnected the network and I saw yalls comments rolling in. but when I sent messages there was no acknowledgement, so I checked the irc logs and my messages weren't there. so I had to escalate to a full quit/start of my client. and now it's working 🙄
20:09:29 gibi I can look at the patch / comments tomorrow morning. But now I drop. See you tomorrow

Earlier   Later