Thursday, 2025-05-22

opendevreviewDavid proposed openstack/watcher-tempest-plugin master: Add metrics for RAM to gnocchi and prometheus injected data  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/94977309:17
opendevreviewchandan kumar proposed openstack/watcher-tempest-plugin master: Use get_host_for_server and get_host_other_than to get src/dst node  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/94955709:57
opendevreviewchandan kumar proposed openstack/watcher-tempest-plugin master: Use get_host_for_server and get_host_other_than to get src/dst node  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/94955710:23
opendevreviewDavid proposed openstack/watcher-tempest-plugin master: Add metrics for RAM to gnocchi and prometheus injected data  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/94977310:27
opendevreviewDavid proposed openstack/watcher-tempest-plugin master: Add tests for workload_balance with injected data  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/94972210:27
opendevreviewDavid proposed openstack/watcher-tempest-plugin master: Add tests for workload balance with real data  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/95033511:53
chandankumar#startmeeting watcher12:01
opendevmeetMeeting started Thu May 22 12:01:03 2025 UTC and is due to finish in 60 minutes.  The chair is chandankumar. Information about MeetBot at http://wiki.debian.org/MeetBot.12:01
opendevmeetUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.12:01
opendevmeetThe meeting name has been set to 'watcher'12:01
chandankumaro/12:01
chandankumarwho all are around here for watcher meeting?12:01
dviroelo/12:01
chandankumarcourtesy ping: dviroel amoralej jgilaber_ 12:01
*** jgilaber_ is now known as jgilaber12:01
jgilabero/12:02
morenodo/12:02
rlandyo/12:02
chandankumarlet me start with the first topic12:03
amoralejo/12:03
chandankumar#topic Eventlet removal12:03
sean-k-mooneyo/12:03
mtemboo/12:03
chandankumardviroel: sent a call for MAAS maintainers 12:04
dviroelright12:04
chandankumar#link https://lists.openstack.org/archives/list/openstack-discuss@lists.openstack.org/thread/SCKFJ4X6I7OSENXEYNCSJBKV55EP43MC/12:04
dviroelas an action from last meeting, I sent this email to the ML12:04
dviroelto call for maintainers for MAAS support12:04
rlandywhat if no response is received?12:04
chandankumarthank you dviroel !12:05
dviroelthis is one the things that will be affected by eventlet removal and one of the features that have no testing and docs12:05
dviroeli mentioned that we also plan to mark features as experimental, if they lack support/testings/doc12:05
sean-k-mooneyrlandy: we will mark it expermintal this cycle12:06
sean-k-mooneynext cycle we will likely deprecate12:06
sean-k-mooneyand remove in a future reelase12:06
dviroelright12:06
dviroelonce we propose a patch for that, the plan is to send an email again,  to announce it12:07
sean-k-mooneythe ironic integration is in a similar state but i think we have more of a chace of adressing the gaps12:07
rlandyok12:07
sean-k-mooneybecause if noting else we can ask the ironic tema for help12:08
chandankumarwe can wait for 2 week for response? then propose the patch12:08
sean-k-mooneywe shoudl mark that as experimental this cycle too but follow up with them when we have time12:08
sean-k-mooneyno we can propsoe the patch to make it experimental now12:08
sean-k-mooneyand even merge it 12:08
sean-k-mooneyto remove that label i would liek to see ci in place and docs12:08
sean-k-mooneyso they can remove the experimental marker when they adress the gaps if someone shows up12:09
dviroelright, but we should do the same for all that lack testing and docs too12:09
sean-k-mooneyyes12:09
chandankumarsounds like a plan!12:09
sean-k-mooneythats why i raised ironic12:09
dviroelthat's why it deserves another mail to ML when we do that12:10
sean-k-mooneyyep12:10
dviroelok12:10
sean-k-mooneywe shoudl annouch each one we want to mark as experimetnal and or deprecated for visablity12:10
chandankumarlet me add a action item for marking maas and ironic as a experimental and communicate the same on email12:10
chandankumarAnyone one wants to take this action item?12:10
dviroelI can take it 12:11
chandankumar#action dviroel to propose patch for marking MAAS and Ironic support experimental in watcher and communicate the same to the Mailing list12:11
chandankumarthank you dviroel !12:12
dviroelnp12:12
chandankumarthere are two open reviews related to eventlet removal12:12
dviroelyep, small ones12:12
chandankumar1. https://review.opendev.org/c/openstack/watcher/+/949641: Move eventlet command scripts to a different dir12:12
dviroelbut a start 12:12
chandankumar2. https://review.opendev.org/c/openstack/watcher/+/949658: Remove deprecated executor in message handling servers12:12
chandankumarplease review it in your free cycles,12:13
chandankumarthank you dviroel once again for bringing it up!12:13
dviroelI also started working on changes related to the BackgroundSchedulerService and Service class, but I will bring more details in the next meetings12:13
chandankumargreat!12:14
chandankumardviroel: annything else to add on this topic?12:14
dviroelyep, that's all that I 12:14
chandankumarthank you!12:14
chandankumarmoving to next topic12:14
dviroeltks12:15
chandankumar#topic Parameters for volume migration in zone migration strategy12:15
chandankumarjgilaber: has proposed this topic and summarized the current state of input parameters for volume migration in the zone migration strategy in this etherpad https://etherpad.opendev.org/p/zone_migration_volume_migration_parameters12:15
chandankumarjgilaber: want to introduce it?12:15
jgilaberyes thanks chandankumar 12:15
jgilaberI have a patch for making the dst_pool parameter mandatory in zone migration12:16
jgilaberbut as amoralej pointed out, the UX is not great12:16
chandankumar#link https://etherpad.opendev.org/p/zone_migration_volume_migration_parameters12:16
jgilaberthere are scenarios where that parameter would not be used at all12:16
jgilaberso I wrote in that etherpad the current volume migration scenarios that the strategy supports 12:17
jgilaberso we can decide on the parameters that we want to keep, and which we want to mark as required12:17
jgilaberfeel free to add comments to the etherpad12:18
chandankumar#link https://review.opendev.org/c/openstack/watcher/+/950149: Handle missing dst_pool parameter in zone_migration12:18
amoralejMy suggestion would be to rethink which use cases we want to support and which parameter we need to each one based on that12:18
amoralejand we may involve some cinder expert to make sure the implementation is correct, as there are some implementation details which are unclear12:19
amoralejby use cases i mean: migrate to a new pool, retype in the same pool, or migrate via retype, and also which are the affected volumes, those in the src_pool AND src_type ?12:20
sean-k-mooneywell thsoe 3 are a oneof choice12:21
sean-k-mooneyi think its valid to supprot all of the abvoe12:21
amoraleji agree, i think those are valid ones12:21
dviroelright, but the way that parameters are set to mandatory, don't look correct12:22
amoralejbut then we need to define interaction between dst_type and dst_pool12:22
sean-k-mooneydviroel: well it may be12:22
dviroelif you want to retype, you need to set a dst_pool, which is not used by retype12:22
sean-k-mooneyim nto sure hwo its expsed in the cinder api12:22
amoralejnot really12:22
amoralejonly dst_type12:22
sean-k-mooneybut in nova retyp and codle migrate are implemtned underneate as teh same code12:23
amoralejactually, retype does not specify destination pool, only type12:23
sean-k-mooneycold migrate is just a resize to the same flavor12:23
amoralejbut if the dst_type is not assigned to the src_pool it will do also the migration under the hood12:23
sean-k-mooneyamoralej: right which is likely why this was optional in the first palce12:23
amoralejyes, that's my guess too12:24
sean-k-mooneyso what we need to do is map out each of the possibel api actions we could call12:24
sean-k-mooneythen map out the vaild import parmater that satify the api consstratits12:24
sean-k-mooneyand then see who to evolve the scema to match12:24
sean-k-mooneyfor example if you are not retyping then we may requrie teh pools but make them optional or forbdi them if you are12:25
amoralejand also, we may want to revise management attached and dettached in the strategy. According to doc we may do migrate or retype for attached unless volumes are multi-attached12:25
sean-k-mooneywe will have to decied how much to encode in the schema and how much to do in the validate fucntion in the api12:25
amoralej^ this is where it'd be good to get cinder team input12:25
sean-k-mooneyright multi atatch volume cant be mvoed while they have mroe the one attachment12:26
sean-k-mooneyso we shoudl filter those out12:26
dviroelright, one important thing to check is the multi-attach too12:26
sean-k-mooneyhonestly fixing the cidner part almost feesl like ti should have a spec12:27
sean-k-mooneyon one hand it might be small and easy12:27
amoralejaccording to the doc, that seems the main limitation to retype/migrate attached volumes. If we filter out those, we probably can unify how we manage attached/dettached12:27
sean-k-mooneybtu its oen of those things where you reallly need to write it down to reason about it12:27
amoralejand document clearly12:27
sean-k-mooneyshoudl we start a etherpad to try and help with discussion12:27
jgilaberyes, I think a spec might be needed here, I doubt it will be a simple change12:28
amoralejwe can use the one that @jgilaber created12:28
sean-k-mooneyone other thing to consdier12:28
sean-k-mooneyif your using ceph 12:28
sean-k-mooneythere are no pools12:28
amoralejI'd put a section describing current status and one with the desired behavior12:28
sean-k-mooneybut you shoudl be able to migrate between ceph clusters 12:28
sean-k-mooneycurrent and desireed state is defintly somethign we shoudl capture12:29
amoralejiiuc migrate call can also migrete from cluster to cluster ?12:30
jgilaberthere is a cluster option in the api call https://docs.openstack.org/api-ref/block-storage/v3/index.html?expanded=detach-volume-from-server-detail#migrate-a-volume12:30
dviroeltbh, this doesn't need to be pools, can be backends, so pool might not be the correct name there too12:30
jgilaberI guess that's meant to be used with ceph?12:30
sean-k-mooneyits not clear12:31
sean-k-mooneycinder shoudl have some other admin/user facign docs for this12:32
amoralejiiuc in migrate call, when using host, host can be backend or backend#pool12:32
sean-k-mooneywe can review that but we shoudl also dicuss this mroe with the cinder team12:32
amoralej+112:32
dviroel++12:32
chandankumar+112:32
jgilabersounds good, short term, what are your thoughts on https://review.opendev.org/c/openstack/watcher/+/950149? should I abandon it, or change the behaviour so that if dst_pool is not passed migration is skipped12:33
chandankumarLet me add a action item here to add section describing current state and desired behavior on the etherpad https://etherpad.opendev.org/p/zone_migration_volume_migration_parameters and continue the discussion there12:33
jgilaberto avoid the error described in the associated bug12:33
sean-k-mooneyi think instead of tightenign the schema12:34
sean-k-mooneywe will end up makeign ti a little looser adn do a more contextural check in python12:35
amoralejI don't like making it mandatory tbh12:35
sean-k-mooneywll that what i ment by looser12:35
dviroeland improve the documentation :) 12:35
sean-k-mooneywe will likely remove the mandaory requirement form other filed as weell and docuemtn the combinations that work adn also add a check outside the scema in the python code to enfoce teh workign combidnations12:36
sean-k-mooneyi think encoding the logic in jsonschema is going to be overly complex12:36
amoralejthere will be no way, i'd say12:36
sean-k-mooneywe have 5+ paralle axis 12:37
jgilaberI don't see a simple way, no12:37
amoralejnote that the behavior also depends on how types/pools/backends are configures12:37
sean-k-mooneythere are 3 diffent storage operations + vm operations and orderign considertaons 12:37
amoralejso implementing a use case may involve also configure a type in a certain way12:37
sean-k-mooneyyep12:38
sean-k-mooneysince we acknowlage this is a gap i think we shoudl move on for now12:38
jgilaber+112:38
amoralejshort term, something that may fix is to add a check for dst_pool before calling _volume_migrate12:39
amoralejif it's not defined, just ignore that volume12:39
amoralejwe may save some errors, but still the implementation needs to be revised in deep12:39
amoralejbut yeah, we can move on12:40
sean-k-mooneywe coudl but that geenally would not be correct api behavior12:40
sean-k-mooneyif the inputs do not meet the preqistis for the rested orpetaon we shoudl return a 40012:40
sean-k-mooneyand not attempt to do the operation12:41
chandankumarI think we have got some direction on the above review, we can bring this one in the next meeting?12:41
sean-k-mooneysure if there is progress on it12:41
sean-k-mooneyshall we move on to https://etherpad.opendev.org/p/openstack-watcher-irc-meeting#L5212:42
chandankumaryes let me add one action item12:42
chandankumar#action jgilaber to add section describing current state and desired behavior on the etherpad https://etherpad.opendev.org/p/zone_migration_volume_migration_parameters and continue the discussion.12:43
chandankumarthank you everyone for the great discussion 12:43
chandankumarmoving to next one12:43
chandankumar#topic Reviews12:43
chandankumar#link 1. Check logs in some cinder and nova helper tests  https://review.opendev.org/c/openstack/watcher/+/94918712:44
jgilaberthis patch adds tests to reproduce the bug https://bugs.launchpad.net/watcher/+bug/211014912:44
jgilabersome logging calls were misformated, but the unit tests were not logging them12:45
chandankumar#link 2. Fix incorrect logging format https://review.opendev.org/c/openstack/watcher/+/822559 12:45
jgilaberbecause alembic would reconfigure the logging and disable it12:45
jgilaberthe second link fixes the logging call12:45
jgilaberthe patch has been opened for a while, I've taken it over12:45
sean-k-mooneyi think the only thing i was waiting for on the second patch was for you to update that once you got the logging woring in the previous one12:46
sean-k-mooneyso ill re review that12:46
sean-k-mooneyi think directionally the patches are fine12:46
jgilaberyes, thanks sean-k-mooney 12:46
chandankumar#link 3.     Add spec for skip actions from action plan executions https://review.opendev.org/c/openstack/watcher-specs/+/94952812:46
sean-k-mooneyits form this really shade guy by the name of amoralej :) i dont know if we shoudl review12:48
chandankumareverybody please take a look at the open reviews and have feedback!12:48
sean-k-mooneyam that also on my queue12:48
amoralejyeah, so there aer a couple of questions open in that spec12:48
amoraleji'd like to get the feedback before sending a new version of it12:48
sean-k-mooneyack do you want to raise any of them now12:49
amoralejone of them is where to allow the transition12:49
amoraleji was thinking of allowing actions from PENDING->SKIPPED12:50
sean-k-mooneythat is what i avocated for on irc when we last spoke about it12:50
amoralejbut @dviroel made a good point that we should check that not only the action is pending but the parent action plan12:50
amoralejit's slightly different12:51
amoralejbut i think it covers better the intent12:51
sean-k-mooneyyes that because of how they are stored in teh db12:51
amoralejsecond one is about your proposal of implementin api call ' /v1/action_plans/{plan_id}/actions/{action id or index}'12:52
sean-k-mooneywithout going into the hsitory too much, correct me if im wrong but for some reason tehy deceid to create the actions in the db before the plan is is accpated or rejected12:52
amoralejinstead of my proposal on patching  /v1/actions/{action_id}12:52
amoralejexactly12:52
amoralejthe actions are created as soon as the action plan is created12:52
sean-k-mooneyright which is a way to do it12:53
sean-k-mooneyits not how i woudl do it if we wrote it today12:53
sean-k-mooneybut that is why we need to also check the action plan state12:53
amoralejand since then actions are a 1st level api element12:53
amoralejnot a nested one into action_plans12:53
sean-k-mooneytehy are but i am not conficed they shoudl have a writeable api at all12:54
sean-k-mooneyto me actions are intenal state12:54
sean-k-mooneywhich si why i was expect to modify the actiov via the action plan12:54
sean-k-mooneyi understand why you wanted to modify it with  /v1/actions/{action_id}12:55
amoralejwdym by internal state ?12:55
amoralejyou mean from db store point of view or from api point of view?12:56
sean-k-mooneyi mean that action are generate by the decsion engine 12:56
sean-k-mooneyuse accppat action plans or reject them today12:56
sean-k-mooneythey do not have granulartiy beyond that12:56
amoralejright12:56
sean-k-mooneyso ot me teh actions are expsoe mroe for debuging or tracablity 12:56
sean-k-mooneynot as a first class thing that user shoudl direcly manipulate12:57
chandankumartime check: 3mins left , we have one more topic left12:57
amoralejok, i think i get your point12:57
sean-k-mooneynow we coudl open them up to the user12:57
sean-k-mooneybu tsicne they cant be sued on tehre own it feels a bit wer to do that12:57
amoraleji see what do you mean now12:58
sean-k-mooneywe can do what you suggest btu to me that is a larger chnage then i intially tought12:59
amoralejbut in practical terms, i think it will be harder to implement your way12:59
amoralejwith small win, imo12:59
sean-k-mooneyso the other thing im reflecting on is im not sure we shoudl be supproting patch on any of the apis12:59
amoralejimplementing a call to  /v1/action_plans/{plan_id}/actions/{action id or index} would require to also implement new api attribute actions under the action_plan12:59
sean-k-mooneyyes13:00
sean-k-mooneyand we will need a new one for actions also13:00
sean-k-mooneyfor the patch method if we decied to supprot htat13:00
amoralejwell, we will need to add the patch method13:00
amoralejright13:00
sean-k-mooneyso im more inclide to modeel this after nova instance actions insead13:01
amoralejbut wouldn't be that much easier that adding showing the actions under action_plan + patch/post13:01
amoralej?13:01
sean-k-mooneybtu that a longer dicssion then  our -1 mins allow13:01
amoralejyeah13:01
sean-k-mooneyamoralej: eiaser yes13:01
chandankumarsean-k-mooney: amoralej I think we can take up this discussion on the spec itself?13:01
sean-k-mooneycorrect im not sure13:01
sean-k-mooneyyep13:01
chandankumaror we can do a spec review meeting in future to review the spec.13:02
amoralej+113:02
chandankumarDo we want to skip the bug triage for today?13:02
sean-k-mooneywe can carry on the converstaion in gerrit and we can chat on irc outside the meeting as weel13:02
sean-k-mooneyi think so13:03
chandankumarI will paste the bug links here, feel free to take a look13:03
amoralejwe are 3 minutes overtime, so i guess so13:03
chandankumar#link     https://bugs.launchpad.net/watcher/+bug/2110895 - Drop post/patch/delete undocumented rest api call from watcher action13:03
chandankumar#link     https://bugs.launchpad.net/watcher/+bug/2110897 - Add more docs around openstack optimize audit command in doc13:03
chandankumar#link https://bugs.launchpad.net/watcher/+bug/2107467 (workload_stabilization strategy does not show standard_deviation if it's below the audit thre13:03
chandankumar#link     https://bugs.launchpad.net/watcher/+bug/2110991  [doc] Plugin docs still refers to Voluptuous schemas13:04
chandankumargoing over last topic13:04
chandankumar#topic volunteer to chair next meeting13:04
chandankumaranyone up for that?13:04
rlandyI'll do it13:04
chandankumar#action rlandy to chair for next meeting13:04
chandankumarrlandy: thank you!13:05
chandankumartime to wrap up!13:05
dviroel++13:05
chandankumar#endmeeting13:05
opendevmeetMeeting ended Thu May 22 13:05:11 2025 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)13:05
opendevmeetMinutes:        https://meetings.opendev.org/meetings/watcher/2025/watcher.2025-05-22-12.01.html13:05
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/watcher/2025/watcher.2025-05-22-12.01.txt13:05
opendevmeetLog:            https://meetings.opendev.org/meetings/watcher/2025/watcher.2025-05-22-12.01.log.html13:05
dviroeltks chandankumar++13:05
amoralejThanks chandankumar++13:05
chandankumarsorry for the long meeting.13:05
mtemboThanks Chandankumar++13:05
jgilaberthanks chandankumar you can blame me for the meeting duration :)13:05
amoralejsean-k-mooney, wrt using patch calls, another thing i considered for my proposal was consistency with the existing implementation, i understand we may improve thing, but maybe it should be a different initiative to maintain consistency in the api13:06
amoralejno blame at all when discussions are useful :)13:07
chandankumar:-)13:08
sean-k-mooneyamoralej: ya so when i started looking at the tech debit i was wondering if we shoud lremvoe all the current patch urls13:18
sean-k-mooneyit will be a new api microversion either way13:18
sean-k-mooneythe discussion we are having is really about the scope13:19
amoralejyes i guess that should be a separate spec 13:19
sean-k-mooneythe mroe i looke at the watchre api the less sound it looks to me13:19
amoralejthe main problem of patch is the requirement to do proper validation?13:19
sean-k-mooneynot just that. historically it was not doabel in a broser alsthough you can do that now13:20
sean-k-mooneyyou jsut cant do it without doing a ajax request 13:20
amoralejgot it13:21
sean-k-mooneymeaning to use it in the hroizon plugin we ned to do a post to a new api provided by the plugin which will on the servier side do a patch13:21
sean-k-mooneythat woudl be requried anyway for secuirty reasons13:21
amoralejfor me is a matter of priorities and order13:21
sean-k-mooneybut my inclination is if we allow patch13:22
sean-k-mooneywe woudl only allow it for 1 field13:22
amoralejsure13:22
sean-k-mooneyand we woudl only allwo a subset of tansations13:22
amoraleji think i wrote that in the spec, otherwise it's my fault13:22
sean-k-mooneyi.e. once its skiped you cant unskip13:22
sean-k-mooneyamoralej: you may hae i have not looked at the spec in enough detail13:23
amoralejmy proposal would be to do this as a patch, and then consider to move all the patch to post consistently13:23
amoralejand a spec for it13:23
amoraleji have no idea how to manage upgrade13:24
amoralejwe'd need to keep supporting both with microversions, i guess, for some time13:24
sean-k-mooneyamoralej: we dont tend to remove apis at least not for a few years13:27
sean-k-mooneythe patch urls woudl work with the older microversion 13:27
sean-k-mooneyit sjust that in the new microversoin we woudl ahve somethign to replace them13:27
sean-k-mooneyto me having peopel directly update teh state of an action while restful13:28
sean-k-mooneyis leaking too much internal state to the end user13:28
sean-k-mooneyi also thing put woudl be better then patch13:30
sean-k-mooneyi really dont think that allowign an end use to pass data that we then execute  is correct13:30
amoralejwdym with "pass data that we then execute" ?13:32
amoralejuser would be only sending the state13:32
sean-k-mooneythe patch interface recieve a "jason patch" defintion 13:33
sean-k-mooneywhich si a docuemtn edxpre hwo to ttransfrom the resocue using  add/remove/copy/replece and other operations13:33
sean-k-mooneyso its data that we execute without our process 13:34
amoralejah13:34
amoralejgot it13:34
sean-k-mooneyif there is a bug in the execution engine it coudl be a securety issue13:34
amoralejyou mean arbitrary data in the json that we have to transform13:34
amoralejgot it13:34
amoralejthat's right13:34
sean-k-mooneyim kind of thinkign about sql injection and other fun things13:35
sean-k-mooneyif we were to do a put13:35
sean-k-mooneywe woudl replace teh entire object with the desired state13:35
sean-k-mooneyrather then expresing the set of operations we want to apply to it to achive the desired state13:36
sean-k-mooneyso the imperitive nature of it makes me uneasy13:36
amoraleji mean, in this case, i'd say the logic to process the json is pretty simple, but it's correct that it's more exposed to issues that exposing actions13:36
sean-k-mooneywell we need to make sure we do full input validaton 13:38
sean-k-mooneyif we only allow the state to be updated13:38
sean-k-mooneyand only allow it for a strict enmu vlaue for specific transtions13:38
amoralejyep13:38
sean-k-mooneythen its workable13:38
opendevreviewAlfredo Moralejo proposed openstack/watcher master: Set actionplan state to FAILED if any action has failed  https://review.opendev.org/c/openstack/watcher/+/94922514:37
opendevreviewJoan Gilabert proposed openstack/watcher master: Add unit test zone migration with_attached_volume  https://review.opendev.org/c/openstack/watcher/+/95066415:09
opendevreviewJoan Gilabert proposed openstack/watcher master: Support zone migration strategy without compute_nodes  https://review.opendev.org/c/openstack/watcher/+/95066515:09
opendevreviewDavid proposed openstack/watcher-tempest-plugin master: Add tests for workload_balance with injected data  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/94972215:56
opendevreviewAlfredo Moralejo proposed openstack/watcher master: Set actionplan state to FAILED if any action has failed  https://review.opendev.org/c/openstack/watcher/+/94922517:06
opendevreviewAlfredo Moralejo proposed openstack/watcher master: Set actionplan state to FAILED if any action has failed  https://review.opendev.org/c/openstack/watcher/+/94922517:20

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