| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2020-11-17 | |||
| 16:40:47 | gmann | but they need scope as project. so any system scope token would not be able to do 'project'-only scope | |
| 16:41:02 | sean-k-mooney | right | |
| 16:41:15 | sean-k-mooney | system scoped tokens should not be project only | |
| 16:41:34 | gmann | yeah so how they get hyperviors ino | |
| 16:41:38 | gmann | info | |
| 16:41:38 | sean-k-mooney | im suggesting project_admin shoudl be able to list the host summaries for all hosts tehy can boot too | |
| 16:42:26 | gmann | yeah that i agree. but keep scope_type as ['system', 'project'] sop that system can list all hyperviros and project can only list what they have access to | |
| 16:42:50 | sean-k-mooney | with role admin | |
| 16:43:02 | gmann | and default to SYSTEM_READER_OR_PROJECT_ADMIN | |
| 16:43:03 | sean-k-mooney | we dont want project member or reader to have acess | |
| 16:43:04 | gmann | yes | |
| 16:43:12 | sean-k-mooney | ya | |
| 16:43:22 | sean-k-mooney | SYSTEM_READER_OR_PROJECT_ADMIN woudl be correct | |
| 16:43:43 | sean-k-mooney | if we do that we dont need to change the api to pass a proejct id | |
| 16:44:03 | gmann | cool and in code we can check and return only the project accessible hypervisors but in that case we need to check the token's scope in nova code | |
| 16:44:17 | gmann | sean-k-mooney: +1 on that. | |
| 16:44:33 | sean-k-mooney | yes on just that one api where we are adding thei fucntionality | |
| 16:44:50 | sean-k-mooney | if we need to expose something lese to project admins we can do that in a similar way | |
| 16:44:59 | gmann | checking token's cope part is little different and new which we need to check how to do | |
| 16:45:01 | sean-k-mooney | but we dont need full system_reader for project admin usecases | |
| 16:45:16 | gmann | agree. | |
| 16:45:24 | sean-k-mooney | i belive it should be in the context object | |
| 16:46:14 | gmann | yes we can do from context only difference is, it is 'system_scope' in context and 'system' in oslo policy side. but not big deal | |
| 16:47:26 | sean-k-mooney | stephenfin: updated https://review.opendev.org/#/c/755109/4 to a +1 if someone wants to +w | |
| 16:53:30 | gmann | stephenfin: sean-k-mooney replied on this what we disucssed - https://review.opendev.org/#/c/763043/1 | |
| 16:53:55 | stephenfin | Ack, will respin shortly. Thanks :) | |
| 17:02:54 | lyarwood | kashyap / stephenfin ; thinking about the machine type enumeration problem a little more, do we care if an instance is using a versioned machine type? | |
| 17:03:14 | sean-k-mooney | lyarwood: kashyap and i disagree | |
| 17:03:17 | kashyap | lyarwood: Do you mean, should we record that or not? | |
| 17:03:24 | sean-k-mooney | lyarwood: i prefer to use the unversioned ones | |
| 17:03:31 | lyarwood | kashyap / stephenfin ; if we record the verioned machine type and always use it wouldn't that stop users getting security updates for free? | |
| 17:03:38 | sean-k-mooney | there are reason to use the versioned ones | |
| 17:03:46 | sean-k-mooney | livemigration/upgrades mainly | |
| 17:03:47 | lyarwood | sean-k-mooney: right I think I'm with you if the ABI remains the same | |
| 17:04:02 | sean-k-mooney | the machine type partly defines the abi | |
| 17:04:15 | sean-k-mooney | so it wont nessisarly remian the same but its largly the same | |
| 17:04:32 | sean-k-mooney | thing that can change are the max number of cores supported for example | |
| 17:04:44 | sean-k-mooney | but it should be backward compatible | |
| 17:04:56 | lyarwood | yeah | |
| 17:04:56 | kashyap | lyarwood: Just so I get you: we're referring to CentOS/RHEL-based versioned machine types, yeah? (And not the upstream QEMU's per-release machine types) | |
| 17:05:08 | sean-k-mooney | e.g. a q35-1 guest shoudl be upgradable to a q35-2 machine type | |
| 17:05:28 | kashyap | sean-k-mooney: Well, wait. That sentence doesn't make sense | |
| 17:05:55 | kashyap | To remind: when you migrate an instance with machine type q35-1, it *remains* q35-1 on the destination | |
| 17:06:01 | sean-k-mooney | the abi between verions should change additivly | |
| 17:06:08 | kashyap | ... until one explicitly changes it via nova.conf. | |
| 17:06:12 | sean-k-mooney | kashyap: yes i never said migrate | |
| 17:06:28 | sean-k-mooney | i said upgrade i actully ment via a hard reboot | |
| 17:06:34 | kashyap | sean-k-mooney: Err, my mind read the "upgradable" as "migratable". Silly me! | |
| 17:07:00 | kashyap | sean-k-mooney: Even in the case of "upgrade", libvirt won't gratuitously update it, you have to explicitly request it. | |
| 17:07:15 | sean-k-mooney | you can expect that a guest booed on an older vers should be able to boot in the newer verion of the same overall type | |
| 17:07:15 | kashyap | lyarwood: Not sure if we're on track with your original question | |
| 17:07:28 | lyarwood | kashyap: yeah this is still on the original question | |
| 17:07:37 | sean-k-mooney | kashyap: well if you just use q35 in your nova.conf | |
| 17:07:37 | openstackgerrit | Merged openstack/nova-specs master: Add modernize-os-hypervisors-api spec https://review.opendev.org/755109 | |
| 17:07:48 | lyarwood | kashyap: so my spec as written will track the versioned machine type | |
| 17:07:57 | sean-k-mooney | then since we destroy and recreate teh domain it will use the new one that the q35 alis now points too | |
| 17:08:03 | kashyap | lyarwood: So ... on the security updates: they're not tied to machine types often; most fixes in machine types are typically garden-variety "bug fixes" | |
| 17:08:06 | lyarwood | kashyap: but the issue with that is that you can never move from that specific version without rebuilding the ntire instance | |
| 17:08:18 | lyarwood | entire* | |
| 17:08:33 | sean-k-mooney | lyarwood: well really it should track the unversioned one | |
| 17:08:39 | sean-k-mooney | unless its set in the nova.conf | |
| 17:08:42 | lyarwood | sean-k-mooney: that's what I'm getting at | |
| 17:08:44 | sean-k-mooney | in which case it should use that | |
| 17:08:58 | lyarwood | sean-k-mooney: even then I think we should track the unversioned machine type | |
| 17:08:59 | kashyap | sean-k-mooney: Lee's question is, what *if* the guest is explicitly using the versioned machine type | |
| 17:09:11 | sean-k-mooney | if you had not set it the expecation is that it will change when you hard-reboot if you did a yum update and updated libvirt/qemu | |
| 17:09:35 | sean-k-mooney | kashyap: if the guest is useing a verioned machinve type in the image you dont need to do anything | |
| 17:09:48 | sean-k-mooney | if the guest is useing a version machine tyep from the config then use the config value | |
| 17:10:05 | sean-k-mooney | the upgrade to a newer one was ment to be handeled by the new recreate api | |
| 17:10:14 | sean-k-mooney | which we rejected so there is no upgrade path now | |
| 17:10:31 | lyarwood | well just using the alias | |
| 17:10:43 | lyarwood | that's the only way to provide an upgrade path to users | |
| 17:10:59 | sean-k-mooney | right but on waht operation would it upgrade | |
| 17:11:18 | kashyap | lyarwood: I think the clearest way to get understanding here is to lay out some example scenarios | |
| 17:11:19 | lyarwood | move or hard reboot | |
| 17:11:25 | lyarwood | assuming the underlying QEMU had been updated | |
| 17:11:32 | kashyap | lyarwood: I've writte up some for RHOS QE for cold migration, live and evacuate scenarios | |
| 17:11:43 | sean-k-mooney | i guess i could by that | |
| 17:12:01 | kashyap | I can clean that up and provide a link, as lay out the impliciations. And that allows one to better reason about it, IMHO | |
| 17:12:06 | sean-k-mooney | resize,hardreboot, unshelve, rebuild and cold migrate | |
| 17:12:38 | lyarwood | does anyone actually care about running on a specific version of a machine type? | |
| 17:12:38 | sean-k-mooney | lyarwood: do you have my hw:stable_abi extra spec in your spec | |
| 17:12:46 | lyarwood | sean-k-mooney: no | |
| 17:12:58 | sean-k-mooney | lyarwood: we do for ffu | |
| 17:13:06 | sean-k-mooney | but beyond that im not sure | |
| 17:13:20 | lyarwood | sean-k-mooney: why? Wouldn't that be covered by LM | |
| 17:13:34 | sean-k-mooney | yes kind of | |
| 17:13:59 | sean-k-mooney | it more we want to pin the new host to the old verion untill the rolling upgrade is complete | |
| 17:14:00 | sean-k-mooney | i think | |
| 17:14:19 | sean-k-mooney | so that we can technically migrate form new to old if we need too eventhough we say dont do that | |
| 17:14:39 | sean-k-mooney | changing the machine_type is ment to be a post upgrade step | |
| 17:14:49 | lyarwood | well you could still technically do that with FFU | |
| 17:15:12 | lyarwood | actually no you couldn't ignore me | |
| 17:15:28 | lyarwood | and agreed with post upgrade for changing default machine types | |
| 17:16:11 | kashyap | A factor to consider: if you track the unversioned 'pc' or 'q35', it always aliases to the latest available versioned machine type on the box. | |
| 17:16:29 | sean-k-mooney | from a donwstream point of view what we said was new installs should use the new default, existing installs should be upgrade with the old default then the default shoudl be changed as a post upgrade action | |
| 17:17:26 | sean-k-mooney | kashyap: yes but if you have not express an opipion in the image and the config is either unset or set to the aliase i think that is the right thing to track anyway | |
| 17:17:45 | kashyap | sean-k-mooney: Yep, that I agree with. | |
| 17:17:55 | sean-k-mooney | the edge case is if you have a versioned machine type in the config | |
| 17:18:06 | sean-k-mooney | i was suggesting recodign that | |