Earlier  
Posted Nick Remark
#openstack-nova - 2022-02-07
17:40:58 sean-k-mooney for risxv64
17:41:15 sean-k-mooney ]hum that might break other features
17:41:29 sean-k-mooney it will disable the topology but also numa affinity
17:41:55 sean-k-mooney have you tried settign the sockets and thread to 1
17:42:11 chateaulav gonna do more testing, but that is locally currently.
17:42:40 sean-k-mooney ack. try hw:cpu_sockets=1 hw:cpu_threads=1
17:42:41 chateaulav yeah i did no 'cpu.model = None' first and it did not like that
17:43:04 sean-k-mooney i think your current code is just not generatign the cpu element entirly
17:43:22 sean-k-mooney but if its just a toplocy issue perhaps you can generate a toplogy it will like
17:43:39 chateaulav yeah, i believe so.
17:44:04 sean-k-mooney when you dont set the falvor extra specs technially the toplogy is driver defined
17:44:18 sean-k-mooney so you can modify it to work based on the requirments
17:45:22 sean-k-mooney for legacy reason the libvirt driver genearte a toplogy of 1 socket per vcpu requested
17:45:30 sean-k-mooney which is bad for a number of reasons
17:45:56 sean-k-mooney it used to improve perfromance but i stongly doubt it does and it cause issue for windows for example
17:46:30 sean-k-mooney chateaulav: so if you need to change the default toplogy for the emulation usecase i think that is ok
17:46:33 chateaulav definetly, now that ive isolated the area, gonna tweak the topology settings
18:14:55 opendevreview Tobias Urdin proposed openstack/nova master: Cleanup old resize instances dir before resize https://review.opendev.org/c/openstack/nova/+/827865
18:22:43 opendevreview Dmitrii Shcherbakov proposed openstack/nova-specs master: Late Amendments to the Off-path Backends Spec https://review.opendev.org/c/openstack/nova-specs/+/828177
18:27:07 dmitriis sean-k-mooney: https://review.opendev.org/c/openstack/nova-specs/+/828177 - uploaded
18:33:21 sean-k-mooney dmitriis: ack am im not really happy with adding allow_remote_managed_ports to the whitelist
18:33:51 sean-k-mooney that feels semanticly incorrect to me
18:36:33 sean-k-mooney dmitriis: the docs issue on the spec repo is not related to your patch by the way
18:36:35 dmitriis sean-k-mooney: the alternative approach I considered was to expose a property on the whitelist which would tell us about whether remote_managed is used or not
18:36:53 sean-k-mooney dmitriis: that i think i coudl accpet yes
18:37:17 sean-k-mooney really the whitelist shoudl not really have awareness of the off-path feature
18:37:25 dmitriis sean-k-mooney: hmm, I felt it was slightly backwards because I am exposing state for somebody else to check but maybe I am wrong
18:37:28 sean-k-mooney a porperty i think woudl be ok
18:37:43 dmitriis I'd have to pass it through both on the whitelist and PciDeviceSpec though
18:37:58 dmitriis because I only know about the use of those tags in the spec object
18:38:15 sean-k-mooney the whitelist shoudl not be doign any validation of those tags
18:38:23 sean-k-mooney only the pci tracker should
18:39:01 sean-k-mooney the whitelist is a POD object
18:39:10 sean-k-mooney it does some basic validation fo the imports
18:39:48 sean-k-mooney but it should not be doing any filtering
18:41:09 dmitriis sean-k-mooney: there's some validation done here https://github.com/openstack/nova/blob/b6fe7521afa8d42febc68f5f79782f7bcc3b568f/nova/compute/manager.py#L1430
18:41:16 dmitriis which is also very early
18:41:32 dmitriis and I have access to the whitelist here
18:41:46 sean-k-mooney that is in the compute manager
18:41:55 sean-k-mooney so its oke to do it there
18:42:05 sean-k-mooney but really it shoudl not be there either
18:42:14 sean-k-mooney it shoudl be in the resouce tracker or pci manager
18:42:34 sean-k-mooney in https://github.com/openstack/nova/blob/master/nova/pci/manager.py#L38
18:43:20 dmitriis sean-k-mooney: yeah, this should be set up relatively early as well
18:43:44 sean-k-mooney you shoudl do any validation you need here https://github.com/openstack/nova/blob/master/nova/pci/manager.py#L78-L83
18:44:49 sean-k-mooney its called as part of _setup_pci_tracker in teh resouce traceker
18:44:51 sean-k-mooney https://github.com/openstack/nova/blob/14bfbaa50ed3c000a691a37afbd20d86f431b3fb/nova/compute/resource_tracker.py#L764-L773
18:45:04 sean-k-mooney which is invoked as part of _init_compute_node
18:45:58 dmitriis sean-k-mooney: ack. And when it comes to exposing the property, I could populate _has_remote_managed after this line https://github.com/openstack/nova/blob/b6fe7521afa8d42febc68f5f79782f7bcc3b568f/nova/pci/whitelist.py#L51 and expose a property
18:46:11 dmitriis and also expose a property on the spec objects themselves
18:46:42 dmitriis I'd have to do a search over spec objects then and see whether any one of those has a property
18:46:58 dmitriis if that's ok, I'll just do it
18:47:21 sean-k-mooney i think that shoudl be ok
18:48:01 sean-k-mooney it sound cleaner to me overall
18:48:29 sean-k-mooney where/why are you using this by the way
18:49:02 dmitriis sean-k-mooney: this is to make sure remote_managed tags aren't usable on a host where libvirt is too old (doesn't have VPD handling code)
18:49:25 sean-k-mooney right so you dont need this on the spec object or whitelist object
18:49:34 sean-k-mooney that is a check you can do in the libvirt driver at start up
18:49:54 sean-k-mooney you can just loop over the spec objects and check for the tag
18:50:04 sean-k-mooney and check the verisons
18:50:40 sean-k-mooney the device spec will already have the value in the PciDeviceSpec.tags field
18:50:49 dmitriis https://review.opendev.org/c/openstack/nova/+/827839/2/nova/virt/libvirt/driver.py#816
18:51:13 dmitriis ^ so it's a host-based capability
18:51:20 dmitriis host-dependent *
18:51:36 sean-k-mooney yes
18:52:15 sean-k-mooney that does not need to you modify these data stuctures
18:52:36 dmitriis sean-k-mooney: I don't have access to the host object in those
18:52:46 dmitriis but maybe there's some other way to check the Libvirt version
18:52:53 sean-k-mooney you should not be checkign for them in these
18:53:03 sean-k-mooney dmitriis: you shoudl not be doing https://review.opendev.org/c/openstack/nova/+/827839/2/nova/pci/devspec.py#319
18:53:23 sean-k-mooney that is not the correct place to raise that excption
18:53:36 sean-k-mooney either the device spec of whitelist shoudl raise that
18:53:46 dmitriis sean-k-mooney: ah, sorry, yes we're moving it elsewhere
18:54:40 dmitriis sean-k-mooney: so maybe in the dev tracker I have access to that info, checking
18:54:58 sean-k-mooney i dont think you do
18:55:09 sean-k-mooney we abstrackt the virt driver info away
18:55:20 sean-k-mooney the pci module is ment ot be virt dirver independent
18:55:32 sean-k-mooney you shoudl be doing this check in the libvirt driver.py
18:56:19 sean-k-mooney you coudl perhaps do it in update_devices_from_hypervisor_resources
18:56:21 sean-k-mooney https://github.com/openstack/nova/blob/b6fe7521afa8d42febc68f5f79782f7bcc3b568f/nova/pci/manager.py#L111
18:56:36 sean-k-mooney but you would have to modify the device_json which im not sure is the right thing
18:57:40 sean-k-mooney am i need to call it a day
18:57:56 sean-k-mooney dmitriis: can you look at moving the check to the libvirt driver
18:57:56 dmitriis sean-k-mooney: ack, I'll think about how to do it
18:58:09 dmitriis sean-k-mooney: sure
19:32:39 opendevreview Dan Smith proposed openstack/nova master: Move keypair quota error message into exception https://review.opendev.org/c/openstack/nova/+/828186
19:32:39 opendevreview Dan Smith proposed openstack/nova master: Join quota exception family trees https://review.opendev.org/c/openstack/nova/+/828185
19:32:40 dansmith melwitt: ^
19:32:51 dansmith I have one other thing I'm going to stack on there, but it'll take me a few more minutes
19:33:51 melwitt dansmith: ack
19:34:30 opendevreview Dan Smith proposed openstack/nova master: Move keypair quota error message into exception https://review.opendev.org/c/openstack/nova/+/828186
20:02:47 chateaulav <nova:ephemeral>0</nova:ephemeral>
20:02:47 chateaulav <nova:swap>0</nova:swap>
20:02:47 chateaulav <nova:disk>16</nova:disk>
20:02:47 chateaulav <nova:memory>4096</nova:memory>
20:02:47 chateaulav <nova:flavor name="r1.small">
20:02:48 chateaulav </nova:flavor>
20:02:48 chateaulav <nova:vcpus>2</nova:vcpus>
20:03:13 chateaulav sean-k-mooney: so setting any topology items doesnt work
20:03:26 chateaulav the above and below are what is set in regards to cpu

Earlier   Later