Earlier  
Posted Nick Remark
#openstack-nova - 2019-12-12
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
18:01:32 sean-k-mooney virtio scisi virtio gpu and qga
18:02:14 stephenfin dansmith: Yeah, it was multiple things
18:02:15 sean-k-mooney but yes all virtio devices just need the iommu driver opt and they orginally missed a few
18:02:28 sean-k-mooney those patches all meged this moring right
18:02:28 dansmith stephenfin: yeah I see now
18:02:36 stephenfin cool
18:03:36 sean-k-mooney melwitt: i just checked my home deployment and by default it looks like the arch does not get added
18:03:56 sean-k-mooney melwitt: glance is added os_hash_value and os_hash_algo by default now
18:04:27 melwitt sean-k-mooney: arch does not get added to images automatically you're saying?
18:04:51 sean-k-mooney correct, so its doing some things on import by default but adding the arch is not one of them
18:05:06 sean-k-mooney you might be able to confgiure it but that does not seem to be the defualt upstream behavior
18:05:09 melwitt gah, I wonder what happened then
18:06:11 melwitt the bug was opened several months ago but was already marked Triaged so we didn't see it until recently. gonna be hard to get answers this far later

Earlier   Later