Earlier  
Posted Nick Remark
#openstack-nova - 2021-03-09
20:52:03 sean-k-mooney oh thats required
20:52:12 artom It didn't use to be
20:52:13 sean-k-mooney where is that optional
20:52:24 melwitt hm ok. when I do it with DEVSTACK_PARALLEL=1 it takes 25-30 minutes but that is with default things enabled, nearly empty local.conf
20:52:36 melwitt I was wondering how people are getting these really fast times
20:52:43 artom sean-k-mooney, https://review.opendev.org/c/openstack/nova/+/778747/2/nova/pci/manager.py
20:52:58 sean-k-mooney melwitt: it has to be DEVSTACK_PARALLEL=True
20:53:21 sean-k-mooney unless they fixed that 1 will not work
20:53:23 melwitt sean-k-mooney: I used it, it gave me the async time report at the end
20:53:31 melwitt maybe I used True, I don't know for sure
20:53:36 sean-k-mooney this is also my default contoler http://paste.openstack.org/show/803405/
20:53:52 sean-k-mooney i have some service disabled yes
20:53:59 melwitt thanks
20:54:21 sean-k-mooney you could disable tempest and horizon form that list if you anted
20:54:31 sean-k-mooney or cinder i guess
20:54:43 sean-k-mooney but that a faily simple compute cloud
20:55:02 sean-k-mooney baisclaly no heat or swift form the default set
20:56:23 sean-k-mooney artom: i think that was needed
20:56:36 artom sean-k-mooney, only for testing as far as I could find
20:56:38 sean-k-mooney artom: we initalise the pci tracker before the comptue service is registered
20:56:52 artom That's the only place where it was ever not passed in
20:56:53 sean-k-mooney artom: no i think its need for a fresh install
20:57:02 artom sean-k-mooney, wouldn't that then explode in testing?
20:57:04 sean-k-mooney its not that is passed i think its set
20:58:59 artom sean-k-mooney, well, you're in luck, the top-most patched failed the gate :)
20:59:09 artom So any feedback you have it's now or never
20:59:52 melwitt sean-k-mooney: thanks
21:01:40 sean-k-mooney artom: https://github.com/openstack/nova/blame/421c52d9d341b07d850c21e0e702a008a8e1d3b7/nova/compute/resource_tracker.py#L493-L495
21:02:14 sean-k-mooney artom: when that runs it possible we have not registered teh compute node yet
21:02:28 sean-k-mooney if i remeber correctly
21:03:38 artom sean-k-mooney, I think that's changed since then...
21:03:50 openstackgerrit Merged openstack/nova master: Differentiate between InstanceNotFound and ConstraintNotMet https://review.opendev.org/c/openstack/nova/+/775309
21:04:29 openstackgerrit Merged openstack/nova master: Add functional test for bug 1837995 https://review.opendev.org/c/openstack/nova/+/775449
21:04:31 openstack bug 1837995 in OpenStack Compute (nova) ""Unexpected API Error" when use "openstack usage show" command" [Undecided,In progress] https://launchpad.net/bugs/1837995 - Assigned to melanie witt (melwitt)
21:04:43 artom Now it's only called from _setup_pci_tracker, which has the compute_node object available to it
21:05:01 artom sean-k-mooney, anyways, I've -1'ed the top-most patch that hasn't merged yet
21:05:08 sean-k-mooney yes but i think that has a similar beahvior
21:05:13 artom Take your time to review it
21:05:17 artom We can revisit this tomorrow
21:05:30 sean-k-mooney i was tryign to find it but you updated it and its hard to fid the old version :)
21:06:04 artom I *only* changed node_id to compute_node
21:06:04 sean-k-mooney actully i can just go in the history i gues
21:06:07 artom Nothing else
21:08:10 sean-k-mooney this is the placves where its called that i was worred about
21:08:11 sean-k-mooney https://github.com/openstack/nova/blob/1273c5ee0b18974d9837e9221fc9270429d428bf/nova/compute/resource_tracker.py#L727-L761
21:08:36 sean-k-mooney well i think those case its fine
21:08:55 sean-k-mooney assuming create has the sideffect of it having the id
21:10:25 sean-k-mooney artom: why did you pass the compute node object in
21:10:27 sean-k-mooney instead of the id
21:10:40 artom Don't need to look it up then
21:10:49 artom Saves a DB query - gibi suggested it
21:11:01 sean-k-mooney id does not
21:11:14 sean-k-mooney https://review.opendev.org/c/openstack/nova/+/778747/2/nova/pci/manager.py#64
21:11:22 sean-k-mooney we were passing in the compute node id before
21:11:38 sean-k-mooney now we dont save it and just extract the id
21:12:01 artom We don't save what?
21:12:17 sean-k-mooney the compute node object in this object
21:17:16 artom We don't need to
21:17:47 sean-k-mooney you split out the chage that refactored the interface form the cahgne that used the compute node object
21:17:54 artom We save the numa_topology in PciDeviceStats
21:17:55 artom https://review.opendev.org/c/openstack/nova/+/774149/12/nova/pci/stats.py
21:18:03 sean-k-mooney that should not have been done imo
21:18:17 artom Debate with stephenfin on that, his idea :)
21:18:30 artom But to not throw him under the bus too much, I agree with it
21:18:34 artom Makes the changes cleaner
21:18:43 artom One to always pass compute_node instead of the optional node_id=None
21:18:46 sean-k-mooney not really
21:18:57 sean-k-mooney it was not optional
21:19:03 artom And another to pull the numa_topology from that and pass it to PciDeviceStats
21:19:07 sean-k-mooney it was a key word argument
21:19:18 sean-k-mooney but the comptue node was required in all the production code
21:19:25 sean-k-mooney *id
21:19:29 artom How is https://review.opendev.org/c/openstack/nova/+/778747/2/nova/pci/manager.py#54 not optional?
21:19:36 artom It literally says node_id=None
21:19:50 sean-k-mooney right but all uses of it out side fo test always set it
21:20:04 artom Yeah, my point exactly
21:20:11 artom Codify that it's always expected
21:20:28 artom And because we'll need the full compute_node later on, replace node_id with the full object
21:20:39 sean-k-mooney sure but not in a patch seperate form the new usage or the full object
21:22:21 sean-k-mooney artom: sorry this just annoys me because you were chanign someint i did not think you were going to change. it conflicts with my changes and it break my mental model of how the pci trakcer works
21:23:34 artom sean-k-mooney, that changes aren't that dramatic...
21:24:47 sean-k-mooney the main one was that it never store state in the pci tracker object directly
21:25:41 sean-k-mooney the numa toplogy object will have to be keep consitent now
21:26:23 sean-k-mooney ok we do sotre state but differently
21:26:54 artom We're talking about the *host* numa_topology
21:26:59 sean-k-mooney yes
21:27:00 artom When is that ever going to change...
21:27:57 sean-k-mooney within th elife time of the agent i guess it not going to
21:28:24 sean-k-mooney i mean memoy and cpu hotplug are thigns and you can reconfigure hyperthreading on the fly or hugepagers for that matter
21:28:40 sean-k-mooney hugepage is actully the most likely ot change at runtime
21:28:52 sean-k-mooney but to have that picked up you need to restart libvirtd
21:29:51 sean-k-mooney actully se also store the currently pinne cpu in the host numa toplogy blob
21:30:22 sean-k-mooney so its update every time we boot new vms
21:36:28 artom sean-k-mooney, the PCI tracker never uses that information though
21:36:45 artom I could add a comment to warn future programmers
21:37:08 artom We just need the socket/node mapping, and that's effectively constant
21:40:11 lyarwood melwitt / sean-k-mooney ; so in my defence, it's late and I shouldn't be working but when I said ~5mins earlier what I actually wanted to say was ~500 seconds. http://paste.openstack.org/show/803406/
21:41:00 sean-k-mooney lyarwood: ay right that about right with paralle
21:42:01 sean-k-mooney i think i missed where you said ti too ~500 though
21:44:00 sean-k-mooney sub ten mintues is doable if you have good netowrking, io and a fast cpu

Earlier   Later