| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2023-12-12 | |||
| 16:54:40 | gibi | looks OK to me | |
| 16:54:54 | bauzas | #agreed https://blueprints.launchpad.net/nova/+spec/persistent-mdevs accepted as a specless blueprint | |
| 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) | |