Earlier  
Posted Nick Remark
#openstack-nova - 2019-09-05
10:13:16 aspiers let's not drag this channel down that rathole though
10:13:32 sean-k-mooney quite so
10:13:59 cdent half?
10:13:59 sean-k-mooney its stressful enough watching the news
10:14:18 aspiers cdent: probably more, I was being generous off the back of yesterday
10:15:14 cdent somebody else was trying to tell me that yesterday was a spark of hope, but I'm not sure. But I agree, turning an openstack channel into the brexit-therapy-network is probably a misuse
10:15:28 aspiers it's definitely a spark of hope
10:15:34 aspiers not sure how big but we'll see
10:19:20 openstackgerrit sean mooney proposed openstack/nova master: multi numa nfv testing job https://review.opendev.org/679656
10:24:10 aspiers kashyap, sean-k-mooney: turns out that my new q35 patch introduced a circular import loop https://review.opendev.org/#/c/680065/
10:24:19 aspiers so I'm trying to figure out the best way of moving code around
10:24:33 kashyap aspiers: Did it? Will look in a bit; buried in untangling something :-(
10:25:02 aspiers see discussion with efried last night http://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack-nova.2019-09-04.log.html#t2019-09-04T20:57:14
10:25:09 sean-k-mooney aspiers: between what
10:25:26 aspiers between virt.hardware and libvirt.utils
10:25:46 aspiers and also libvirt.driver in between which imports libvirt.utils
10:25:54 sean-k-mooney right virt.hardware cant call the libvirt code
10:26:06 aspiers so there are some options for how to fix this
10:26:34 aspiers hmm, need a cloud-based sequence diagram editor now to help discuss this
10:27:01 sean-k-mooney i see what your importing
10:27:25 aspiers sean-k-mooney: it affects the next apply-config patch too
10:27:48 aspiers one option is to move sev_enabled from utils to hardware
10:28:14 sean-k-mooney actully libvit.utils does not use teh hardware module
10:28:30 sean-k-mooney so you shoudl be able to import that form hardware.py
10:28:53 sean-k-mooney aspiers: well they should be in hardware.py anyway
10:28:58 aspiers sean-k-mooney: https://review.opendev.org/#/c/644565/51/nova/virt/libvirt/utils.py@38
10:29:17 sean-k-mooney oh you adding it in another patch
10:29:25 aspiers another option is a new machine_types.py
10:29:35 aspiers a third option efried suggested is a new virt.libvirt.hardware
10:30:05 openstackgerrit Luyao Zhong proposed openstack/nova master: object: Introduce Resource and ResourceList objs https://review.opendev.org/678448
10:30:06 openstackgerrit Luyao Zhong proposed openstack/nova master: Add resources dict into _Provider https://review.opendev.org/678449
10:30:06 openstackgerrit Luyao Zhong proposed openstack/nova master: Retrieve the allocations early https://review.opendev.org/678450
10:30:07 openstackgerrit Luyao Zhong proposed openstack/nova master: Claim resources in resource tracker https://review.opendev.org/678452
10:30:07 openstackgerrit Luyao Zhong proposed openstack/nova master: libvirt: Enable driver discovering PMEM namespaces https://review.opendev.org/678453
10:30:08 openstackgerrit Luyao Zhong proposed openstack/nova master: libvirt: report VPMEM resources by provider tree https://review.opendev.org/678454
10:30:08 openstackgerrit Luyao Zhong proposed openstack/nova master: libvirt: Support VM creation with vpmems and vpmems cleanup https://review.opendev.org/678455
10:30:09 openstackgerrit Luyao Zhong proposed openstack/nova master: Parse vpmem related flavor extra spec https://review.opendev.org/678456
10:30:09 openstackgerrit Luyao Zhong proposed openstack/nova master: libvirt: Enable driver configuring PMEM namespaces https://review.opendev.org/679640
10:30:10 openstackgerrit Luyao Zhong proposed openstack/nova master: Add functional tests for virtual persistent memory https://review.opendev.org/678470
10:30:11 openstackgerrit Luyao Zhong proposed openstack/nova master: doc: attaching virtual persistent memory to guests https://review.opendev.org/680300
10:30:13 aspiers but I was struggling to figure out whether SEV is libvirt specific. At least machine types are QEMU-specific
10:30:40 sean-k-mooney sev is tecnically not
10:30:48 sean-k-mooney but the way you are checking for it is
10:30:55 kashyap aspiers: SEV is hardware-specific; machine types indeed are not "libvirt
10:31:04 kashyap ... -specific"
10:31:13 kashyap As you discovered (read the chat).
10:31:25 kashyap But they're typically handled by libvirt for Nova.
10:31:29 aspiers Right
10:32:41 aspiers The problem is that get_mem_encryption_constraint() and its helpers are tied to virt.hardware
10:33:11 sean-k-mooney aspiers: move sev_enabled out of utils into the driver
10:33:12 aspiers because they rely on _get_flavor_image_meta() in that file, and so do other functions there
10:34:06 aspiers sean-k-mooney: originally sev_enabled had to be outside driver.py
10:34:13 aspiers so it could be called from vif.py
10:34:25 aspiers but now I moved the iommu stuff into designer.py
10:34:31 aspiers so maybe I could move it back
10:34:36 sean-k-mooney all calls from vif.py are form the driver
10:34:46 sean-k-mooney so you can pass it in a flag if its needed
10:34:58 aspiers that wasn't easily doable before
10:35:04 sean-k-mooney but we dont pas the libvirt host object to any other funciton in utils
10:35:07 aspiers but now it's not needed anyway
10:35:30 sean-k-mooney the utils dont actully talk to libvirt as far as i can see
10:35:36 aspiers right
10:35:52 sean-k-mooney so the sev_enabled check does not fit with the rest of the module
10:36:41 sean-k-mooney so ya simple fix is just make it a member funciton of the driver then you can do self.host and just pass in the flavor and image
10:37:14 aspiers I don't think this is sufficient
10:37:27 aspiers how would https://review.opendev.org/#/c/644565/51/nova/virt/libvirt/utils.py@38 change?
10:37:34 aspiers oh sorry
10:37:37 sean-k-mooney i will remove the only use of hardware.py form the utils
10:37:42 aspiers wrong link
10:38:06 aspiers how would https://review.opendev.org/#/c/680065/4/nova/virt/hardware.py change?
10:38:18 sean-k-mooney that would not
10:38:30 aspiers but that already causes a cycle
10:38:33 sean-k-mooney your only calling libvirt_utils.get_machine_type(image_meta)
10:38:49 sean-k-mooney how
10:38:56 aspiers look at the CI failures :)
10:39:07 sean-k-mooney hardware.py will import utils but utils wont import it
10:39:33 sean-k-mooney so if you remove the change in https://review.opendev.org/#/c/644565/51/nova/virt/libvirt/utils.py@38
10:39:38 sean-k-mooney its not an issue right
10:40:30 aspiers ohhh OK those CI failures on the first patch are something else
10:40:42 aspiers I thought I saw circular import errors in both patches but I was wrong
10:40:50 aspiers cool
10:42:11 sean-k-mooney there is another way to break circual dependcies in python but moveing htat function is the simplest
10:42:23 aspiers which one?
10:42:28 aspiers sev_enabled?
10:42:31 sean-k-mooney yes
10:42:34 sean-k-mooney moving it to the driver
10:42:42 aspiers you mentioned another function in utils you are gonna move?
10:42:45 aspiers which one?
10:42:59 sean-k-mooney no you dont need to move anything else
10:43:04 aspiers oh that's the only one OK cool
10:43:06 sean-k-mooney just the new funtion your intoducing
10:43:14 aspiers so move that to libvirt/driver.py
10:43:18 aspiers where it was originally :)
10:43:20 sean-k-mooney ya
10:43:22 aspiers cool
10:43:29 aspiers using designer.py made everything a lot cleaner
10:43:33 aspiers this is another example of that
10:43:42 aspiers thanks a lot!
10:43:45 sean-k-mooney we want to kill desigenr.py
10:43:48 yonglihe sean-k-mooney, stephenfin: good morning, guys.

Earlier   Later