Earlier  
Posted Nick Remark
#openstack-nova - 2018-01-23
10:10:22 jianghuaw I've not verified resizing.
10:10:23 mdbooth lyarwood: I've replied to most things if you refresh (and you're interested)
10:11:01 jianghuaw The suspend will be rejected by XenServer XAPI if there is vGPU attached in the VM.
10:14:11 jianghuaw bauzas, resizing works well from my side.
10:15:10 jianghuaw XAPI handles more things beyond the virt driver than libvirt.
10:16:02 bauzas jianghuaw: so XenAPI persists which vGPUs are used ?
10:16:27 jianghuaw bauzas, XAPI handle it. it has records in Db.
10:17:01 jianghuaw So nova needn't worry about status.
10:17:04 jianghuaw :-)
10:17:52 bauzas k
10:21:11 jianghuaw bauzas, actually you need handle more things which may be more suitable be handled by hypervisor.
10:21:30 jianghuaw Anyway you're super bauzas:-)
10:23:17 openstackgerrit Merged openstack/osc-placement master: CLI for usages https://review.openstack.org/457535
10:24:24 Spazmotic sweet sweet state.db
10:24:30 Spazmotic peppers all planted.. hopefully none of them will kill me
10:29:27 Spazmotic Thanks bob, if you're in here ;)
10:30:54 openstackgerrit Sylvain Bauza proposed openstack/nova master: libvirt: pass the mdevs when rebooting the guest https://review.openstack.org/533818
10:30:55 openstackgerrit Sylvain Bauza proposed openstack/nova master: Avoid suspending guest with attached vGPUs https://review.openstack.org/535693
10:31:37 bauzas jianghuaw: just provided all the comments in the relnote $
10:31:39 bauzas ^
10:32:49 bauzas gibi: you were +2 on https://review.openstack.org/533818
10:33:02 bauzas gibi: I actually just modified the relnote+ rebased
10:33:10 kashyap mdbooth: I'm still duking aroud the XML generation locally. As there 4 different classes I have to navigate:
10:33:13 kashyap - LibvirtConfigCPUFeature - base class for defining CPU features
10:33:15 kashyap - LibvirtConfigCPU - base class for defining CPU models
10:33:18 kashyap - LibvirtConfigGuestCPUFeature - extension for setting the guest
10:33:20 kashyap specific feature policy
10:33:23 kashyap - LibvirtConfigGuestCPU - extension for setting the guest specific
10:33:25 kashyap match policy, and allowing use of host CPU model passthrough
10:33:58 jianghuaw bauzas, sure. I will look at the patches.
10:34:23 kashyap Context: It was in reference to https://review.openstack.org/#/c/534384/
10:34:42 mdbooth kashyap: Yep, guessed.
10:35:30 mdbooth kashyap: Incidentally, it sounded from that ml discussion that we might want to propose adding PCID automatically in Nova if it's not present in the explicit cpu model?
10:36:21 mdbooth Or were we still erring towards triple-o?
10:36:31 kashyap mdbooth: It's the latter.
10:36:40 mdbooth I guess the advantage of doing it in Nova is that you can query libvirt to expand the cpu flags from the specified model
10:36:43 kashyap mdbooth: Because, adding it automatically indeed is a bit too magic
10:37:03 mdbooth i.e. You don't need to duplicate the list
10:37:30 gibi bauzas: I put back my +2
10:37:32 kashyap Yes, it should be.
10:39:20 kashyap mdbooth: Do you have a few more minutes to confirm I'm reading code correctly? /me begins to type
10:39:34 bauzas gibi: <3
10:40:07 kashyap mdbooth: So if you look at the class LibvirtConfigGuestCPUFeature() in libvirt/config.py. The infrastrucutre already _exists_
10:40:26 kashyap <cpu match='exact'>
10:40:26 kashyap To generate something like:
10:40:27 kashyap <feature policy='require' name='pcid'/>
10:40:27 kashyap <vendor>Intel</vendor>
10:40:27 kashyap <model fallback='forbid'>IvyBridge</model>
10:40:29 kashyap </cpu>
10:41:16 kashyap mdbooth: Also see corresponding test: LibvirtConfigGuestCPUFeatureTest() in test_libvirt_config.py.
10:42:48 kashyap So since I'm introducing a config variable, I need to generate the objects for LibvirtConfigGuestCPUFeature() -- for every CPU flag configured in nova.conf
10:43:23 mdbooth kashyap: Yep
10:45:06 ameeda WARNING: when I pull the last version of nova "DevStack" , the system doesn't work anymore .
10:45:13 kashyap mdbooth: Okido. So my change here is wrong -- https://review.openstack.org/#/c/534384/2/nova/virt/libvirt/config.py. Because the root element 'feature' is already handled in the existing class LibvirtConfigCPUFeature()
10:45:49 mdbooth kashyap: Yeah, that whole bit of your patch looked confused, but as it was a WIP and you hadn't written any tests yet I figured you'd get there on your own.
10:46:36 mdbooth Not at all. I've learned loads.
10:47:26 mdbooth The motivation is much more interesting than some libvirt config wrangling code.
10:51:25 kashyap mdbooth: Hmm. I'm wondering if I should make a single class that will handle the complete root element:
10:51:28 kashyap <feature policy='require' name='pcid'/>
10:51:38 kashyap <feature policy='require' name='mtrr'/>
10:51:42 kashyap ...
10:52:10 kashyap Because, for now, the 'name' attribute is handled in the class LibvirtConfigCPUFeature()
10:52:26 kashyap And the 'policy' in LibvirtConfigGuestCPUFeature().
10:52:56 openstackgerrit Lee Yarwood proposed openstack/nova master: libvirt: QEMU native LUKS decryption for encrypted volumes https://review.openstack.org/523958
10:52:57 mdbooth kashyap: LibvirtConfigGuestCPUFeature already does that, no?
10:53:06 mdbooth lyarwood: Looking :)
10:53:27 kashyap mdbooth: This is what it does currently:
10:53:28 kashyap 489 super(LibvirtConfigGuestCPUFeature, self).__init__(name, **kwargs)
10:53:28 kashyap 488 def __init__(self, name=None, **kwargs):
10:53:28 kashyap 487
10:53:28 kashyap 486 class LibvirtConfigGuestCPUFeature(LibvirtConfigCPUFeature):
10:53:31 kashyap 490
10:53:33 kashyap 491 self.policy = "require"
10:53:36 kashyap 492
10:53:38 kashyap 493 def format_dom(self):
10:53:41 kashyap 494 ft = super(LibvirtConfigGuestCPUFeature, self).format_dom()
10:53:44 kashyap 495
10:53:46 kashyap 496 ft.set("policy", self.policy)
10:53:49 kashyap 497
10:53:51 kashyap 498 return ft
10:54:24 kashyap Okay, it inherits from the LibvirtConfigCPUFeature()...
11:01:23 openstackgerrit Zhenyu Zheng proposed openstack/nova-specs master: Add request_id field to migrations object https://review.openstack.org/536765
11:02:14 Spazmotic I need to maek my first nova-spec.. need to read up on how to do that.
11:06:39 Spazmotic sounds like a job for tomorrowwwwwman
11:09:42 openstackgerrit Lee Yarwood proposed openstack/nova master: DNM: Test LM with encrypted volumes https://review.openstack.org/536350
11:12:14 cdent gibi, bauzas: this would be a useful debugging improvement to have for the post-freeze cleanup: https://review.openstack.org/#/c/519462/ Kenichi has a concern about a private member, but I think that's just the way it goes for now. Already has +2 from stephenfin
11:14:09 openstackgerrit Zhenyu Zheng proposed openstack/nova-specs master: Allow abort live migrations in queued status https://review.openstack.org/536722
11:17:06 kashyap stephenfin or anyone: Do we have a precendence in Nova where we allow comma-separated values for a config attribute?
11:17:26 stephenfin kashyap: Look at oslo_config.types
11:17:33 stephenfin I'm guessing ListOpt is what you want
11:18:13 stephenfin I _think_ ListOpt uses CSV, but it should be easy enough to verify (look for existing usages in the nova tree)
11:19:08 kashyap stephenfin: I see, will look once I make quick lunch
11:19:50 kashyap nova/conf/libvirt.py: cfg.ListOpt('hw_machine_type',
11:19:50 kashyap nova/conf/libvirt.py: cfg.ListOpt('disk_cachemodes',
11:19:50 kashyap $> git grep ListOpt nova/conf/libvirt.py
11:19:50 kashyap stephenfin: So there is some precedence:
11:19:51 kashyap nova/conf/libvirt.py: cfg.ListOpt('uid_maps',
11:19:53 kashyap nova/conf/libvirt.py: cfg.ListOpt('gid_maps',
11:19:55 kashyap nova/conf/libvirt.py: cfg.ListOpt('enabled_perf_events',
11:19:58 kashyap nova/conf/libvirt.py: cfg.ListOpt('vzstorage_mount_opts',

Earlier   Later