Earlier  
Posted Nick Remark
#openstack-nova - 2019-09-04
14:58:31 dansmith artom: that's a big nasty patch, so it's a good sign that I only had a couple minor things
14:59:02 mriedem ComputeManager.init_host gets all instances https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L1256
14:59:07 stephenfin Oh, ComputeManager.init_host
14:59:26 stephenfin I was thinking this would have to live in 'LibvirtDriver.init_host'
14:59:37 artom dansmith, witness me!
14:59:57 mriedem stephenfin: is cpu_dedicated_set a new config option in that series?
15:00:02 stephenfin yup
15:00:32 mriedem how do you determine if an instance is pinned or not?
15:00:38 mriedem looking at the instance.numa_topology?
15:01:01 cdent try to lift it up
15:01:05 cdent if it doesn't move...
15:01:08 stephenfin mriedem: Instance.numa_topology.cpu_pinning_requested
15:01:22 mriedem stephenfin: so none of that is libvirt specific yeah?
15:01:45 stephenfin technically no. It just won't do anything without libvirt
15:02:16 mriedem for now
15:02:27 stephenfin That 'cpu_pinning_requested' property would never be set on non-libvirt driver
15:02:30 stephenfin Correct
15:02:48 mriedem so...add a compute driver capability so a nova-compute running vsphere doesn't have to look at that for 1K+ instances managed by that host
15:03:35 mriedem if self.driver.capabilities.get('supports_some_hw_magic', False):
15:03:38 mriedem # do expensive thing
15:04:16 stephenfin so not "if CONF.compute_driver == 'libvirt'" ?
15:04:20 mriedem alternatively we change the ComputeDriver.init_host interface to pass the list of instances on that host into the virt driver
15:04:24 openstackgerrit Luyao Zhong proposed openstack/nova master: Add resources dict into _Provider https://review.opendev.org/678449
15:04:24 openstackgerrit Luyao Zhong proposed openstack/nova master: object: Introduce Resource and ResourceList objs https://review.opendev.org/678448
15:04:25 openstackgerrit Luyao Zhong proposed openstack/nova master: Claim resources in resource tracker https://review.opendev.org/678452
15:04:25 openstackgerrit Luyao Zhong proposed openstack/nova master: Retrieve the allocations early https://review.opendev.org/678450
15:04:26 openstackgerrit Luyao Zhong proposed openstack/nova master: libvirt: report VPMEM resources by provider tree https://review.opendev.org/678454
15:04:26 openstackgerrit Luyao Zhong proposed openstack/nova master: libvirt: Enable driver discovering PMEM namespaces https://review.opendev.org/678453
15:04:27 openstackgerrit Luyao Zhong proposed openstack/nova master: Parse vpmem related flavor extra spec https://review.opendev.org/678456
15:04:27 openstackgerrit Luyao Zhong proposed openstack/nova master: libvirt: Support VM creation with vpmems and vpmems cleanup https://review.opendev.org/678455
15:04:28 openstackgerrit Luyao Zhong proposed openstack/nova master: Add functional tests for virtual persistent memory https://review.opendev.org/678470
15:04:28 openstackgerrit Luyao Zhong proposed openstack/nova master: libvirt: Enable driver configuring PMEM namespaces https://review.opendev.org/679640
15:04:29 artom stephenfin, eww
15:04:33 mriedem stephenfin: right that ^
15:04:35 artom stephenfin, I have no context, but errr
15:04:38 artom *eww
15:04:40 mriedem we generally don't ever want to look at that config to make decisions
15:04:46 stephenfin fair fair
15:04:56 mriedem *something something factory pattern*
15:05:34 mriedem anyway, maybe people would prefer to just swap those 3 lines of code in ComputeManager.init_host to pass the InstanceList to the driver and let the driver sort it out
15:05:55 mriedem either way you're going to explode and kill the start of the service if it's misconfigured correct?
15:07:32 stephenfin yup
15:07:37 luyao dansmith: comments addressed. https://review.opendev.org/#/c/678447/9 and https://review.opendev.org/#/c/678448/12
15:12:28 openstackgerrit Luyao Zhong proposed openstack/nova master: object: Introduce Resource and ResourceList objs https://review.opendev.org/678448
15:12:28 openstackgerrit Luyao Zhong proposed openstack/nova master: db: Add resources column in instance_extra table https://review.opendev.org/678447
15:12:29 openstackgerrit Luyao Zhong proposed openstack/nova master: Retrieve the allocations early https://review.opendev.org/678450
15:12:29 openstackgerrit Luyao Zhong proposed openstack/nova master: Add resources dict into _Provider https://review.opendev.org/678449
15:12:30 openstackgerrit Luyao Zhong proposed openstack/nova master: libvirt: Enable driver discovering PMEM namespaces https://review.opendev.org/678453
15:12:30 openstackgerrit Luyao Zhong proposed openstack/nova master: Claim resources in resource tracker https://review.opendev.org/678452
15:12:31 openstackgerrit Luyao Zhong proposed openstack/nova master: libvirt: Support VM creation with vpmems and vpmems cleanup https://review.opendev.org/678455
15:12:31 openstackgerrit Luyao Zhong proposed openstack/nova master: libvirt: report VPMEM resources by provider tree https://review.opendev.org/678454
15:12:32 openstackgerrit Luyao Zhong proposed openstack/nova master: libvirt: Enable driver configuring PMEM namespaces https://review.opendev.org/679640
15:12:32 openstackgerrit Luyao Zhong proposed openstack/nova master: Parse vpmem related flavor extra spec https://review.opendev.org/678456
15:12:33 openstackgerrit Luyao Zhong proposed openstack/nova master: Add functional tests for virtual persistent memory https://review.opendev.org/678470
15:21:43 openstackgerrit Eric Fried proposed openstack/nova master: Bump min for oslo.service & .privsep to fix SIGHUP https://review.opendev.org/679974
15:22:17 openstackgerrit Adam Spiers proposed openstack/nova master: Ensure q35 machine type is used when booting with SEV https://review.opendev.org/680065
15:23:12 kashyap cfriesen: Hi, you or someone you know picking this up? -- https://review.opendev.org/#/c/621646/ ("Preserve UEFI NVRAM variable store")
15:24:19 kashyap Oh, actually zhu.boxiang has picked it up lately
15:25:20 cfriesen kashyap: yeah, was just going to say. :)
15:30:23 sean-k-mooney dansmith: i think the cross rpc migration is working. i have not looked at the logs to confim but it succeed via horizon
15:30:49 dansmith sean-k-mooney: okay, with a numa flavor or non-numa flavor?
15:31:00 sean-k-mooney with cpu pinning enabled
15:31:03 sean-k-mooney so numa
15:31:31 dansmith okay, so the behavior we expect is for it to work, not claim, and just translate the topo directly over to the other side, for better or worse, correct?
15:31:40 dansmith artom: ^
15:31:50 openstackgerrit Adam Spiers proposed openstack/nova master: Ensure q35 machine type is used when booting with SEV https://review.opendev.org/680065
15:31:58 aspiers efried, kashyap, sean-k-mooney: ^^^ this implements what we agreed yesterday
15:32:01 artom dansmith, yep, aka, what we have now
15:32:21 dansmith yeah, okay
15:32:24 kashyap aspiers: Already reading the code for a couple of mins (while on a call)
15:32:34 aspiers kashyap: awesome, I just uploaded PS2 though
15:32:42 aspiers realised I missed a few little bits out
15:32:50 sean-k-mooney dansmith: do i need to test the sucess case or was it the revert case that you were worried about
15:32:52 dansmith sean-k-mooney: so, one more test you could do is pop all the patches off from one node and just validate that you can still migrate between them (with the version pinned)
15:32:53 artom dansmith, because as soon as we start claiming, it's all or nothing, we need to handle applying the migration context, dropping the claim on rollback, etc
15:33:15 dansmith sean-k-mooney: yeah, that'd be good too
15:33:19 kashyap aspiers: I see that you've put the check in hardware.py
15:33:34 aspiers kashyap: yes. This new approach is actually quite a lot cleaner
15:33:46 aspiers so I'm glad we had the discussions
15:34:19 kashyap aspiers: Okay, then. Because there's a prereq on hardware feature, hardware.py?
15:35:11 aspiers kashyap: it's just adding another check alongside the existing 2 extra specs / image props checks
15:35:17 openstackgerrit Adam Spiers proposed openstack/nova master: Apply SEV-specific guest config when SEV is required https://review.opendev.org/644565
15:35:21 stephenfin mriedem: What exception type should I be raising in ComputeManager.init_host if my checks fail. I'm thinking 'InternalError' since it's an operator misconfiguration
15:35:23 sean-k-mooney dansmith: ok so before i check artom code vs master or the revert case. was there somehting in partcal you wanted me to grab form the logs or db
15:35:58 kashyap aspiers: Right; so I can probably put my _guest_machine_type_for_secure_boot() still in utils.py.
15:36:06 dansmith sean-k-mooney: just want to make sure it's not doing numa migration I guess.. there are a couple logs that indicate it's doing the new stuff
15:36:18 aspiers kashyap: now I realise why you were asking that
15:36:25 kashyap aspiers: :-)
15:36:26 dansmith sean-k-mooney: you don't really have to pastebin, I trust you, just check to make sure you don't see those on either side
15:36:35 artom sean-k-mooney, dansmith, presence of LibvirtLiveMigrateNUMAInfo is a big sign
15:36:46 dansmith artom: like this one: https://review.opendev.org/#/c/634606/73/nova/virt/libvirt/driver.py@7465
15:36:51 aspiers kashyap: yeah I guess yours could still go in utils.py
15:36:51 dansmith artom: yep
15:37:03 sean-k-mooney artom: are you expecting it to regenerat the xml when the RPC version is pinned?
15:37:12 artom We log the migrate_data all over the place, so if that's not in it, we haven't NUMA live-migrated
15:37:16 artom sean-k-mooney, no
15:37:22 sean-k-mooney ok ill check that so
15:37:30 mriedem stephenfin: i see the libvirt driver init_host raises Invalid, but we already have a InvalidConfiguration so that seems more appropriate
15:37:32 artom Any RPC pin on either source, dest or cond should cause the current half-broken behaviour
15:37:34 mriedem it doesn't really matter though

Earlier   Later