Friday, 2023-02-10

opendevreviewYusuke Okada proposed openstack/nova master: Fix failed count for anti-affinity check  https://review.opendev.org/c/openstack/nova/+/87321603:49
opendevreviewYusuke Okada proposed openstack/nova master: Fix failed count for anti-affinity check  https://review.opendev.org/c/openstack/nova/+/87321604:10
*** blarnath is now known as d34dh0r5306:56
opendevreviewJorge San Emeterio proposed openstack/nova master: WIP: Look for cpu controller on cgroups v2  https://review.opendev.org/c/openstack/nova/+/87312708:28
gibibauzas: I start to think that the functional test failure is somehow changing behavior just becuase we added logging. 08:50
bauzasreally ?08:50
bauzasgibi: btw. saw your highlight yesterday, thanks, didn't had yet time to look at my series but I can surely rush for the nits08:50
gibiwe rechecked it through multiple days08:50
gibiwithout hit08:51
bauzasgibi: then we should merge it and see whether it magically solves our problem08:51
bauzasgibi: we could prepare a revert08:51
gibilol :D08:51
bauzaswe're not really at risk for Feature Freeze and we have time to revert before RC108:52
bauzasbutn,08:52
gibiOK, let me push a new PS to clean things a bit up08:52
gibithen I'm OK to merge it with a pending revert08:52
bauzasif that solves the problem, then honestly, I don't know what to say08:52
gibiyeah, I feel the same08:53
bauzaswe could merge some log saying "meh, don't be afraid, we love you"08:53
bauzasgibi: btw. you know that our master branch is broken broken ? (c) elodilles09:00
gibibauzas: that is a news to me09:01
bauzasI gonna recheck https://review.opendev.org/c/openstack/tempest/+/873300 just looking up the root cause of the CI failure09:01
bauzasgibi: tl;dr when dan fixed the image caching issue in Tempest, unfortunately we were not having coverage so we regressed09:03
bauzasI was in the train with limited connection yesterday so I haven't send a status email, but basically our ceph-multistore job is unhappy09:03
bauzasthe tempest fix went accepted soon so now there is no need to send a signal to the community but I just hope to not face problems with merging it09:04
opendevreviewBalazs Gibizer proposed openstack/nova master: Add logging to find test cases leaking libvirt threads  https://review.opendev.org/c/openstack/nova/+/87297509:09
gibibauzas: pimped out ^^09:09
bauzaslol09:10
gibibauzas: ack, thanks for the summary09:10
bauzasit brightens09:10
bauzasgibi: sean-k-mooney is on PTO today until wed, we need a second core09:11
gibihm mh09:12
* bauzas is short in hands :)09:12
sean-k-mooney[m]i am but im reviewing your pm series09:12
sean-k-mooney[m]right now09:12
sean-k-mooney[m]so if you want me to look at something quickly i can09:12
bauzassean-k-mooney: oh, as you can09:12
gibisean-k-mooney[m]: just blindly merge https://review.opendev.org/c/openstack/nova/+/872975 please :D this is still trying to catch the functional tc09:13
gibithat cause the libvirt import error in a later test09:13
bauzassean-k-mooney: for the PM series, I'll update the 3rd patch and work on a FUP given the method rename discussing in patch #209:13
gibiafter couple of days of constant rechecks we did not get a hit09:13
gibiso we think if we merge the extra log it will fix the gate (kidding)09:14
gibibauzas: one thing hit me during the night and now I remember it. If we do the rename of the get_online_cpus and return the offlined ones as well then I think cpu_shared_set will allow listing offline CPUs without nova rejecting it. While in the past such config was rejected09:15
sean-k-mooney[m]hehe a the famous add a debug line to fix the race technique09:16
sean-k-mooney[m]there are man09:16
bauzastechnically this is a warning line :D09:16
bauzasgibi: I need to look at that code, tbh09:16
sean-k-mooney[m]*many c programs that are fixt with strategicly placed printfs09:16
gibisean-k-mooney[m]: it is a heisenbug so we merge the observer into the system and hope that it won't get entangled with it09:17
bauzaslol09:17
gibibut I know my fate09:17
bauzaswe need a cat09:17
* gibi needs cats09:17
bauzasI'd rather say that the race condition is actually low09:18
bauzasand we were blinded by the false positives09:18
gibimaybe the race condition is affraid of cats ...09:18
bauzas(just a theory)09:18
bauzascats don't like races09:19
bauzasthey prefer to sit down and lick their bottoms09:19
sean-k-mooney[m]wont that break tempest09:19
bauzastempest is already broken :)09:20
gibisean-k-mooney[m]: in which way?09:20
bauzasthat's another fun story09:20
sean-k-mooney[m]https://review.opendev.org/c/openstack/nova/+/872975/7/nova/virt/libvirt/driver.py09:20
sean-k-mooney[m]if we ever do an abort in tempest09:20
* bauzas gets his 3rd shot of coffee after 1 hour. The day is about to be huge09:21
sean-k-mooney[m]then wont that either crash on parent being none or keep looping09:21
bauzasyou mean for the real tempest checks ?09:21
sean-k-mooney[m]ya  if we test live migration abort09:22
sean-k-mooney[m]like we never set testcase_id in reall code in the eventlet09:23
bauzasthat's a good point09:23
bauzasgibi: ^09:23
bauzasformerly, I restricted zuul to only run the functests09:23
bauzasbut if we merge this, it will be run for *all* tests09:24
sean-k-mooney[m]its a simple fix commeted inline09:25
sean-k-mooney[m]we just need to check that current is not None09:25
sean-k-mooney[m]and only log if its not None09:25
sean-k-mooney[m]so too None check in the while and around the log and it will work without breaking abort09:26
gibigood point09:27
gibifixing it up...09:27
bauzasgibi: working on the alternative for the PM series patch #209:51
bauzasit won't be a fup09:51
opendevreviewBalazs Gibizer proposed openstack/nova master: Add logging to find test cases leaking libvirt threads  https://review.opendev.org/c/openstack/nova/+/87297509:52
gibibauzas: sean-k-mooney[m]: ^^09:52
gibibauzas: ack09:52
bauzasgibi: +2d09:53
sean-k-mooney[m]+2w09:54
sean-k-mooney[m]also sylvain i completed a pass on the pm seriese09:54
sean-k-mooney[m]nothing major but if your reworking it anyway please take a look09:55
sean-k-mooney[m]i dont have any comments really worth holding the seriese over09:55
sean-k-mooney[m]but perhaps things to think about in followups09:55
sean-k-mooney[m]ok im going to have a coffee. check on freya then play some factorio. my ipad will be near by so if there is anything else just ping but im mostly done for the day now09:57
bauzassean-k-mooney: ack, very much appreciated09:57
sean-k-mooney[m]ill laugh if after all that this fails to merge in the gate because the func test fails09:58
bauzasour gate is in the weeds either way due to https://review.opendev.org/c/openstack/tempest/+/873300 still not merged10:00
gibifactorio++ :)10:04
gibisean-k-mooney[m]: yeah, that has a chance :)10:04
opendevreviewSofia Enriquez proposed openstack/nova master: Implement encryption on backingStore  https://review.opendev.org/c/openstack/nova/+/87001210:12
bauzasTIL about factorio10:17
* bauzas feels old10:17
* bauzas stayed with Starcraft and C&C10:22
gibibauzas: be careful with factorio, it can feel like work :D10:24
gibisweet sweet productive work :D10:25
bauzasI won't install it now, that's too risky10:25
bauzasbut I used to love playing RTS10:25
elodillesbauzas: SC1 or SC2? :D10:28
bauzaselodilles: dude, I'm 42, what do you expect ?10:28
elodillesbauzas: 'same applies here' ;)10:29
gibiSC1 2vs2  battle net was nice10:30
gibiwe tried SC2 2vs2 but it does not felt the same. (we probably got old)10:30
sean-k-mooneyits much simpler to get into a productive flow with factorio10:30
sean-k-mooneythat said did you know there are prometious exporters for factorio s you can visualise your factory in graphana10:31
bauzasand when I say C&C, I really mean C&C 110:31
bauzasand Red Alert10:31
bauzas(mostly Red Alert actually)10:31
elodilles:)10:31
bauzasgibi: LAN parties with Starcraft 2x2 were gorgeous indeed10:31
elodillesI'm so old that i time to time play WarCraft1 campaign just for "fun" >:D10:32
sean-k-mooneypeopel have litrally confiruted really monitoring systems to monitor there virtual factory and raise alerts when you run out of ore.... that is more investment then i can put into any game10:32
* gibi is wondering if SC1 battle net is still running or not10:32
bauzassean-k-mooney: oh man, that's way too much addictive10:32
sean-k-mooneybauzas: you should play it its fun10:33
sean-k-mooneyjust make sure you have good posture when you do because you might blink and realise its been 3 hours without moving10:34
gibisean-k-mooney: if we loose bauzas on factortio then you need to be the next nova PTL as a punishment :)10:38
sean-k-mooneylol 10:38
* bauzas can't remember the name of the online game he spent too much time in the 2000s where it was about building starships and other thinghs10:38
sean-k-mooneysurpisingly that does not narrow it down much10:39
bauzasOgame, got it10:40
bauzasthat one stole too much of my free time10:41
bauzasgibi: about https://review.opendev.org/c/openstack/nova/+/821228/6/nova/virt/libvirt/host.py#745 I wonder whether we really need to call *again* getCPUMap()10:49
bauzasgibi: the existing logic just considers to return the cpu blindless10:49
bauzasblindly10:49
bauzasbut I see your point10:50
bauzasnevermind10:50
gibibauzas: you probably still need to differentiate between non existent cpu ids in the dedicated_set and existing but offined cpus10:51
bauzasyeah, I'm about adding a get_available_cpus() which will return all CPUs for the map10:52
gibiyeah that will work10:53
kashyapbauzas: What exactly does getCPUMap() fetch?  The docs only say "Get node CPU information"10:59
kashyapAh, it maps to `virsh cpu-stats`11:00
bauzasyup11:00
kashyapOh, interesting.  When I run `virsh cpu-stats` on my Fedora 36 VM for a guest, it gives me:11:01
bauzashttps://libvirt.org/html/libvirt-libvirt-host.html#virNodeGetCPUMap11:01
kashyap$> sudo virsh cpu-stats 111:01
kashyaperror: Failed to retrieve CPU statistics for domain 'el8-vm1'11:01
kashyaperror: Operation not supported: operation 'getCpuacctPercpuUsage' not supported for backend 'cgroup V2'11:01
bauzas[sbauza@sbauza temp]$ python11:01
bauzasPython 3.11.1 (main, Jan  6 2023, 00:00:00) [GCC 12.2.1 20221121 (Red Hat 12.2.1-4)] on linux11:01
bauzasType "help", "copyright", "credits" or "license" for more information.11:01
bauzas>>> import libvirt11:01
bauzas>>> conn = libvirt.open('qemu:///system')11:01
kashyapbauzas: Yeah, was reading.  It looks like there's some accounting to be done w.r.t CGroups version11:01
bauzas>>> conn.getCPUMap()11:01
bauzas(8, [True, True, True, True, True, True, True, True], 8)11:01
kashyapYep11:01
* kashyap --> back in a bit; will read back11:02
sean-k-mooneyyou can also just get the online cores form sysfs11:10
sean-k-mooneyif this is an issue but im fine with using libvirt's api for this11:11
bauzasI'm done with the new rev, just updating the upper patch now11:16
sean-k-mooneymy steamdeck is charging so im currently still at my work laptop.(playing factorio) so gibi if your happy to review bauzas  serise and it looks good to you ping me when your done and i can then do a final pass over it quickly and we can likely merge that today. with that said i have a doctors apointmen in a littel over 3 hours so ill be away after that.11:24
bauzasthat's a love11:24
auniyalO/11:24
* bauzas just testing the shutil/cleanup thing on a py38env11:24
gibisean-k-mooney: ack11:24
auniyalin devstack is there a way to see nova-manage logs11:25
bauzasI'm honestly torn, I don't know whether we should really pay attention to ignoring errors11:25
bauzasand whether we should be cautious11:25
bauzashonestly, we create a temp dir, so I don't except problems besides the full disk problem11:25
sean-k-mooneyyou should not get any now with the way the fixture works11:26
bauzasso I'll turn into using the .cleanup() method11:26
bauzasand meh11:26
bauzasmeh to ignoring errors11:26
gibiI'm fine ignoring errors11:26
gibiduring delete of a temp dir11:26
gibiwe will never reuse the temp dir as it has a random postfix11:27
sean-k-mooneythe flag is only there in 3.1011:27
gibiif my /tmp fills up that is on me11:27
sean-k-mooneyand we need to support 3.811:27
gibiaah11:27
bauzasgibi: that's the problem11:27
sean-k-mooneyso its fine for it to error11:27
sean-k-mooneyit wont11:27
gibiahh11:27
bauzaswe can't say 'ignore errors' if we use cleanup11:27
bauzashence me torn11:27
sean-k-mooneyi could have errored when we had the copy of sysfs because of some permision11:27
gibiI'm fine both ways11:27
sean-k-mooneybut now its just normal files owned by us11:27
bauzascorrect11:27
gibiif it starts failing on cleanup then we will switch to shutil11:28
sean-k-mooneyso it wont error unless there is a disk issue which si out of scope11:28
bauzasyup, this ^11:28
sean-k-mooney+111:28
bauzasI'll add a comment explaining the risk and how to mitigate it if we see it in CI11:28
gibicool11:29
bauzassean-k-mooney: gibi: I haven't yet written the docs patch as it requires a bit of effort, so I'll keep your comments on it unresolved but don't misunderstand me, surely I'll do it in a subsequent patch once I'm done (monday morning hopefully)11:39
bauzasI just wanna give chance to other people to get reviewed11:39
gibibauzas: sure, doc is OK after FF11:40
sean-k-mooneyya it can be a seperate patch11:40
bauzasthe core #0 note is actually very important11:40
bauzasTIL about it11:40
bauzasbut yeah that makes sense from an OS perspective11:41
bauzasyou always rely on that core to be available11:41
bauzasthat's the most portable assumption11:41
sean-k-mooneyya it generally need one core that can always be used to handel interupts and you know turn on the others11:42
sean-k-mooneybauzas: that is why there is no online file in /sys/bus/cpu/devices/cpu0/11:43
sean-k-mooneybut there is in all the rest11:43
bauzasooooooooh11:44
bauzasbut you can write an online file and set 0 into it for core #0, right ?11:44
bauzasthat's quite a destructive CPU equivalent of disk's rm -rf /11:45
bauzasexcept it's stateless11:45
sean-k-mooneyit will be ignored11:49
sean-k-mooneyyou can create that file but it wont do anything as far as i am aware11:49
sean-k-mooneyby the way https://github.com/SeanMooney/arbiterd/blob/master/src/arbiterd/common/cpu.py#L58-L6211:50
sean-k-mooneyis how i got the aviable cpus11:51
sean-k-mooneygibi: bauzas  actully also for context11:52
sean-k-mooneyhttps://github.com/SeanMooney/arbiterd/blob/master/src/arbiterd/common/cpu.py#L106-L10711:52
sean-k-mooneythat default 1 was because of this11:52
bauzasgtk11:52
sean-k-mooneyhttps://github.com/SeanMooney/arbiterd/blob/master/src/arbiterd/common/cpu.py#L106-L11411:52
sean-k-mooneythats also why i did the get_online check in set online11:52
sean-k-mooneyto not do the write11:52
sean-k-mooneyi proably should have left a code comment for that...11:52
sean-k-mooneyye removed that optimisation but that was actully the real reason i did that in the poc. it was not an optimisation11:53
sean-k-mooneyit was to workaround the cpu0 weridness11:53
sean-k-mooneyalthough to be fair i didnt fix that on the set offline path11:54
sean-k-mooneyso meh11:54
* gibi goes gets lunch11:58
opendevreviewSylvain Bauza proposed openstack/nova master: libvirt: let CPUs be power managed  https://review.opendev.org/c/openstack/nova/+/82122812:04
opendevreviewSylvain Bauza proposed openstack/nova master: Enable cpus when an instance is spawning  https://review.opendev.org/c/openstack/nova/+/86823712:04
bauzasgibi: sean-k-mooney: ^12:04
* bauzas goes to lunch too12:04
bauzasand after that, will take my pen for reviewing series12:04
* gibi is back13:28
gibibauzas: on it13:28
bauzasack13:28
* bauzas starts to look at https://etherpad.opendev.org/p/nova-antelope-blueprint-status13:28
opendevreviewAndre Aranha proposed openstack/nova stable/yoga: [stable-only] Test setting the nova job to centos-9-stream  https://review.opendev.org/c/openstack/nova/+/86008713:32
gibibauzas: I'm +2 +A on the power management series13:36
bauzasgibi: thanks13:37
gibiit was a self contained patch series with well splitted commits. so it was a plesure to review13:38
bauzasI'll add in the etherpad the promised docs patch13:38
gibiI will check the evac fup now13:41
*** dasm|off is now known as dasm13:49
gibibauzas: I'm not sure https://review.opendev.org/q/topic:privsep-usage-review is at a landeable state13:54
gibiI think the two patches there are only pre-reqs for the real move but I can be mistaken13:55
bauzasI need to open those links13:55
bauzasideally, I'd like a migration plan13:55
bauzassomething we could merge on a step way13:56
bauzasbut yeah, I assume this blueprint would be marked Complete once we pull all the callers out of the privsep.py modules13:56
sean-k-mooneythey can be merged increentally but i dont think there is enough done in those to see a benifit in A13:57
sean-k-mooneyi would proably wait till early next cycle13:57
sean-k-mooneythat said i have not really reviewed it so there might be more there then i think13:58
sean-k-mooneyi would not rush it however13:58
bauzasyeah maybe13:58
bauzasshit. https://review.opendev.org/c/openstack/tempest/+/873300 got again trampled13:58
bauzasour gate is still onhold13:58
gibibauzas: there a global requirement bump https://review.opendev.org/c/openstack/requirements/+/872065 that is RED due to nova. And it blocks bumping os-traits to 2.10.0 in global requirements which in turn blocks the manila series and the https://review.opendev.org/q/topic:bp%252Flibvirt-maxphysaddr-support impl14:02
bauzasdamn shit.14:03
bauzaswe're constructing a pile of cards14:03
gibiyeah14:04
bauzaswait14:04
bauzashttps://effe4ed80a91c92fc386-ef4309a852fb3e3584cdcb1adbb4ea34.ssl.cf2.rackcdn.com/872065/4/check/cross-nova-py310/da20743/testr_results.html14:04
bauzas2023-02-07 15:57:42,351 ERROR [nova.privsep.utils] Error on '.' while checking direct I/O: ''14:04
bauzasI have no idea about what would cause this14:04
gibiI did not looked into that failure14:05
bauzasafter 10 years, I still discover new areas in Nov14:05
bauzasgibi: ouch, see this ? https://review.opendev.org/c/openstack/requirements/+/872065/4/upper-constraints.txt#20714:07
gibiI counted > 20 major bumps in that patch but I did not noticed that libvirt-python is one of them14:08
gibiso shit++14:08
gibiI don't like that big bump patch14:08
gibiit moves to many things at once14:08
gibitoo close to RC114:08
kashyapgibi: It's not merged yet, right14:09
kashyapgibi: Yeah, I just see the 'libvirt-python' bump sneaked in there14:09
gibikashyap: right, it is failed on CI14:09
gibikashyap: but even if it clears CI I smell trouble14:09
kashyapYeah, I'm adding a quick review comment14:10
bauzasI made a clear statement already14:11
bauzasgibi: we shouldn't wait for this massive reqs update for os-traits14:12
kashyapbauzas: Aaah, I missed your comment14:12
gibibauzas: we can try to propose a separate bump that only moves os-traits14:12
bauzasgibi: want me to propose some u-c update for os-traits ?14:12
kashyapAh, we wrote the comment at the same moment (3:11 PM)14:12
gibibauzas: yeah, go ahead, I can +1 it14:13
bauzashttps://review.opendev.org/c/openstack/requirements/+/872065/4/upper-constraints.txt#36114:13
bauzasgibi: fwiw, os-traits isn't upgraded in this patch14:13
gibibauzas: yeah that patch wasn't regenerated since os-traits 2.10 landed14:13
gibiI think it will be regenerated eventually but we don't need to wait for it14:13
bauzason it then14:13
gibithanks14:13
gibionce we have 2.10 in global reqs we need a bump in placement too as we want to release placement with the latest os-traits14:14
* bauzas is a bit rusty on proposing requirements patches but surely I can do 14:14
bauzaswhy isn't the bot proposing a new release ? https://review.opendev.org/c/openstack/requirements/+/85482114:15
gibibauzas: maybe because it is waiting for the other bump to land?14:16
gibiI'm not sure14:17
gibielodilles: ^^14:17
gibibauzas: the spice image compression patch https://review.opendev.org/c/openstack/nova/+/828675 is nicely written and easy to review. I14:19
gibiI14:19
gibiI14:19
gibiI'm +2 on it14:19
gibi(too much coffee...)14:19
bauzasgibi: ok, then, I'll take a look on it14:20
gibiI think it is an easy win :)14:20
bauzasI like easy wins14:20
bauzasour antelope release will have bad numbers so anything that helps to improve our numbers is good :)14:20
gibiand I jumped the gun on the manila series regarding the os-traits release. The manial series only needs os-traits 2.8.0 so that is OK. So only the scaphandre and the max_phy_bits series are blocked on os-traits 2.10.014:22
bauzasthat is correct14:23
bauzasand since the scaphandre series actually relies on manila...14:23
bauzaswell, on virtiofs support coming from the manila series...14:24
gibiyeah14:24
bauzasgibi: as a wrap-up14:28
bauzasI just discussed with the releases team14:28
bauzasand the releases post-merge jobs are failing since Feb314:28
bauzasin other words, os-vif and os-traits aren't formally released yet14:29
bauzasdespite the releases patch got merged14:29
gibiohh nice14:40
gibiI see https://pypi.org/project/os-traits/ only has 2.9.014:46
bauzasgibi: join the openstack-releases channel if you wanna get some fun14:47
gibiI'm in :) but don't need more fun14:47
bauzasgibi: +Wd the image compression patch15:24
bauzasyay15:24
gibiit won't land due to the ceph job block but still it is an achievement \o/15:24
bauzasyeah, and I'll chase the rechecks15:28
dansmithI think zuul is down15:50
opendevreviewMerged openstack/python-novaclient master: Bump microversion to 2.95  https://review.opendev.org/c/openstack/python-novaclient/+/87241815:52
dansmiths'back15:54
bauzasdansmith: there were problems with post-release pipelines15:56
bauzashence the zuul restart15:56
dansmithyeah15:56
bauzasdansmith: gmann: we'll get yet another failure for your tempest image fix https://zuul.openstack.org/status#87330015:58
dansmithyep15:58
opendevreviewJorge San Emeterio proposed openstack/nova master: WIP: Look for cpu controller on cgroups v2  https://review.opendev.org/c/openstack/nova/+/87312715:58
bauzasmelwitt: could you please remove your -2 on https://review.opendev.org/c/openstack/nova/+/863177 (the ironic-vnc-console blueprint got accepted for the cycle)16:02
bauzasgibi: I think we rounded on all the possible blueprints we have16:06
gibibauzas: yeah, I don't have brainpower to look at the ironic vnc one16:07
bauzaswe can try to take a look at https://review.opendev.org/c/openstack/nova/+/863177 possibly but sounds a bit optimistic16:07
gibiyeah16:07
bauzasgmann: planning to progress on https://review.opendev.org/c/openstack/nova/+/864594 ?16:08
gibiI think I won't start anything big any more today but I'm still around for a bit if specific review is needed16:08
bauzasme too, I'm done for today16:08
bauzasI'll start reviewing the maxphysnet series today, but I'm not an expert in this16:08
bauzass//maxphysaddr16:09
gibiohh that one I can take a look16:10
gibiI reviewd the spec there16:10
spatelsean-k-mooney Hi, I have a question related HugePages, currently i am running SRIOV + CPU pinning + HugePages 16:12
spatelLets say i don't want to use HugePages. Does that possible? 16:13
bauzasspatel: sean-k-mooney is on PTO until wed16:13
bauzaslemme try to answer you16:13
bauzasspatel: yes, it's possible to have CPU pinning without huge pages16:14
bauzasbut I guess you have running workloads ?16:14
spatelYes16:15
spatelI am deploying new cloud and planning to not use HugePage. We had some incident in past related memory cause strange issue. 16:15
bauzasok, so, do you want to tune off hugepages for all your computes but a subset ?16:15
bauzasah 16:15
spatelNew cloud with no HugePage at all.. 16:16
bauzasok, then you just need to use flavors that don't request hugepages16:16
spatelThis is what i have currently in my cloud - intel_iommu=on iommu=pt  hugepagesz=2M hugepages=30000 transparent_hugepage=never16:16
spatelThinking to remove hugepages and change flavor 16:16
bauzashttps://docs.openstack.org/nova/latest/admin/cpu-topologies.html16:17
bauzasI need to verify one bit, sec 16:18
spatelsure! 16:18
bauzashttps://docs.openstack.org/nova/latest/admin/huge-pages.html16:19
bauzasso, say you no longer ask for hugepages, it won't request a NUMA topolgy16:19
spatelThat was my next question.. How numa play with HugePages?16:20
spatelWe want our workload schedule in single NUMA zone16:20
bauzasso you want NUMA without hugepages16:21
spatelYes16:22
spatelI believe openstack automatically schedule workload according NUNA correct?16:23
bauzassee that doc https://docs.openstack.org/nova/latest/admin/cpu-topologies.html#customizing-instance-numa-placement-policies16:23
gibibauzas: the max_phy_address patch is just the start of the series. we will need more patches there. 16:23
bauzaseither you explicitly specific a NUMA topology for your guest or you make it implicit with cpu pinning or hugepages flavor extra specs16:24
bauzasgibi: ack16:24
spatelThis is my flavor properties - hw:cpu_policy='dedicated', hw:cpu_sockets='2', hw:cpu_threads='2', hw:mem_page_size='large', hw:pci_numa_affinity_policy='preferred', sriov='true'16:24
bauzasspatel: so, you'd just remove the mention of using large pages16:24
spatelI didn't tell my workload about where to schedule but it always put my VMs on single NUMA zone 16:24
spatelYep! that is what i am thinking, remove from grub and flavor and it should be fine. 16:25
bauzasthe fact it goes to the same NUMA cell is because of the policy https://docs.openstack.org/nova/latest/configuration/extra-specs.html#hw:pci_numa_affinity_policy16:26
opendevreviewAlexey Stupnikov proposed openstack/nova master: Fix logging in MemEncryption-related checks  https://review.opendev.org/c/openstack/nova/+/87338816:27
spatelbauzas worth running some test.. i will pick one compute and try to play and see how it goes 16:28
spatelI love numa but it has some downside... 16:28
bauzasspatel: you'll need to modify the nova config, not only grub16:28
spatelYes..i will start with fresh compute node.. i am not going to touch existing one. 16:29
bauzasactually I'm wrong16:29
spatelOuch!! now what?16:29
bauzasno nova conf is required for page management16:29
spateloh! 16:29
bauzasit just gets it from what we have16:29
spatelI can't modify existing VM correct?16:30
bauzasspatel: read the docs I gave to you16:30
bauzasspatel: no, you can't16:30
spatelPerfect! now i got it what to do.16:30
bauzasflavor is embedded into the instance data16:30
bauzasif you modify a flavor, the instances that booted from that flavor won't magically update16:30
spatelI will add fresh compute nodes with no HugePage and create new flavor without Pages16:31
bauzasyou'll be required to resize with another flavor16:31
spatelbauzas I totally understand.. you want just change flavor and it will work magically :)16:31
spatelThis is what happened last week, one of memory module die which crash my whole compute nodes because of HugePage requirement :( 16:32
bauzashah, that's a common failure16:34
bauzasand yeah, relying on RAM can be dangerous16:34
spatelYes.. because of that crash it created loop in my switch (I don't know how but it lock up my switch because of STP)16:35
spatelJust trying to re-produce this issue with multiple variable to see if i can re-create16:35
sean-k-mooney[m]spatel you might want to look at the numa blancing config option18:32
sean-k-mooney[m]packing_host_numa_cells_allocation_strategy18:32
sean-k-mooney[m]spatel by the way if you are using cpu pinning but not hugepages you should set hw:mem_page_size=small18:34
sean-k-mooney[m]if you dont then the vms will randomly get kill due to OOM events18:34
spatelhmm is that a new option packing_host_numa_cells_allocation_strategy ?18:36
spatelsean-k-mooney[m] this is interesting - by the way if you are using cpu pinning but not hugepages you should set hw:mem_page_size=small18:37
spateldoes it going to work if i don't configure hugepage in grub?18:37
sean-k-mooney[m]packing_host_numa_cells_allocation_strategy is new and we backported it18:38
sean-k-mooney[m]i think it was added in zed or yoga we changed the default to spread this cycle or last18:39
sean-k-mooney[m]packing_host_numa_cells_allocation_strategy goes in the compute section of the nova.conf i belvie18:39
sean-k-mooney[m]https://docs.openstack.org/nova/latest/configuration/config.html#compute.packing_host_numa_cells_allocation_strategy18:40
sean-k-mooney[m]spatel:  if you are using cpu pinnign hw:mem_page_size need to be set to some valid value to turn on numa aware memory allocation18:41
sean-k-mooney[m]if you dont we will scudle based on the gloabl not numa local memory18:41
sean-k-mooney[m]the OOM reaper in the kernel operates at the numa level18:42
spatelohhhh 18:42
spatelI know what you saying.. to run workload in NUMA we need to set hw:mem_page_size18:43
sean-k-mooney[m]so the end result of not setting it is we will overcommit the numa node since we are only schduling based on the cpu in that case18:43
sean-k-mooney[m]ya basically18:44
sean-k-mooney[m]i have wanted to enforce this for a while but there were concerns that operators are depending on the incorrect behavior18:44
sean-k-mooney[m]i have wanted to make hw:mem_page_size=any the default if you have a numa toplogy in the guest and dont set anything18:45
sean-k-mooney[m]any is the same as small excpet it allows you to override it in the image18:45
spatelhmmm18:47
sean-k-mooney[m]the simple way to think about it is if its a numa vm you should set a mem_page_size as well18:51
sean-k-mooney[m]well or use file backed memory but that is not a configuration that many people use18:52
spatelI will do it.. 18:56
melwittbauzas: done, thanks for reminding19:14
gmannbauzas: yes, I am planning to progress on 864594 but let's see if i can push it before FF22:00
*** dasm is now known as dasm|off22:38

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!