| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-10-26 | |||
| 09:26:31 | sahid | the mdev devices are going to be pre-allocated | |
| 09:26:44 | sahid | what you want is to list the allocated mdev devices | |
| 09:27:07 | sahid | calling libvirt with list_devices('mdevs') | |
| 09:28:38 | openstackgerrit | Stephen Finucane proposed openstack/nova master: nova-policy: Migrate to cliff https://review.openstack.org/515149 | |
| 09:28:39 | openstackgerrit | Jay Pipes proposed openstack/nova master: placement: update client to set parent provider https://review.openstack.org/385693 | |
| 09:32:42 | stephenfin | jaypipes, bauzas: Trivial "move nova-network stuff around" patch here, if you want it? https://review.openstack.org/#/c/499168/ | |
| 09:32:57 | openstackgerrit | Stephen Finucane proposed openstack/nova master: conf: Move additional nova-net opts to 'network' https://review.openstack.org/499168 | |
| 09:33:06 | openstackgerrit | Stephen Finucane proposed openstack/nova master: conf: Move additional nova-net opts to 'network' https://review.openstack.org/499168 | |
| 09:35:34 | openstackgerrit | jichenjc proposed openstack/nova-specs master: Adds spec for instance live resize https://review.openstack.org/141219 | |
| 09:38:11 | gibi | jaypipes: thanks, the server side patches look good to me. Now reading the report client patch | |
| 09:40:43 | jaypipes | gibi: cheers | |
| 09:41:20 | gibi | jaypipes: Do I understand correctly that you will change the versioning still in the report client, based on your answer in https://review.openstack.org/#/c/385693/54/nova/scheduler/client/report.py ? | |
| 09:41:27 | bauzas | jaypipes: I have a design question for you | |
| 09:42:05 | bauzas | jaypipes: do you think it's acceptable to have an inventory of some resource class that is based on the sum of "left available resources" + "existing resources" ? | |
| 09:42:16 | jaypipes | gibi: see latest patch on that. yeah, I set it to always pass 1.11 and bomb if server doesn't support that. | |
| 09:42:20 | bauzas | jaypipes: speaking of the total value of course | |
| 09:42:45 | jaypipes | bauzas: no | |
| 09:42:59 | gibi | jaypipes: so the always doesn't mean that it is set in the __init__ of the client | |
| 09:43:00 | bauzas | jaypipes: what makes me a sad panda is that I misread some documentation in https://libvirt.org/drvnodedev.html#MDEVCap | |
| 09:43:30 | jaypipes | gibi: no, just that that method always passes 1.11 | |
| 09:43:42 | jaypipes | gibi: because it expects to operate on the n-r-p attrs | |
| 09:43:52 | bauzas | jaypipes: I thought "availableInstances" was the total capacity of a specific device for creating vGPUs, but that's actually just an integer which decrements every time you create a mediated device | |
| 09:44:16 | jaypipes | bauzas: that is available i.e. total - used. | |
| 09:44:28 | bauzas | jaypipes: yeah, my point | |
| 09:44:37 | bauzas | jaypipes: so I can't use it for reporting the inventory | |
| 09:44:42 | jaypipes | bauzas: it's a pointless attribute if you already have total and used counts. | |
| 09:44:59 | bauzas | libvirt doesn't give me the API for the total number | |
| 09:45:10 | jaypipes | bauzas: oh well, that's a flaw in libvirt. | |
| 09:45:38 | bauzas | the "still" word in "how many instances of the given type can still be successfully created on the physical device" is just pissing me off | |
| 09:46:07 | openstackgerrit | Michael Still proposed openstack/nova master: Convert IVS VIF plugging / unplugging to privsep. https://review.openstack.org/515196 | |
| 09:46:07 | openstackgerrit | Michael Still proposed openstack/nova master: Move infiniband vif plugging to privsep. https://review.openstack.org/515197 | |
| 09:46:08 | openstackgerrit | Michael Still proposed openstack/nova master: Move midonet vif plugging to privsep. https://review.openstack.org/515198 | |
| 09:46:08 | openstackgerrit | Michael Still proposed openstack/nova master: Move plumgrid vif plugging to privsep. https://review.openstack.org/515336 | |
| 09:46:45 | bauzas | jaypipes: so seriously you would nack some reporting that would sum up that value with the existing already created mediated devices? | |
| 09:47:19 | bauzas | I know, it's something racy racy | |
| 09:47:22 | jaypipes | bauzas: no, I would be fine if you wanted to calculate total from used and available. | |
| 09:47:34 | bauzas | ah ok, you make my day then | |
| 09:47:43 | jaypipes | bauzas: just saying don't pass available as total :) | |
| 09:47:53 | bauzas | jaypipes: of course | |
| 09:47:58 | bauzas | sorry if I was unclear | |
| 09:48:04 | jaypipes | since available is a calculated value | |
| 09:48:15 | bauzas | I just spotted that as being a "left", not a "total" | |
| 09:48:17 | jaypipes | bauzas: yup, that's totally cool with me (pun intended) | |
| 09:48:24 | bauzas | English subtilities FTW | |
| 09:48:40 | jaypipes | stephenfin: done | |
| 09:48:54 | jaypipes | bauzas: or even subtleties :) | |
| 09:49:05 | stephenfin | jaypipes: Ta :) | |
| 09:49:27 | bauzas | jaypipes: man, I should seriously consider being the Master of the World | |
| 09:49:38 | bauzas | so, languages wouldn't be a problem | |
| 09:49:50 | openstackgerrit | Chen Hanxiao proposed openstack/nova master: libvirt: properly decode error message from qemu guest agent https://review.openstack.org/511459 | |
| 09:49:56 | jaypipes | bauzas: :) | |
| 09:50:11 | gibi | jaypipes: so _create_resource_provider() will always return an RP that contains the parent_provider_uuid but the _get_resource_provider only does the same is the placement latest version is bigger than 1.11. | |
| 09:50:17 | jaypipes | stephenfin: I suppose that's better than "sub titties". | |
| 09:50:34 | sahid | bauzas: in you implmentation, you want to also allocate the mdev? | |
| 09:50:41 | bauzas | sahid: nope | |
| 09:50:51 | bauzas | sahid: not in that change | |
| 09:51:08 | gibi | jaypipes: s/is/if/ , s/bigger/bigger or equal/ | |
| 09:51:08 | sahid | so why you don't len(allocated_mdev) ? | |
| 09:51:25 | sahid | to get the total? | |
| 09:51:30 | sahid | allocated does not mean assigned to a guest | |
| 09:51:50 | bauzas | sahid: in that change, I'll focus on reporting the total number of possible mediated devices, which will be the sum up of what availableInstances reports + the sum of the mediated devices that belong to the same physical device | |
| 09:51:52 | gibi | jaypipes: do we assume that the user of the report clean alway tries creating thing first and bails out if placement is older than 1.11 ? | |
| 09:52:11 | jaypipes | gibi: yeah, I need to change that to have get_resource_provider() send 1.11 too | |
| 09:52:14 | bauzas | sahid: oh my bad, a misunderstanding | |
| 09:52:14 | gibi | jaypipes: s/clean/client/ | |
| 09:52:39 | bauzas | sahid: yeah, I want to get the total number of possible mediated devices to be created, including the allocated mdevs | |
| 09:52:53 | gibi | jaypipes: OK, then it would be easier to set a minimum version for the whole report client | |
| 09:52:58 | bauzas | sahid: the fact they are assigned to the guest is unrelated with that change | |
| 09:53:08 | jaypipes | gibi: ack, as edleafe said. | |
| 09:53:40 | sahid | bauzas: so you just have to ask libvirt to get list the mdev devices, filter them by mdev_type | |
| 09:53:48 | sahid | and use len() to get the total | |
| 09:54:25 | bauzas | sahid: yup | |
| 09:54:30 | gibi | jaypipes: will you do that in the current patch or as a followup? (/me triest to figure out what to vote on the current patch) | |
| 09:54:33 | bauzas | for the allocated part | |
| 09:54:34 | sahid | bauzas: what you are trying to do with availableinstance does not work | |
| 09:54:48 | bauzas | available will give me the left amount | |
| 09:54:57 | sahid | off course not | |
| 09:55:06 | jaypipes | gibi: doing it now... | |
| 09:55:15 | sahid | since when operator will allocate all the mdev, that value will be 0 | |
| 09:55:21 | bauzas | what I need to report from the inventory is the total amount of VGPUs a specific resource provider can create | |
| 09:55:23 | gibi | jaypipes: colle, then I will check back later | |
| 09:55:27 | sahid | you do not need of it | |
| 09:55:34 | gibi | jaypipes: s/colle/cool/ | |
| 09:55:45 | bauzas | sahid: ah, I see your point | |
| 09:55:57 | bauzas | sahid: you were expecting the mdev to be manually created by the operator ? | |
| 09:56:16 | sahid | bauzas: well that one was question at the beginning | |
| 09:56:17 | bauzas | sahid: I was rather thinking of libvirt doing the syscall | |
| 09:56:39 | sahid | bauzas: libvirt does not provide any api to allocate mdev | |
| 09:56:50 | bauzas | sahid: we could make the sys call | |
| 09:56:58 | bauzas | not by libvirt of course | |
| 09:57:00 | bauzas | in the virt driver | |
| 09:57:21 | sahid | oh ok so you want to also manage the allocation of mdev | |
| 09:57:26 | bauzas | that's right | |
| 09:57:43 | bauzas | because mdevs don't support reboots | |
| 09:57:49 | sahid | basically that was my first question: 11:50 < sahid> bauzas: in you implmentation, you want to also allocate the mdev? | |
| 09:57:58 | sahid | but it's better like that for sure | |
| 09:58:00 | sahid | +1 | |
| 09:58:17 | bauzas | sahid: sorry about the confusion, the 'allocation' word is heavily used in my mind :p | |
| 09:58:58 | bauzas | tbc, the workflow I see is that when you ask for an instance, the virt driver will lookup the allocations and see there is one for VGPUs | |
| 09:59:22 | openstackgerrit | Jay Pipes proposed openstack/nova master: placement: update client to set parent provider https://review.openstack.org/385693 | |