Thursday, 2026-11-05

opendevreviewWinicius Allan Bezerra da Silva proposed openstack/watcher-specs master: Add Preemptible Instances spec for 2027.1 cycle  https://review.opendev.org/c/openstack/watcher-specs/+/101425203:24
amoralejwatcher weekly meeting is starting in 18 minutes, remember to add your topics to https://etherpad.opendev.org/p/openstack-watcher-irc-meeting12:42
opendevreviewMerged openstack/watcher master: reno: Update master for unmaintained/2025.1  https://review.opendev.org/c/openstack/watcher/+/101320212:47
amoralejmeeting time13:01
amoralej#startmeeting watcher13:01
opendevmeetMeeting started Thu Nov  5 13:01:35 2026 UTC and is due to finish in 60 minutes.  The chair is amoralej. Information about MeetBot at http://wiki.debian.org/MeetBot.13:01
opendevmeetUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.13:01
opendevmeetThe meeting name has been set to 'watcher'13:01
amoralejwho is arount today?13:01
dviroelo/13:01
jgilabero/13:02
morenodo/13:02
amoralejcourtesy ping: rlandy sean-k-mooney chandankumar13:03
amoralejlet's start with the first topic in the agenda13:03
amoralej#topic 2025.1 already moved to unmaintained13:04
amoralejjgilaber added this one, is there any pending change we need to commit wrt the topic?13:04
jgilaberno13:04
jgilaberI just wanted to do a quick announcement13:05
dviroeldid we abandoned all 2025.1 backports?13:05
amoralej#info https://review.opendev.org/c/openstack/releases/+/1010956 is merged13:05
amoraleji think we did13:05
jgilaberyes, well elod did13:05
dviroelah ok13:05
jgilaberwe also dropped the 2025.1 job from the tempest plugin check and gate13:05
amoralej#info https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/101301613:05
amoralejyep, that :)13:05
amoralejlet's move to next topic, we have a packed agenda today13:06
amoralej#topic Preemptible Instances spec refreshed. Reviews are appreciated13:06
jgilabernothing else from my side, just fyi and thanks for the reviews13:06
amoralejthanks jgilaber for taking care13:06
amoralej#link https://review.opendev.org/c/openstack/watcher-specs/+/101425213:06
amoralejwiniciusallan is not here but left this request for reviews13:07
amoralejhe has sent the review for 2027.113:07
jgilaberI haven't looked at the spec yet, but looks like there is some issue with section headers13:07
amoralejyes it's failing syntax check13:08
dviroelI think that when reviewing, it is easier if we compare with the one from previous cycle, to understand what changed13:08
jgilaberI've added it to my review queue13:08
jgilaber+113:08
dviroelbut yeah, I think that we can comment in the spec itself13:09
amoralejalso he left a comment in the agenda "The instance's CDM has `disk` as the sum of root_disk, ephemeral, and swap. Would we want to consider only one of these?"13:09
amoralejwe can comment on that in the review13:09
jgilaberamoralej, that is the change you did for boot from volume right?13:09
amoralejyes13:10
amoraleji'd say it should use the disk field as is13:10
amoralejbut need to check13:10
amoralejin the spec history he commented on the change, we have some info there13:10
amoralejhi winiciusallan[m], just on time :) 13:11
winiciusallan[m]sorry folks, my IRC client was tricking me13:11
dviroelyeah, i think that CDM should hide these details, and strategy would not need to worry 13:11
winiciusallan[m]I'm now on o/13:11
dviroelit is good to have a common behavior across strategies13:12
amoralejwe were commenting on your topic13:12
amoralejwrt disk, i think we agree that it should use the `disk` field as found in the model, right?13:12
dviroelwe can comment in the spec, but yeah13:13
jgilaberI need more details, but at first glance I'd agree, yes13:13
winiciusallan[m]good, that was my main concern atm13:13
amoralejwiniciusallan[m], anything to remark in the spec other than the change to limit the sorting options to age, vcpu, ram and disk?13:13
winiciusallan[m]nope. diffing the specs, these were the main changes, nothing else has changed from the feature perspective13:14
dviroel++13:15
dviroelthanks for proposing it13:15
amoralejyep, thanks for the update13:15
amoralejlet's move to the next topic13:15
winiciusallan[m]thanks!13:15
amoralej#topic Zone Migration - Drain AZ13:15
amoralejdviroel, stage is yours13:15
dviroelah13:16
dviroelso yeah, the spec has some updates based on comments from reviewers13:16
dviroelwhile i was working on a PoC a hit an issue13:16
dviroelwhich I would like to get some feedback13:16
dviroelcan be here on in the spec itseld13:17
dviroelthe main issue is with the pinned_az attribute from a server/instance13:17
dviroelthis is part of the nova request spec object13:17
dviroelwhich can now (since 2.104)  be updated via server update 13:17
dviroelso users can pin or unpin a server to an AZ13:18
dviroelthe issue is that we don't reveice any notification about it13:18
dviroelsince it only udpates the Req Spec object in the database13:18
dviroelso no instance.update is generated13:18
dviroelthe issue is: we may have a pinned_az in the CDM that is not up to date13:19
dviroeland strategy may rely on that to take some decisions13:19
dviroelit could be only updated via periodic collector run13:19
dviroelI made a sugestion in the spec, for zone_migration13:19
dviroelamoralej: already commented there, so he is aware13:20
amoralejyep13:20
dviroelthe idea there is to defer the SKIP of a pinned_az to the Action itself13:20
dviroelsince during the action execution, it retrieve details of the server via nova API13:20
dviroelso user would still choose if they want to repin an instance13:21
dviroelif they decide to not reping, and the pinned_az is conflicting with the new destination (node or AZ)13:21
dviroelit would skip the action there13:21
dviroelthis is different from previous proposal that would skip the pinned instance in the strategy13:22
jgilaberthat seems like a good option to me13:22
dviroelso these instances would not be considered as  a migration13:22
dviroelboth have cons in my opinion13:22
jgilaberproposing migrations is not expensive13:22
dviroelideally we would have that info always up to date in the CDM13:22
dviroelbut is very unlikely that Res Spec updates will generate notification in nova13:23
amoralejcould nova send a notification or there is any architectural or policy constraint for them to send it?13:23
dviroelsean-k-mooney: or melwitt may have a better view of that and may comment later..13:23
dviroelamoralej: nova send instance.update notification for instances attributes updates.13:24
amoralejit's true that sending actions is not expensive (depending on how many)13:24
dviroeland pinned_az, as scheduler_hints are Req Spec object attributes13:24
dviroelinstance.update doesn't even send Req Spec info in their notifications13:25
amoralejbut, it'd be good that the strategy creates the AP as accurate as posible, and skip would be reserved for more "abnormal" cases imo13:25
dviroelyeah13:26
amoralejalthough i agree on having a skip condition at the just in case, i.e. an originally unpinned vm is pinned since the last collection13:26
dviroeli am not happy with any of the 2 options atm13:26
amoralejyep, it's choosing which bad is worst :)13:26
jgilaberatm I'm leaning towards the second option, but I need to read again the spec13:27
dviroelwe could update those fields on any instance.update too, like a state change, but still doesn 't solve13:27
jgilaberI have not looked at it since PTG bascially13:27
dviroelyeah, the idea was to explain the issue and possibilities, and we can get feedbacks in the spec itself13:28
amoralejif you compare to previous PS the difference is more clear13:28
dviroel+113:28
dviroelnote that, change in the Action can aslo benefit other strategies13:29
amoralejso the only actual problem with doing it in the strategy is, a pinned instance is unpinned after last collection and user runs with skip_pinned_instances=true13:29
amoralejright?13:29
dviroelyeah, I think so13:29
amoralejassuming we implement skip condition in the action anyway13:30
dviroelyes13:30
amoralejok, so i guess we can continue discussing in the review13:31
dviroelmainly because we don't need to check if the pinned_az is == src_az13:31
dviroelwe only need to check if is pinned13:31
dviroelor not13:31
dviroelwe would filter src_az -> nodes -> instances13:31
dviroelso if they are pinned and user don't want to repin, skipo13:31
dviroelbut if user already unpinned those...13:32
amoralejyep, in that case an unpinned vm wouldn't be migrated13:32
dviroelas sean mentioned, there are some cases that all instances can be pinned to default az13:32
amoralejthat's an interesting one ...13:33
amoralejthe "fake pinned" to nova az13:33
amoralejsean-k-mooney was in favor of unpinning them unconditionally iiuc13:34
dviroelif the user manually unpinned all, it would be safe to user skip_pinned_instances=false too, since in the Action, we will not pin if the instance is not pinned13:34
dviroelamoralej yeah, that's another issue that i am not convinced that watcher should handle13:35
dviroelit is not up to watcher fix this i think13:35
amoraleji'm not sure, tbh13:36
amoralejbut apparently, from nova point of view, instances should not be pinned to nova az13:36
dviroelso then it is up to nova deny13:37
amoralejthat's also true :) 13:37
dviroelbut if they are already pinned, there is a new api to unpin13:37
dviroelso users can fix that13:37
amoraleji think we can keep the discussion in the review13:37
dviroelack13:37
dviroellets move to next topic13:37
amoralejcan we move to next topic?13:37
amoralejok13:37
dviroelyeah13:38
amoralej#topic Reviews13:38
amoralej#topic Fix babel configs and add translations tox target | https://review.opendev.org/c/openstack/watcher-dashboard/+/99832413:38
amoralejthat's the one related to translation in the dashboard13:38
dviroelthe one that we mention in previous meeting13:39
amoralejyep13:39
amoralejso i guess it's just call for reviews13:39
dviroelyeah13:39
amoralejalso https://review.opendev.org/c/openstack/watcher-dashboard/+/101287513:39
dviroelah, i was talking about this one ^13:40
dviroelthe fix for https://launchpad.net/bugs/216780613:40
amoralejthe first one is adding support for translation in babel and tox13:40
amoralejsecond is fixing bug 13:40
amoraleji'm adding to the list of pending to review13:41
dviroel++13:42
amoralejchandan added a screenshot of the reproducer and fixed13:42
amoralejnext review in the list is mine13:43
amoralej#topic https://review.opendev.org/c/openstack/watcher/+/1013297 Fix for https://launchpad.net/bugs/217035113:43
amoralejthat's fix for one of the bugs we discussed recently13:43
amoralejthe one for workload_stabilization13:44
dviroeloh nice13:44
jgilaberlooks reasonable13:45
amoralejfeel free to review and provide feedback there, no need to discuss it now13:46
amoralejwe can move to bugs section13:46
dviroelack, xs change, easy to review13:46
amoralejyep :) 13:46
amoralej#topic bugs13:46
amoralej#topic https://bugs.launchpad.net/watcher/+bug/2172453 - host_maintenance strategy fails when maintenance_node is excluded by audit scope13:46
amoraleji think we started discussing this with no conclusion13:47
jgilaberyes iirc we were not sure if we consider the described behaviour a bug13:47
amoralejso, the question is, what should be the resulting state of a host_maintenance strategy where maintenance_node has vms but doesn't migrate any13:48
dviroelwe may need to define a common behavior across strategies13:48
jgilaberi.e if an audit can't formulate a plan to optimize it's goad, failed it a valid state13:48
dviroelsame issue could happen with zone_migration, etc..13:48
amoralejyes13:49
dviroelif the input parameter specific a resource that does not exists, i think that it should fail13:49
sean-k-mooneydviroel: i was orgianlly in favor of skipping pinned instnace, but durign the ptg i was convice that for backward compatibtliy with the existng bevhior that unpinng them woudl be correct13:49
jgilaberin cases like this failing is valid imo because it's because of user input13:49
sean-k-mooneyor rather not skipping them13:49
sean-k-mooneyand sorry for being late o/13:49
amoralejnp13:50
morenodbut the input is correct, you can select the same host, and the audit template accepts it13:50
morenodFAILED result may cause the user to review what is wrong13:50
jgilaberright, but with the given input (parameter+scope) you can't achieve the goal13:51
amoralejso, for me, for the particular case o host_maintenance where it only manages a host, excluding it in the scope sounds as incorrect13:51
sean-k-mooneywell i woudl condier the input invoald13:51
sean-k-mooneybu tnot at teh schema level13:51
morenodit can be a wrong usage of the parameters, but not incorrect13:51
sean-k-mooneyits logicly invalid at the stragey level13:51
sean-k-mooneyas you explxitly requested oen of the 2 node specifed eslwehre in the request to be exlcuded form the model13:52
amoralejsomething we probably should start doing is using the status_message of audits13:52
morenodimho, the correct result is an empty action plan when the parameters selected points to that, and FAILED result if there is a real failure creating the action plan13:52
sean-k-mooneyso this shoudl fail and either be rejected syncornsly in the api or more likely async in the desion engion when the stragey is evaulate in the audit13:53
sean-k-mooneywith a reason set in the status message13:53
sean-k-mooneyi think xpected result: the audit succeeds with an empty action plan. is incorrect13:53
jgilaber+1, I think the failed result is correct, the problem might be whether it's actually visible to the user13:53
dviroelneeds to be async, to cover the continuous audit case13:53
sean-k-mooneyit should be failed and the status mesage filed shoudl say why IMO13:54
sean-k-mooneythe user has explcity specified two contractory requirements13:54
amoralej+113:54
sean-k-mooney  {"scope": [{"compute": [{"exclude": [{"compute_nodes": [{"name": "compute-1"}]}]}]}]} -> comptue-1 must be exlcuded form the data model used in this audit13:54
amoralejthe problem in this particular case is not that watcher can not optimize it, it's that the parameters are contradictory13:55
sean-k-mooney{"maintenance_node": "compute-1", "backup_node": "compute-2"} -> compute-1 is requird for the stragey to be implemented13:55
amoralejfor me it's different that a consolidation that can not consolidate because of the load, i.e13:55
sean-k-mooneyit is and we can convay that in the status_message13:56
amoralejbut i agree that a status_message would be needed13:56
sean-k-mooneyor reason what ever that filed is caled13:56
sean-k-mooneyya its status_message13:56
amoralejbtw, i'll be sending a patch to support updating status_message in audits when updating the state (i want it for the upgrades change too)13:56
sean-k-mooneyi tought we coudl aslready do that internally13:57
sean-k-mooneystatus_message is intenally not setable via teh rest api13:57
amoralejwell, for audits, we don't have the option in the update_audit_state method13:57
amoralejwe never used it anywhere yet13:58
sean-k-mooneyah ok is it two diffent calls today13:58
amoralejin audits, we do in actionplans and actions13:58
sean-k-mooneyack13:58
sean-k-mooneythat makes sense to me to add13:58
amoralejso, i don't know if we have an agreement on the bug13:58
sean-k-mooneyalthough the reall way to do this is not via a new method13:58
sean-k-mooneywe shoudl be doing this by takign the audit ovo seting the filed value and calling save13:58
amoraleji'm updating the existing one13:58
sean-k-mooneywe shoudl not generlaly ahve helper method for data filed updtes unless we are enforece soem pre/post contaions in a central way13:59
amoralejlet's discuss that separatedly :)13:59
amoralejback to the bug13:59
sean-k-mooneyack os as writen i woudl mark the bugs as invalid based on expected outcome14:00
sean-k-mooneybut we could mark it low14:00
sean-k-mooneyand recored that we shoudl update the status message14:00
sean-k-mooneyto say why it failed14:00
amoralejwould that be acceptable for the rest?14:00
jgilaberyes, sounds good to me14:00
dviroel /me was distracted14:01
dviroelso conflicting input parameters and scope should invalidate the audit, is that it?14:01
amoralejyes14:02
amoralejwith status_message14:02
dviroelyeah, but it is still up to the strategy to check that?14:02
dviroelnot in the api?14:02
amoralejyes, there is logic depending on each strategy14:02
dviroelack14:02
sean-k-mooneydesison engine 14:02
dviroelmakes sense14:02
sean-k-mooneywthere its ceneralised or in the stragey is an implemation detial14:02
sean-k-mooneyeverually it woudl be nice to have a commen helper for this14:03
amoralejmorenod, ^ is that good enough?14:03
sean-k-mooneybut atht woudl requrie us to have some normaliseation of the input parmaters14:03
sean-k-mooneywhich is out of scope fo the bug14:03
morenodok14:04
amoralejI'll update the bug14:04
amoralejok, we are out of time14:04
amoralejalthough there is no more time, just to mention morenod has found memleak https://bugs.launchpad.net/watcher/+bug/217307814:05
amoralejwe'll discuss next week14:05
amoralejso, i think we can close the meeting14:05
amoralejany last minute topic to discuss?14:05
amoralejThanks all for joining14:06
amoralej#endmeeting14:06
opendevmeetMeeting ended Thu Nov  5 14:06:34 2026 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)14:06
opendevmeetMinutes:        https://meetings.opendev.org/meetings/watcher/2026/watcher.2026-11-05-13.01.html14:06
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/watcher/2026/watcher.2026-11-05-13.01.txt14:06
opendevmeetLog:            https://meetings.opendev.org/meetings/watcher/2026/watcher.2026-11-05-13.01.log.html14:06
dviroelthanks amoralej++14:06
*** gmaan is now known as gmaan_afk14:20
opendevreviewAlfredo Moralejo proposed openstack/watcher master: Add support to update status_message in update_audit_state  https://review.opendev.org/c/openstack/watcher/+/101434215:03
amoralej^ the change i mentioned in the call. Note we already use a method update_audit_state to update the audit state. I'm just adding the option to set the status_message too15:04
opendevreviewAlfredo Moralejo proposed openstack/watcher master: Fix duplicate workload stabilization migrations  https://review.opendev.org/c/openstack/watcher/+/101329715:24
*** gmaan_afk is now known as gmaan16:12

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