Monday, 2024-02-19

opendevreviewTakashi Kajinami proposed openstack/os-vif master: Fix missing or unnecessary dependencies  https://review.opendev.org/c/openstack/os-vif/+/90934101:40
opendevreviewTakashi Kajinami proposed openstack/os-vif master: Fix missing or unnecessary dependencies  https://review.opendev.org/c/openstack/os-vif/+/90934101:41
*** mklejn_ is now known as mklejn08:36
*** tkajinam is now known as Guest21308:56
opendevreviewMerged openstack/nova master: HyperV: Remove RDP console connection information API  https://review.opendev.org/c/openstack/nova/+/90699109:28
opendevreviewMerged openstack/nova-specs master: Create specs directory for 2024.2 Dalmatian  https://review.opendev.org/c/openstack/nova-specs/+/90607311:03
opendevreviewStephen Finucane proposed openstack/nova-specs master: Add openapi spec  https://review.opendev.org/c/openstack/nova-specs/+/90944813:18
opendevreviewTakashi Kajinami proposed openstack/nova-specs master: libvirt: Stateless firmware support  https://review.opendev.org/c/openstack/nova-specs/+/90829713:23
opendevreviewTakashi Kajinami proposed openstack/nova-specs master: libvirt: AMD SEV-ES support  https://review.opendev.org/c/openstack/nova-specs/+/90770213:24
bauzasdansmith: sean-k-mooney: when you have a minute, I'd like to discuss about the mdev live-mig series https://review.opendev.org/c/openstack/nova/+/904209/1614:37
bauzas(about the periodic call)14:38
sean-k-mooneysure14:41
sean-k-mooneywe will be hitting meetings shortly but im free for a while14:41
bauzasawaiting dan when he can14:42
bauzasmy concern is about the API we could use for calling the drivcer14:42
dansmithbauzas: I'm just getting started in my morning so I'm doing lots of stuff, sorry14:43
bauzasno worries then14:43
bauzasI'll try to provide a WIP then14:43
sean-k-mooneybauzas: just do this in update_aviable_resouces14:44
sean-k-mooneythats already being called and its very closely related14:45
bauzassean-k-mooney: sure, but given we don't call the driver by it, I need to create a new driver method :(14:45
sean-k-mooneywe do14:45
sean-k-mooneyupdate_avlaiable_resouces calls the driver14:45
sean-k-mooneythats why im suggesting it14:45
bauzashttps://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L958214:46
sean-k-mooneyi belive that is called form https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L1058714:47
sean-k-mooneyyep here https://github.com/openstack/nova/blob/master/nova/compute/resource_tracker.py#L91114:48
sean-k-mooneythe resouce tracker calls the driver14:48
sean-k-mooneyso you can just add it to get_available_resource14:48
sean-k-mooneyin the driver14:48
sean-k-mooneywhich is what you linked too14:49
sean-k-mooneythe alternitive which i assume you wanted to dicuss14:50
sean-k-mooneywas adding a new virt driver api function14:50
sean-k-mooneyand then calling that directly14:50
sean-k-mooneyalternitivly you could decorate a method in the libvirt driver as a perodic14:50
sean-k-mooneyand have it run seperatly form those run by the compute manager14:51
sean-k-mooneyboth are workable but the minimal change is just make get_avialable_resoucces call a new function to reconsile the dict.14:52
sean-k-mooneybauzas: looking at the code i wonder if there is a better approch14:53
sean-k-mooneybauzas: have you coniserd doing it in update_provider_tree14:53
sean-k-mooneyhttps://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L8869C9-L8869C2914:54
sean-k-mooneythat has the advantage of being passed in the allocations14:54
sean-k-mooneyso if you see there is not allocation against the provider but there is a reservation in the dict for an instance14:54
sean-k-mooneythat would be a stale reservation correct?14:55
sean-k-mooneyhum perhaps not14:55
sean-k-mooneythe allocation may be owned by the migration uuid14:56
sean-k-mooneyif you were to do it in _update_provider_tree i would do it in the existing _update_provider_tree_for_vgpu fucntion where you do reshapes14:56
bauzassean-k-mooney: sorry got a phonecall meanwhile14:56
sean-k-mooneyno worries 14:57
sean-k-mooneyreadback and we can chat later14:57
* bauzas scrolling back14:57
bauzassean-k-mooney: okay I see your point14:58
bauzasso, we would need to inject the db to get the migrations in _update_provider_tree_for_vgpu() 14:58
bauzassean-k-mooney: would you be okay ?14:59
bauzasI mean calling objects.MigrationList.get_in_progress_and_error() in  _update_provider_tree_for_vgpu() 15:00
dansmithI've lost track of what we're trying to solve here15:01
dansmithI thought the periodic was to clean up reservations that are now stale for migrations that never happened?15:02
dansmithin the driver memory-resiident dict15:02
sean-k-mooneyyes15:03
sean-k-mooneyso i think we can do that in _update_provider_tree_for_vgpu15:03
dansmithso what injecting into the DB needs to happen?15:03
sean-k-mooneynothing has to happen in the db15:03
dansmithack, okay, I'm confused by bauzas' statement then15:04
sean-k-mooneydansmith: is the destionation allcotion held by the instance uuid or the migration uuid 15:04
sean-k-mooneyi think the instance_uuid?15:04
dansmithinstance IIRC yeah15:04
sean-k-mooneyack, assuming that is correct all _update_provider_tree_for_vgpu need to do15:04
sean-k-mooneyis loop over the in memory dict15:05
dansmithmaybe bauzas is talking about _querying_ for canceled migration objects to know what to clean from the dict?15:05
sean-k-mooneyand remove any key that does not have an allocation15:05
bauzasdansmith: btw. I added a new check by https://review.opendev.org/c/openstack/nova/+/904209/16/nova/virt/libvirt/driver.py#174015:05
dansmithsean-k-mooney: you can't do that I think because you might be racing with the start of the migration?15:05
bauzasdansmith: my question was about where we could verify the dict15:05
dansmithsean-k-mooney: or are you thinking the instance already has an allocation for that host, until it's canceled and we can go on the presence of that allocation?15:06
sean-k-mooneywe should have claimed the placment allcotion before calling migrate correct15:06
bauzasand I just don't want to create a new virt driver API method just for this15:06
dansmithright, okay, yeah that makes sense15:06
dansmithI'm just wondering what bauzas  meant by "so, we would need to inject the db to get the migrations in _update_provider_tree_for_vgpu() "15:06
bauzassean-k-mooney: I wouldn't check the allocations, I would just verify that all the dict keys have a current migration15:07
sean-k-mooneywell that required addtional db lookups15:07
sean-k-mooneywhich can only be done in the compute manager or resouce tracker15:07
sean-k-mooneynot the driver15:07
bauzasdansmith: I'm saying that I want to get the current migrations 15:07
dansmithbauzas: but "has an allocation for gpu on this host" is good enough right?15:07
sean-k-mooneyso that why im trying to use the allcotions instead15:07
dansmithit also means the reservation mirrors the allocation in placement, which seems right15:08
bauzasdansmith: no, because you could have an allocation for an instance while it's not because of a migration15:08
bauzasif we want to check the dict, we need to look at the *migrations*15:08
dansmithbauzas: okay, but that would be for an instance that migrated in successfully in which case it doesn't hurt right?15:08
bauzasdansmith: that's what you asked me15:08
bauzasdansmith: no, it would only be for current migrations15:09
bauzasonce the migration is done, then the dict key is removed15:09
bauzas(or aborted)15:09
dansmithbauzas: actually, what I asked is for it to not to get out of sync silently so that things stop working and a restart is the only solution :)15:09
bauzasso we need to compare15:09
sean-k-mooneybauzas: not what dansmith is saying is if we have an entry in the dict and the instance ahs an allcoation agaisnt the host and there is no migration15:09
dansmithbauzas: if that happens, then we're fine, this is just for cleanup if the migration does *not* get rolled back successfully right?15:09
sean-k-mooneythen its can only happy because the migration succeeded15:09
dansmithsean-k-mooney: well, not exactly15:10
sean-k-mooneyand we failed to remove it form the dict for some bug15:10
bauzasdansmith: that's what I'm saying, we need to compare migrations with the dict15:10
bauzasif a dict key is not related to a current migration, then it's stale15:10
dansmithsean-k-mooney: what I'm saying is that if there's a reservation in the dict and there's an allocation, then it's either still in progress, has yet to be rolled back, or it succeeded in which case keeping the reservation in the dict doesn't prevent other stuff from working15:10
dansmithonce the instance is deleted or migrated away, healing based on the allocation would work itself out too15:11
sean-k-mooneydansmith: ya i agree with that15:11
sean-k-mooneyand yes to the healing too15:11
sean-k-mooneyalso bauzas  if we ever use consumer_types15:11
dansmithbauzas: a dict key for a completed migration where the instance is on our host is not incorrect, even if it is stale, and won't harm anything yeah?15:11
sean-k-mooneyyou can actully tell if the allocation is a migration if you really want too15:11
sean-k-mooneyso if we start using consumer types for that and we do this based on the allcoation if you want to filter you  will be able to in the future15:12
bauzasdansmith: I wouldn't be super happy, as we should have removed it  by https://review.opendev.org/c/openstack/nova/+/904209/16/nova/virt/libvirt/driver.py#1135515:12
dansmithcan we gmeet?15:12
dansmithI feel like we're going in circles here15:12
bauzassure, I can15:12
bauzassec15:12
bauzashttps://meet.google.com/cyg-ucsv-xri15:13
dansmithsean-k-mooney: are you able to join?15:14
opendevreviewAmit Uniyal proposed openstack/nova master: enforce remote console shutdown  https://review.opendev.org/c/openstack/nova/+/90182415:14
opendevreviewAmit Uniyal proposed openstack/nova master: enforce remote console shutdown  https://review.opendev.org/c/openstack/nova/+/90182415:17
sean-k-mooneydansmith: sorry no i was in/am in anohter call15:28
sean-k-mooneydansmith:i can join quickly now since this call is just ending15:29
opendevreviewMateusz Klejn proposed openstack/nova master: Fixed: unit tests for force delete instance  https://review.opendev.org/c/openstack/nova/+/90946416:01
opendevreviewMateusz Klejn proposed openstack/nova master: Changed: adjust shelving for shelved image protection  https://review.opendev.org/c/openstack/nova/+/90946516:01
mnaserGood morning!  https://review.opendev.org/c/openstack/nova/+/909228 + https://review.opendev.org/c/openstack/nova/+/909229 are ready for review today :)16:04
melwittwhen O16:42
melwitt*when I've looked into nova-lvm job failures, what I have seen is that they fail due to the glance apache server responding to nova with a HTTP 502 bad gateway. meanwhile no errors in glance logs https://etherpad.opendev.org/p/nova-ci-failures-minimal#L1116:43
melwittnot really sure what to do next to debug16:44
sean-k-mooneymelwitt: this maybe be related to glance-api being OOM killed16:45
sean-k-mooneymelwitt: artom was debuging failure where that happend so it would be good to confirm that is not whats happening fro the nova-lvm case16:45
artom"debugging" is a strong word16:46
artomI chased a red herring only to figure out that glanceclient does chunking for us16:46
melwitthm ok. I didn't think there was OOM killer in these but let me check16:46
artomSo I still no have no idea why glance-api gets oom-killed16:46
melwittoh, yeah there is some OOM kill in here16:47
sean-k-mooneymelwitt: there may not be but if there is no error in the glance api log i would first check for an OOM event16:47
sean-k-mooneyso we chatted about turning on zswap on nova-next16:47
sean-k-mooneybut since we are having OOM events in nova-lvm i might turn it on there too16:47
sean-k-mooneyor increase the swap there to 8G if its still at 4G16:48
melwittyeah, g-api. hm16:48
melwittFeb 15 13:59:43 np0036770057 kernel: oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=user.slice,mems_allowed=0,global_oom,task_memcg=/system.slice/system-devstack.slice/devstack@g-api.service,task=uwsgi,pid=86510,uid=100116:49
sean-k-mooneymelwitt: so its runing with 4G of swap today16:51
dansmithalso, g-api might not be actually consuming lots of memory, it might just be that the OOM killer decided it was the best thing to kill to create some space16:51
dansmithso look at the oom output to see if it was huge or not16:51
opendevreviewsean mooney proposed openstack/nova master: bump nova-lvm to use 8G of swap from 4G  https://review.opendev.org/c/openstack/nova/+/90946916:55
melwittFeb 15 13:59:43 np0036770057 kernel: Out of memory: Killed process 86510 (uwsgi) total-vm:2290700kB, anon-rss:1733784kB, file-rss:6324kB, shmem-rss:32kB, UID:1001 pgtables:3732kB oom_score_adj:0 4707 so I guess 2.2 GB? not sure if that's typical16:56
sean-k-mooneymelwitt: dansmith  ^ thats the swap bump and ill look at adding zswap to that and nova-next in a seperate patch later16:56
sean-k-mooneymelwitt: so it should be maybe 150-200mb at most normally16:57
dansmithmakes sense to try it on nova-lvm too so that seems okay16:57
sean-k-mooneythat looks like it holding a guest image in memory16:57
sean-k-mooneythat or we need to add an exicit python garbage collector call in the image upload path16:58
melwittFeb 15 13:59:43 np0036770057 kernel: Free swap  = 0kB16:58
dansmiththe image upload path doesn't store the image16:58
sean-k-mooneyi.e. to egerly run the garbage collector after straming the image 16:58
dansmithit's possible that python keeps allocating new buffers for each thing we read and needs a break to do garbage collection, that's certainly possible16:59
sean-k-mooneyi belive we have hadd issues with that in eithe glance or cinder before17:00
sean-k-mooneymaybe im thinking of swift 17:01
sean-k-mooneyhttps://codesearch.opendev.org/?q=gc.collect&i=nope&literal=nope&files=&excludeFiles=&repos=17:01
sean-k-mooneythere are a few project that have an explcit gc.collect() call17:02
sean-k-mooneyhum although mainly in test code 17:03
dansmiththere was also something about python never deflating the heap, which I think gorka can tell us about17:03
sean-k-mooneyya thats what i was recalling. speaking to gorka about the agents growing there memory usage over time17:03
dansmithbut I would think that wouldn't be our problem here since we should be good to re-use those portions of the heap over and over, especially with allocations of exactly the same size each time17:03
sean-k-mooneyin anycase bumping to 8G of swap will mitigate the issue for now17:04
opendevreviewJay Faulkner proposed openstack/nova-specs master: Sharding: More detailed test plan  https://review.opendev.org/c/openstack/nova-specs/+/90867317:05
JayFhttps://review.opendev.org/c/openstack/nova-specs/+/908673 Heads up, I'm going to be implementing the plan laid out here this week; please make loud noises quickly if it's unacceptable :D 17:05
sean-k-mooneyack for 2024.2 or are you still hoping to merge the shard stuff for 2024.117:07
sean-k-mooneyi guess for 2024.117:08
sean-k-mooneyif you can get the testing working in time before FF i guess that is fine17:08
sean-k-mooneyfor me the minium i think we need is a 2 node job with to set of vms with 2 ironnic compuge service partitioning the vms into shards within the same conducotr group17:09
sean-k-mooneyJayF: having tempest test that acttuly assert the toplogy is proably not in the scope of tempest. it would be in the scope of whitebox or could be done via a differnt tempest plugin17:11
gibiUggla: i responded in the manila series17:12
JayFsean-k-mooney: It was going to be in ironic-tempest-plugin17:12
sean-k-mooneyack thats proably ok then17:12
JayFTwo node job is not something we do in Ironic really17:12
JayFAnd we are working to slim down our job set; try to get more cases in less VMs17:12
sean-k-mooneyJayF: can you deploy 2 nova-compute services on a singel node17:13
JayFso adding more extensive jobs works against that -- but if we validate the resource pool only contains sharded nodes, we're golden (and already have code to do this in devstack that I can lift)17:13
JayFsean-k-mooney: We have zero tests where we do >1 configured nova-compute in Ironic.17:13
JayFsean-k-mooney: and the devstack machinery does not support it17:13
sean-k-mooneyright so that is why i was expecting to have a 2 node job17:14
sean-k-mooneyeach runnign a single nova-compute with ironic17:14
sean-k-mooneybut ok we can get a similar effect with what your suggesting17:14
sean-k-mooneyit just sound like much more work17:14
JayFNo, much much less work. I've already looked into this with Julia and we have a good amount of confidence in this approach.17:15
sean-k-mooneywell not nessiarly much more just more then i would have expected17:15
* JayF famous last words17:15
sean-k-mooneyack did you have time to respine the patches to nova for the pep8 error17:15
JayFI just don't want to do it and someone come along and say "not good enough" :D 17:15
JayFyeah, I just did17:15
sean-k-mooneycool17:15
JayFright before talking in here because I went to link it and saw the V-1 :D 17:16
dansmithI guess I'm confused about how we can know the partitioning works with only one node?17:17
sean-k-mooneyok i put the spec update on teh same gerrit topic as teh code17:17
sean-k-mooney"ironic-shards"17:17
sean-k-mooneydansmith: the job will create more then 1 ironic "vm" and only tag a subset of them with the shard key17:17
sean-k-mooneydansmith: so the job will need to assert that not all the nodes in the ironic node list17:18
sean-k-mooneyshow up in the RPs17:18
JayFYeah, we'll end up with e.g. 10 nodes configured (fake drivers, no backend), and only 10-N of them configured with a shard17:18
sean-k-mooneyand then ones that do march the expected shard key17:18
JayFonce the good nodes show up, we start a timer and look for any bad nodes17:18
dansmithso just making sure that the one nova-ironic we have doesn't pick up the other fake resources outside the configured shard?17:18
JayFexactly17:18
dansmithokay the spec doesn't say ten.. so to be clear, it will be a bunch of fake ironic resources and not just .. one real and one fake, right?17:19
dansmithbecause the existing hash ring thing will get 1/2 right half the time17:19
JayFwith fake nodes, the number can be as many as we want17:19
sean-k-mooneywhich works and covers the gap we had. it just not how i would have approched it17:19
JayFso if we need a large number of "N" to have confidence, it's trivial to do it17:19
JayFwhere large is like, small two digit number17:20
sean-k-mooneyJayF: we dont but it would have been nice to have more then one nova-compute in the same ironic conductor group with diffent shard keys17:20
dansmithokay I was hoping for better, tbh, but I guess it's better than nothing17:20
dansmithright exactly17:20
JayFsean-k-mooney: doing that same test for conductor groups is a follow on17:20
JayFoh, not exactly what you said17:20
JayFbut ensuring we have nodes in good/bad conductor groups and testing there17:20
JayFsimilarly to how we are planning for shards (so then we'll have CI coverage for conductor group based paritioning, too, which AIUI doesn't exist at all today either)17:21
sean-k-mooneyso from a nova point of view we want to ensure we can have multiple nova compute services with idffent shard keys in the same cloud17:21
sean-k-mooneyand for each to manage ther own slice17:21
sean-k-mooneywe kind of get that by what you propose17:22
sean-k-mooneyit just would have been nicer to actully test that directly17:22
JayFWe are validating up to the virt driver level, but not up to the compute level17:22
JayFand you'd rather us go up a little bit further, which makes sense17:22
JayFThis is an MVP is good; but I will keep an eye out for opportunities to test >1 nova compute -- this is likely something to plan and do as a separate project b/c I suspect it'll be a massive change to the ironic devstack plugin to do so17:23
JayFTheJulia: ^ WDYT; tl;dr how hard would it be to do an Ironic test job with >1 nova-compute pulling from the same Ironic?17:23
sean-k-mooneyi dont think it would need much work at all17:23
JayFMaybe I'll reword it to be more personal: that is closer to the approach I was taking last year that kept me running into walls; if it's possible/easy I don't see that path myself17:24
sean-k-mooneyJayF: the way multi node plugins are ment to work is runnign the same plugin once per node just with bit enabled/disbale as needed17:24
sean-k-mooneyJayF: so to add a second nova-comptue with ironic we would jsut turn off all the bits the plugin does for the ironic api extra17:24
JayFI think you're ignoring that we'd have to have the second node talk to Ironic on the first node, which I think would require some network magic17:25
sean-k-mooneyand only deploy nova-compute with the ironic driver with a difffen tshard key configured17:25
sean-k-mooneyJayF: yes but we have that for all the other multi node jobs17:25
sean-k-mooneyanyway when you have a job up for review17:26
sean-k-mooneywe can look at makeing a multi node variant later17:26
JayFI am not sure Ironic community at large will be thrilled to add multinode to our gate complexities, but timing-wise that's probably PTG topic anyway. 17:26
sean-k-mooneyif we are not crating any addtional fake nodes then we can likely do it with just a config overried to change the virt driver to ironic and populate the nova.conf with the ironic details17:27
dansmithironic has no multinode jobs?17:27
TheJuliaWe have one, adding further complexity to it is not ideal17:27
Ugglagibi, thx, I will have a look.17:27
dansmitheesh17:28
JayFoh, we do > ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode https://zuul.opendev.org/t/openstack/build/7a8be5f2987745f390f6078e8ac87d82 : SUCCESS in 1h 14m 03s (non-voting)17:28
JayFnon-voting17:28
TheJuliaJayF: to the orignal ask, that is how the job operates now17:28
JayFAck, so as a second step, I can look into making that job also test sharding17:28
TheJuliaI think it just would if set, fwiw17:28
dansmithI guess I'm not sure what configuration is more deserving of a multinode layout than the configuration that arranges for more-than-trivial nodes17:29
JayFI honestly don't know what that job tests; it'll be on my plate to look into it17:29
JayFif I can just flip sharding on in that job and use it to test, that'd be even simpler (although I still think there's value in doing the "check resources" type job, because it'll fail more cleanly if we break things)17:30
sean-k-mooneythere is some logic in devstack to run multiple fake computes on a single node17:31
sean-k-mooneyso we could (next cycle) explore doign that for ironic. but honestly i think all that is need to enable the comptue service on a secnd node and set the virt driver to ironci and set the other config options17:31
TheJuliaJayF: multiple ironic-conductors and nova-computes if I'm recalling correctly17:31
TheJuliaIt has just been a while since I've done any work on it17:32
JayFoooh, so is that the job I dind't know existed that does coverage for conductor_groups17:32
JayFthat would make a lot of sense, actually17:32
sean-k-mooneythats one of the two jobs we have in our expermiental pipeline 17:33
sean-k-mooneyhttps://github.com/openstack/nova/blob/master/.zuul.yaml#L981-L99017:33
sean-k-mooneywe have ironic-tempest-bfv and  ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode17:34
JayFI think that is the whole mystery laid out there then17:35
JayFlooks like I have a template job, and need to just shardify it17:35
sean-k-mooneyya so this is how hte second node is configured https://github.com/openstack/ironic/blob/master/zuul.d/ironic-jobs.yaml#L692-L73317:35
JayFthose OVS config bits where the parts I was worried about figuring out, honestly17:36
sean-k-mooneywell thats common with the libvirt jobs17:37
sean-k-mooneyfor the most part anyway17:37
JayFMy Ironic knowledge is concentrated closer to the endpoint :) I'm working to spread it up the stack more and more over time but networking is a big blind spot17:37
sean-k-mooneyJayF: what i would suggest is focus on the testing you had planed before17:39
sean-k-mooneyif we can speratelly add teh config seeting to tag the ironic nodes in that other job with a shard key17:39
sean-k-mooneyand configure the relevnet nova-computes on ech host to look at only the shard key for the mv on the relevent host17:39
sean-k-mooneythat will cover us for the multi node job17:40
JayFWell, except for the "you should17:40
JayFdo the other one first" that's what I had in mind17:40
sean-k-mooneywell if you want to do the multi node one first that fine17:41
JayFI'll take your advice and still keep on the path I added to the spec -- even though you did an ace job of making the multinode seem easier :D 17:41
sean-k-mooneyi was just hoping you could provide an exmaple of configuring it17:41
sean-k-mooneythen we could help prot it to the multi node one17:41
opendevreviewFabian Wiesel proposed openstack/nova master: Do not close returned image-chunk iterator  https://review.opendev.org/c/openstack/nova/+/90947417:41
sean-k-mooneyJayF: you can set teh shard key in the nova.conf trivially like this https://github.com/openstack/nova/blob/master/.zuul.yaml#L459-L48517:43
sean-k-mooneyim not sure how you go about tagging the relevent fake ironics with a shard key 17:43
sean-k-mooneyif really needed to hack thing quickly i would use a local.sh file created by a pre playbook17:44
sean-k-mooneylike this https://review.opendev.org/c/openstack/nova/+/679656/13/playbooks/nfv/nfv.yaml17:45
sean-k-mooneybut  i assume you have a nicer way to do that in teh ironic plugin17:45
sean-k-mooneyideally via a local.conf parmater17:45
sean-k-mooneyJayF: if your not familar with /opt/stack/devstack/local.sh if it exist it run right before devstack finishes so if a job creates on eit will be run after devstack has otherwise run fully but before any tests are run17:46
sean-k-mooneyso its a way to hack in funcitonaltiy quickly via a zuul job that hsould eventually be in a devstack plugin17:47
*** dmitriis is now known as Guest25117:48
JayFhonestly that's as nifty for local dev setup as it is for a CI trick, ty17:50
sean-k-mooneyyes so the reason ci jobs should not use it hevialy17:50
sean-k-mooneyis because its ment to be reserved for local dev17:51
sean-k-mooneybut they can use it17:51
sean-k-mooneyplugins just should not require it to have stuff to work17:51
sean-k-mooneysince its for the user not the "framework/plugins" to use17:51
sean-k-mooneyso form a ci point of view its perfectly valid to use17:52
sean-k-mooneybut if its complex it proably shoudl be a feature in the plugin/devstack instead17:52
JayFI mean, yeah, it's kinda obvious it'd be hacky to land a CI job using that17:54
sean-k-mooneyJayF: i was epecting to see something in enroll_nodes https://github.com/openstack/ironic/blob/245505dc04da6e401e1810812809fef3f3757f04/devstack/lib/ironic#L243117:56
sean-k-mooneyto set the shard key on the node17:57
sean-k-mooneydid i miss that17:57
JayFshard key is optional; you only need it when setting things up17:57
JayFand it's unused upstream until the nova change lands17:58
JayFso there's nothing to miss (yet)17:58
sean-k-mooneyah ok so the devstack pluging change has not happened yet17:58
sean-k-mooneyi was epectign to see a new Settign added to the plugin17:58
sean-k-mooneyand hten have it append the shared key into the node options if its defined17:59
JayFsean-k-mooney: https://opendev.org/openstack/ironic-tempest-plugin/commit/f2b9c74c9cb8459a979d9002aae3c1a41737c77a is the testing that exists r/n in tempest, no scenario tests yet17:59
JayFthis conversation is me kicking off that work for this week17:59
sean-k-mooney right but that patch is in the tempest plugin not the devstack plugin17:59
JayFyep; that's what I'm saying, nothing scenario is done, I have the old patch from last cycle which is basically useless now and never landed (but did what you're lookign for)18:00
sean-k-mooneyah ok18:00
sean-k-mooneywell its not useless in that it allows you to deploy locally with ironic fake nodes via devstack18:01
sean-k-mooneywith shards 18:01
JayFYeah, but it's useless in terms of testing coverage18:01
JayFbecause it was passing even when the client wasn't even passing ?shard=blah to the Ironic PAI18:02
JayFthat's what I mean by useless :D 18:02
sean-k-mooneyit depends on what you were trying to test. but i agree it alone was not suffienct18:18
sean-k-mooneydansmith: melwitt nova-lvm passed with https://review.opendev.org/c/openstack/nova/+/909469 by the way https://zuul.opendev.org/t/openstack/build/5069b706178e4430ba48bdd52234b065 so do we want to just merge that for now18:20
sean-k-mooneymemory_tracker low_point: 35885218:21
sean-k-mooneySwapFree:        5804540 kB18:21
sean-k-mooneyso we are not ussing most of the addtional swap18:22
dansmithI'm cool with it yeah :)18:22
sean-k-mooneybut that does not mean it was not needed and just not clolelcted i nthe memory tracker 18:22
dansmithum, parse error18:23
dansmithbut yeah, I'm in favor of 8G swap for any of these that are on the border18:23
sean-k-mooneyi mean the memory tracker log runs perodically adn the extra swap could have been needed breifly in between runs18:23
melwittsean-k-mooney: noice, +W18:26
*** NeilHanlon is now known as nhanlon19:00
*** nhanlon is now known as NeilHanlon19:02
opendevreviewMerged openstack/nova stable/2023.1: libvirt: stop enabling hyperv feature reenlightenment  https://review.opendev.org/c/openstack/nova/+/90922920:43
opendevreviewMerged openstack/nova master: bump nova-lvm to use 8G of swap from 4G  https://review.opendev.org/c/openstack/nova/+/90946921:11

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