Tuesday, 2025-11-25

opendevreviewchandan kumar proposed openstack/watcher-tempest-plugin master: Refactor: Extract common test utilities into shared base class  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/96752206:36
opendevreviewchandan kumar proposed openstack/watcher-tempest-plugin master: Improved continuous audit api test coverage  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/95600406:55
opendevreviewchandan kumar proposed openstack/watcher-tempest-plugin master: Refactor: Extract common test utilities into shared base class  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/96752207:10
opendevreviewchandan kumar proposed openstack/watcher-tempest-plugin master: Improved continuous audit api test coverage  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/95600407:12
opendevreviewDavid proposed openstack/watcher master: [DNM] Testing nodeset with three nodes (two computes + 1 controller)  https://review.opendev.org/c/openstack/watcher/+/96733110:31
opendevreviewDavid proposed openstack/watcher master: [DNM] Testing nodeset with three nodes (two computes + 1 controller)  https://review.opendev.org/c/openstack/watcher/+/96733110:32
opendevreviewDavid proposed openstack/watcher master: [DNM] Testing nodeset with three nodes (two computes + 1 controller)  https://review.opendev.org/c/openstack/watcher/+/96733110:33
opendevreviewDavid proposed openstack/watcher master: [DNM] Testing nodeset with three nodes (two computes + 1 controller)  https://review.opendev.org/c/openstack/watcher/+/96733110:35
opendevreviewchandan kumar proposed openstack/watcher-tempest-plugin master: Refactor: Extract common test utilities into shared base class  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/96752210:40
opendevreviewchandan kumar proposed openstack/watcher-tempest-plugin master: Add Continuous audit dummy strategy scenario test  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/95547211:33
opendevreviewchandan kumar proposed openstack/watcher-tempest-plugin master: Improved continuous audit api test coverage  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/95600411:34
opendevreviewchandan kumar proposed openstack/watcher-tempest-plugin master: Add Continuous audit dummy strategy scenario test  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/95547211:43
dviroelsean-k-mooney: jgilaber: hi o/ - please revisit https://review.opendev.org/c/openstack/watcher/+/966226 once yo guys have some time, I solved the pending comment from jgilaber, let me known if we can proceed with it11:47
amoralejsean-k-mooney, dviroel jgilaber I'd like to discuss about https://review.opendev.org/c/openstack/watcher/+/967693 as I got contradictory feedback about adding the parameters for timeout in the method. While sean-k-mooney asked me explicitely to remove the parameter until we implement adding timeout parameter to the strategies/audits, the rest seems to be expeting to have parameters in the method for both timeout and 11:57
amoralejpolling interval11:57
amoralejthe second open question is about the config sections where to put the parameters. I used watcher_applier as I found it more aligned with most of the config options which are per service, we could also introduce new per-action sections11:59
sean-k-mooneyso i generally consider dead code to be a potential security issue. if we dont plan ot use it in teh short term i dont like adding supprot for future use likt that12:01
sean-k-mooneyin this case it shoudl be safe12:01
sean-k-mooneybut it a general anti patthern that i alwasy review for12:01
amoralejadding support to use it will not be backported, anyway12:02
jgilaberI suggested to add the parameters to the helper code and pass them from the action code (where for now we would read from the config)12:02
sean-k-mooneyso if we were followign normal convetion the watcher.conf woudl not have watcher for any config section12:02
jgilaberin the future we would add the same to the action and propagate them from the audit parameter if set12:02
sean-k-mooneyjgilaber: that an option i guess12:03
sean-k-mooneyat least it woudl be used and the logic of which vaule to sue could be encaploatied hierh up12:03
amoralejat some point, we may have multiple actions using the migration helper function. Managing the defaults from config in the action may require duplicated defaults12:03
sean-k-mooneyhowever the descion enging cant be assumed to have access to these config options12:03
sean-k-mooneyso in either cae the value woudl be read form the config in the applier12:03
jgilaber+1, the strategy would only have access to the audit parameters (so no access in the current patch, only in a future one)12:04
sean-k-mooneyso im not sold on addign this as an audit parmater yet12:04
sean-k-mooneyit a possiblity but that corssing admin domain to a degree12:04
sean-k-mooneyim not -1 on that idea eihter12:05
sean-k-mooneyits just not somethign that is obviously the correct thing to  do12:05
sean-k-mooneytimeouts are not somethign nova allows ot be set at the api for exampel nor does cinder12:05
sean-k-mooneyso i am not convice watcher shoudl either12:05
dviroelI think that we can forget about  timeouts in audits for now12:06
sean-k-mooneymy currernt view is this cycle we woudl have config only and we woudl reasses in a release or two if it really needs to eb in the audit parmaters or not12:06
amoralejso, if no actions no need to propagate as an action parameter12:06
dviroeli was raising that we should keep the helper interface, accepting the timeouts as parameters12:06
sean-k-mooneydviroel: right so i didnt eant to do that unless its used12:07
sean-k-mooneydviroel: if we move the reading of the config value out of the function and make timeout a required postional argument tehn that ok12:08
dviroeli prefer that way12:08
dviroelbecause is something that we plan to backport12:08
sean-k-mooneyi dont want a partmer in the funciton signature that is not sue because when i read the code that imples that there is a way to configure it to a diffent value12:08
sean-k-mooneywhich is hwy the existign code was consuing when we dicsoverd it was never passed12:08
amoralejso, you problem with backporting is to break backwards compatibility?12:09
dviroelwe could have any other custom action plugin out there, that is using this helper12:09
amoralejbecause in any case it was requested to change the name from retry (which was missleading) to timeout12:09
sean-k-mooneyhum your talking about out of tree plugins12:09
dviroelyes12:10
amoralejit's unlikely I'd say, but it's possible12:10
sean-k-mooneythats a diffent angel. im trying to decied if this is part of our public contract and i really want to say no12:10
sean-k-mooneybut i can see your point12:10
dviroelyeah, the point is if we can avoid that, why not maintain?12:10
amoralejtechnically, actions are plugable drivers and parameters are part of the contract, yes12:10
sean-k-mooneybecause the exissting names are inaccurate and this is creating techial debt as a result12:11
sean-k-mooneyi.e. i would want to rename it form retry to timeout to refect it actull usage and sematic change12:11
amoralejdviroel, so https://review.opendev.org/c/openstack/watcher/+/967693/5/watcher/common/nova_helper.py is what you meant, right?12:11
sean-k-mooneydviroel: if we were to keep compaitblity12:12
sean-k-mooneyisntead of a new timeout parmter we woudl add a retries config option12:12
sean-k-mooneyso interval and retry not timeout and interval12:12
sean-k-mooneyif we do that change 12:12
sean-k-mooneythen i think we can keep the current signiture with retry12:12
amoralejI can also do that, I feel configuring timeouts is more clear that retries, but can be done12:13
sean-k-mooneywell we do both in diffent places in openstack 12:13
amoralejshould the polling interval also exposed in the method signature?, I'd say not if we are only doing this for compatibility12:14
dviroelyeah, i forgot about that today is a  'retry', i was just thinking on the timeout..12:14
sean-k-mooneywe tend to use retry + interval more when the interval is configurable12:14
sean-k-mooneyand tend to just use tiemout if its not12:14
sean-k-mooneydviroel: jgilaber  any opion on that?12:15
sean-k-mooneyamoralej: by the way why are you not update resize_instance? https://review.opendev.org/c/openstack/watcher/+/967693/7/watcher/common/nova_helper.py#24012:16
amoralejI took that as a different issue12:17
amoralejsimply for scope12:17
sean-k-mooneycold migrate in nova is implented in terms fo a resize to tehe same flavor12:17
sean-k-mooneyso eihter we shoudl include that or you shodul not be modifying watcher_non_live_migrate_instance12:17
amoralejI'd say resize it's not used ?12:18
sean-k-mooneywe shoudl verify that and deleted it if so but that can be a diffent commit12:18
amoralejso, for me the scope of the bug is the Migrate Action12:18
amoralejwhich calls both12:18
sean-k-mooneythe socpe of the bug was orginaly just live migrate12:19
amoralejthat's why i updated live and non-live but not resize12:19
sean-k-mooneywhich is why i was wondering why you expaned it to cold migrate but not reize12:19
sean-k-mooneybut ok 12:19
amoralejI can do whatever you asked me tbh12:19
dviroelin the helper we can  1) move to retry + interval OR 2) add timeout and interval, keep the retry parameter (for backward compatibility) and translate it to a timeout inside the code?12:20
sean-k-mooneywe do have a resize action for what its worth https://github.com/openstack/watcher/blob/8a884e3d5166678b85eaf264e518ef24b30085e5/watcher/applier/actions/resize.py#L2712:20
dviroelmaybe 1) is easierin the end12:20
jgilaberabout the retry, we could keep the parameter without exposing it in the config, just exposing timeout and interval if we feel that is clearer for the user12:20
amoralejyes, i meant we don't use the resize action, iirc12:20
jgilaberif we read the config options in the action we could calculate the retry and pass the value to the helper method12:20
amoralejso, a requirement is to keep the retry parameter in the method12:21
amoralejfor backwards compatibility12:21
amoralejwe are mixing different questions. Let me try to summarize, please:12:22
amoralej1. Want to maintain backwards compatibility in the method.12:23
amoralej2. We can manage reading the new config options in the actions or in the helper method. Here I'm in favor of doing in the helper so that it applies to any action using it, unless we want to have different per-action defaults in config12:24
amoralejnote that ^ it's not incompatible with setting timeout from the action in future via retry + interval parameters in the method12:25
sean-k-mooneyya we can do an or12:25
amoralej3. we want to expose also the polling_interval in the method?12:26
sean-k-mooneyretry = retry or conf...12:26
* dviroel let us know when you finish your summary :) 12:26
amoralej4. which section is better based on decissions in ^ ?12:26
amoralej5. timeouts on resize? for me that's a different patch12:26
amoralejthat was it :)12:26
sean-k-mooneyso resize is useable via the actator stragey so it cant be assuemd to be unsued but we can adress it seperatly12:27
sean-k-mooneywith the constraits you have list i would suggest keepign retry and adding interval as a new kwarg defaulting both to NONE12:28
jgilaberon number 2 my thoughts were the opposite, I would prefer separate action logic from the helper methods and read the config options from the action12:28
amoralejwrt retry or conf? yes, retry parameter will override conf12:28
sean-k-mooneythen in the helper do retry = retry or CONF.whatever12:28
amoralejthat's what i did with timeout in https://review.opendev.org/c/openstack/watcher/+/967693/5/watcher/common/nova_helper.py12:28
amoralejthink in something similar but with retry and polling12:29
sean-k-mooneyjgilaber: im ok with either but i woudl perfer the config to be used as the default not a hard code 12012:29
jgilaberthat's a fair point yes12:29
dviroel2. Both ways works, it is about preference here I think. If you you want to provide defaults for the Helper, you should accept a configuration via kwargs (as we discussed above and in point 1.) 12:30
amoralejI assume jgilaber option would be to have something like action_migrate.migrate_retry = X in the cfg12:30
amoralejand pass it to the helper retry12:30
jgilaberwe should have the config default as the default so it kind of makes my point moot12:30
dviroel4. If the default is used in the common helper, I don't think that the config option should live in the Applier in that case12:31
dviroelwe could have an 'integrations' session to add config options to these integrations12:32
dviroelidea^12:32
amoralejhttps://docs.openstack.org/watcher/latest/configuration/watcher.html those are the existing sections12:33
sean-k-mooneywe could just put it in the default section12:33
sean-k-mooney or nova_client12:33
amoraleji was thinking about nova_client too12:33
amoralejalthoug the existing options are very tied to the nova client options, i'm not sure12:34
sean-k-mooneyso my concern with that is that section shoud go away eventually when we adopt hte openstack client12:34
amoralejright12:34
sean-k-mooneyi have been holding my nose a bit with our configs because ther eare many antipatterns that i woudl liek to fix12:34
amoralejwhat if we create a new nova_helper ?12:34
sean-k-mooneybut i has never felt woth the effort12:35
sean-k-mooneyif we add a new section i shoudl jsut be [nova]12:35
amoralejwhat was the right why to namespace configs, you mentioned . was not correct, right?12:35
sean-k-mooneythat part of it your not ment ot use . in the config path12:36
amoralej[nova] wfm and nova.migration_retry nova.migration_polling_interval12:36
sean-k-mooneythat yep that what htey woudl be in this case12:36
sean-k-mooneyservice are not ment ot use the name of there service in there own config file12:36
dviroel+1, it should work for future work12:36
jgilaberif we put the options under some nova related section it makes more sense to read them in the helper12:36
sean-k-mooneyso wather_applier shoudl just be [applier]12:37
amoralejjgilaber, yep, that's why i said, if we want to do it in the actions, we should add it to a different sections [actions] or similar12:37
sean-k-mooneywhen we refger to other services config section we default to eh service name i.e. [nova] [placement]  ectra so the _client sufix is odd12:37
amoralejI understand the existing nova_client was because it was strictly created for the client initialization12:38
sean-k-mooneycorrect12:38
amoralejso, we should not add anything there12:38
amoralejanything else, i mean12:38
sean-k-mooneywatcher also does not do htat in the standard way by useing keyston_auth with the ablity to over ried endpoint/urls per service12:39
sean-k-mooneywatcher cant talk to a nova and placment that dont share a common ca for example12:40
amoralejso, back to the summary: about [1] I think we agree in keeping compatibility12:41
amoralejabout [2] Is there agreement on doing the config options in the helper but overriding the retry and polling_interval with method parameters?12:41
amoralejand using [nova] as section12:42
sean-k-mooney+1 alhtough lets just call it interval instead of pooling_interval12:42
jgilaberI'm +1 to those 2 points12:42
amoralejack12:42
sean-k-mooneyi would perfer migrate_interval for the config option name also12:43
amoralejyes12:43
amoralejI'll remove polling from both12:43
sean-k-mooneypolling is not commonly used in config files as a name12:43
sean-k-mooneyack12:43
sean-k-mooneyif we are standardizing 12:44
amoralejjgilaber, dviroel, about [3] and [4], exposing the interval and using [nova] is fine?12:44
sean-k-mooneydo we want to align to thet data sources 12:44
sean-k-mooneyhttps://docs.openstack.org/watcher/latest/configuration/watcher.html#watcher_datasources.query_max_retries12:44
sean-k-mooneyhttps://docs.openstack.org/watcher/latest/configuration/watcher.html#watcher_datasources.query_interval12:44
sean-k-mooneyso migration_max_retries and migration_interval12:44
amoralejso max_retries instead of retry? note that the parameter will keep as retry12:44
sean-k-mooneyyep and yep12:45
amoralejbut it's not a problem12:45
dviroelamoralej: yes  for [3] and [4]12:45
jgilaberexposing both as optional arguments while having the nova.* config opts as default wfm12:45
amoralejack, thanks for your time! I will implement that12:46
sean-k-mooneycool i think we shoudl all be in alingment now so the next revision will likely be fine to proceed with.12:47
sean-k-mooneywe shoudl loop back to resize after but we can do htat in a seperate bug/followup12:48
dviroel+112:48
sean-k-mooneyas we mentioned before we likely need to examping all action and effectivly do the same12:48
sean-k-mooneyat least assses if they are pooling ofr an async action and ensure that is configurable with standard parmater and config nameing scheme12:48
sean-k-mooneys/standard/consitent/12:49
sean-k-mooneyso for volume migration we can add migrate_max_retires and migrate_interval in the cinder section12:49
amoralejyes, I will take care of the resize too and will try to it similarly12:49
sean-k-mooneyfor what its worth i think resize can use the saem migration_* config options for now12:50
sean-k-mooneyon the nova side12:50
amoralejfor cinder, my problem is about what can be a good default12:50
amoralejas data migration can take very long times12:50
amoralejand that's expected12:50
sean-k-mooneyamoralej: ya i dont know the answer there but problym start with a simlear default and we can alwasy increase it12:51
sean-k-mooneyi have not looked to see if we have one hardcoded today12:51
amoralejneither me12:51
sean-k-mooneyhttps://github.com/openstack/watcher/blob/master/watcher/common/cinder_helper.py#L15112:52
sean-k-mooneyso we do 12:52
sean-k-mooneywe lep for 10 seconds12:52
sean-k-mooneyup to 10 times12:53
sean-k-mooneyso 100s total12:53
sean-k-mooneyoh no12:53
sean-k-mooneywe sleep for 10 second indefintalty until it enters error ro success12:53
sean-k-mooneythere is not retry limit today12:53
sean-k-mooneyso we will need to choose a sane limit later. we could start with just making the interval configurable12:55
sean-k-mooneylet leave that till later to decide12:55
chandankumardviroel: hello, please add it to review list. https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/967522: Refactor: Extract common test utilities into shared base class, thank you!14:10
chandankumardviroel: sean-k-mooney: https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/956004/ also (not super urgent),thank you!14:11
opendevreviewMerged openstack/watcher-tempest-plugin master: Refactor: Extract common test utilities into shared base class  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/96752218:02
*** haleyb is now known as haleyb|out22:51

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