Earlier  
Posted Nick Remark
#openstack-nova - 2017-10-26
09:25:48 sahid that is informining of the number of a specific mdev type can be allocated by operators
09:26:24 sahid in this implmentation you are not going to allocate the mdev devices
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: Move infiniband vif plugging to privsep. https://review.openstack.org/515197
09:46:07 openstackgerrit Michael Still proposed openstack/nova master: Convert IVS VIF plugging / unplugging to privsep. https://review.openstack.org/515196
09:46:08 openstackgerrit Michael Still proposed openstack/nova master: Move plumgrid vif plugging to privsep. https://review.openstack.org/515336
09:46:08 openstackgerrit Michael Still proposed openstack/nova master: Move midonet vif plugging to privsep. https://review.openstack.org/515198
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 sahid so why you don't len(allocated_mdev) ?
09:51:08 gibi jaypipes: s/is/if/ , s/bigger/bigger or equal/
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 gibi jaypipes: s/clean/client/
09:52:14 bauzas sahid: oh my bad, a misunderstanding
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

Earlier   Later