Earlier  
Posted Nick Remark
#openstack-nova - 2022-12-15
21:16:23 opendevreview Ruby Loo proposed openstack/nova stable/yoga: Ironic nodes with instance reserved in placement https://review.opendev.org/c/openstack/nova/+/867912
22:41:03 opendevreview Ruby Loo proposed openstack/nova stable/yoga: Ironic nodes with instance reserved in placement https://review.opendev.org/c/openstack/nova/+/867912
23:11:27 opendevreview Ruby Loo proposed openstack/nova stable/yoga: Ironic nodes with instance reserved in placement https://review.opendev.org/c/openstack/nova/+/867912
23:14:13 opendevreview Ruby Loo proposed openstack/nova stable/xena: Ironic nodes with instance reserved in placement https://review.opendev.org/c/openstack/nova/+/867338
23:23:26 opendevreview Ruby Loo proposed openstack/nova stable/xena: Ironic nodes with instance reserved in placement https://review.opendev.org/c/openstack/nova/+/867913
23:24:16 opendevreview Ruby Loo proposed openstack/nova stable/wallaby: Ironic nodes with instance reserved in placement https://review.opendev.org/c/openstack/nova/+/867914
#openstack-nova - 2022-12-16
05:04:49 thuvh IDENTIFY
08:08:17 congnt Hi everyone, I have a new compute with CPU (Intel(R) Xeon(R) Gold 5320 CPU @ 2.20GHz) Icelake Intel. But libvirt recognize model is Broadwell-noTSX-IBRS. Anyone know this bug? I'm use OpenStack Victoria deploy by kolla-ansible, libvirt version 6.0.0-0ubuntu8.8
08:15:25 obre congnt: Hi! I guess that a "cat /proc/cpuinfo | grep mpx" returnes no results?
08:15:44 congnt Yes
08:16:07 congnt No result with this command
08:17:08 obre The issue is basicly that libvirt expects that flag to call a CPU "IceLake".
08:17:33 obre But Intel does not ship mpx-support for quite a few of their newer CPU-lines.
08:17:51 obre But you can configure libvirt with your own custom cpu-models.
08:18:21 obre We do for example use this file on our IceLake nodes: https://github.com/ntnusky/profile/blob/master/files/libvirt/cpu/x86_Icelake-Server-NTNU.xml
08:19:40 obre Add that file to /usr/share/libvirt/cpu_map/ and update /usr/share/libvirt/cpu_map/index.xml to include a link to it. Then after a restart of libvirt you should have an ICE-Lake CPU available.
08:32:25 congnt obre: thank you so much, i will research it.
10:52:59 sean-k-mooney congnt: ya so this is a common issue with older release of libvirt.
10:54:32 sean-k-mooney congnt: there are 3 ways to work around it if you cant us a newer libvirt, 1 is create a custom model, possibly by copying the one form a newer release, the next is to use the model that matches closed by setting cpu_mode=custom and cpu_model=<whatever> the final way to work around this is set cpu_mode=host-passthrough
10:55:24 sean-k-mooney for 2 i forgot to say you can add the missing cpu flage with cpu_model_extra_flags
10:55:35 sean-k-mooney those config options are all in the libvirt section fo the nova.conf
11:09:39 songwenping sean-k-mooney: hi, i remember the live migration will check source node's resource capacity right?
11:20:09 songwenping sean-k-mooney: hi, i remember the live migration will also check source node's memory capacity right?
11:27:22 sean-k-mooney i would have to check if live migration is using 2 seperate allcotions or just one. i know for some move operations we use the migration context to hold the allcoation for one of the nodes and the vm for the other
11:28:28 sean-k-mooney we have not ported all move operations to use that workflows. cold migration does if i recall correctly, evacuate does not i think live migration will use 2 allocations but again i would need to look at the code to confirm
11:32:46 sean-k-mooney gibi: bauzas do ye recall off the top of ye're heads what we do for live migration ^
11:56:48 gibi live migration uses the migration uuid to hold the source node alloc
11:56:59 gibi only evacuate is an exception
11:59:06 sean-k-mooney ack that is what i tought
11:59:43 sean-k-mooney we should fix evacuation sooner rather then later... im going to go add that to our downstream backlog
12:00:33 sean-k-mooney maybe i can push for that in B or C it would be nice to get that finally fixed
12:00:49 sean-k-mooney although the placement allocation explostion issue might be more imporant
12:01:17 sean-k-mooney we also still need to start using the consumer types feature right
12:01:32 sean-k-mooney to actully start marging the migration allcoations as migrations
12:02:02 gibi yes and yes
12:03:26 sean-k-mooney by the way i will shortly be resuming the pci series review stephenfin are you on pto from today?
12:04:14 sean-k-mooney stephenfin: im hoping to finish reviewign the rest of the pci seriese today but if not it will be my goal to get it completed the first week of january when im back
12:42:49 songwenping sean-k-mooney,gibi: it seems not reasonable if live migration uses 2 seperate allocations, the vm cannot be migrate if the source node have not enough resouce.
12:50:46 sean-k-mooney songwenping: it can we wont stop the migration if the source is over commited
12:51:20 sean-k-mooney that will fail for evacuate but live migration shoudl work
12:51:47 sean-k-mooney that said you shoudl never get into that situration unless you change something in a way that was unsupproted or hit a bug
12:52:13 sean-k-mooney for example reduced the memory in the source node either intentiollay or due to a dim failure or change the allcoation ratio
12:52:50 songwenping we use the Rocky code, and placement is integrated with nova.
12:53:17 sean-k-mooney multiple allocation was intoduced in Queens
12:53:23 sean-k-mooney so it shoudl be there in rocky
12:54:16 songwenping but we encounter the problem, the vm cannot migrate because the source node's memory over commit
12:55:12 sean-k-mooney we may have a bug in rocky or master then but you shoudl not be in an over commit senario
12:55:36 sean-k-mooney its fine to oversubscibe provided the total amoutn adn allocation ratio align
12:55:56 sean-k-mooney the temporay fix woudl be to increase the allocation ratio to enabel the migration
12:56:03 sean-k-mooney and then restore it when done
12:56:16 sean-k-mooney althernitivly you coudl try cold migration.
12:58:40 songwenping yes, we try to increase the allocation ratio now, and analyse why the memory is over commit
13:12:26 gibi yepp it is a know behavior that you cannot migrate from an overallocated node. remove the overallocation by temporarily increasing allocation ratio, move the instance, restore the allocation ratio. And separately investigate how you ended up in an overallocated scenario
13:18:45 sean-k-mooney gibi: i tought that only affected migrtions that uses a single allcoation
13:20:25 gibi sean-k-mooney: I think it is the other way around. Evacuation is the only move that does not use migration allocation on the source. It only extend the instance allocation to cover both the source and the dest node. So I think evac is not effect by this
13:20:49 gibi all the other move operators move the instance allocation from the instance_uuid to the migration_uuid on the source node
13:21:01 gibi that move allocation is what triggers the situation
13:21:10 gibi becuase placement does not have a move semantic
13:22:38 sean-k-mooney hum maybe
13:23:03 gibi https://github.com/openstack/nova/blob/36091a7ed7ad553d5cbb5dcfde0090e1e762bc34/nova/scheduler/client/report.py#L2023-L2043
13:23:04 sean-k-mooney evacuate is broken for overcommited case too however
13:23:23 sean-k-mooney the extention failes if the souce is over allcoated
13:23:58 gibi OK then I was mistaken on that part. then all allocation manipulation is reject by placement if there is at least one overallocated RP in the change
13:24:20 sean-k-mooney proably yes
13:24:47 gibi for some reason I assumed that if the allocation on the overallocated RP does not change then it is OK and evac only adds new alloc on new RPs.
13:24:51 sean-k-mooney i filed a downstrema tracker for this and its a know issue upstream so hopefully this will eventually get resovled
13:24:59 sean-k-mooney although it might require placemtn changes
13:25:46 gibi the resolution probably needs a new placement microversion either to change the semantic of the existing POST /allocations or to add a new API that understands move semantic
13:26:06 gibi but I agree to do something as it is a common issue from deployers
13:40:45 opendevreview Jorge San Emeterio proposed openstack/nova-specs master: Review usage of oslo-privsep library on Nova https://review.opendev.org/c/openstack/nova-specs/+/865432
13:49:24 opendevreview Ruby Loo proposed openstack/nova stable/yoga: Ironic nodes with instance reserved in placement https://review.opendev.org/c/openstack/nova/+/867912
14:03:34 opendevreview Ruby Loo proposed openstack/nova stable/xena: Ironic nodes with instance reserved in placement https://review.opendev.org/c/openstack/nova/+/867913
14:07:59 opendevreview Ruby Loo proposed openstack/nova stable/wallaby: Ironic nodes with instance reserved in placement https://review.opendev.org/c/openstack/nova/+/867914
14:08:20 gibi bauzas, sean-k-mooney: fyi I filed two bugs in the last two days about gate instabilties as I'm hitting them https://bugs.launchpad.net/glance/+bug/1999800 https://bugs.launchpad.net/tempest/+bug/1999893
14:09:03 bauzas shitty shit
14:09:37 bauzas gibi: thanks
14:09:59 gibi these are infrequent ones but I see both more than once so I reported them
14:52:05 gibi I'm a magnet of bugs these days
14:52:11 gibi the latest, this is from my local env
14:52:12 gibi Dec 16 15:51:21 bedrock kernel: traps: flake8[1268565] general protection fault ip:55f5a5ed6e83 sp:7ffdf4a39d50 error:0 in python3.10[55f5a5dba000+2a3000]
14:52:35 gibi I cannot even run tox -e pep8 as flake8 fails all the time
14:54:33 ykarel Hi can someone look into https://bugs.launchpad.net/nova/+bug/1949606
14:55:02 ykarel libvirt-8.0.0 now provides option to set tb-cache
14:56:03 ykarel without it it's difficult to run multiple guests vm together in CI on jammy hosts
15:07:27 gibi ykarel: can we default tb-cache size globally via some libvir configuration?
15:07:30 gibi kashyap: ^^
15:08:17 ykarel gibi, no idea, but if that's possible then would be helpful as can be set outside of nova too
15:08:52 gibi ykarel: yep, it would be convinient otherwise we need to create a nova feature just for our CI usage
15:09:13 ykarel yes
15:09:48 gibi i.e. a new nova compute host level config variable in [libvirt] section set to some small value applied blindly to all emulated domains by the nova-compute service
15:10:30 ykarel it used to be 32MiB before it was raised to 1GiB
15:10:46 ykarel so that should be good for CI atleast
15:13:51 kashyap gibi: Hmmm, good question
15:14:12 kashyap gibi: It rings a faint bell as I looked at it in the past, but I forget
15:14:36 kashyap I'm in a hurry as I need to take a train shortly, but I'll take a quick look
15:14:49 gibi kashyap: no worries, it is not super urgent :)
15:15:05 kashyap gibi: Good news: yes! libvirt does allow it
15:15:22 kashyap LOL, I tested it even upstream libvirt myself and totally forgot:
15:15:55 kashyap gibi: ykarel: https://listman.redhat.com/archives/libvir-list/2021-November/224873.html
15:16:43 ykarel kashyap, yeap i tested that and it works, now we are looking if we can set it globally by some libvirt conf

Earlier   Later