Thursday, 2026-05-28

opendevreviewAlfredo Moralejo proposed openstack/watcher master: Remove Nova API calls from zone_migration strategy  https://review.opendev.org/c/openstack/watcher/+/98828409:27
amoralej_watcher meeting is starting in 20 minutes, remember to add your topics to https://etherpad.opendev.org/p/openstack-watcher-irc-meeting11:37
amoralej__#startmeeting Watcher 28 May 202612:00
opendevmeetMeeting started Thu May 28 12:00:48 2026 UTC and is due to finish in 60 minutes.  The chair is amoralej__. Information about MeetBot at http://wiki.debian.org/MeetBot.12:00
opendevmeetUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.12:00
opendevmeetThe meeting name has been set to 'watcher_28_may_2026'12:00
amoralej__meeting time!12:00
*** amoralej__ is now known as amoralej12:00
amoralejlast minute to add your topics to the agenda and we will start12:01
sean-k-mooneyo/12:01
chandankumaro/12:02
*** jgilaber_ is now known as jgilaber12:02
jgilabero/12:02
morenodo/12:02
amoralej#topic 988964: Extract BaseHelper for SDK connection setup | https://review.opendev.org/c/openstack/watcher/+/98896412:03
amoralejthat's from jgilaber, go ahead please12:03
jgilaberthank amoralej 12:03
jgilaberI wanted to ask for reviews for this patch12:03
jgilaberthis was a suggestion from dviroel 12:04
jgilaberto have a base class for the different classes to reuse the code for dealing with the openstacksdk12:04
jgilaberI would like to have some feedback even if it's not merged immediately to proceed with the work on the placement helper on top of it12:05
amoralejyeah, i started checking but i got sidetracked and missed it12:05
* dviroel o/12:05
sean-k-mooneywithout lookign the idea sounds reasonbale to me12:06
sean-k-mooneynova has some utility methods for handelting the sdk connection12:07
sean-k-mooneywhich serve a similr fucniton12:07
amoralejyeah, me too, maybe the name BaseHelper may be more specific, BaseClientsHelper or something like that, but sounds reasonable12:07
sean-k-mooneyi dont really have an issue with that being in a class as methods instead12:07
dviroelack, i will take a look on that, not sure why i didn't voted before..12:07
sean-k-mooneyya we could impve the naming12:07
sean-k-mooneyone thing to note however is that12:08
sean-k-mooneywith the sdk12:08
sean-k-mooneywe can use a signel sdk conenction to talk to many services12:08
sean-k-mooneywe do not need per service connections12:09
sean-k-mooneyalthogh we may want to12:09
sean-k-mooneyi.e. if difefnt service are in deifferen regions in the future12:09
sean-k-mooneyso i think its fine to start like this12:09
sean-k-mooneyadn we cna condier if we want to share or not suare a connection later12:09
sean-k-mooneythe current code assuems each serivce has its own client so we do not need to change that in this refactor12:10
amoralejyes, i think this is more flexible to handle different configurations for different services12:10
sean-k-mooneyjgilaber: my main feedback is you have no test change with this12:10
jgilaberyes, I followed the existing pattern since I did not have a strong use case for sharing the conection12:10
sean-k-mooneyso you shoudl at least have some new unit tests for the base helper12:10
jgilabersean-k-mooney, that's fair, I'll tests after the meeting12:11
sean-k-mooneycool so +0.5 until that is adressed but i dotn really see any blockers12:11
amoraleji guess we can move to next topic?12:12
sean-k-mooney+112:12
jgilaberyes, that is all from me, thanks12:13
amoralej#topic 969840: Add spec for Audit Pipeline feature12:13
amoralej#link https://review.opendev.org/c/openstack/watcher-specs/+/96984012:13
dviroelo/12:13
amoralejall yours dviroel 12:13
dviroelI sent a update to this spec yesterday12:14
dviroelthere a a couple of changes12:14
dviroelsean-k-mooney proposed some changes and some additions12:14
dviroelmost of them were reflected there12:14
dviroelhere is some of the most important changes12:15
dviroel1) reduce the scope to ONESHOT audit pipeline only, CONTINUOUS and EVENT types can be added in future releases12:15
dviroelthe main reason is that it would reduce code and testing effort, making more feasible to implement and for reviers to review it12:15
dviroelit is already a major effort to get this working, and this will help a lot 12:16
dviroelfocus on the main implementation, and leave other additions to later 12:16
dviroelmakes sense? ^12:16
sean-k-mooneyi defintly see value in the other types but i think terating them as a strech goal and pulling them in after the intial verison can help hence the suggetion12:17
amoralej+1 sounds reasonable if you find it useful from implementation pov12:17
sean-k-mooneythre are 2 implication to it12:17
sean-k-mooney1 we will need a new microverion to enabel the other tiems later12:17
dviroelyep12:17
sean-k-mooney2 we will need a second db migration for the extra fields 12:18
dviroelcorrect12:18
sean-k-mooneyi think both are ok12:18
sean-k-mooneyand we coudl do both this cycle if we hapen to get the rest of the work done12:18
dviroelagree12:18
sean-k-mooneybut if not it make it cleaner to do it next chcle as we have the seam from day one12:18
amoralejthat'd require a new spec or is just to reflect in the implementation plan?12:18
sean-k-mooneyif it was next cycle a new spec12:19
dviroela new api microversion should require a new spec then I think12:19
sean-k-mooneyin the current spec we can leave the extra work as a stech goal12:19
amoralejok12:19
dviroelok, if you folks found any issue with the plan, please later comment in the spec12:19
sean-k-mooneyi.e. docuemnt how it will work just not commit to deliving it in the inital veriosn12:20
dviroelack12:20
sean-k-mooneydviroel: did you want ot suermise any of the other chagne or is that the main one you wanted ot highlight12:20
dviroelyes12:20
sean-k-mooneyim hoping to get back to that today but have not got to the updated version yet12:20
dviroeli will be moving to the next change12:20
dviroel2) pipeline stage has its own object, thinking on future parameters additions, it would be better to define a stage object right now12:20
dviroeli plan to cover the mains ones12:21
dviroelit was a suggestion that makes sense12:21
dviroelit is an extra effort added, but should help us in the future to extend audit pipeline features12:21
dviroelbefore that, the idea was to provide a list of audit_template uuid onlyu12:22
dviroelit should be better to track the audit template original configuration too12:22
amoralejso we'd i.e. track status on each individual stage12:22
amoralejright?12:22
dviroelsince audit_template can be modified at any time12:23
sean-k-mooneyamoralej: we coudl but not nessiarly12:23
dviroelwe dont need to track the status12:23
dviroelat least not for now12:23
sean-k-mooneythe idea is that in the api each satage has the name/desciption of the stage and the template uuid12:23
amoralejack, so as part of the audit template definition12:24
sean-k-mooneyin the db we woudl snapshot the paremter and other data that could mutate12:24
sean-k-mooneyafter the pipelien is defiend12:24
dviroelthis ^12:24
sean-k-mooneyin the stage object so that if we are doing a continouts audit12:24
sean-k-mooneyits behvior wont change 12:24
sean-k-mooneythat and it mean if we ever want to ahve a pre stage input_parmaters directly we can add it trivally12:24
sean-k-mooneyor if we ant to be able to skip satges12:25
sean-k-mooneywe have a place (the sage object) to hold that per stage info in teh future12:25
dviroelright12:25
sean-k-mooneyinstead of just a list of uuids12:25
dviroelack12:25
dviroelit is better to manage and track, it also adds more implementation effort. But llooks like it is the right thing to do12:26
dviroelmaybe in th future we could also track individual stage status 12:26
dviroelbbut not planned for now12:26
dviroelany other concern with that ^12:26
sean-k-mooneyya i think the intention is clear but we dont need to codify all posibel future usage, just note taht this change enabels that evoltion as needed12:27
dviroel+112:27
amoralejyes, looks like safe and make it more flexible for future12:27
dviroelso moving to next change..12:28
dviroel3) max_pipeline_stages config option was removed for now, we will work initially with a hardcoded value12:28
dviroelthe original idea was to propose a config option for that12:28
dviroelsean-k-mooney mentioned that we should avoid configuration that affects api behavior12:28
dviroeli think that if we go with a hardcoded of 10 for now, we should be fine12:29
amoralejso, there will be a max stages value, but not configurable12:29
dviroelyes12:29
amoralejok12:29
dviroelmin=2, max=10 is set in the spec now12:29
sean-k-mooneyyes, so long term i think we can use unifed limits12:30
sean-k-mooneyto allow configureing this via an api 12:30
sean-k-mooneybut for now i would liek to hardcode 12:30
amoralejwfm12:30
dviroelack, I don't remember if I put that in future works but, it can be a possibility yeah12:30
dviroeltalking about Future Works12:31
dviroel4) Some missing sections/details were added: RPC, notification and Future Work12:31
dviroelFuture work should cover the scope that was removed fro this spec12:32
dviroellike CONTINUOUS /EVENT types, new pipeline modes, etc12:32
amoralejso, current PS of the specs already has all the intended changes?12:33
dviroelYes12:33
dviroelIt should at least :) 12:33
amoralejok, i'll add it to may list of patches to be reviewed :)12:33
dviroelI was reviewing and add/removing things, and the spec is long already12:34
dviroelI may be missing something, but it should be all there12:34
dviroelthe next change12:34
dviroel5) In the RESP API section, moving out from PATCH and adopt PUT instead12:35
dviroelfor new resource, like audit pipeline, it should not have PATCH 12:35
dviroelaudit_template already supports updates via  PATCh12:35
dviroelthe idea is to include PUT in audit_template and the new "default_parameter" would be only updated via PUT12:36
dviroelwith all other allowed parameters from PATCH12:36
sean-k-mooneyand improatnly change form partial updates(PAcTH in jsonpath form)   to full update (PUT in the same json shape as post)12:37
amoralejwhy not use this to move all the parameters to PUT?12:37
sean-k-mooneyconcpetually you woudl do an update by doign a GET, mutating the json adn doing a PUT to update it12:38
dviroelamoralej: what do you mean by ALL?12:38
sean-k-mooneyamoralej: we could 12:38
sean-k-mooneydviroel: i belive they mean replace all useage of PATCH12:38
amoralejmy point is, i see weird having patch and put on the same object for different parameters12:38
amoralejyes12:38
sean-k-mooneyi also sugested we coudl do that as a seperate microversionb before or after this feature12:38
sean-k-mooneyamoralej: on so the current propsal is we wont12:39
dviroelyeah, I think that we should do that, but that's another effort12:39
sean-k-mooneyamoralej: in the spec the new microversion that add PUT remvoes PATCH12:39
dviroelthe current proposal does not cover other resources yeah12:39
sean-k-mooneyso if you want PATCH you use the old microverison because we alwasy have to supprot that anyway12:39
amoralejso, then, I'd keep the PATCH for all the parameters in the object, and then moving all to put12:40
dviroelfor audit_template?12:40
amoralejbut tbh, if others don't see much problem in mixing the calls, i will not block12:40
amoralejyes, for audit_template12:40
sean-k-mooneyim mostly ok with that. i really dont like the use of patch but that is a reasonabel way to do it12:40
dviroelwe can continue with PATCH only for audit_template12:41
dviroeland just set PUT for audit pipeline for now12:41
dviroelI am also fine with that too12:41
amoralejyep, that's my suggestion12:41
sean-k-mooneyjgilaber: any perfernce ^ sicne you have been quite on the topic12:41
dviroelless changes out of the scope of Audit Pipeline feature12:42
jgilabersorry it's been a while since I looked at the spec and I miss some context12:42
dviroelamoralej: tbh i had that proposal ready to sent yesterday, but I sent the one with PUT for audit_template too :) 12:42
jgilaberbut on this particular issue I think I would keep the changes as small as possible12:43
amoralejsorry for being picky :) 12:43
sean-k-mooneyit will take me a while to get to it but if you like i can draft a spec for the future adoption fo PT12:43
sean-k-mooney*of PUT12:43
sean-k-mooneyand we can dicuss that seperatly then12:43
dviroelagree12:43
dviroelbut are we OK with using PUT already for Audit Pipeline then?12:43
sean-k-mooneysure.12:44
amoralejyes12:44
jgilaber+1 12:44
dviroelnice 12:44
dviroeli will update the spec to remove PUT change from audit_template12:45
dviroeland keep PATCH 12:45
dviroelapart from those changes12:45
dviroelthere were other small changes12:45
* sean-k-mooney may have left 45 comments on the prior revision...12:46
dviroeldata model section was updated to include the readl db type12:46
dviroelnow it s more clear the change required in BaseStrategy (a setters addition only) 12:47
dviroeland how the Metric Cache will be introduced in the Datasources12:47
dviroelthese details were missing and was confusing 12:47
dviroelOK, i think that this cover most of the changes in the spec12:47
dviroelwe already have almost 1k lines in this spec12:48
dviroeli think that's my personal record in spec I think12:48
jgilabernot an easy one dviroel 12:48
amoralejyeah, thanks for all the effort you put on this spec12:48
dviroelthank you all for taking the time to review it12:49
dviroelif there is no more questions, we can move to the next topics12:49
amoraleji added one12:49
amoralej#topic Question about https://review.opendev.org/c/openstack/watcher/+/98828412:49
amoralejin that review dviroel and myself discussed about adding the host field to the Instance element in the model12:50
amoralejwhile we can get the host for a instance getting the neighbor in the model graph12:50
dviroeloh sorry, i forgot to get back to this one12:51
amoraleji thought in adding it as a field for convenience12:51
amoralejas i find it cheap to maintain and query12:51
sean-k-mooneyso there are 2 related fields12:51
amoralejbut it's strictly not required12:51
sean-k-mooneyhost and hypervior host12:51
sean-k-mooneyif we are adding oen we shoudl proahly have both12:52
sean-k-mooneyas they are not nessiarly the same12:52
dviroelmy concern was to have the same information in 2 ways, any chance of they not match?12:52
dviroelhost ^12:52
amoralejit needs to map to the ComputeNode 12:52
sean-k-mooneyhost is useed to corralate a compute node to a compute service and ti the value used to compunicate with other service12:53
amoralejthere is only a ComputeNode in the model, 12:53
sean-k-mooneyhypveriosr_hsotname is used ot corallate the instance to the hviorpsoer api and as teh resocue provider name for a compute ndoe in placement12:53
amoralejimo, if we need to have info about hypervisor and host, that should be in the ComputeNode, not in the instance12:53
amoralejhost is to correlate Instance to ComputeNode12:53
amoralejso should be a single value imo12:54
sean-k-mooneyamoralej: striclty speakign its not12:54
amoralejotherwise, it means we are missing something in the model12:54
amoralejan Hypervisor12:54
sean-k-mooneystrictly speakign it to corralte the instnace to the comptue service and there is a third node value for instance to compute node12:54
sean-k-mooneyamoralej: the disticion really only maters for ironic, vmware and non libvirt virt drivers12:55
sean-k-mooneyfor libvir tthe 2 vlaues are almost alwasy the same12:55
sean-k-mooneyamoralej: oh we are missing somting in the model12:55
sean-k-mooneywatcher is assumign the two are interchagneable whwen strcily speaking they are not12:56
* dviroel always get confused with both12:56
amoralejthat was my point, if we really need to keep both separated, then we need something else other than having both in the Instance, imo12:56
sean-k-mooneya singal compute service manage many ironic nodes12:56
sean-k-mooneyso in the case of ironic we will have many compute nodes(and ironic instnaces) with the saem host value but differnt node/hypervior_hostname values12:57
sean-k-mooneyamoralej: the instnace has both in novas api12:57
sean-k-mooneyamoralej: lets pick this up in the change12:58
jgilaberlooking quickly at the patch, I think storing the host on the Instance object would make it easier to consume it12:58
amoralejso covering the ironic case will require more elements12:58
jgilabersince it's used for example in the ComputeHostSortFilter which does not have access to the model12:58
jgilaberonly to Instance objects12:58
amoralejother option would be to add a method to the model parent_host(instance)12:59
amoralejor similar12:59
sean-k-mooneyin the nova api instnace have both OS-EXT-SRV-ATTR:host and OS-EXT-SRV-ATTR:hypervisor_hostname12:59
sean-k-mooneyso i think we shoudl have both on our instance object too (without the prefix)13:00
amoralejso, i'm fine with adding both13:00
sean-k-mooneyhttps://docs.openstack.org/api-ref/compute/#id3013:00
jgilaberI'm looking at the nova helper and looks like we're missing the hypervisor_hostname there as well13:01
amoralejdviroel, ^ wdth? we were more on the other option and avoiding adding host value at all13:01
dviroelwe can, we might need to also make sure that the model is aligned with that13:02
amoralejthat's a good point jgilaber thanks for checking13:02
dviroelthe instance is mapped to the right ComputeNode too13:02
amoralejin my patch i added the logic to update host on each map/unmap action13:03
amoralejto maintain them consistent13:03
amoralejthat was my plan13:03
amoralejwe are out of time, sorry13:03
amoralejlet's keep discussing on the review13:04
dviroelack13:04
sean-k-mooneythe thing is a comptue node does not have a hsot value13:04
sean-k-mooneythat why im makign the disctintion13:04
sean-k-mooneya comptue node as exposed in placement and the hyvperiors api only has a hypervior_hostname13:04
amoralejyep, i appreciate the feedback13:04
sean-k-mooneya compute service has host vlaue13:04
dviroelI think that we should fix this once for all :) 13:05
sean-k-mooneyan instance is mapped to both the contoling service(the nova-compute agent) and the compute node (the hyperiovr)13:05
dviroelso it is good to discuss a bit more yes13:05
amoralejI will double check and compare with the API and what we are getting from the client13:05
dviroellets circle back again13:06
amoralejany volunteer to chair the next meeting ?13:06
* dviroel will be out13:06
jgilaberI can do it13:07
dviroeljgilaber++13:07
amoralejthanks jgilaber 13:07
dviroelone last thing13:07
amoralejsure13:07
dviroelI added to reviers request13:07
dviroeli jsut paste them here13:07
dviroel989396: Fix notification updates lost during cluster data model synchronization | https://review.opendev.org/c/openstack/watcher/+/98939613:08
dviroel987540: Replace global lockutils locks with per-instance RLock | https://review.opendev.org/c/openstack/watcher/+/98754013:08
* dviroel sorry lost the etherpad tab13:08
dviroelplease review these when have some time13:08
dviroelthanks!13:08
amoralejthanks all for joining13:08
dviroelwe can discuss later if needed13:08
dviroelthanks amoralej++13:08
amoralej#endmeeting13:09
opendevmeetMeeting ended Thu May 28 13:09:07 2026 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)13:09
opendevmeetMinutes:        https://meetings.opendev.org/meetings/watcher_28_may_2026/2026/watcher_28_may_2026.2026-05-28-12.00.html13:09
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/watcher_28_may_2026/2026/watcher_28_may_2026.2026-05-28-12.00.txt13:09
opendevmeetLog:            https://meetings.opendev.org/meetings/watcher_28_may_2026/2026/watcher_28_may_2026.2026-05-28-12.00.log.html13:09
winiciusallan[m]sorry folks I couldn't attend the meeting but this is a kindly ping if someone could take a look at the preemptible instances spec :)13:12
winiciusallan[m]thx in advance https://review.opendev.org/c/openstack/watcher-specs/+/98717113:12
opendevreviewJoan Gilabert proposed openstack/watcher master: Extract BaseHelper for SDK connection setup  https://review.opendev.org/c/openstack/watcher/+/98896414:14
opendevreviewTakashi Kajinami proposed openstack/watcher master: doc: Drop reference to "keystone" CLI  https://review.opendev.org/c/openstack/watcher/+/99052015:30

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