| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2023-12-12 | |||
| 16:55:08 | gibi | Im not clear about when manual cleanup is needed but we can discuss that in the review | |
| 16:55:15 | bauzas | #action artom to amend the blueprint description to note what we agreed | |
| 16:55:24 | bauzas | moving on | |
| 16:55:32 | bauzas | I really want the last item to be discussed | |
| 16:55:37 | bauzas | (JayF/johnthetubaguy) Specless blueprint for ironic guest metadata | |
| 16:55:40 | JayF | o/ | |
| 16:55:42 | bauzas | JayF: 'sup ? | |
| 16:55:48 | JayF | I am unsure if John will be here, but I am. | |
| 16:55:49 | bauzas | https://blueprints.launchpad.net/nova/+spec/ironic-guest-metadata | |
| 16:55:53 | bauzas | shot | |
| 16:55:57 | bauzas | shoot* even | |
| 16:56:44 | sean-k-mooney | reading it quickly it looks reasonable but i would use flavor uuid instead of name or both | |
| 16:56:59 | bauzas | ditto here | |
| 16:57:00 | JayF | Essentially, libvirt instances get a large amount of useful metadata that Ironic would like to get as well for various uses -- the primary case that drove us to this was implementing Ironic's "automatic_lessee" support, allowing Ironic to use the project that provisioned an instance some RBAC access to it | |
| 16:57:30 | JayF | but generally many of those metadata items map to previous feature requests / things that operators have asked for in node instance_info for troubleshooting in the past (like flavor) | |
| 16:57:33 | bauzas | I only care about the upgrade path | |
| 16:57:36 | JayF | so it seemed like a good fit/easy win | |
| 16:57:37 | sean-k-mooney | so i guess my request woudl be can we update the decription with the full list of things we want to be set | |
| 16:58:04 | bauzas | would we need some interim period to ensure all computes report that metadata ? | |
| 16:58:22 | JayF | Essentially this is just additional metadata you'd set on deploy | |
| 16:58:28 | JayF | it'd be Ironic's job to do the right thing if it's set/not set | |
| 16:58:30 | sean-k-mooney | so this is settign metadta on the ironic nodes right | |
| 16:58:32 | sean-k-mooney | not the compute nodes | |
| 16:58:34 | JayF | from a Nova standpoint, it should be 100% backwards compatible | |
| 16:58:41 | sean-k-mooney | as in when an instnace is shcudled ot a node | |
| 16:58:52 | sean-k-mooney | so for upgrade i guess we coudl have a nova-manage command | |
| 16:58:57 | sean-k-mooney | to set it for existing instnces | |
| 16:59:02 | JayF | oh, you mean for backfilling instance metadata, I understand | |
| 16:59:08 | sean-k-mooney | yep | |
| 16:59:10 | JayF | that's a case I hadn't even consideredd! | |
| 16:59:28 | sean-k-mooney | so i assume this would normally only be set on spawn | |
| 16:59:37 | sean-k-mooney | since ironci dose not support resize | |
| 16:59:45 | sean-k-mooney | well spawn or rebuild/evacuate | |
| 17:00:02 | JayF | Alright, looks like I have two actions: 1) List all the specific fields and 2) add details about migration path for preexisting instances and how/if they get metadata | |
| 17:00:08 | JayF | sean-k-mooney: we do rebuild, very common use case | |
| 17:00:19 | sean-k-mooney | ya so we would want to update it on rebuild right | |
| 17:00:33 | sean-k-mooney | so 3 actions. list the data to set, list when it will be set | |
| 17:00:39 | bauzas | sounds then an implementation detail to me | |
| 17:00:44 | sean-k-mooney | and then if we want to have a nova-manage command to backfile then detail that too | |
| 17:00:50 | JayF | yeah but one I don't mind enumerated in the blueprint to ensure I don't miss it | |
| 17:01:27 | bauzas | nova-manage what ? fill my ironic stuff for that instance ? | |
| 17:02:05 | sean-k-mooney | bauzas: ya set the metadtaa on the corresponding ironc node for an existing instance | |
| 17:02:19 | bauzas | couldn't it be some ironic script that would gather the details from the nova API ? | |
| 17:02:23 | sean-k-mooney | that shoudl be pretty simple to do its just a ironic api call | |
| 17:02:40 | sean-k-mooney | it could btu that feels liek a worse soultion to me | |
| 17:02:49 | JayF | So I'll note | |
| 17:02:52 | bauzas | sean-k-mooney: I'm not 100% happy with a very specific virt driver method in our nova-manage command | |
| 17:03:00 | JayF | From an Ironic standpoint, having the data backfilled is not super awesome | |
| 17:03:07 | sean-k-mooney | im pretty sure it woould not be the first | |
| 17:03:09 | JayF | we aren't going to do much with it | |
| 17:03:12 | bauzas | this would require nova-manage to be able to speak the ironic language | |
| 17:03:20 | sean-k-mooney | but this feels like the volume refesh commands to me | |
| 17:03:32 | sean-k-mooney | bauzas: it already can talk to ironci | |
| 17:03:33 | JayF | so while I'm happy to implement it, and I'm sure someone would find a use for it, I don't think it's in the primary path for enabling the sorta features we want | |
| 17:03:56 | sean-k-mooney | so i dont really mind where it ends up i guess but i think it woudl be nice to have | |
| 17:03:59 | bauzas | sean-k-mooney: creds and all the likes are set on nova.conf that nova-manage reads ? | |
| 17:04:30 | JayF | bauzas: you already have creds on nova-computes to do the calls you need | |
| 17:04:43 | JayF | PATCH calls to /v1/node/{UUID} | |
| 17:04:50 | bauzas | JayF: nova-manage isn't meant to be run on nova computes | |
| 17:04:55 | JayF | ack | |
| 17:05:15 | sean-k-mooney | bauzas: well its normally run on the contoler which often by acidnet is where nova-compute with ironic runs | |
| 17:05:20 | bauzas | despite we shipped that sail with the volume attach command :) | |
| 17:05:23 | sean-k-mooney | but we cant assume it will be colocated | |
| 17:06:03 | bauzas | did I say " we shipped that sail" ? oh gosh, I'm tired | |
| 17:06:21 | bauzas | anyway | |
| 17:06:52 | bauzas | sounds there is kind of a grey path about what we would for non-greenfields instances | |
| 17:06:58 | bauzas | would do* | |
| 17:07:09 | bauzas | time is flying tho and we're *again* late | |
| 17:07:09 | JayF | I like the idea of Ironic owning the migratino script | |
| 17:07:18 | JayF | and will think abuot it further and likely propose that | |
| 17:07:23 | sean-k-mooney | we shoudl figure our a solution to exisitng instnace but we dont need to do that now | |
| 17:07:25 | bauzas | (I'm really sorry about it) | |
| 17:07:39 | bauzas | JayF: what would you be your preference ? | |
| 17:07:42 | sean-k-mooney | JayF: do you want to think about that for a few days and let use knwo what you think is the best approch | |
| 17:08:11 | bauzas | approving the blueprint with a note saying "this is only a path for new instances, the migration path is yet to be defined" ? | |
| 17:08:17 | sean-k-mooney | im kind of feeling liek a spec would help by the way | |
| 17:08:24 | bauzas | or we could revisit the approval in later meetings | |
| 17:08:27 | JayF | Yeah I'm thinking Ironic side script, because then we can allow the Ironic-side actions to be done, too | |
| 17:08:30 | sean-k-mooney | but if other are ok im not going to say we must have one | |
| 17:08:30 | JayF | I'd say lets revisit | |
| 17:08:39 | JayF | I think I'll get to talk to John in the intervening week | |
| 17:08:52 | bauzas | okay, I'll keep the bleuprint in the agenda | |
| 17:08:56 | JayF | I wasn't sure what the edges were on this, now I know what they are and can file them down :) | |
| 17:08:59 | bauzas | and we could revisit it next week | |
| 17:08:59 | JayF | thank you | |
| 17:09:04 | bauzas | thanks | |
| 17:09:05 | sean-k-mooney | i just dont knwo this code as well as other so it would help me to have a little more detail. but we coudl just put more detail in the blueprint | |
| 17:09:17 | bauzas | and because we're horribly late, I'll end the meeting now | |
| 17:09:24 | bauzas | thanks all | |
| 17:09:24 | sean-k-mooney | o/ | |
| 17:09:30 | bauzas | and sorry again | |
| 17:09:32 | opendevmeet | Log: https://meetings.opendev.org/meetings/nova/2023/nova.2023-12-12-16.01.log.html | |
| 17:09:32 | opendevmeet | Minutes (text): https://meetings.opendev.org/meetings/nova/2023/nova.2023-12-12-16.01.txt | |
| 17:09:32 | opendevmeet | Minutes: https://meetings.opendev.org/meetings/nova/2023/nova.2023-12-12-16.01.html | |
| 17:09:32 | opendevmeet | Meeting ended Tue Dec 12 17:09:32 2023 UTC. Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4) | |
| 17:09:32 | bauzas | #endmeeting | |
| 17:09:45 | gibi | thanks bauzas | |
| 17:10:20 | JayF | sean-k-mooney: the base feature in Ironic we want to hook into is right now, w/standalone ironic, you set [conductor]automatic_lessee=true, you get node.lessee={project_id that spawned it} set automatically by Ironic, and you can use RBAC to give some Ironic API access to that node (anything from read access to ability to self-serve some maintenance items) | |
| 17:11:19 | JayF | sean-k-mooney: so doing a backfill using nova-based script would be awkward, because we could backfill the nova half but the Ironic side wouldn't have taken the "on spawn" action... but if we do it from Ironic side, it can pull info from Nova, make the change to put the metadata on the node, and also use Ironic config to flip other node settings as needed (for example: setting | |
| 17:11:21 | JayF | node lessee) | |