Earlier  
Posted Nick Remark
#openstack-nova - 2019-09-04
16:17:03 aspiers kashyap: OK but as per my comment on https://review.opendev.org/#/c/348394/ ovmf-x86_64-code.bin did not work, so not confident that ovmf-x86_64.bin will work either
16:17:20 kashyap aspiers: Reading that; I was relying on the file name suggested by Dirk correct :-(
16:17:47 kashyap aspiers: Also, I find it crazy that the SUSE RPM has _so_ many binaries; you need a simple combination:
16:18:28 kashyap aspiers: (a) a non-SB binary and a non-enrolled VARS file; (b) an SB-binary and an enrolled (MS-signed) VARS file
16:18:39 aspiers yeah I have no clue why it's like that
16:19:23 kashyap aspiers: Can you get a link to the RPM spec file, please? That will clarify what they are all.
16:20:37 kashyap aspiers: Incidentally, the "light at the end of the tunnel" is it's going to be much easier, once SUSE ships: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=932269
16:20:39 openstack Debian bug 932269 in ovmf "Ship the firmware "descriptor files" as part of the 'ovmf' package" [Normal,Fixed]
16:21:04 kashyap (Debian and Ubuntu now do. As does Fedora, for a while)
16:21:58 sean-k-mooney hum so i still get the same error after deleting the compute service
16:23:35 aspiers kashyap: https://build.opensuse.org/package/view_file/Virtualization/ovmf/ovmf.spec?expand=1
16:23:44 dansmith sean-k-mooney: you have to stop them all, delete them all, then start up the old one first
16:24:17 sean-k-mooney oh i have stop and delete the compute service on the "new" node too
16:24:25 sean-k-mooney not just the one im puting ot master
16:24:27 sean-k-mooney ok
16:24:40 donnyd mriedem: is there a way to craft custom requests via the sdk?
16:25:03 sean-k-mooney donnyd: if you mean raw http requests yes
16:25:07 aspiers kashyap: do you really think the exception message should refer to "Q35" when the way to fix the exception is to set hw_machine_type=q35 (lowercase) ?
16:26:04 sean-k-mooney donnyd: you can use the sdk to jsut get a rest client and then perform raw GET|POST|PUT|DELETE|... request with the client with whatever body you want
16:26:31 donnyd So is it possible to craft a raw request that would allow me to ask placement for a node that meets X trait and then tell nova to provision that resource
16:26:35 kashyap aspiers: Thanks for the link; that "4m" corresponds to a 4MB flash image.
16:26:42 aspiers ah interesting
16:26:58 kashyap aspiers: On the exception, ah, lowercase is indeed fine. (Sorry)
16:27:04 aspiers kashyap: np, thanks
16:27:06 sean-k-mooney the first half yes the scond no not direcltly
16:27:38 sean-k-mooney if you want nova to schduler a vm to a host with a give trait you can add it as a required trait in etiher the flavor or image
16:27:47 sean-k-mooney and then nova will include it in the request to placment
16:28:12 sean-k-mooney you cant however ask placmenet for an allocation caniate for a vm and tell nova to use it
16:28:26 donnyd sean-k-mooney: maybe a little more context would help, this is for baremetal
16:28:48 openstackgerrit Adam Spiers proposed openstack/nova master: Ensure q35 machine type is used when booting with SEV https://review.opendev.org/680065
16:28:51 kashyap aspiers: Also, can you please confirm from the SUSE OVMF pkg maintainer -- *which* of your biaries are built with SECURE_BOOT_ENABLE flag?
16:28:58 sean-k-mooney you are trying to land a nova instance on a specific ironic host?
16:29:05 kashyap aspiers: Need to dial into a call; back later.
16:29:06 donnyd yes
16:29:32 donnyd without having to create custom flavors... because it would result in a large # of flavors to manage and maintain
16:30:03 sean-k-mooney do you want to be able to do it or do you want non admins to be able to do it
16:30:29 donnyd CI jobs, so non admin
16:31:27 donnyd Maybe have to create some custom policy or something like that
16:31:30 sean-k-mooney am do you need to jsut deferenciate between ironic nodes and vms or do you need to select a specific host
16:32:08 donnyd I need to be able to tell nova to select a specific metal host ( no vm's yet)
16:32:47 sean-k-mooney ok the hacky way to do that is to abuse the availablty zone. but there are other ways
16:34:23 openstackgerrit Adam Spiers proposed openstack/nova master: Ensure q35 machine type is used when booting with SEV https://review.opendev.org/680065
16:34:52 donnyd so like nova boot --availability-zone ZONE:HOST:NODE
16:35:01 sean-k-mooney yes
16:35:05 donnyd efried: shared that with me a while back
16:35:14 sean-k-mooney im not sure if nodepool supports that
16:35:18 sean-k-mooney i think it might
16:35:40 openstackgerrit Adam Spiers proposed openstack/nova master: Apply SEV-specific guest config when SEV is required https://review.opendev.org/644565
16:35:46 sean-k-mooney the other way to do it would be a schduler hint
16:36:00 openstackgerrit Adam Spiers proposed openstack/nova master: Enable booting of libvirt guests with AMD SEV memory encryption https://review.opendev.org/666616
16:36:15 sean-k-mooney i think you could use the json filter to do this
16:36:22 donnyd how do you do it with the scheduler hint?
16:37:17 sean-k-mooney so the hoststate object contains the hostname uuid and nodename
16:37:19 sean-k-mooney https://github.com/openstack/nova/blob/master/nova/scheduler/host_manager.py#L109-L111
16:37:34 sean-k-mooney the json filter can match on any field in the host state object
16:38:52 donnyd ok cool. Thanks for entertaining my questions :)
16:39:14 aspiers stephenfin, efried: is check_can_live_migrate_destination() the right place to prevent live migration in the SEV case?
16:40:30 sean-k-mooney i think you do openstack server create --hint query="$host==ironic_host_name"
16:41:13 sean-k-mooney again im not sure if the openstack nodepool driver suppots that. or not
16:41:56 sean-k-mooney donnyd: the json filter is also off by defualt as normally we dont want people to be able to pick specific hosts
16:42:10 sean-k-mooney but both the availablity zone and json filters can technically do it
16:42:25 aspiers efried, kashyap: nits with q35 check addressed
16:42:50 donnyd With the json filter, will it fail if it cannot find the specific host?
16:42:59 sean-k-mooney yes
16:43:14 donnyd ok, I think both of those two options will work for this case
16:43:20 donnyd much appreciated sean-k-mooney
16:44:04 sean-k-mooney donnyd: the json filter basicaly allows you to match on anything in this object https://github.com/openstack/nova/blob/master/nova/scheduler/host_manager.py#L109-L159 so you can be very specific
16:46:49 sean-k-mooney donnyd: you might be able to use https://zuul-ci.org/docs/nodepool/configuration.html#attr-providers.[openstack].pools.labels.instance-properties
16:46:56 sean-k-mooney but you defintely can use https://zuul-ci.org/docs/nodepool/configuration.html#attr-providers.[openstack].pools.availability-zones
16:47:23 sean-k-mooney well i have never tired it
16:52:54 mriedem ewww jsonfilter
16:53:13 mriedem i'm not sure how that helps with linking hosts with a given trait
16:53:40 sean-k-mooney mriedem: it does not. donnyd wanted a way per vm to selct a given host
16:53:43 mriedem donnyd: you can use the placement CLI to filter providers with required traits as well https://docs.openstack.org/osc-placement/latest/cli/index.html#resource-provider-list
16:53:51 donnyd ask placement for host that matches x trait and then place request in for Host that is returned
16:54:05 mriedem donnyd: which version of nova?
16:54:20 donnyd .latest atm
16:54:35 sean-k-mooney latest as in stien not master
16:54:38 donnyd This isn't for FN, its for a different CI I am working on
16:54:49 mriedem so stein or master?
16:54:52 mriedem b/c train has https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#id66
16:54:56 donnyd Probably going to be train
16:54:58 mriedem which would be your easiest thing
16:55:06 mriedem in train the server create api takes a requested host
16:55:12 mriedem and runs it through the scheduler
16:55:37 mriedem otherwise you can use the JsonFilter like sean-k-mooney said or force the host of your choosing with admin creds
16:55:38 sean-k-mooney ya that is the best approch if you can use train. although nodepool wont supprot that
16:55:52 mriedem https://docs.openstack.org/nova/latest/admin/availability-zones.html
16:55:55 mriedem ^ forced host
16:56:03 donnyd sean-k-mooney: Not sure it will be using nodepool
16:56:20 mriedem heed the JsonFilter warnings https://docs.openstack.org/nova/latest/admin/configuration/schedulers.html#jsonfilter
16:56:53 mriedem JsonFilter is pretty common for putting a baremetal instance on a specific baremetal node
16:57:08 mriedem 2.74 avoids the need for the JsonFilter for that though, which is nice
16:57:46 sean-k-mooney yep
16:57:51 donnyd mriedem: that is quite precisely the use case. Trying to pick a specific metal host
16:58:26 donnyd in train will that work for metal and VM?
16:58:36 mriedem yes
16:58:41 donnyd nice
16:58:48 donnyd well then it will be worth the wait
16:58:48 mriedem host = nova-compute service hostname

Earlier   Later