Thursday, 2025-10-23

opendevreviewAlfredo Moralejo proposed openstack/watcher master: Add second instance of watcher-decision-engine in the compute node  https://review.opendev.org/c/openstack/watcher/+/96454610:01
morenod#startmeeting Watcher IRC Weekly Meeting - October 23, 202512:00
opendevmeetMeeting started Thu Oct 23 12:00:43 2025 UTC and is due to finish in 60 minutes.  The chair is morenod. 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_irc_weekly_meeting___october_23__2025'12:00
dviroelo/12:00
morenodwho's around today?12:00
jgilabero/12:01
chandankumaro/12:01
rlandyo/12:01
morenodcourtesy ping: dviroel amoralej jgilaber sean-k-mooney chandankumar morenod rlandy12:01
amoralej__o/12:01
*** amoralej__ is now known as amoralej12:01
sean-k-mooneyo/12:01
morenod#link https://etherpad.opendev.org/p/openstack-watcher-irc-meeting#L2212:02
morenod#topic vPTG12:03
dviroelso, ptg is next week12:04
dviroelI booked our slots some weeks ago12:04
dviroelhttps://ptg.opendev.org/ptg.html12:04
dviroelI have been working on the ptg etherpad:12:04
dviroel#link https://etherpad.opendev.org/p/watcher-2026.1-ptg12:04
dviroeladding some expected session duration time12:05
dviroeland grouping related topics12:05
dviroelone idea is to start with a quick retro on the last cycle12:05
dviroelbefore going through the proposed topics12:06
dviroelon tuesday we have a evenlet session  at 15:00 UTC in Austin Room 12:06
dviroeland at 16:00 UTC, there will be a session about integration tests with horizon12:07
dviroelso we may finish our topics earlier or schedule to the following days if needed to join other sessions12:08
dviroelthere will be some other interesting topics in nova too12:09
sean-k-mooneyack we can likely finsih our topic early/rejoin12:09
dviroelyep12:09
dviroelso based on that, or othe schedule changes, we may need to redistribute the topics during the ptg12:09
dviroelone question for this team12:10
dviroelwill we keep the meetpad as meeting tool?12:10
dviroeli don't really remember what we used in previous ptg tbh12:10
amoraleji was about to ask that :)12:11
amoralejwhat did we use? i don't remember12:11
jgilaberI think it was meetpad? IIRC we used the links provided in the PTG page12:11
amoraleji think it was meetpad12:11
dviroelright12:11
chandankumarwe used to click on room names and then we joined there from https://ptg.opendev.org/ptg.html12:11
chandankumarnot sure it was meetpad or something else12:11
dviroelyeah, these links can be also changed using the bot12:12
rlandyit was meetpad12:12
sean-k-mooneyit worked ok, if we need to we can fallback to gmeet or zoom but lets stick with jiti meet12:12
sean-k-mooneywhich si meetpad for now12:12
dviroeljust in case it gets unstable, we can create a gmeet room12:12
jgilabersounds good, I think it worked well last time though12:13
dviroelnice12:13
dviroeland as a reminder, since we have PTG next week12:13
dviroelwe will not have our regular irc meeting on thursay12:14
dviroeli can make that clear in the etherpad12:14
dviroelanything else about this topic?12:15
dviroelok, morenod you can go with the next one12:16
morenodlets move to next topic12:16
morenod#topic Zone migration, volume migration and cinder concepts/naming 12:16
jgilaberquite a long topic12:17
jgilaberbut I tried to summarize the discussion we had with dviroel and sean-k-mooney yesterday12:17
jgilaberabout cinder configuration and volume migration support in watcher12:17
jgilaberCurrently in CI we have a job that configures two cinder volumes, one in the controller and one in the compute, both with the same backend and pool name12:17
jgilaberwe discussed whether we needed to change it to only one cinder-volume with two backends, but decided it was not needed12:18
jgilaberbtw feel free to interrupt me at any point12:18
jgilaberas a result of the discussion, we might want to rename some parameter in zone migration12:19
jgilaberthe use of pool might be a bit misleading, because terms like pool and backend and quite overloaded in cinder12:19
jgilabersrc_pool should probably be src_host since we use the volumes host parameter to compare, using the full name host@backend#pool12:20
jgilaberdst_pool is not as clear, because according to the cinder api docs, the migration host should be passed as host@backend12:20
amoralejso, we will call "host" to the full host@backend#pool ?12:20
sean-k-mooneyyep12:21
sean-k-mooneythat what its called in the cidner volume migrate api12:21
jgilaberthat is what is returned from a 'openstack volume show <volume>' as well12:21
sean-k-mooneyhost is the fully qualifed name12:21
amoralejfor me that's more a pool :) as there may be multiple pools in the same host@backend12:21
amoralejsaid that, i agree it's missleading and it's worthy to agree on something12:22
sean-k-mooneypools are optional in cinder and the volume migrate operation was orgianlly created to move volume between entirly diffent backends12:22
sean-k-mooneyi.e. form nfs ot ceph12:22
sean-k-mooneyall 3 names host, backend and pool are overloaded making this hard12:22
jgilaberyes, that is the main problem12:23
jgilaberwe already have a reported bug from the storage capacity strategy about that12:23
jgilaberassuming there is a 'pool_name' when it's not always there, it's driver dependent12:23
chandankumarwe use src_node or node to define compute node , I am not sure src_host will create confusion to users, understand compute node, Can we add src_storage_host and des_storage_host?12:24
chandankumarjust a suggestion12:24
amoralejso, we have 4 concepts, host host@backend host@backend#pool and on top of that the field volume_backend_name which is optional and irelevant for zome_migration12:25
amoralejright?12:25
jgilaberno, just  host@backend or host@backend#pool12:25
dviroelwe can get everything from host@backend#pool12:26
amoralejok, let's forget host alone12:26
dviroelbut the backend_name is relevant for zone_migration12:26
dviroelsince there are extra_spec in volume type that should be considered12:27
sean-k-mooneya you mean if hte volume reference a backend directly12:27
amoralejyes, in the form of types configuration, but not in the zone_migration parameters, i meant12:27
jgilaber+1 to that, we keep the existing examples using the full name and strip the pool name when calling cinder's migrate12:27
sean-k-mooneyyes i dont think that is the norm but we shoudl not break it12:27
sean-k-mooneywe can however parse the name filed and split it based on @ and # to get the 3 part and procees the extra spec if present12:28
amoraleji have question about that, so if we use full qualified pool name as destination, it fails?12:28
jgilaberwe do that, but in the volume migration action, not in zone migration12:28
jgilaberI tried in the cli, and it worked with both12:28
sean-k-mooneyyou should be able to pass either12:28
sean-k-mooneyhost@backend#pool or host@backend12:29
amoralejactually, in case of having multiple pools, i guess it would be good to use the #pool12:29
sean-k-mooneyyes12:29
jgilaberok, so it looks like asking the user to provide the full host name is the best option for both parameters12:31
jgilaberI'll write a spec for it and we can discuss there the exact parameter names taking into account chandankumar point earlier, which I think is valid12:32
amoraleji'd say so, unless we want to allow host@backend as destination for the case where no pools are configured12:32
jgilaberI don't think that is a problem, even in ceph or nfs cinder creates a pool anyway12:33
dviroelevery backend has a pool in the end12:33
jgilaberit just not exposed when getting the pools through api/cli12:33
dviroelsince creates one with the same name as the backend12:33
dviroels/since/since cinder12:34
amoralejthen, i'd go for the full name for both12:34
sean-k-mooneywe shoudl allow host@backend i think since that a valid cinder input12:34
sean-k-mooneythe question is should watcehr add the pool when calling cider to contol the final placmeent of the volume or pass it though directly12:34
amoralejwrt chandan point of name, note these parameters are inside a top level parameter storage_pools which makes it more clear to understand12:34
amoralejsaid that, adding some storage related term looks reasonable12:35
sean-k-mooneyyep we can add storage to the name12:35
sean-k-mooneynote we cant remove the old names12:35
sean-k-mooneyat least not entirly12:36
sean-k-mooneyadding or remving files like this shoudl invole a new api microversion12:36
sean-k-mooneyas we are chahing the api schema12:36
sean-k-mooneywe can dicuss the upgrade impact and how to minizie it in the spec btu the simiplest way is with the old microverion we sue the old name and with the new one the new name12:37
sean-k-mooneybut intenrelaly the code need to handel both inputs12:37
jgilaberyes I'll need to look into this sean-k-mooney that can be a bit complicated12:38
amoralejstrategies are managed are plugins, should they be part of the main watcher api microversion?12:38
amoralejs/are plugins/as plugins/12:38
jgilaberthe parameters are part of the audit objects right?12:39
jgilaberare they stored in the db?12:39
amoralejyes12:39
jgilaberthat might have an impact as well12:39
amoralejbut as a single db field12:39
amoralejin json, i think12:39
jgilaberoh so the full parameters dict?12:39
sean-k-mooneyamoralej: its somehtign we need to decie but we do need to verion there inputs12:39
amoralejthat's my understanding jgilaber 12:40
jgilaberack, that would make it easier12:40
amoraleji agree sean-k-mooney, there is other projects with similar problems? like driver parameters12:40
sean-k-mooneywell esier and harder. as we have to condier data migrationof the json on load12:40
sean-k-mooneyyes and no, nova has to a degree 12:41
sean-k-mooneyyou can add your own filter and as a result schduler hints12:41
sean-k-mooneythose are unvovesion but on the other hand the pearmter hav e ajosn schema12:42
sean-k-mooneyand we ahve an api to retirve that12:42
jgilaberhmm what happends with continuous audits in a migration? are they expected to be resumed?12:42
sean-k-mooneyso we shoudl be versioning them 12:42
sean-k-mooneyjgilaber: that why im being this up12:42
sean-k-mooneythey need to continue to work with the old defiions12:42
amoralejyep, that's the hard case12:42
jgilaberok, that can be tricky12:43
amoralejwe may use something like aliases12:43
sean-k-mooneythat why we can really only make additive changes12:43
sean-k-mooneyunless we can do a data migration on load12:43
sean-k-mooneysimilar to what we did with the scores when we change the colume form a decimal to a float12:43
jgilaberyes, I remember that, that was not so bad12:44
jgilaberbut this case looks more complicated12:44
sean-k-mooneyright os this is why im saying we shoudl not remove the old parmater just deprecate them12:44
amoralej+112:45
jgilaberbut anyway I think I have enough to get started on the spec and we can continue there12:45
sean-k-mooneyencurage the usage of the new ones and in 12+ months itme we can consider if it worth removing the old ones12:45
sean-k-mooneythe removal is the problematic part12:45
amoralejwe could not remove12:46
amoralejanyway, can be discussed later i guess12:47
dviroelwe can further discuss more in the spec12:47
jgilaberok, so final point we discussed is which migrations should Watcher support 12:47
dviroelor even on a ptg session if jgilaber  wants12:47
jgilabercurrently Watcher only supports migrations between hosts configured with the same backend name because of https://bugs.launchpad.net/watcher/+bug/212748512:47
sean-k-mooneyi think we should supprot what cinder supprots12:48
sean-k-mooneyso migration between any backend or pool12:48
jgilaberdviroel, I think we've clarified enough here, but we could cover if there is time12:48
jgilabersean-k-mooney, I agree12:48
dviroelack12:48
jgilaberright now the only limitation is the bug in https://review.opendev.org/c/openstack/watcher/+/96385712:48
dviroelagree12:49
jgilaberI have a possible fix for the bug in https://review.opendev.org/c/openstack/watcher/+/96385712:49
jgilaberwith that I think we should have full support12:49
jgilaberso please review that when time permits12:50
jgilaberand I think that is all, sorry I took most of the meeting12:50
morenodthere is no more topics on the agenda, so it is ok to focus on this12:50
morenodbut... if nothing else about that, we move to reviews12:52
jgilaberif there is nothing else I would like to cover quickly this bug I opened last week https://bugs.launchpad.net/watcher/+bug/212805612:53
jgilaberthis describe the third use case we considered for zone migration, where a retype+migration is required12:53
jgilaberI've opened two WIP patches with two possibilites12:54
sean-k-mooneyim not sure that is valid12:54
jgilaber1. modify the retype volume migration action12:54
jgilaber2. add a new type of volume migration action12:54
sean-k-mooneymainly because i dont htink cidner allows you to both do a rety and specify a migration at the same time for a single volume12:54
jgilaberit's not at the same time, it two sequential operations12:54
jgilaberduring the retype cinder might migrate the volume12:55
sean-k-mooneyright but im not convied we shoudl supprot asign for both in the same auction plan12:55
sean-k-mooneydoing multipel operation on the same volume in one action plan feels a bit suspect12:55
jgilaberthat is a fair point, that's why I wanted to dicuss it12:56
amoralejin that case we should enforce in the parameter to set only one of dst_type or dst_pool (or whatever name)12:56
sean-k-mooneythat was what i was thinking too12:57
amoralejit may make sense to ask for two audits for that case, 1st run a retype 2nd run a migrate12:57
sean-k-mooneywe shoudl make this a 400 bad request12:57
jgilaberyep, we need more input validation for zone migration12:57
dviroeli agree that this is a more complex scenario and we should allow work with both at the same time12:58
dviroels/should/shouldn't12:58
jgilaberso, we close the bug as invalid or won't fix and we fix this when adding validation12:59
jgilaberwill we treat the missing validation as a bug fix or have a spec for that? I think this is an issue common to all strategies IIRC?12:59
sean-k-mooneythe stragies do do jsonscema validation of the parmaters13:00
sean-k-mooneybtu the current scema is very lax13:00
amoralejyes, we do schema validation, depends on each strategy to be more strict or less13:00
sean-k-mooneyso yes its a problem for all the stratgies and we likely need to fix it for all fo them13:00
jgilaberbut will jsonschema validation be enough for cases like this?13:01
amoralejalso there is the question of validating not only schema, but values, what if we use a src_host which does ot exist?13:01
jgilaberexactly, we probably need some early checks in code13:01
sean-k-mooneywe can do this via a combinaiton of schema and non schema checks13:02
amoraleji think strategies have a method for validation, not sure if it's called in the api13:02
sean-k-mooneywe have exampels of both13:02
sean-k-mooneyin some cases we can express this in the schema via one_of13:02
sean-k-mooneyor other constucto but i can be simpelr to just do it in python13:02
sean-k-mooneyits better to do basic syntacitc validation in the schema and semantic validation in the python code13:03
jgilaberok, I'll look for existing examples then13:03
dviroelright, values can be valid or not depending when the audit runs13:04
* dviroel time check13:05
jgilaberack I'll update the bug with the focus on input validation, thanks all for the discussion!13:06
morenodno more topics, so I think we can close the meeting here13:06
dviroel+113:07
morenodwe already have a volunteer for next meeting, thanks dviroel13:07
morenod#endmeeting13:07
opendevmeetMeeting ended Thu Oct 23 13:07:40 2025 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)13:07
opendevmeetMinutes:        https://meetings.opendev.org/meetings/watcher_irc_weekly_meeting___october_23__2025/2025/watcher_irc_weekly_meeting___october_23__2025.2025-10-23-12.00.html13:07
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/watcher_irc_weekly_meeting___october_23__2025/2025/watcher_irc_weekly_meeting___october_23__2025.2025-10-23-12.00.txt13:07
opendevmeetLog:            https://meetings.opendev.org/meetings/watcher_irc_weekly_meeting___october_23__2025/2025/watcher_irc_weekly_meeting___october_23__2025.2025-10-23-12.00.log.html13:07
amoralejthanks for chairing morenod !13:08
opendevreviewTakashi Kajinami proposed openstack/watcher master: Use config validation for prometheus options  https://review.opendev.org/c/openstack/watcher/+/94181213:49
opendevreviewAlfredo Moralejo proposed openstack/watcher master: Add second instance of watcher-decision-engine in the compute node  https://review.opendev.org/c/openstack/watcher/+/96454613:55
opendevreviewMerged openstack/watcher master: Remove dead NovaHelper methods  https://review.opendev.org/c/openstack/watcher/+/96324914:45
opendevreviewMerged openstack/watcher master: Use config validation for prometheus options  https://review.opendev.org/c/openstack/watcher/+/94181216:40
opendevreviewJoan Gilabert proposed openstack/watcher master: Add tests for get_dst_pool_and_type method  https://review.opendev.org/c/openstack/watcher/+/96471717:21
opendevreviewJoan Gilabert proposed openstack/watcher master: Fix zone migration dest pool and type selection  https://review.opendev.org/c/openstack/watcher/+/96471817:21
opendevreviewDouglas Viroel proposed openstack/watcher master: Replace some eventlet usage from the code  https://review.opendev.org/c/openstack/watcher/+/96472719:43
opendevreviewMerged openstack/watcher master: Do not install openstackclient from git repo  https://review.opendev.org/c/openstack/watcher/+/94534723:52
opendevreviewMerged openstack/watcher master: Migrate bandit options to pyproject.toml  https://review.opendev.org/c/openstack/watcher/+/96283023:52
opendevreviewMerged openstack/watcher master: Add ThreadPool statistics debug log  https://review.opendev.org/c/openstack/watcher/+/96088123:52

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