Thursday, 2026-05-07

opendevreviewAlfredo Moralejo proposed openstack/watcher-tempest-plugin master: Add scenario tests for boot from volume instances  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/98661608:00
opendevreviewAlfredo Moralejo proposed openstack/watcher-tempest-plugin master: Add scenario tests for boot from volume instances  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/98661608:29
opendevreviewDavid proposed openstack/watcher-tempest-plugin master: Add comprehensive tests for action precondition validation  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/96686009:07
opendevreviewJoan Gilabert proposed openstack/watcher master: Update configuration and integrations docs  https://review.opendev.org/c/openstack/watcher/+/98712909:54
dviroelhi all, watcher meeting will start soon (in 9 min) in this channel11:51
dviroelpls add your topics to our etherpad11:52
dviroelhttps://etherpad.opendev.org/p/openstack-watcher-irc-meeting#L3111:52
dviroelwiniciusallan[m]: around? we moved your topic to today's agenda, in case you want to cover something11:52
winiciusallan[m]dviroel: o/ yessir 11:55
winiciusallan[m]dviroel: ack. will check11:55
opendevreviewchandan kumar proposed openstack/watcher-tempest-plugin master: Replace ExtendPlacementClient with tempest lib  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/98662211:59
dviroel#startmeeting watcher12:00
opendevmeetMeeting started Thu May  7 12:00:18 2026 UTC and is due to finish in 60 minutes.  The chair is dviroel. 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'12:00
dviroelhi all o/12:00
morenodo/12:00
rlandyo/12:00
winiciusallan[m]o/12:00
chandank`o/12:00
amoralejo/12:01
dviroelcourtesy ping: jgilaber sean-k-mooney12:01
dviroelok lets start, we have a full agenda today12:02
dviroellet's start with meeting agenda link12:02
sean-k-mooneyo/12:02
dviroel#link https://etherpad.opendev.org/p/openstack-watcher-irc-meeting#L31 (Meeting agenda)12:02
dviroelok, first one is from past meeting, that we didn't had time to cover12:03
dviroel#topic Preemptable Instances12:03
dviroelthis is the feature that winiciusallan[m] is proposing for this cycle12:03
jgilabero/12:03
dviroeland we had some discussions at the ptg12:04
dviroelwiniciusallan[m]: you want to cover something specific? it seems that you started some work there12:04
dviroelthere is a initial spec proposal12:04
dviroel#link https://review.opendev.org/c/openstack/watcher-specs/+/98717112:04
winiciusallan[m]yeah. I started writing the specs and I'm currently working on the Proposed Change section12:05
winiciusallan[m]I have a question about the scope of this section. I mean, what is the level of specification?12:06
winiciusallan[m]I need to reiterate over this, but I was thinking about a new goal with a idea of "maximise the spare capacity usage"12:08
winiciusallan[m]I did not find any existing goal that met this12:08
amoralejthe proposed change should describe how you plan to implement the goal of the spec12:08
dviroelwiniciusallan[m]: you should provide in details how the solution will work, in this case yes, if no other goal fits, you should propose there the creation of a new goal, new strategy12:09
amoralejgoal not as watcher goal, but as spec goal :)12:09
winiciusallan[m]got it12:09
amoralejyep, that, if you plan to create a new watcher goal, strategy, etc.. in that case explain what would those would look like in functional terms12:10
amoralejwhat would be the efficacy indicators for the goal, i.e., or what is expected to do for the new strategies12:10
dviroelyeah, there a plenty of details, but if more information is need on a specific point, we will probably ask you to include12:11
winiciusallan[m]ack.12:11
dviroelto make sure that we agree on the solution before you start implement it12:11
winiciusallan[m]about strategies, is here where we go for the different ways to preempt instances? oldest, newest, and so on...12:11
amoralejyou can check other existing specs https://specs.openstack.org/openstack/watcher-specs/specs/pike/implemented/energy-saving-strategy.html i.e12:12
dviroelthat would be part of the input parameters of your new strategy yes12:12
winiciusallan[m]from the docs, a strategy is the algorithm to find a solution to the goal12:12
winiciusallan[m]amoralej: ack. will take a look12:12
sean-k-mooneywiniciusallan[m]: so in terms of the scope/detail  fo the spec12:13
dviroelthe proposed solution should be aligned with the use cases that you want to cover12:13
sean-k-mooneyit shoudl have enough detail that some one familar with watcher could implemnet it if you could not12:13
sean-k-mooneybut it does nto need to assume an absolute novice12:13
sean-k-mooneyso it shoudl be written such that it capture all the key architeucal detail and highlihg the broad strocks fo the implemention12:14
sean-k-mooneybut dont assume you need to expalin how the exsing watcher compoents work12:14
dviroel++12:14
winiciusallan[m]ok, that makes sense to me12:15
winiciusallan[m]dviroel: when you said about parameters of strategies, this is passed within the request or is it another resource?12:16
dviroelwiniciusallan[m]: just in case you want to clarify something while writing it, you can just ping us here in the channel too12:16
winiciusallan[m]perfect. I won't take too much time since I'm still at the start of the writing 12:16
winiciusallan[m]I would kindly ask for a revision in the initial sections when you guys have some time12:17
dviroelwiniciusallan[m]: is part of the strategy spec, and are the parameters provided when creating the audit12:17
dviroelwiniciusallan[m]: but feel free to ask question at any time12:18
dviroeland folks can start already looking at you spec when they have some time12:18
dviroelwiniciusallan[m]: ok if we move on? or anything that you want to highlight?12:19
winiciusallan[m]no, that's all from my side. thank you all!12:19
dviroelthanks for the topic12:19
dviroel#topic Possible solutions for https://bugs.launchpad.net/watcher/+bug/214195112:19
dviroelthis is a bug reported by amoralej 12:19
dviroel"Audits with workload_stabilization strategy takes very long to execute"12:19
dviroelwhich i started to debug 12:20
dviroeland have some outcomes to share12:20
dviroelI noticed when running some tests in my (simulated) environment that the locking process is causing a  big bottleneck12:20
dviroeland it was really mentioned by amoralej in the LP12:20
dviroeland by only removing the locks during strategy execution, it reduce the execution time around 85%  in my env (tests were running with 113 nodes and 15k instances)12:21
dviroeli was using the emulators that amoralej is proposing here: https://review.opendev.org/c/openstack/watcher/+/980257  btw12:21
dviroelagain amoralej++ 12:21
dviroelI proposed some DNM patches yesterday12:22
dviroeland there was a previous chat here in the channel yesterday, about the current locking mechanism used in models12:22
sean-k-mooneydviroel: we may want to look for that partern in other places12:22
sean-k-mooneyi.e. where we ahve shared locks on copied obejcts12:22
dviroelsean-k-mooney: yes, it seems that we need to dig more 12:23
dviroelso, the first patch just disables de locking when we get a copy of the CDM12:23
dviroeland after discussing about the usage of oslo.concurrency in these classes, we realized that it doesn't seems to be the better approach for CDM12:23
dviroela second patch was proposed by replacing synchronized decorator with a instance Lock instead12:24
dviroelthis was based on sean-k-mooney proposal form yesterday ^12:24
dviroel and the result looks good too, close to the patch that it removing the lock (at least in my env)12:24
dviroelamoralej: do  you have some results to share too?12:25
amoraleji tested running an audit with both unpatched and your two patches, i added my results in the etherpad. I will also run it with a different model12:25
amoralejin my tests, execution time dropped from ~ 18mins to ~ 10mins12:26
dviroelyou had better results with threading lock that no locks:) 12:26
amoralejyes, that's surprising12:26
amoraleji want to repeat the tests anyway to get more datapoint12:26
dviroeli see that you had ~50% of improvement12:26
amoralejyep12:27
dviroelof course that it depends where you compare the start and end time12:27
dviroelwe can sync on that later I think12:27
amoralejI'll keep updating when i have more tests12:27
dviroelthe point that I want to raise is12:27
amoralejsure, i take the time from the audit metadata "created at" and "Updated at"12:27
amoraleji was not runnina anything else in watcher, so the audit execution is triggered right after created12:28
dviroeli want to propose improvements/fixes to this strategy, and it should be a fix that we can backport too (at least part of it)12:28
amoralejdefinitively, improving locking is something that deserves time to dig into12:29
dviroelyeah12:29
dviroelso one thing is to improve the locking 12:29
dviroelwhich will also benefit other strategies in the end12:30
amoralejyep12:30
dviroeland another propopsal is to include additional parameters that allows us to control the number of source nodes and instances evaluated12:30
dviroeltoday there is a parameter to control te amount of destination nodes evaluated12:31
dviroelwhich is by default 1 (random)12:31
dviroelby all nodes are considered as source nodes and all instances evaluated for migration12:31
dviroelcontroling these would also affect the execution time12:31
dviroelas also affect the resulted improvement proposed by the strategy12:32
amoralejactually, i think your idea of "sort the list of hosts based on load and select the most loaded ones" is good12:32
dviroeloh yeah12:32
amoralejbut i don't think we need a parameter12:32
dviroeli forgot about that one12:32
sean-k-mooneydviroel: im actully not surpised by that12:32
amoraleji think we can improve the algorithm to be more effective12:32
dviroeltoday it evaluate all nodes, so they are not sorted by the most loaded12:33
sean-k-mooneyso with the conditional locks you added a branch poirnt that the cpus branch predictor can get wrong12:33
sean-k-mooneywe per object locks we alwasy aquire the lock and sicne the object is not shared we alwasy get it imedetaly12:33
sean-k-mooneyso that shoudl be faster12:33
dviroelsean-k-mooney: makes sense, i didn't have the same result in my env in the end, but it was very similar12:34
dviroelamoralej: so we may want to discuss more, but there are 2 improvements here in the end, the lock system and inside the algorithm12:35
amoralejwe may 1 "take a short (size tbd) list of the most loaded nodes as potential sources", 2. take a short list of the less loaded nodes as potential destinations. And simulate resulting load with migrations between them. If the resulting std deviation is below threashold, we are done. If none of the short list of destination is valid for the migrations take the following set of less loaded, etc...12:35
amoralejwrt the algorithm ^12:35
sean-k-mooneyso that almost feels like a diffent stragey 12:36
sean-k-mooneybut perhaps12:36
dviroelamoralej: iiuc your proposal, it would require more refactoring in the strategy12:36
amoralejnot in the sense that it's based on  standard deviation12:36
sean-k-mooneyright but the stragey is kind fo ment to defein how12:37
sean-k-mooneyanyway that is one approch12:37
dviroelok, to close this topic, i will keep you folks updated in this channel12:37
amoralejI'd need to have a more clear idea about the required changes in the algorithm to have an opinion if another strategy is required tbh12:38
dviroelwrt to the locking issue12:38
dviroeland i will propose another patch to explain the second improvement wrt to limiting the amount of nodes and instance to be analyzed in the alg12:38
dviroeli think that is easier to get some feedback on that12:39
dviroelthe question would be: proposing new input_parameter, would be a solution that we want to backport too?12:39
dviroelas part of the fix?12:39
dviroeli will let you answer async, so we move on to next topics12:40
amoraleji'd try to improve it withouth additional parameter, not because of backportability but because i feel we could get a net win12:40
dviroelamoralej: ack, can be multiple patches, some of them not suitable for backporting12:41
dviroel#topic https://review.opendev.org/c/openstack/watcher/+/98648612:41
dviroelamoralej: ^12:41
dviroelthis is the BFV fix12:41
dviroel#link https://review.opendev.org/c/openstack/watcher/+/986486 (Fix disk accounting for BFV instances)12:41
amoralejjust an update on that, I've fixed the tempest test to increase coverage as requested by sean-k-mooney 12:42
dviroelack, if tempest test are passing, i think that we are good to merge the fix12:42
amoralejhttps://review.opendev.org/c/openstack/watcher-tempest-plugin/+/986616 has now all the tests, including end to end execution, and including ephemeral and swap both for bfv and for boot form image12:42
dviroeli will take a look after the meeting12:42
dviroel++12:43
dviroelsean-k-mooney: ptal when you have some time then, tks12:44
sean-k-mooneysure12:44
sean-k-mooneyill review it before i end my day12:44
dviroelanyone wants to raise any concern about amoralej fix/patches?12:44
dviroelif not, we can move on12:44
sean-k-mooneyi really wish we had functional test for those type of  changes but ya that out of scope for now12:44
dviroel#topic Reviews12:45
dviroel1. First proposal for the datamodel api freeze12:45
dviroel#link https://review.opendev.org/c/openstack/watcher/+/98677712:45
dviroeli started reviewing it12:45
amoralejthanks dviroel 12:45
dviroelamoralej: are you also including some doc updates right?12:45
amoralejbtw, it requires https://review.opendev.org/c/openstack/python-watcherclient/+/986830 to unblock the  python-watcherclient-functional  job12:46
amoralejyes, i included the docs updates we discussed in ptg12:46
sean-k-mooneys the api ref update is not exactyly what i would expect12:46
dviroelit is important for the team to look at this, since we are documenting the procedure on adding/removing fields to the CDM12:46
sean-k-mooneymicroveriosn are what guarentte the field of a repsonce never change (unless you use a new one)12:46
dviroelwe need to agree on the proposal before merging ^12:46
amoralejdoc changes are mainly in https://review.opendev.org/c/openstack/watcher/+/986777/4/doc/source/contributor/plugin/cdmc-plugin.rst12:46
sean-k-mooneywhat we really need in https://review.opendev.org/c/openstack/watcher/+/986777/4/api-ref/source/watcher-api-v1-datamodel.inc12:47
sean-k-mooneyis a note to say that this api will not be modifed in future microversion to incldue new fileds12:47
dviroelack, so thanks for proposing it amoralej 12:48
amoralejfeel free to propose the wording that you think is more appropiate in the patch12:48
sean-k-mooneyamoralej: i would also say that "dding a new field to a model element does not require a12:48
sean-k-mooneyspec, a blueprint or a new API microversion."12:49
sean-k-mooneyis not correct or soemthing we agreed too12:49
amoralejwe did12:49
sean-k-mooneyno we did not12:49
amoralejdidn't we?12:49
amoralejin PTG?12:49
sean-k-mooneywe said that we will not expose new filed in new microverions12:49
sean-k-mooneywe did not say that you can add them without a spec or blueprint12:49
amoralejwe did12:49
amoraleji was very explicit about that12:49
sean-k-mooneyim -2 on that12:50
amoralejactually, i remember i even put examples12:50
sean-k-mooneywe can dicuss if addign wone is approate in a bug12:50
sean-k-mooneybut we need to have a discuss in a bug blueprint or spec for each addtion12:50
jgilaberIIRC we agreed that only adding the fields would not require a spec, but the specs would focus on the features they would be used on12:50
amoralejthe change that requires the new fields may need a spec or blueprint, but not the new field itself12:50
amoralejexaclty12:50
dviroelwe agreed that new fields could not require a spec, but the usage of them may require one.12:50
dviroeldidn't remember anything about blueprint for instance12:51
sean-k-mooneyright ahtat is very diffent then what that say12:51
sean-k-mooneythe current text implies you coudl add a new feils as part of any patch12:51
sean-k-mooneywithout it being part of a large feature addtion that is tracked and apprved elsewhere12:52
amoraleji disagree12:52
amoralejevery change in watcher requires a bug, spec or blueprint12:52
sean-k-mooneyalmost all yes12:52
dviroelalmost all12:52
amoralejso anything that requires a new field will require ^12:52
sean-k-mooneybut bugfixes in general shoudl not make datamodel chnages12:52
dviroelit will require at least a launchpad bug12:52
sean-k-mooneyright and the addtion of a new value in a bug fix may make that bugfix master only12:53
dviroelthis is the case of the strategy that interacts with nova tpday12:53
amoralejit may in some cases, we don't want to close that case12:53
amoralejexactly12:53
dviroeli think that we agree 12:53
sean-k-mooneyi dont disagree with the last sentenc ein the paragraph A new field can therefore be introduced12:54
amoralejanyway, i'll be happy to make the text more clear, propose in the review please12:54
sean-k-mooneyas part of the feature or bug fix that requires it.12:54
dviroelso rephrase the doc may be needed, i will also check12:54
sean-k-mooneybut the into to the adding a new field goes beyond what we agreed12:54
sean-k-mooneyi can propsoe a rephasing12:54
dviroelor even better to not mention anything XD12:54
dviroelack, lets continue the discussion in the patch12:54
dviroelbut again, thanks amoralej for proposing the patch12:55
dviroelwe have time to cover one more review12:55
dviroel2. Remove unused methods from KeystoneHelper12:55
jgilaberthis one should be really quick12:55
dviroel#link https://review.opendev.org/c/openstack/watcher/+/98712612:55
jgilaberI just wanted to mention that I proposed a series of patches to drop keystonclient in favour of the sdk12:56
jgilaberthe linked patch is the first of the series12:56
dviroelack, so we started with keystone, great12:56
* dviroel started this cycle12:56
jgilaberthis is not urgent at all, but it's also a light review since the first patch removes most of the methods of the keystone helpler12:56
jgilabersince they were unused12:56
amoraleji started reviewing but need to double check all the config changes, which is likely the trickier12:57
amoralejall the deprecation and overriding12:57
jgilaberI think that is all that I wanted to mention12:57
dviroelit is important to get reviews earlier so you can move on with the following12:57
dviroeljgilaber: thanks 12:57
dviroelany concerns wrt to jgilaber patch?12:57
dviroelwiniciusallan[m]: btw, feel free to join us in the reviews XD - all opinions are very welcome12:58
dviroelyou folks have any other review to cover?12:58
dviroelwe have one last minute12:59
dviroelso i will move the bugs to the next meeting12:59
dviroelnote that thre is one new bug from morenod 12:59
dviroelfeel free to take a look in advance13:00
dviroel#topic Volunteers to chair next meeting13:00
dviroelsomeone wants to?13:00
jgilaberI can do it13:00
dviroel14th i will be around to chair if needed too13:00
dviroelack, tks jgilaber 13:00
dviroellet's wrap up for today13:00
dviroelwe will meet again next week13:01
dviroelthank you all for participating13:01
amoralejthanks dviroel++ for chairing!13:01
dviroel#endmeeting13:01
opendevmeetMeeting ended Thu May  7 13:01:11 2026 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)13:01
opendevmeetMinutes:        https://meetings.opendev.org/meetings/watcher/2026/watcher.2026-05-07-12.00.html13:01
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/watcher/2026/watcher.2026-05-07-12.00.txt13:01
opendevmeetLog:            https://meetings.opendev.org/meetings/watcher/2026/watcher.2026-05-07-12.00.log.html13:01
* dviroel gets a coffee13:02
opendevreviewDavid proposed openstack/watcher-tempest-plugin master: Add comprehensive tests for action precondition validation  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/96686013:59

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