| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-09-05 | |||
| 11:34:50 | artom | aspiers, right, sorry, you're calling your thing from get_mem_encryption_constraint | |
| 11:35:16 | aspiers | Well you're right that we're calling driver-specific stuff from the API level | |
| 11:35:45 | artom | But if we move to fail within libvirt, which is where the machine type stuff belongs, it's super late (around https://review.opendev.org/#/c/644565/51/nova/virt/libvirt/driver.py@4931 presumably) | |
| 11:35:49 | sean-k-mooney | Sundar: hi. im ok i did not sleef last night but other then that im good | |
| 11:36:01 | sean-k-mooney | Sundar: how is the cyborg integration comming | |
| 11:36:17 | aspiers | artom: exactly | |
| 11:36:36 | aspiers | artom: so how to achieve https://review.opendev.org/#/c/680065/6//COMMIT_MSG ? | |
| 11:36:45 | artom | aspiers, I don't want to over design, but maybe drivers need a validate_image_props() or something | |
| 11:36:56 | aspiers | urgh | |
| 11:37:00 | artom | I know :( | |
| 11:37:29 | aspiers | a cloud suddenly passed over the chances of landing SEV before feature freeze :-( | |
| 11:37:31 | Sundar | sean-k-mooney: The integ is progressing. When you tried to deploy Cyborg, perhaps you may have grappled with which patch series to deploy. Many of them have merged now. If you have the time, I can explain further. | |
| 11:37:44 | artom | That's what we get for exposing driver-specific stuff in what's essentially our API | |
| 11:38:08 | aspiers | artom: you referring to stuff like hw_machine_type extra spec? | |
| 11:38:18 | aspiers | I don't see how that could be avoided | |
| 11:38:19 | Sundar | sean-k-mooney: Hope Cyborg is not what's keeping you up ;) | |
| 11:38:21 | sean-k-mooney | Sundar: i ended up spending the last few days teting artoms numa live migration patch. | |
| 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 | |