Earlier  
Posted Nick Remark
#openstack-nova - 2019-09-05
11:38:32 Sundar Ah, I see
11:38:49 sean-k-mooney Sundar: no i set up a clean vm to test cyborg in with centos 7 as you suggeted
11:39:02 sean-k-mooney but i did not get time to actully execute devstack and deploy it
11:39:17 openstackgerrit Luyao Zhong proposed openstack/nova master: object: Introduce Resource and ResourceList objs https://review.opendev.org/678448
11:39:17 openstackgerrit Luyao Zhong proposed openstack/nova master: Add resources dict into _Provider https://review.opendev.org/678449
11:39:18 artom aspiers, yes to both points :P
11:39:18 openstackgerrit Luyao Zhong proposed openstack/nova master: Retrieve the allocations early https://review.opendev.org/678450
11:39:18 openstackgerrit Luyao Zhong proposed openstack/nova master: Claim resources in resource tracker https://review.opendev.org/678452
11:39:19 openstackgerrit Luyao Zhong proposed openstack/nova master: libvirt: Enable driver discovering PMEM namespaces https://review.opendev.org/678453
11:39:19 openstackgerrit Luyao Zhong proposed openstack/nova master: libvirt: report VPMEM resources by provider tree https://review.opendev.org/678454
11:39:20 openstackgerrit Luyao Zhong proposed openstack/nova master: libvirt: Support VM creation with vpmems and vpmems cleanup https://review.opendev.org/678455
11:39:20 openstackgerrit Luyao Zhong proposed openstack/nova master: Parse vpmem related flavor extra spec https://review.opendev.org/678456
11:39:21 openstackgerrit Luyao Zhong proposed openstack/nova master: libvirt: Enable driver configuring PMEM namespaces https://review.opendev.org/679640
11:39:21 openstackgerrit Luyao Zhong proposed openstack/nova master: Add functional tests for virtual persistent memory https://review.opendev.org/678470
11:39:22 openstackgerrit Luyao Zhong proposed openstack/nova master: doc: attaching virtual persistent memory to guests https://review.opendev.org/680300
11:40:24 aspiers artom: well it wouldn't be too hard to add validate_flavor_image() or whatever to the driver interface I guess?
11:40:32 Sundar sean-k-mooney: There was an issue that Cyborg's notificaiton event would come too soon before the n-cpu has begun to wait, so the event was getting dropped. I believe I have fixed it now. The crux of it is to do it in _build_resources, and to launch the wait before calling Cyborg for the bind, so that there is no window in between.
11:40:35 aspiers artom: it could just be a nop in the base class
11:40:49 aspiers artom: or even individual noops in each driver except libvirt
11:41:18 Sundar sean-k-mooney: In the patch series https://review.opendev.org/#/q/status:open+project:openstack/nova+branch:master+topic:bp/nova-cyborg-interaction, the notification is in 'Create/bind ARQs' patch https://review.opendev.org/631244
11:41:32 aspiers efried: seems there is a substantial flaw in our idea of checking for hw_machine_type=q35 at API-level, since it's driver-specific ...
11:41:40 aspiers efried: see above discussion with artom ^^^
11:41:51 Sundar The lvirt driver merely queries Cyborg to get the ARQs, relyung upon _build_resources to have done the wait.
11:42:11 aspiers artom: can you think of any other way around this?
11:42:45 stephenfin yaawang, alex_xu: Actually, there's an issue with the second patch in the series so I'll leave the release note rework to yaawang :)
11:42:51 aspiers artom: the alternative would be to not check at API-level and then it would try and fail on every compute host, right?
11:42:52 sean-k-mooney Sundar: ok
11:42:58 alex_xu stephenfin: hah
11:43:14 sean-k-mooney Sundar: we treat missign the event as fatal uncondtionally correct
11:43:23 artom aspiers, or just move get_machine_type out of libvirt utils
11:43:39 artom Well
11:43:50 artom No, because it depends on the default machine type if nothing is set
11:44:00 artom I'll drive my kids to school/daycare and think about it
11:44:07 aspiers artom: previous version did not check for q35 when SEV is enabled but instead overrode the default to q35
11:44:19 sean-k-mooney Sundar: i dont see any depends on links in teh nova patches to point to cyborg
11:44:28 aspiers artom: it also overrode machine type even if it was set on the image
11:44:50 sean-k-mooney Sundar: has all the cyborg code merged?
11:45:33 sean-k-mooney Sundar: if not we should add it to the first patch that calls cyborg directly
11:45:47 sean-k-mooney Sundar: which i think would be https://review.opendev.org/#/c/631244/38
11:47:31 sean-k-mooney Sundar: by the way can we abandon https://review.opendev.org/#/q/topic:bp/nova-cyborg-interaction+(status:open+OR+status:merged)+project:opendev/sandbox
11:48:03 Sundar sean-k-mooney: Good point, I'll add the dependencies. Some Cyborg patches are close to merging, but the patches together are testable. The tempest scenarios are possible with one exception of device profile deletion in some circumstances. But that doesn't affect VM launch.
11:48:23 artom aspiers, overriding isn't cool either
11:48:47 sean-k-mooney Sundar: ok it would be good to ad a testing patch that runs the tempst job on nova
11:48:51 artom aspiers, validate_flavor_image() can't be in the driver itself because we don't want to call to the individual driver instance
11:49:05 artom Which is why get_machine_type is in libvirt_utils
11:49:20 sean-k-mooney Sundar: do you mind if i abandon the two patches against the sandbox repo to clean up the gerrit topic
11:49:31 artom Because it's libvirt'y, but doesn't depend on a specific host
11:49:51 artom aspiers, if you can find a way to abstract that ^^ for all drivers, I think it'd be the best solution
11:50:17 sean-k-mooney artom: the validate flavor stuff belongs in hardware.py
11:50:30 Sundar sean-k-mooney: I wasn;t even aware of these patches! They seem very preliminary. I don't know the author. But, IMHO, they can be abandoned.
11:50:50 sean-k-mooney Sundar: the sandbox repo is the one for teaching people how to use gerrit
11:51:11 sean-k-mooney so they are not but they have the topic which is confusing
11:51:20 sean-k-mooney ill close them so
11:51:23 Sundar sean-k-mooney: Re. "testing patch that runs the tempst job on nova", I believe that would be https://review.opendev.org/#/c/670999/
11:51:28 sean-k-mooney given they are 6 mohts old
11:51:30 artom sean-k-mooney, yeah but aspiers has a problem with circular dependencies
11:51:38 sean-k-mooney artom: not any more
11:51:39 aspiers artom, sean-k-mooney: so the suggestion is a common validation interface across all drivers?
11:51:45 aspiers sean-k-mooney: no I do
11:51:56 aspiers sean-k-mooney: I was wrong (again)
11:52:19 aspiers sean-k-mooney: https://review.opendev.org/#/c/680065/ has circular dependencies even before sev_enabled is added
11:52:19 sean-k-mooney hardware specifc tratit valdiation lives in hardare.py
11:52:21 luyao stephenfin: comments addressed , and thanks for your review. https://review.opendev.org/#/q/topic:bp/virtual-persistent-memory+(status:open)
11:53:02 aspiers sean-k-mooney, artom: http://paste.openstack.org/show/771288/
11:53:17 aspiers sean-k-mooney: so unfortunately your suggestion wasn't enough to solve it
11:53:20 sean-k-mooney s/triatis/flavor and image/ its where all the numa, pinning, hugepages and pci checks live
11:54:04 aspiers sean-k-mooney: right but until now it never cared about machine types
11:54:33 aspiers maybe moving get_machine_type to a separate class is the only way
11:54:37 aspiers s/class/file/
11:55:08 sean-k-mooney no that wont work
11:55:16 aspiers right it won't
11:55:26 aspiers well, not unless it is moved outside nova.virt.libvirt
11:55:26 sean-k-mooney it because importing nova/virt/libvirt/__init__.py has sideffects
11:55:29 aspiers yes
11:55:51 sean-k-mooney we should remove this https://github.com/openstack/nova/blob/master/nova/virt/libvirt/__init__.py#L17
11:55:56 aspiers that sounds good
11:56:00 aspiers why is it even there?
11:56:11 sean-k-mooney we proably moved things and that was a quick hack
11:56:31 aspiers OK so first I have to get rid of that
11:56:33 aspiers sigh
11:58:26 sean-k-mooney remind me why you need to call the fucntion to get the machine type
11:58:39 sean-k-mooney i know its for suspend and live migate
11:58:46 aspiers no
11:58:53 aspiers it's to check for q35
11:58:56 sean-k-mooney yes
11:58:59 aspiers https://review.opendev.org/#/c/680065/6//COMMIT_MSG
11:59:05 aspiers SEV doesn't work without q35
11:59:15 sean-k-mooney aspiers: where is that check going to be called form
11:59:21 sean-k-mooney it wont be used in the api
11:59:28 aspiers yes in the API was the idea
11:59:34 sean-k-mooney and it can only be known on the compute node
11:59:41 sean-k-mooney but what api
11:59:49 sean-k-mooney live migrate and suspend?
11:59:55 aspiers no, launch
12:00:04 sean-k-mooney it cant be known at lauch
12:00:08 sean-k-mooney we have not selected the host
12:00:16 sean-k-mooney and the machine type can be set in the hsot config
12:00:26 aspiers right, this is the crux of the problem
12:00:40 sean-k-mooney right so you cant check for q35 in the api
12:00:41 aspiers but we can at least check the image

Earlier   Later