| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2021-09-24 | |||
| 12:31:42 | opendevreview | Pierre Riteau proposed openstack/nova master: Create empty pcpuset for unpinned instances https://review.opendev.org/c/openstack/nova/+/810849 | |
| 13:06:48 | bauzas | gibi: I guess we would have the same concern (deleting old and not used RPs) for vpmems, nope ? | |
| 13:08:24 | gibi | vpmems has its own RP? | |
| 13:08:33 | gibi | or is it tracked on the compute RP? | |
| 13:21:58 | opendevreview | sean mooney proposed openstack/nova master: [DMN] test removal of CAP_DAC_OVERRIDE https://review.opendev.org/c/openstack/nova/+/810906 | |
| 13:22:17 | bauzas | gibi: my bad, those are just inventories from the same RP | |
| 13:22:19 | sean-k-mooney | gibi: i think its on the compute node currently | |
| 13:22:31 | gibi | yepp that what was I assumed | |
| 13:22:33 | bauzas | sean-k-mooney: yeah, https://github.com/openstack/nova/blob/62406b5728077afa9cd38d5c5d510bba64c43bd7/nova/virt/libvirt/driver.py#L8379 | |
| 13:22:33 | sean-k-mooney | with 1 inventory per namespace | |
| 13:22:50 | sean-k-mooney | *namespace size | |
| 13:23:06 | bauzas | then, maybe bandwidth-aware resource providers could be impacted or is that only a VGPU thing ? | |
| 13:23:23 | bauzas | actually, this doesn't come from the virt driver | |
| 13:23:28 | gibi | bauzas: bwm RPs are managed by neutron agents | |
| 13:23:32 | bauzas | yeah | |
| 13:23:38 | sean-k-mooney | what are you currently talking about by the way | |
| 13:23:39 | bauzas | so I guess this is maybe unrelate | |
| 13:23:43 | gibi | to be precies RP and inventory is managed by neutron, allocation managed by nova | |
| 13:24:05 | bauzas | sean-k-mooney: https://bugs.launchpad.net/nova/+bug/1944031 | |
| 13:24:06 | sean-k-mooney | for bandwith and pps inventories? | |
| 13:24:08 | gibi | sean-k-mooney: https://bugs.launchpad.net/nova/+bug/1944031 | |
| 13:24:14 | bauzas | shoooooot | |
| 13:24:17 | sean-k-mooney | ah right that | |
| 13:24:58 | sean-k-mooney | well for things on the root rp its simple to fix | |
| 13:25:09 | sean-k-mooney | for nested RPs without an owner trait on the RP its harder | |
| 13:25:40 | sean-k-mooney | e.g. if RP had ownwer_nova and its not in the tree nova just compute then it should be removed | |
| 13:25:59 | sean-k-mooney | without that its very hard to figure out it the RP is owned by nova or by cyborg/neutorn | |
| 13:27:06 | sean-k-mooney | if vgpus were tracked in the db we woudl also have another way to figure this out but since we dont have them in the resouce table or pci_devices table | |
| 13:27:20 | sean-k-mooney | we cant use the nova db to determin if it was an rp we created | |
| 13:27:25 | bauzas | sean-k-mooney: yeah tbh, I think it should be the responsibility of the virt driver to compare the provider tree before and after the update and eventually remove unused RPs | |
| 13:27:53 | sean-k-mooney | bauzas: it should but we dont have the info in placment to be able to do that correctly today | |
| 13:28:30 | bauzas | sean-k-mooney: this could be done in https://github.com/openstack/nova/blob/62406b5728077afa9cd38d5c5d510bba64c43bd7/nova/virt/libvirt/driver.py#L8472 | |
| 13:28:43 | sean-k-mooney | bauzas: not today | |
| 13:28:51 | bauzas | of course | |
| 13:28:59 | bauzas | but we have the actual state in provider_tree | |
| 13:29:04 | sean-k-mooney | bauzas: you can know if the nested RP is own by neutron or cyborg | |
| 13:29:05 | bauzas | that's given | |
| 13:29:13 | sean-k-mooney | so it not safe to remove it | |
| 13:29:35 | bauzas | sean-k-mooney: we namespace the RPs | |
| 13:29:42 | sean-k-mooney | we do not | |
| 13:29:50 | gibi | what we can do is to assume that if the RP had VGPU inventory before then it is owned by nova | |
| 13:29:53 | bauzas | for GPUs ? we totally do | |
| 13:29:53 | gibi | :) | |
| 13:30:07 | gibi | or we use the name of the RP | |
| 13:30:21 | sean-k-mooney | gibi: only if we intend to make it so cyborg cannot use the vgpu inventory type | |
| 13:30:25 | bauzas | the problem is that this naming could be used by *something else* | |
| 13:31:10 | bauzas | but if we consider that https://github.com/openstack/nova/blob/62406b5728077afa9cd38d5c5d510bba64c43bd7/nova/virt/libvirt/driver.py#L8505 is only used by the virt driver, then you can look at all existing RPs matching this | |
| 13:31:25 | sean-k-mooney | any resilance on nameing or RC usage is fragile | |
| 13:31:35 | gibi | yep it is fragile I agree | |
| 13:31:41 | bauzas | agreed tho | |
| 13:31:47 | gibi | RP naming is a bit better than RC I think | |
| 13:32:00 | gibi | so fixing this as a bug I would go with relying on RP naming | |
| 13:32:09 | sean-k-mooney | if we prefixed them all with nova_ then i would strongly agree | |
| 13:32:20 | sean-k-mooney | fight now however we may have collitions although its unlikely | |
| 13:32:29 | sean-k-mooney | *right | |
| 13:32:39 | sean-k-mooney | gibi: as a bug fix using the name template | |
| 13:32:54 | sean-k-mooney | would proably be ok if we implement a proper solution in yoga | |
| 13:33:45 | bauzas | honestly, operators are not intended to change their config everyday | |
| 13:33:54 | sean-k-mooney | e.g. in nova prefix all nova RPs with nova_ or add a mapping table in our db where we store the uuids of all RPs we own | |
| 13:34:01 | gibi | sean-k-mooney: yeah, thinking about it in Yoga PTG would be a good first step | |
| 13:34:03 | bauzas | we could somehow use the audit command to find the orphaned RPs | |
| 13:34:20 | sean-k-mooney | a nova manage command ya would work | |
| 13:34:31 | bauzas | it would have my preference honestly | |
| 13:34:32 | sean-k-mooney | using osc they can also fix it today | |
| 13:34:38 | sean-k-mooney | via osc-placment | |
| 13:34:40 | bauzas | sure, hence the low | |
| 13:34:46 | bauzas | the low status I mean | |
| 13:34:51 | bauzas | this is absolutely not a problem | |
| 13:35:03 | bauzas | this is just, you're creating garbage | |
| 13:35:15 | sean-k-mooney | well it can break schduling | |
| 13:35:19 | sean-k-mooney | so it can be a problem | |
| 13:35:35 | bauzas | give me a sec, verifying the inventories | |
| 13:35:45 | sean-k-mooney | but we do not nessisaly need to automically fix it if we provide a tool to do it when you change the config | |
| 13:36:27 | sean-k-mooney | gibi: just an fyi im on PTO next week just in case your looking for me | |
| 13:36:28 | bauzas | hmmm, you're right | |
| 13:36:35 | bauzas | inventories are left | |
| 13:36:38 | bauzas | [root@hab-19 devstack]# openstack resource provider inventory list 7853e09b-5f5c-4b79-99c6-a550c56eb7e0 | |
| 13:36:38 | bauzas | | resource_class | allocation_ratio | min_unit | max_unit | reserved | step_size | total | used | | |
| 13:36:38 | bauzas | +----------------+------------------+----------+----------+----------+-----------+-------+------+ | |
| 13:36:38 | bauzas | | VGPU | 1.0 | 1 | 1 | 0 | 1 | 1 | 0 | | |
| 13:36:39 | bauzas | +----------------+------------------+----------+----------+----------+-----------+-------+------+ | |
| 13:36:41 | bauzas | dammit | |
| 13:36:50 | gibi | sean-k-mooney: thanks for the heads up, enjoy your time off | |
| 13:37:03 | bauzas | so instances could pick those resources | |
| 13:37:14 | sean-k-mooney | bauzas: ya the inventories would because when you remove the confi the virt driver will just not update the rp or its inventories again | |
| 13:37:29 | bauzas | yup | |
| 13:37:30 | sean-k-mooney | this is also a problem for provider.yaml by the way | |
| 13:37:49 | sean-k-mooney | if we remove something form provider.yaml it will never get removed form placment | |
| 13:38:12 | bauzas | definitely worth a PTG discussion then | |
| 13:38:23 | sean-k-mooney | bauzas: we could perhaps write a file to disk in the nova state dir | |
| 13:38:25 | bauzas | sean-k-mooney: fancy adding a 10th bullet point or want me to write it ? | |
| 13:38:45 | bauzas | I mean, I couldf | |
| 13:38:54 | sean-k-mooney | that way the agent could read it on start up and use that to figure out if something was removed | |
| 13:39:02 | sean-k-mooney | if we did not want to store it in the db | |
| 13:39:26 | sean-k-mooney | bauzas: am i can i guess i have another to add anyway | |
| 13:39:45 | opendevreview | Balazs Gibizer proposed openstack/nova master: Store old_flavor already on source host during resize https://review.opendev.org/c/openstack/nova/+/810909 | |
| 13:39:48 | sean-k-mooney | just assume the stuff i add is an aggreate of stuff we have mentioned in downstream or upstream meetings/discussions | |
| 13:42:56 | gibi | bauzas, sean-k-mooney: I will check what today's neutron does if I remove the bw config. I guess we have the same missing cleanup problem in neutron too. If we have, then I would argue for a solution that is not nova specific or at least easy to apply to neutron too | |
| 13:44:38 | bauzas | gibi: that's why a audit tool seems important | |
| 13:44:59 | bauzas | but the working logic is owned by neutron or the virt driver | |