| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2022-01-17 | |||
| 14:01:25 | sean-k-mooney | mybe l for local | |
| 14:04:31 | gibi | heat uses Heat304 for example, clever, it does not need to be a single letter | |
| 14:04:59 | gibi | horizon uses M | |
| 14:07:43 | gibi | sean-k-mooney, bauzas: btw, can I get eyes on this bugfix https://review.opendev.org/q/topic:bug/1952941 I'm still on the hook to backport this to victoria due to downstream upgrade failures. | |
| 14:09:07 | sean-k-mooney | ah that one sure | |
| 14:15:24 | gibi | thanks | |
| 14:16:18 | sean-k-mooney | im +1 on that and the repoducer below it, thanks for following that pattern it makes it supper clear that the fix is correct | |
| 14:17:26 | sean-k-mooney | you have a seperate change too to stop persiting the numa toloplogy in the request spec correct? | |
| 14:17:56 | sean-k-mooney | https://review.opendev.org/c/openstack/nova/+/820215 | |
| 14:18:45 | sean-k-mooney | after the current backportable change is done i woudl still be happy to proceed with that too | |
| 14:20:10 | gibi | sean-k-mooney: yeah, I'm happy to move forward with https://review.opendev.org/c/openstack/nova/+/820215 if there is a consensus | |
| 14:20:26 | gibi | the current state of that patch already show that the idea is feasible | |
| 14:21:25 | sean-k-mooney | ya its not required but since it will prevent this type of error in the future its proably worth it in the long run | |
| 15:01:12 | bauzas | gibi: ack, sorry was on meeting | |
| 15:01:21 | bauzas | gibi: will look at it later today | |
| 15:01:39 | gibi | bauzas: thanks, no worries | |
| 15:02:35 | bauzas | gibi: gmann: btw. if we need to update a microversion for unshelve (adding a new host), are we OK if we could remove https://github.com/openstack/nova/blob/1ddb8f83adef964a8ca050994a43adc6175994f1/nova/api/openstack/compute/schemas/shelve.py#L31 ? | |
| 15:03:07 | bauzas | availability_zone is Optional in the doc :) | |
| 15:18:51 | artom | Yeah, it's a weird one | |
| 15:19:00 | gibi | bauzas: looking | |
| 15:19:01 | artom | AZ isn't actually optional, the entire request body is | |
| 15:19:04 | sean-k-mooney | well the az is optional | |
| 15:19:24 | artom | If you have a body, AZ needs to be *something*, could be None | |
| 15:19:35 | bauzas | you need to either provide no dict or if you provide the dict, you need to add the AZ key | |
| 15:19:46 | artom | ... which could be None :P | |
| 15:20:00 | bauzas | so, when adding a new argument like "host", we would also need to add AZ | |
| 15:20:10 | sean-k-mooney | yep but there is no other property you can currently pass in the dict | |
| 15:20:32 | bauzas | yeah, that's why I'm asking to remove this for the new API microversion also adding the new argument | |
| 15:20:41 | bauzas | sean-k-mooney: correct, for the moment | |
| 15:20:43 | sean-k-mooney | artom it would have to be the litral value null potentailly but this is not the only place where its slightly odd | |
| 15:20:55 | gibi | I think both unshelve to an AZ or unshelve to a specific host make sense | |
| 15:21:16 | bauzas | sean-k-mooney: but once Uggla will add a new key like "host", that would mean that the AZ key should be required | |
| 15:21:29 | sean-k-mooney | yep likely you dont need to sepcify both but if you did we shoudl vlaidated the host to az relationship | |
| 15:21:43 | artom | No...? Having to specify both host and AZ seems weird | |
| 15:21:51 | artom | I'd say one or the other, but not both? | |
| 15:21:53 | bauzas | that's why I'm saying we should remove the requiring when we modify this API | |
| 15:22:11 | bauzas | in a new microversion of course | |
| 15:22:15 | sean-k-mooney | bauzas: well as currently specified but in generally unshele:{"host":"my-host"} | |
| 15:22:20 | sean-k-mooney | i think shoudl be valid | |
| 15:22:21 | artom | To my mind what would be clearest is: either empty body, or AZ with a non-null value, or host with a non-null value | |
| 15:22:22 | bauzas | anyway, let's wait Uggla to provide his spec for Z :) | |
| 15:22:32 | sean-k-mooney | i dont think we shoudl required Az if the host is passed | |
| 15:22:38 | gibi | artom: ++ | |
| 15:22:43 | bauzas | sean-k-mooney: agreed, that's my concern | |
| 15:22:54 | bauzas | sean-k-mooney: https://github.com/openstack/nova/blob/1ddb8f83adef964a8ca050994a43adc6175994f1/nova/api/openstack/compute/schemas/shelve.py#L31 doesn't accept it for the moment | |
| 15:23:03 | bauzas | so we need to remove this line | |
| 15:23:16 | bauzas | with a new microversion and when adding a new argument | |
| 15:23:17 | sean-k-mooney | yes in the new microverion | |
| 15:23:26 | sean-k-mooney | in the current one it shoudl remain | |
| 15:23:32 | bauzas | ok, anyway, I think we have a consensus | |
| 15:23:45 | bauzas | sean-k-mooney: of course, I know it | |
| 15:24:00 | sean-k-mooney | yep just make sure Uggla captures it in the spec for next cycle | |
| 15:24:01 | bauzas | I was asking whether it was ok to remove the line at the same time we add a new argument | |
| 15:24:11 | sean-k-mooney | i assume they will start working on the implemantion in parallel | |
| 15:24:26 | bauzas | sean-k-mooney: correct, I discussed that with him :) | |
| 15:24:36 | bauzas | anyway, consensus, that's it | |
| 15:24:39 | bauzas | it was just a question | |
| 15:24:42 | bauzas | a simple one | |
| 15:25:53 | sean-k-mooney | yep i broght that up as we have not created the new spec dir yet but Uggla can totally do that and we can review the spec | |
| 15:26:26 | Uggla | cool, I'll work on this way. | |
| 15:26:32 | sean-k-mooney | but ya my vote is for make it not required and supprot null as well | |
| 15:30:33 | Uggla | passing both option, do you think that passing host should "discard" az | |
| 15:30:40 | Uggla | passing both options, do you think that passing host should "discard" az | |
| 15:31:25 | Uggla | I mean whatever we will have in az will be ignored if host is passed. | |
| 15:31:42 | Uggla | I mean whatever we will have in az will be ignored if host is passed ? | |
| 15:32:13 | gibi | Uggla: no, I think we should not ignore input. we either forbid both to be passed at once, or we should validate that the host is in the az | |
| 15:32:36 | gibi | I more with artom, to forbid to pass both in the same request | |
| 15:33:19 | sean-k-mooney | well either we validate that the host is in the az or it should be an error to pass both in my view | |
| 15:33:37 | gibi | sean-k-mooney: I agree | |
| 15:34:02 | Uggla | ok probably simpler to make it an error. | |
| 15:34:12 | sean-k-mooney | yep simple 400 | |
| 15:34:24 | sean-k-mooney | no existing client will pass host | |
| 15:34:43 | sean-k-mooney | and when optinign into the new microversion they can ensure that only one is generated | |
| 15:35:34 | Uggla | Is it possible to do this kind of exclusive or parameters in the schema validation ? | |
| 15:35:48 | sean-k-mooney | yes | |
| 15:36:03 | artom | Right, but why do more work when less work is enough? :) | |
| 15:37:13 | sean-k-mooney | im pretty sure there is a way to defeint them as a mutualy exclucive group | |
| 15:37:30 | sean-k-mooney | i just cant think of a place off the top of my head whwere we actully do that | |
| 15:37:43 | sean-k-mooney | i suspect this si normally check after the scheme validation | |
| 15:39:32 | Uggla | Is making both options ok in schema validation and then doing the exclusive part in the code, sounds ok ? | |
| 15:39:38 | sean-k-mooney | https://github.com/openstack/nova/blob/1ddb8f83adef964a8ca050994a43adc6175994f1/nova/api/openstack/compute/schemas/servers.py#L172-L173 | |
| 15:39:45 | sean-k-mooney | oneOf | |
| 15:40:09 | Uggla | sean-k-mooney, nice thank you ! | |
| 15:40:42 | sean-k-mooney | as i said we rearly enforce that in teh scheme but no one will object if you do it either | |
| 15:41:40 | sean-k-mooney | there are some other exampels in the samee file | |
| 15:41:41 | sean-k-mooney | https://github.com/openstack/nova/blob/1ddb8f83adef964a8ca050994a43adc6175994f1/nova/api/openstack/compute/schemas/servers.py#L281-L298 | |
| 15:42:58 | bauzas | sean-k-mooney: I'll create the specs directory once we know the Z name :) | |
| 15:43:26 | bauzas | unless I name it 'zombie' directly :p | |
| 15:45:24 | sean-k-mooney | oh ya good point | |
| 15:46:29 | sean-k-mooney | i still quite like "zenith" cause its all down hill from there | |
| 15:53:16 | gmann | bauzas: gibi sean-k-mooney Uggla artom yeah, we can remove the AZ from being 'required' from schema now as it will ne extended to accepting 'host' too. AZ was added as 'required' because this API only accept None or AZ and no other field but that is handled by additionalProperties=False so 'required' is not needed as such. | |
| 15:54:09 | gmann | bauzas: I think you will be right about 'zombie' :) everyone liking it :) | |
| 15:56:36 | sean-k-mooney | if its is zombie we shoudl make it a base for a downstream realse | |
| 15:57:01 | sean-k-mooney | because a decade form now we will still have once custoemr that refuses to move off it and it will never die | |
| 15:57:10 | sean-k-mooney | like any good zombie :) | |
| 15:58:02 | gmann | :) | |
| 15:59:52 | sean-k-mooney | osp 18 actuly should either be the z release of a release depending on timeing so maybe that will happen anyway | |
| 16:00:12 | sean-k-mooney | *Z release or A release | |
| 16:00:59 | bauzas | A = Awesome release I guess | |
| 16:01:17 | bauzas | easy peasy | |