Earlier  
Posted Nick Remark
#openstack-nova - 2019-12-12
16:53:21 efried This iteration is simpler in terms of weirdnesses
16:53:33 efried and fleshes out some of the interplay necessary for object store
16:53:39 efried jroll: ^
16:53:59 efried TxGirlGeek: Spec: Ussuri: Encrypted Emulated Virtual TPM https://review.opendev.org/686804
17:00:58 TxGirlGeek @efried Check
17:13:18 mriedem stephenfin: so your change to _build_minimal_create_server_request
17:13:24 mriedem to remove the API that's passed in,
17:13:33 mriedem that's a problem for any testing doing multi-tenant testing
17:13:38 mriedem like https://review.opendev.org/#/c/697331/4/nova/tests/functional/test_scheduler.py
17:13:44 mriedem *any test
17:14:14 mriedem so to avoid temporarily mutating the self.api in these types of tests we're going to have to add an api kwarg or something
17:14:33 stephenfin I thought I did, no?
17:14:38 stephenfin looking
17:15:17 mriedem nope https://review.opendev.org/#/c/697694/1/nova/tests/functional/integrated_helpers.py@a98
17:16:20 stephenfin *missed some
17:16:20 stephenfin I had it for some of the helpers to deal with that but clearly missed this one
17:16:20 stephenfin okay, that's a good point. Can you -1 that and I'll respin with the api parameter
17:17:13 mriedem same https://review.opendev.org/#/c/694179/2/nova/tests/functional/test_external_networks.py
17:17:26 mriedem your change is merged,
17:17:29 mriedem which is why i'm in rebase hell
17:18:04 mriedem i'll add it when i move onto reworking one of these
17:18:16 mriedem https://review.opendev.org/#/q/path:%255Enova/tests/functional/.*+status:open+owner:self+branch:master :(
17:18:24 mriedem i guess that won't work for others...
17:18:35 mriedem there we go https://review.opendev.org/#/q/path:%255Enova/tests/functional/.*+status:open+owner:mriedem+branch:master
17:19:16 stephenfin /o\ sorry
17:19:20 stephenfin you're gonna hate https://review.opendev.org/#/c/697537/ so
17:19:29 stephenfin I can respin those for you, if you want
17:19:32 stephenfin seeing as I broke em
17:19:39 mriedem i'll do it
17:19:52 mriedem i realize to make an omelette you have to break a few eggs
17:20:06 mriedem but these are my faberge eggs
17:26:54 pmatulis how do i know what command will provide a known attribute, such as 'OS-EXT-SRV-ATTR:kernel_id'? the 'server show' command does not show this
17:27:53 mriedem you're likely not using a high enough microversion
17:28:04 mriedem you need >= 2.3 for that
17:28:12 mriedem openstack --os-compute-api-version 2.3 server show <server>
17:28:20 mriedem https://docs.openstack.org/api-ref/compute/?expanded=show-server-details-detail#show-server-details
17:28:32 mriedem tells you the response params and required min versions
17:30:09 pmatulis mriedem, wow ok, i've never encountered that option before. thank you
17:30:49 melwitt TheJulia: sorry, what did you mean about the cpu_arch? it
17:32:56 melwitt TheJulia: *it's the opposite, we take the cpu_arch from the ironic node properties to use as an advertised capability of a compute, for scheduling. what is the correct thing for us to do if an ironic node has _no_ cpu_arch in it's node properties? today we are advertising no cpu_arch in that case, which means any glance image with arch specified will not match an arch-less host
17:34:05 sean-k-mooney melwitt: do you need a filter to get that behavior?
17:34:26 melwitt sean-k-mooney: yeah it's the ImagePropertiesFilter
17:34:42 sean-k-mooney oh i assumeed the computecapablitys filter
17:34:43 melwitt which is enabled by default
17:35:00 sean-k-mooney the reason i was asking is that shoudl move to placemnt at some point
17:35:20 sean-k-mooney cpu architure is the perfect thing to model as a trait
17:35:22 melwitt I'm having a really hard time finding out what we should do in the case when an ironic node has no cpu_arch specified in it
17:36:00 sean-k-mooney well if the value is not set in the hoststate object we could just allow the host
17:36:01 melwitt we've been doing the "no match" thing forever, since the ironic driver code was first added. but recently it seems to be a problem
17:36:29 sean-k-mooney it may fail but if we dont have the info we cant really do the right thing either way
17:36:31 melwitt yeah, that's what I was wondering if we should use arch.ALL if there's nothing in the ironic node
17:36:59 sean-k-mooney well maybe a .ANY would be better
17:37:33 sean-k-mooney its a arch is a feild object so .ALL would be the list of all arches
17:37:43 melwitt I thought that's how we would get an "any" behavior is by saying "this node supports all archs"
17:38:29 sean-k-mooney yes but .ALL is a list not a singel value
17:38:36 sean-k-mooney so the types would not match
17:39:20 sean-k-mooney well maybe not https://github.com/openstack/nova/blob/master/nova/objects/fields.py#L172
17:40:13 melwitt I was thinking that based on this https://github.com/openstack/nova/blob/master/nova/scheduler/filters/image_props_filter.py#L48 but maybe I'm missing something
17:40:16 sean-k-mooney look like . all is https://github.com/openstack/nova/blob/master/nova/virt/arch.py#L57
17:42:40 sean-k-mooney yes so that function just returns a single value
17:43:01 sean-k-mooney i think
17:44:13 sean-k-mooney oh no you are right
17:44:31 sean-k-mooney its arch.ALL https://github.com/openstack/nova/blob/master/nova/conf/scheduler.py#L552-L566
17:44:43 melwitt no, I think you're right. it's choices=arch.ALL so you have to pick one
17:44:52 sean-k-mooney oh yes
17:44:56 sean-k-mooney its choice not default
17:45:04 melwitt you have to set the default, there's no default. which confused me xD
17:45:46 sean-k-mooney ya me too, so looking at how its used https://github.com/openstack/nova/blob/master/nova/scheduler/filters/image_props_filter.py#L52-L54
17:46:21 sean-k-mooney if you dont set the config option and its not in the image image_arch will be teh empty stirng or None so it will be Falsy
17:46:26 melwitt the thing that's bugging me is, the glance images must have arch set in this NoValidHost case. and I was thinking, if you want anything to match, shouldn't you just not put arch on the glance image props? but I don't know that much about glance images and whether or not that is thing that could make sense
17:46:37 sean-k-mooney and we would bailout on line 64
17:47:19 sean-k-mooney melwitt: although perhaps that is being done automatically by inspection of the image
17:47:45 sean-k-mooney i think with the new image import workflow in glance you can have hooks to add metadta automatically
17:47:50 sean-k-mooney so maybe that is what is happening
17:47:54 melwitt ohhh.. hm
17:48:15 sean-k-mooney i dont know if that is one of the things that can be set by the way
17:48:21 sean-k-mooney its just a guess
17:48:43 melwitt downstream they were saying that in queens this same scenario worked fine and starting in rocky it fails
17:49:15 melwitt and I don't find anything changed in the code in like 5 years. so it feels like it has to be a difference in the image props
17:49:16 stephenfin lyarwood: It's late now, but think you could hit [1] tomorrow? [1] https://review.opendev.org/#/q/topic:bp/amd-sev-libvirt-support+(status:open+OR+status:merged)+branch:stable/train
17:49:44 lyarwood stephenfin: yeah, I might even hit it tonight while watching the results come in.
17:50:15 sean-k-mooney melwitt: ya do you know what code path they are hitting is it the return False on line 75 or 104
17:50:41 sean-k-mooney melwitt: i assume 75?
17:51:41 melwitt sean-k-mooney: no I don't. I'd have to see if the sosreport is still around to look
17:52:19 melwitt (if debug logging is enabled)
17:52:31 sean-k-mooney well from inspection if the image had an arch request and the ironci node did not have detail i think it would fail as written
17:53:00 sean-k-mooney removing the metadata form the image should work if they do not set the config option
17:53:34 sean-k-mooney but im kind of wondering if https://github.com/openstack/nova/blob/master/nova/scheduler/filters/image_props_filter.py#L75 shoudl be configurable
17:53:43 melwitt that was my conclusion as well. but I don't have an answer yet about what is going on with the images they're using
17:55:18 melwitt configurable ... I don't like the sound of that.
17:56:07 sean-k-mooney melwitt: i was thinking a workaround config option for backports only
17:56:43 sean-k-mooney incase they need the arch for some other reason to be set in the image
17:57:41 sean-k-mooney but i think the correct thing to do would be for them to update the ironic nodes with the arch in that case
17:58:24 sean-k-mooney an arm image wont work on an x86 host after all so really we should always know the arch of a compute node
17:58:40 dansmith stephenfin: I might have gotten out of sync, but .. is the qga thing just "also broken" in addition to the scsi device one?
17:59:39 melwitt sean-k-mooney: yeah ... I don't really get the use case. it's a scsi deploy and they say it's single arch so for simplicity they don't want to specify the arch
18:00:06 melwitt and apparently they used to be able to prior to rocky, which I don't know how that's possible unless the images had no arch metadata before
18:00:42 sean-k-mooney ya i think that is the most likely reason
18:00:59 dansmith okay I see the qga was in the original note about being broken too, I had just always thought it was the virtio-scsi thing that was the big deal
18:01:02 sean-k-mooney im just going to check my local openstack install

Earlier   Later