Earlier  
Posted Nick Remark
#openstack-nova - 2019-07-11
12:26:36 openstackgerrit Stephen Finucane proposed openstack/nova stable/rocky: docs: Correct issues with 'openstack quota set' commands https://review.opendev.org/670097
12:27:52 openstackgerrit Stephen Finucane proposed openstack/nova stable/queens: docs: Correct issues with 'openstack quota set' commands https://review.opendev.org/670100
12:33:50 shilpasd efried: dansmith: requesting to further review https://review.opendev.org/#/c/667952/7
12:39:18 alex_xu efried: after review the vpmem, I want to point the Luyao to move the vpmem ns assigment inside the resource tracker. https://review.opendev.org/#/c/662702/4/nova/compute/manager.py@2200, want to hear you opionion whether it is right direction I pointed to
12:47:02 openstackgerrit Stephen Finucane proposed openstack/nova master: docs: Scrub available quotas https://review.opendev.org/670125
12:47:02 openstackgerrit Stephen Finucane proposed openstack/nova master: docs: Rewrite quotas documentation https://review.opendev.org/667165
12:59:53 openstackgerrit ya.wang proposed openstack/nova master: Add method 'get_all_required_traits' to scheduler utils https://review.opendev.org/670297
12:59:53 openstackgerrit ya.wang proposed openstack/nova master: vCPU mdoels selection https://review.opendev.org/670298
12:59:54 openstackgerrit ya.wang proposed openstack/nova master: Add compatibility checks for CPU mode and CPU models and extra flags https://review.opendev.org/670299
12:59:54 openstackgerrit ya.wang proposed openstack/nova master: Support report multi CPU model traits https://review.opendev.org/670300
13:00:51 openstackgerrit Takashi NATSUME proposed openstack/nova master: Fix no propagation of nova context request_id https://review.opendev.org/662715
13:03:55 efried alex_xu: looking...
13:04:10 alex_xu efried: thanks!
13:05:40 efried alex_xu: instance_claim is a good idea, I think. Aptly named, protected by COMPUTE_RESOURCE_SEMAPHORE... but where is bauzas claiming VGPUs?
13:05:54 bauzas efried: on a meeting atm
13:05:56 efried I would have expected that to be the same as vpmems
13:06:10 efried no worries bauzas, I can look.
13:06:21 alex_xu efried: actually, I just find the vgpu allocation have race problem
13:06:31 alex_xu I talk that with bauzas yesterday
13:06:44 efried ah, okay. So it sounds like vgpu needs to be moved to instance_claim as well
13:06:58 efried do we have a bug for that yet?
13:07:54 alex_xu not yet, I can file a bug
13:10:25 efried alex_xu: hold on, isn't COMPUTE_RESOURCES_SEMAPHORE held throughout the `with instance_claim` block?
13:10:57 efried oh, no, never mind
13:11:07 efried instance_claim isn't itself a context manager; it returns one.
13:12:08 alex_xu efried: here is the bug, that help you understand the problem https://bugs.launchpad.net/nova/+bug/1836204
13:12:08 openstack Launchpad bug 1836204 in OpenStack Compute (nova) "The allocation of VGPU has race problem" [Undecided,New]
13:13:19 alex_xu efried: also the vpmem isn't quite same with vgpu in the resize case, we need to allcoate vpmem for migration the data from the src host. so we need to assign a pmem in the beginning of resize https://review.opendev.org/#/c/662709/4/nova/compute/manager.py@4359
13:14:07 efried in that case do we want to fold it into resize_claim?
13:14:38 alex_xu yes, and that doesn't sounds good we add new virt interface just for allocae a pmem.
13:14:58 alex_xu and there isn't a way to resolve the race problem just by listing libvirt domain
13:15:18 efried alex_xu: We shouldn't be putting this libvirt-specific code into the rt anyway
13:15:28 alex_xu since we assign vpmem without create libvirt domain on the dst host in the beginning of resize
13:15:38 efried a virt driver interface to say "claim the things in this allocation" would seem appropriate.
13:15:46 efried it doesn't need to be vpmem specific
13:16:02 alex_xu efried: yes, so I'm thinking we should use virt.get_available_resources reporting the vpmem to the rt, then rt will track the assignement
13:16:41 alex_xu efried: ok, I see you point
13:17:10 alex_xu another problem is we also need some code to handle the rollback like we spawn the instance failed
13:17:36 efried yup, the methods would need to be symmetrical. claim_for_instance/unclaim_for_instance
13:18:32 efried and the virt driver doesn't really need to do anything with the device other than mark it as "used" in whatever way it sees fit.
13:18:54 alex_xu efried: yea, that we can do
13:19:13 alex_xu efried: should we call that claim_for_instance inside rt.instance_claim?
13:19:19 efried totally
13:19:23 efried and resize_claim
13:19:30 alex_xu cool
13:19:35 efried but
13:19:47 efried I think we should probably create this framework outside of the vpmem series
13:19:53 efried and put the vgpu stuff into it
13:20:02 efried and then build the vpmem series on top of that
13:20:15 sean-k-mooney efried: well im not sure that is true in all cacses
13:20:15 alex_xu yea, that makes sense
13:20:17 efried Because we already know the vgpu stuff is "working" (other than the race condition"
13:20:20 efried )
13:20:23 sean-k-mooney that the virt driver does not need to do anything
13:20:32 efried sean-k-mooney: That's the point, though
13:20:39 efried the virt driver gets to decide what all it needs to do
13:20:47 efried the RT cannot (and should not need to) know that.
13:21:08 sean-k-mooney but the RT would need to know about numa affintiy and other constrtits
13:21:14 efried E.g. this would be a great time to kick off cyborg fpga programming.
13:21:22 kashyap Anyone from Ubuntu / Debian packaging here?
13:22:03 kashyap We need some packaging work done in Debian & Ubuntu (I did it in Fedora) for the firmware packages.
13:22:25 efried kashyap: coreycb is who mriedem said was his go-to for that
13:22:46 alex_xu sean-k-mooney: in the future the placement will know about the numa affinity
13:23:02 kashyap efried: Noted
13:23:03 sean-k-mooney yes but it doesnte right now
13:23:08 kashyap coreycb: Hi, let me know when you have a block of 15 minutes to chat about some packaging work.
13:23:10 efried right, the fact that the RT has to know about NUMA affinity today is a bastardization
13:23:26 sean-k-mooney efried: not really
13:23:54 efried sean-k-mooney: remember, I come from a world where libvirt isn't the only virt driver in existence :P
13:24:21 sean-k-mooney sure but that does not mean that all legacy systems are bad
13:24:50 coreycb kashyap: can you point me to the source?
13:24:51 efried Didn't say that at all.
13:24:51 efried NUMA affinity is simply Not A Thing in pvm. So the fact that all that logic is in the RT is kind of incestuous from that perspective.
13:25:16 sean-k-mooney hyperv support numa affintiy
13:25:32 sean-k-mooney although i dont know if they use the RT for that
13:25:58 kashyap coreycb: Hi, see my Fedora PullRequest here: https://src.fedoraproject.org/rpms/edk2/pull-request/3
13:25:59 efried missing the point. "Give my VM 5 VCPU" is universal. "NUMA nodes" is not.
13:26:17 kashyap coreycb: It is essentially to ship JSON "firmware descriptor" files.
13:26:17 sean-k-mooney and PVM systems still have non umiform memory access unless the hardware has only one memory contoler
13:26:27 sean-k-mooney they jsut dont expose it
13:26:43 kashyap coreycb: My commit message contains all the details. I'll actually write an e-mail to 'openstack-discuss' list, perhaps
13:26:44 efried I've mostly retired this soapbox since leaving PowerVM, but it's still an issue.
13:27:02 kashyap coreycb: As SUSE also needs to the packaging work. (They're aware of it; I informed them in Denver.)
13:27:05 sean-k-mooney ya i know it should be optional
13:27:19 sean-k-mooney and not enforced on driver that dont care
13:27:20 efried yes, that's exactly the point. PowerVM systems don't (need to) expose NUMA-isms.
13:27:24 coreycb kashyap: ok so they're part of qemu source?
13:27:41 efried right; and it's not much of a comfort that drivers that don't care can "just ignore" those code paths
13:27:44 kashyap coreycb: Yes. Currently in Git. Will be part of 4.1 -- due in Auguest.
13:27:45 efried that doesn't always work
13:27:49 kashyap (As noted in the commit message.)
13:28:10 efried like the convolutions that were necessary to make sure the sysfs code paths didn't get activated on PowerVM systems when doing PCI passthrough.
13:28:12 sean-k-mooney efried: anyway old argment we are changing this eventually
13:28:31 coreycb kashyap: i'll try to sync you up with cpaelzer. he does our qemu/libvirt packaging.
13:28:37 sean-k-mooney well we were not allowed to make those systems only work for libvirt
13:28:46 sean-k-mooney since virt driver are not allowed created db tables
13:29:02 kashyap coreycb: "Our"? I'm not sure you're of Ubuntu or Debian or...
13:29:30 coreycb kashyap: ubuntu
13:29:40 sean-k-mooney if the libvirt driver was allowed to have its own db table like neturon allows its ml2 driver to do then libvirt would have had its own RT
13:29:51 coreycb kashyap: well we contribute to both though

Earlier   Later