Thursday, 2025-12-18

opendevreviewchandan kumar proposed openstack/watcher-dashboard master: [poc]Add Playwright-based E2E testing framework  https://review.opendev.org/c/openstack/watcher-dashboard/+/97035306:09
opendevreviewchandan kumar proposed openstack/watcher-dashboard master: [poc]Add Playwright-based E2E testing framework  https://review.opendev.org/c/openstack/watcher-dashboard/+/97035306:14
opendevreviewAlfredo Moralejo proposed openstack/watcher stable/2025.2: update unit tests for nova_helper module  https://review.opendev.org/c/openstack/watcher/+/97139708:39
opendevreviewAlfredo Moralejo proposed openstack/watcher stable/2025.2: Retry calls to nova API when connection errors are detected  https://review.opendev.org/c/openstack/watcher/+/97139808:39
opendevreviewchandan kumar proposed openstack/watcher-dashboard master: [poc] Add Selenium-based E2E testing framework  https://review.opendev.org/c/openstack/watcher-dashboard/+/97057309:57
opendevreviewchandan kumar proposed openstack/watcher-dashboard master: [poc]Add Playwright-based E2E testing framework  https://review.opendev.org/c/openstack/watcher-dashboard/+/97035310:01
opendevreviewchandan kumar proposed openstack/watcher-dashboard master: [poc] Add Selenium-based E2E testing framework  https://review.opendev.org/c/openstack/watcher-dashboard/+/97057310:30
dviroelhi all, watcher meeting will start in 7 min - please add your topics to https://etherpad.opendev.org/p/openstack-watcher-irc-meeting#L27 - tks11:53
opendevreviewJoan Gilabert proposed openstack/watcher master: Remove unused methods from NovaHelper  https://review.opendev.org/c/openstack/watcher/+/97121911:57
dviroel#startmeeting watcher12:01
opendevmeetMeeting started Thu Dec 18 12:01:11 2025 UTC and is due to finish in 60 minutes.  The chair is dviroel. 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
dviroelhi all o/ - who is around today?12:01
morenodo/12:01
rlandyo/12:01
chandankumaro/12:01
jgilabero/12:01
dviroelcourtesy ping: amoralej sean-k-mooney12:02
amoralejo/12:03
dviroelI think that we have a lot to cover  today, so let's start12:03
dviroel today's meeting agenda:12:03
dviroel#link https://etherpad.opendev.org/p/openstack-watcher-irc-meeting#L27 (Meeting agenda)12:03
dviroelfeel free to add your own topics to the agenda12:03
dviroel#topic Announcements12:03
dviroeljust to announce that we will skip the next 2 meetings, due to holidays and ptos12:04
dviroeldec 25th and jan 1st  meetings are cancelled12:04
dviroelthis is the last one of this year12:04
dviroeland we will meet again on Jan 8th12:05
dviroelI can send a short email to the ML just to announce that, after this meeting12:05
dviroelanyone has any other announcement?12:05
dviroelack,  lets start with 12:06
dviroel#topic unused methods in nova_helper12:06
dviroelhey jgilaber o/12:06
jgilaberhey!12:06
jgilaberI noticed while reviewing some patches that there are a few methods on nova_helper that are not used12:06
jgilaberonly in unit tests12:07
jgilaberI opened a patch to remove them, but I was wondering if we need to follow any process for removing them other than merging the patch12:07
jgilaberwe don't need to deprecate them before removal right?12:07
sean-k-mooneyo/12:08
dviroelthey could be used by other plugins around, and it is possible to mark them as deprecated before actually removing12:09
dviroelthe change that you mention is:12:10
dviroel#link https://review.opendev.org/c/openstack/watcher/+/97121912:10
sean-k-mooneyso we dont really ahve a conrtact with external plugins12:11
amoralejFor this particular case, I doubt that those are used outside as come from stuff that was removed in the past12:11
sean-k-mooneyif its not used in tree  we can remove it12:11
sean-k-mooneybut we shoudl have a release note in the upgrades section12:11
dviroeli really doubt that someone else is using that too12:11
sean-k-mooneywe could deprecate and then remvoe12:11
jgilabersean-k-mooney, thanks that's what I wanted to cofirm12:12
sean-k-mooneybut but these are all internal apis12:12
jgilaberI got the feeling that was the case12:12
jgilaberI'll add a release note to the patch12:12
amoralejgood point about the the release note12:12
jgilaberthanks all, that is what I had about this topic, I'll update the patch and we can discuss there12:13
dviroel+112:13
dviroelthanks jgilaber 12:13
dviroelnext topic12:14
dviroel#topic : Updates on playwright/selenium poc12:14
chandankumarI will take it from here12:14
dviroelchandankumar: please, tks12:14
chandankumarFrom last meeting discussion on watcher-dashboard ui testing spec proposal https://review.opendev.org/c/openstack/watcher-specs/+/97022012:14
chandankumarHere are some of the updates on both pocs12:14
chandankumarplaywright pocs| https://review.opendev.org/c/openstack/watcher-dashboard/+/970353 now uses:12:15
chandankumar- openstacksdk and os_cloud for getting username/password.12:15
chandankumar- Uses watcherclient to delete created audit/templates during test run as it is much faster then deleting stuff from UI.12:15
chandankumar All artifacts are stored in playwright directory created under project root dir: https://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_4eb/openstack/4eb6eb3471564708bc0baa709a7d120d/controller/logs/index.html12:15
chandankumar- Video and tracing will be generated with retain on failure12:15
chandankumar- In CI, we are using webkit as a default browser12:15
chandankumar- Re-wrote the whole code based on oslotest, tempest cleanup, fixtures and page object model borrowed from horizon selenium page object model(POM).12:15
chandankumar- One of the cons: Need sudo access in tox.ini to install missing deps for webkit by using playwright install-deps.12:16
chandankumar- best practices: https://playwright.dev/docs/best-practices based on nodejs ,python one does not exist12:16
chandankumarcoming on selenium poc:12:16
chandankumarit is now working in ci with Xvfb virtual display setup with firefox headless (used by horizon also for CI testing), Does not work with chrome and firefox in CI12:16
chandankumarReusing horizon firefox binary and video recorder module for selenium video recording:12:16
chandankumar- selenium is very peculiar with firefox and geckodriver version12:16
chandankumar- for video generation, we need to install ffmpeg while playwright download its own binary12:17
chandankumar- in ubuntu, snap/deb package does not work, you can see all the workaround in the code12:17
chandankumar- All artifacts are stored in selenium directory created under project root dir with screenshot and video always generated: https://be16c502bd559ea2be0a-e7edb05e06a1172316eb4206e173039e.ssl.cf5.rackcdn.com/openstack/790ef53ba62240c48a1f197e809419a4/controller/logs/selenium/index.html12:17
chandankumarPlease have a look at both poc, decide on the choice of tool, then I will solidify the work.12:17
chandankumarthank you sean-k-mooney for the feedback on both poc.12:17
dviroelchandankumar: thanks for all the hard work and time on this12:18
amoralejeverything i heard seems positive for playwright, other than it's new in openstack, seems positive, right?12:19
chandankumaryes12:19
chandankumarnodejs projects uses a lot of playwright12:19
dviroelchandankumar: is there a etherpad that we could dump all this important info? It may be interesting for us and for any other team12:20
dviroelor are you adding everything to the spec?12:20
chandankumarbased on last discussion, we want to add this in the spec i think.12:20
chandankumarI have not added it there yet12:21
chandankumarBased on test run time, there are not much difference I see12:21
chandankumarI might be writting wrong way, need feedback from UI /testing folks12:21
chandankumaronce the tool is decided, I will dump all info in spec12:22
amoralejCould be selenium and playwright be executed in the same job? I mean, there my be cases where tests for different plugins would be executed in the same jobs, some in selenium and some in playwright12:22
amoralejwould that be possible?12:22
chandankumarif we create two tox targets then yes, I think12:22
amoralejactually, two different test executions, i'd say12:23
amoralejgit clone ..../watcher-dashboard ; git clone .../manila-ui ; tox ... ; tox ...12:23
amoralejor something like that12:23
chandankumarI think yes12:24
chandankumarplaywright keep their downloaded binary at different places, selenium one has different browser binary path12:25
amoralejwould it be convenient to involve someone from the horizon team in the discussion?12:25
chandankumargood idea, I will pass both the implementation poc and spec to Jan Jasek and let's see what they say.12:27
amoralejI suspect they may be interested on this work at least12:28
jgilaberwhat would be the usecase for running both selenium and playwright? running the same tests on both? using some feature that is available in one but not the other?12:28
amoralejeach plugin has its own tests12:28
chandankumarit might be useful for downstream testing where user want to run manila as well as watcher dashboard tests together12:28
amoralej^ that's what i was thinking of12:29
amoralejtogether, as in the same job, not in the same test runner12:29
jgilaberthat is testing from horizon then, not watcher-dashboard repo?12:29
amoralejit would run tests from different repos, each one for it's specific functionalities12:30
jgilaberok, but this is not a job that we would add in the watcher-dashboard ci right?12:31
amoralejnop12:32
amoralejone more that I just thought (sorry), one of the issues in ui testing is what happens when style theme is changed. Would be any difference between using selenium and playwright?12:32
jgilaberack, I got confused, sorry12:32
dviroelchandankumar: ok, anything else that we need to discuss here in the meeting?12:34
chandankumaramoralej: good point, I have not checked that angle. Since playwright rely on UI locators, it may work based on different themes12:34
amoralejmay be worthy to do a quick test12:34
chandankumarbut I will cross verify12:34
chandankumardviroel: nope, I will provide next update in next meeting , 12:34
amoralejgreat job chandankumar++12:35
chandankumarand can discuss on how to decide on tool finalization12:35
dviroelack, and feedbacks are welcome in all 3 changes (spec and pocs)12:35
dviroelthanks chandankumar++12:35
dviroelso I will move to the next topic12:36
chandankumarthank you everyone!12:36
dviroel#topic Audit Pipeline spec updates12:36
dviroelthis is a follow up from previous meeting12:36
dviroelthank you all for providing valuable feebacks in the spec review12:37
dviroelI recently proposed a new patchset for this spec (yesterday)12:37
dviroelthat includes a metric caching proposal, which was an idea from sean-k-mooney to address the issue with metrics on the cascade model12:38
dviroelI added a new section too, for the pipeline strategy/execution/mode/planner/etc, which allows audit pipeline be further extended in future12:38
dviroelit is getting a complex proposal in the end12:39
dviroelso I invite you folks to revisit again while you are still around :) 12:40
amoralejI need to read the last PS, sorry i didn't before the meeting12:40
dviroelnp amoralej, it was recently sent12:40
dviroelin general, our deadline for specs approval is M2 (jan 8th)12:41
dviroelso we may decide the future of the open specs until there, and if needed we can ask for a 1week deadline extension 12:41
dviroelbut lets see how it goes12:41
dviroeldo you folks have any question about that spec? or should we move forward?12:42
dviroelack, let move to the next topic12:43
dviroel#topic New blueprints12:44
dviroelNew blueprint to add osprofiler12:44
dviroel#link https://blueprints.launchpad.net/watcher/+spec/osprofiler-in-watcher12:44
amoralejI created a blueprint about adding osprofiler12:44
amoralejmy main question is what to do with the profiler for the watcher-api, osprofiler relies on PasteDeploy pipelines12:45
amoralejwhich we don't have in watcher, and iiuc openstack is willing to get rid of12:45
dviroeldidn't we removed that middleware recently?12:46
amoralejhttps://docs.openstack.org/osprofiler/latest/user/integration.html12:46
amoralejdunno, tbh12:47
amoralejI've just checked that we don's ship any api-paste.ini config or have code to use it12:49
amoralejI could add support for it as part of this12:49
amoralejbut I'm not sure if that's the way to go12:49
jgilaberdviroel, we have a patch for that, but it's not merged yet12:49
jgilaber#link https://review.opendev.org/c/openstack/watcher/+/96016512:49
amoralejyeah, so the dependency is there but it's not implemented at all12:50
jgilaberwell it only drops the dependency from the requirements.txt file12:50
amoraleji think it never was12:50
jgilaberyes, looks like it12:50
dviroelright, might be this patch that I remember lookin at12:51
amoralejone option would be to start by adding osprofiler only for the decision-engine and applier which are actually our most interesting cases12:51
amoralejto instrument12:51
amoralejwe will not be able to match traces with API calls in that case, but we may still have the traces info12:51
dviroelack, we may need to reach other folks or team to get a better understand on what to do with the api12:52
amoralejwho maintaines osprofiler? it's part of oslo?12:52
dviroelI think that we can still maintain everything in the same blueprint12:52
amoralejyes, that's my intent12:53
amoralejI think i can start by sending a question to the ML12:53
dviroelyeah, that would reach more people12:54
amoralejlet's see if i can get any ideas about alternatives to using pastedeploy to add it in the api12:54
amoraleji'll follow up in next meetings12:55
dviroelgood one, thanks amoralej12:55
dviroeland 12:55
dviroelNew blueprint to remove current ongoing action cancel12:55
dviroel#link https://blueprints.launchpad.net/watcher/+spec/remove-cancel-ongoing-actions12:55
amoralejI created a blueprint for the next step on the action cancel issues we discussed in PTGs12:56
amoralejiiuc we agreed on removing support to cancelling ongoing actions (not actionplans) before we can find a clean implementation12:56
amoralejso the scope of that blueprint is that, removing the existing implementation and documenting it (which currently is not)12:57
dviroelack, cancelling Actions means killing the thread in eventlet mode, right?12:58
amoralejyes12:58
amoralej:)12:58
amoralejand removing the loop to check the db every second12:58
dviroelbut we should still be able to cancel the Action Plan, which will avoid new Actions to start (i think that it check the AP state before starts)12:58
amoralejexactly, that's the idea12:59
amoralejthat will only affect the ongoing Actions, the rest stay the same12:59
amoralejpending actions will not start12:59
amoralejI can make it more clean in the blueprint12:59
sean-k-mooneysorry i had a call so i ahve not been tahat active12:59
dviroelack, there is also an improvement in how we could suspend the Taskflow engine to not start new action/tasks12:59
dviroelbut this can be made as part of improvement of cancelling action plans13:00
sean-k-mooneyamoralej:yes we dont supprot api-paste.ini13:00
sean-k-mooneywe likely shoudl not add it either13:00
amoralejdviroel, yep, i expect we will need a new blueprint and maybe spec to reimplement it, including that13:01
dviroelack13:01
amoralejsean-k-mooney, that's what i guessed, but i'm not sure what's the way to go13:02
sean-k-mooneyamoralej: we can add a config option for it and then exetend our hardcoded pipeline to incldue it if set13:02
sean-k-mooneyamoralej: past and paste deploy are nore really maintianed13:02
sean-k-mooneyso i whink we shodul evengully remove both13:02
sean-k-mooneywhich is why im reluctant to expose api-paste.ini 13:03
sean-k-mooneysicne that is oen fo the capbalities that other frameworks lack13:03
amoralejok, I'll investigate how can i plug it into the pipeline without pastedeploy13:03
sean-k-mooneyi.e. declaritive middleware pipeliens13:03
sean-k-mooneyamoralej: look at tkajinam's patchs for cors supprot13:03
sean-k-mooneythat extended the piplelien13:03
sean-k-mooneyon the cancleation topic13:04
sean-k-mooneywe likely shoudl have a spec but at this point i think we are out of time for new feautres this cycle13:04
sean-k-mooneyso what i woudl recommend is we focus on the propsoed/approved ones13:04
amoralejnote the scope of this is only for the short-time fix of removing the hacky implementation13:05
sean-k-mooneyand start some POCs for new feature in q1 with the intent of deliving them in 2026.2 rather thin in 2026.113:05
sean-k-mooneyack13:05
sean-k-mooneyam for now i think the best approch to the cancelation would be to make eventlet and threading work the same13:05
sean-k-mooneyi.e. wait for the task to compelte and not start any new tasks once the action plan is canceled13:06
sean-k-mooneyso removing the killing of the greentread13:06
sean-k-mooneythat we could do as a bug fix13:06
amoralejyes, that's exactly what i was planning for this cycle13:06
sean-k-mooneythe spec and blueprint approveal deadlineis january 8th13:06
amoralejactually, that was one of my doubts, if treating it as a bug13:06
amoralejbut i'm not sure what's actually the bug to be reported13:06
amoralejwe are out of time, we can discuss in the channel after the meeting if you prefer13:07
dviroelagree, the second blueprint could be a bugfix13:07
dviroelack13:07
dviroelthe remaining topics are request for reviews13:08
sean-k-mooneythe bug is the deleta in behavior between concurance modes13:08
sean-k-mooneybut sure lets dicuss after13:08
dviroelso please folks take a look on this ones:13:08
dviroel#link https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/970378 (CI refactoring and consolidation) last one13:08
dviroel#link https://review.opendev.org/q/topic:%22blueprint-monitor-failed-appliers%2213:08
amoralejthanks dviroel++ !13:09
dviroelthe watcher-tempest-plugin one is one of the final CI refactoring planned 13:09
sean-k-mooneyoh its finally passing13:09
sean-k-mooneyso we have merged all the backports?13:09
dviroelsean-k-mooney: yes13:09
sean-k-mooneycool in that case +2w13:09
dviroelso13:10
dviroellet's wrap up for the year :)13:10
dviroelwe will meet again on Jan 8th13:10
dviroelhappy holidays folks o/13:10
dviroelthank you all for participating13:11
dviroel#endmeeting13:11
opendevmeetMeeting ended Thu Dec 18 13:11:10 2025 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)13:11
opendevmeetMinutes:        https://meetings.opendev.org/meetings/watcher/2025/watcher.2025-12-18-12.01.html13:11
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/watcher/2025/watcher.2025-12-18-12.01.txt13:11
opendevmeetLog:            https://meetings.opendev.org/meetings/watcher/2025/watcher.2025-12-18-12.01.log.html13:11
morenodthanks dviroel++, happy holidays13:11
jgilaberthanks dviroel! 13:11
chandankumarthanks dviroel !13:11
sean-k-mooneyamoralej: so regarding https://blueprints.launchpad.net/watcher/+spec/remove-cancel-ongoing-actions13:11
sean-k-mooneyif you update the description to say the new cacleation behaivor will be "wait for the running task to complete and cancell all pending task"13:12
sean-k-mooneyi think im ok with approvign it13:12
sean-k-mooneyif we want to impove it again next cycle we can13:13
sean-k-mooneyeffectivly we woudl jsut remove "A new implementation of the cancelling of Ongoing actions will be discussed in a separate blueprint/spec in future."13:14
sean-k-mooneydviroel: jgilaber any concerns with that ^13:14
sean-k-mooneyother wise i woudl say defer thei to 2026.2 and maybe just have a bug for that delta for this cycle13:14
amoralejsure, i can update that if that's fine13:14
amoralejupdated13:17
jgilaberno concerns, sounds goog to me13:18
sean-k-mooneyok i have approved the limited scope bluepirnt. i may or may not be back by the 8th13:19
sean-k-mooneyin thory it will be my first day back if it finish today13:20
sean-k-mooneyotherwise ill be back on the 9th13:20
sean-k-mooneymy plan was to finsih today or worlk a half day tomorrow13:20
sean-k-mooneyso ill proably be back for the next meeting but i wont get much done between now and then13:21
chandankumarsean-k-mooney: Hello, regarding playwright poc code https://review.opendev.org/c/openstack/watcher-dashboard/+/970353, you were right I overengineered it by introducing so many classes, I am thinking to revert back to something like https://paste.opendev.org/show/bAHoMVpl1SW2Y1jTRCJv/13:23
chandankumarI am also thinking how an new developer approach towards adding new testing,  one generates the code using codegen then incorporate them in the code with out much effort13:24
amoralejthanks sean-k-mooney 13:25
chandankumarthese two things will make the flow easier for anyone to understand13:25
chandankumarthe code13:25
chandankumarwhat do you think about this?13:27
dviroeli was getting a coffee, but the blueprint lgtm13:34
chandankumari am also looking into playwright mcp on how to generate test easily by just writting the whole user workflow13:49
chandankumarwill add my finding on the spec.13:49
sean-k-mooneychandankumar: ack13:59
sean-k-mooneychandankumar: we dont hav emuch time left this year in general but i wonder are we ready ot commit to the playwright direciton at this point13:59
sean-k-mooneyif not i think we shoudl make that descion early in q1 but form what you have show me i think it look pretty clear that it is the user friednly way to provide this testing IMO14:00
chandankumarsean-k-mooney: based on today.s meeting, I need to figure out two things, if we change the horizon theme does playwright testing will work and how to test in downstream env where selenium-ui and playwright tests run in same env14:01
chandankumar*selenium tests14:01
chandankumartaking the decision by q1 also sounds good. we will have more data.14:02
chandankumarI will also share this work with horizon team , we may get feedback on the way we are writting the test14:02
sean-k-mooneywell the theme is just css14:05
sean-k-mooneyso that shodul not change any of the filed identfires although it may break "snapshot" tests14:05
sean-k-mooneywhere we compare the pixel output14:05
sean-k-mooneyand for downstream we would jsut run the playright and seleneimn test in seperat etest runs14:06
sean-k-mooneyin terms of sharing sure but at the end of the day its our dscison on how we progress14:07
sean-k-mooneywatcher-dashboard is not a deliveble of the horizon team and they made it pretty clear they didnt want to maintain it so we are optimizing for our ease of matiance14:08
chandankumarfor themes, if any test depends on css classes, it may break if it got changed in different theme14:08
chandankumarbut I will verify that14:08
chandankumarif we use unique attributes in the test it will work. But I need to dig more there.14:09
chandankumarok14:10
opendevreviewJoan Gilabert proposed openstack/watcher master: Remove unused methods from NovaHelper  https://review.opendev.org/c/openstack/watcher/+/97121914:38
opendevreviewJoan Gilabert proposed openstack/watcher-specs master: Add specification for migrating Watcher to OpenStackSDK  https://review.opendev.org/c/openstack/watcher-specs/+/96802315:45
sean-k-mooneyya we shoudl try not ot depend on the css classes in the tests17:12
sean-k-mooneydviroel: i woudl be ok with moving forward with https://review.opendev.org/c/openstack/watcher-specs/+/968023 if you agree17:36
sean-k-mooneyim not sure whn your going on pto but i think that spec is clsoe enough for joan ot start makeing progress this cycle. im not sure wi we will end up merging any of the changes by FF but its enough to start on the implemetion work i think17:37
dviroelsean-k-mooney: ack, I will finish reviewing it, i will be out only on holidays17:55
sean-k-mooneyok then no rush. ill likely finsih in the next hour or so then be back on the 8th or 9th17:57
opendevreviewMerged openstack/watcher-specs master: Add specification for migrating Watcher to OpenStackSDK  https://review.opendev.org/c/openstack/watcher-specs/+/96802319:34
opendevreviewMerged openstack/watcher-tempest-plugin master: Consolidate and improve Zuul CI jobs for stable branches  https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/97037820:28
*** haleyb is now known as haleyb|out21:34

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