Earlier  
Posted Nick Remark
#openstack-nova - 2021-03-10
17:54:21 dansmith reqspec has computenode in it?
17:54:25 bauzas the SchedulerRetries one
17:54:47 bauzas it has a list of cn objects in it
17:55:01 sean-k-mooney do we use that any more
17:55:07 bauzas which itself is nested in the spec object
17:55:09 sean-k-mooney i tought we dont do retreis since placment
17:55:17 sean-k-mooney we use alternate hosts
17:55:33 dansmith that seems weird because those are from different DBs, but maybe we just jam them in there to pass around for the retries?
17:56:09 sean-k-mooney dansmith: we should check if its still needed i think that might have been for when we used the retryfilter
17:56:12 bauzas sean-k-mooney: good point, it's no longer used
17:56:19 dansmith yeah
17:56:34 dansmith well, I certainly hadn't remembered that we do that, but changing it would mean more bumps, so..
17:56:41 dansmith however,
17:56:51 dansmith I'm not sure it's really likely to be a problem
17:57:04 dansmith it's sourced from the control services, so if they put 1.x in there until everyone is upgraded,
17:57:06 dansmith it should be fine
17:57:56 sean-k-mooney ya again just raised this because i was trying to under stand when we can adress the Do X in next major version comments that are in some objects
17:58:07 sean-k-mooney many of which have been there for years at this point
18:01:40 sean-k-mooney https://github.com/openstack/nova/commit/1337890ace918fa2555046c01c8624be014ce2d8 was the instance one so i guess reviewing that is a good start.
18:02:46 sean-k-mooney oh ya i rembere the obj_relationships stuff
18:05:05 sean-k-mooney oh i see we had a _BaseInstance and InstanceV1 and InstanceV2 class for a cycle kind of like the proxy for rpc
18:06:18 sean-k-mooney then that patch actully drop V1 after we were shoudl everytin supported v2
18:07:47 sean-k-mooney i vaguely remeber this happening https://github.com/openstack/nova/commit/713d8cb0777afb9fe4f665b9a40cac894b04aacb added 2 objects.
19:18:04 openstackgerrit Stephen Finucane proposed openstack/nova master: objects: Add 'VDPA' to 'PciDeviceType' https://review.opendev.org/c/openstack/nova/+/777481
19:18:04 openstackgerrit Stephen Finucane proposed openstack/nova master: add constants for vnic type vdpa https://review.opendev.org/c/openstack/nova/+/770474
19:18:05 openstackgerrit Stephen Finucane proposed openstack/nova master: libvirt: Add guest generation for vDPA https://review.opendev.org/c/openstack/nova/+/770532
19:18:05 openstackgerrit Stephen Finucane proposed openstack/nova master: libvirt: Add vDPA nodedev parsing https://review.opendev.org/c/openstack/nova/+/770533
19:18:06 openstackgerrit Stephen Finucane proposed openstack/nova master: pci: Add vDPA vnic to PCI request mapping and filtering https://review.opendev.org/c/openstack/nova/+/778350
19:18:07 openstackgerrit Stephen Finucane proposed openstack/nova master: add hw:mlock extra spec https://review.opendev.org/c/openstack/nova/+/778347
19:18:08 openstackgerrit Stephen Finucane proposed openstack/nova master: libvirt: Move PCI host device parsing to 'host' https://review.opendev.org/c/openstack/nova/+/779851
19:18:11 stephenfin sean-k-mooney: there you go
19:22:49 sean-k-mooney thanks. ill take a look and test it out shortly.
19:31:18 openstackgerrit Stephen Finucane proposed openstack/nova master: libvirt: Move PCI host device parsing to 'host' https://review.opendev.org/c/openstack/nova/+/779851
19:31:18 openstackgerrit Stephen Finucane proposed openstack/nova master: objects: Add 'VDPA' to 'PciDeviceType' https://review.opendev.org/c/openstack/nova/+/777481
19:31:19 openstackgerrit Stephen Finucane proposed openstack/nova master: libvirt: Add vDPA nodedev parsing https://review.opendev.org/c/openstack/nova/+/770533
19:31:20 openstackgerrit Stephen Finucane proposed openstack/nova master: libvirt: Add guest generation for vDPA https://review.opendev.org/c/openstack/nova/+/770532
19:31:21 openstackgerrit Stephen Finucane proposed openstack/nova master: add hw:mlock extra spec https://review.opendev.org/c/openstack/nova/+/778347
19:31:21 openstackgerrit Stephen Finucane proposed openstack/nova master: pci: Add vDPA vnic to PCI request mapping and filtering https://review.opendev.org/c/openstack/nova/+/778350
20:12:54 openstackgerrit Merged openstack/nova master: libvirt: Stop passing around virt_type, caps https://review.opendev.org/c/openstack/nova/+/775689
20:13:31 openstackgerrit Merged openstack/nova master: libvirt: Add missing type hints https://review.opendev.org/c/openstack/nova/+/775688
20:23:14 openstackgerrit sean mooney proposed openstack/nova master: Support per port numa policies with SR-IOV https://review.opendev.org/c/openstack/nova/+/773792
20:24:45 sean-k-mooney artom: ^ im having troble getting the socket test i addded here working https://review.opendev.org/c/openstack/nova/+/773792/10/nova/tests/functional/libvirt/test_pci_sriov_servers.py#1254
20:31:28 artom sean-k-mooney, I wonder if it's because I set the 'socket' attribute on the pools in my filter method
20:31:45 artom And the pools that get passed to remove_device() don't have it
20:31:54 artom So it fails the equality test
20:32:23 sean-k-mooney its there in the host state object {"physnets": [], "tunneled": false}, "nova_object.changes": ["physnets", "tunneled"]}, "socket": 1},
20:32:58 sean-k-mooney actully ill copy this to pastbin that not waht i wanted
20:34:04 sean-k-mooney http://paste.openstack.org/show/803443/
20:34:09 artom del pool_keys['socket']
20:34:09 artom if 'socket' in pool_keys:
20:34:09 artom del pool_keys['devices']
20:34:09 artom Hrmm, yeah, if I add:
20:34:22 artom In _find_pool()
20:34:25 artom It makes the tests pass
20:34:28 artom OK, I have to run
20:34:37 artom Hopefully that helped a little bit, talk in ~1 hour
20:35:19 sean-k-mooney ok ya that might be the issue
20:36:17 sean-k-mooney but if it is your current patch might break neutron sriov ports? ill do some testing locally and try and see if its just a functest issue or a real one
20:37:34 sean-k-mooney the other polices do work however so i dont know it might just be an edgecase i need to fix to make both work correctly
20:38:07 artom I suspect it's a logic error in my patches
20:38:17 artom Though I do wonder how come my own functional tests passed...?
21:15:44 sean-k-mooney artom: i get the error on real hardware too.
21:31:08 artom sean-k-mooney, I wonder if if has something to do with VFs and PFs?
21:34:01 sean-k-mooney im not sure
21:34:12 sean-k-mooney did you test your code on real hardware
21:35:47 sean-k-mooney hum if i do some hacking in /sys to put all my nics on numa 0 i can boot again
21:36:20 sean-k-mooney basiclly echo 0 | sudo tee /sys/class/net/eth*/device/numa_node
21:36:34 sean-k-mooney then stop nova compute and libvirt fully and start them again
21:36:39 artom I didn't
21:37:06 sean-k-mooney when that was -1 it was failing i hadd to add pool_keys.pop('socket', None)
21:37:16 sean-k-mooney to find_pool
21:37:27 sean-k-mooney ill try removing that again
21:39:23 sean-k-mooney i can test it with pci alis too i guess i just need to spend some time to do it
21:40:51 artom That's the thing, I wasn't touching /sys, or indeed the PCI devices
21:41:13 artom Besides calculating the socket and saving it in pool['socket']
21:41:29 sean-k-mooney ya well this is what is printign for the final resouce view
21:41:31 sean-k-mooney PciDevicePool(count=1,numa_node=0,product_id='10c9',tags={dev_type='type-PF',physical_network='public'},vendor_id='8086'), PciDevicePool(count=7,numa_node=0,product_id='10ca',tags={dev_type='type-VF',parent_ifname='eth1',physical_network='public'},vendor_id='8086')]
21:41:50 sean-k-mooney so the socket is not being added there incorerctly
21:43:02 sean-k-mooney a pic dev look more or less normal too
21:43:24 sean-k-mooney {"dev_id": "pci_0000_01_11_3", "address": "0000:01:11.3", "product_id": "10ca", "vendor_id": "8086", "numa_node": 0, "label": "label_8086_10ca", "dev_type": "type-VF", "parent_addr": "0000:01:00.1", "parent_ifname": "eth1", "capabilities": {"network": ["rx", "tx", "sg", "tso", "gso", "gro", "rxvlan", "txvlan", "txudptnl"]}}
21:45:02 sean-k-mooney strange it seam to be workign without the pop(socket ,none)
21:45:04 artom sean-k-mooney, hrmm, I really think it's the parent PF issue
21:45:10 artom It doesn't have the socket
21:45:40 sean-k-mooney ya maybe althou it shoudl
21:45:55 sean-k-mooney well in the same way the VF will
21:45:59 artom The logging I added to remove_device() and _find_pool() logs what I expect with your tests
21:46:05 artom But not with my functional tests
21:46:22 artom Meaning - it's never called, because in my func tests it only tests PFs (or "standard" PCI)
21:46:26 artom (Not sure which)
21:46:38 artom By testing with VFs and their parent PFs, you've uncovered an issue
21:46:52 sean-k-mooney standard is not a PF
21:47:03 artom But it has no parent, is my point
21:47:03 sean-k-mooney standard is a device that does not supprot sriov
21:47:09 sean-k-mooney a PF is type-PF
21:47:16 sean-k-mooney standard is type-PCI
21:47:36 artom The point is not the type, it's the parent device (or lack thereof)
21:48:26 sean-k-mooney correct you do not have to mark the parent as unavaible
21:48:30 sean-k-mooney as we do with VFs
21:48:49 sean-k-mooney or the child as unaviable with PFs
21:49:36 sean-k-mooney so you are not calling _handle_device_dependents

Earlier   Later