Wednesday, 2026-07-22

opendevreviewTakashi Kajinami proposed openstack/horizon master: DNM: testing  https://review.opendev.org/c/openstack/horizon/+/99828609:45
opendevreviewTakashi Kajinami proposed openstack/horizon master: DNM: testing  https://review.opendev.org/c/openstack/horizon/+/99828610:37
opendevreviewTakashi Kajinami proposed openstack/horizon master: Regenerate keystone default policy rules  https://review.opendev.org/c/openstack/horizon/+/99829110:37
opendevreviewTakashi Kajinami proposed openstack/horizon master: Regenerate default policy rules  https://review.opendev.org/c/openstack/horizon/+/99829110:37
opendevreviewTakashi Kajinami proposed openstack/horizon master: DNM: testing  https://review.opendev.org/c/openstack/horizon/+/99828610:37
tkajinamrdopiera, I sill have to check integration tests but so far https://review.opendev.org/c/openstack/horizon/+/998291 is enough to fix scope error10:43
tkajinamthe default policy files are quite outdated. The critical problem was that it does not include the required changes in keystone policies to allow domain scoped access10:44
tkajinamwhich should be fixed during regenerating the policy rules10:44
rdopieratkajinam: thanks for looking into it, but I think it still doesn't make sense to have all this brittle code to satisfy an artificial check in oslo.policy that serves no purpose otherwise10:46
tkajinamit's not an artifical check in oslo.policy really10:46
rdopierawhat do we gain in horizon from it?10:46
tkajinamhorizon uses domain scope token to access keystone so any policy rule for keystone should be evaluated with domain scope credential10:47
rdopierathat's fine, but what advantage does the check give us?10:47
tkajinam(more precisely speaking, only when domain scoped credential is present)10:47
tkajinamfor example if different scope allows different roles then the visibility control doesn't work a expected.10:48
rdopierathew way I see it, we have a piece of code on one side that checks a certain condition, and we have to write a piece of code on the other side that satisfies the condition, and there is absolutely nothing that relates to otherwise10:48
tkajinamI understand horizon does not expose scope but as long as it uses scope in that way, in its intentional way, it should be able to evaluate policy rules according to the way it internally uses scopes10:49
rdopierabut there is no connection between how we call oslo.policy and how we call api endpoints10:49
rdopierait's completely separate code10:49
tkajinamthese are completely separate in code layer but these are currently consistently implemented10:50
tkajinamit uses domain scope for keystone, project scope for the others10:50
tkajinamthen it should use domain scope when evaluating policy for keystone, project scope for the others10:50
rdopieraas far as oslo.policy is concerned, we have always used domain scope for everything, because we always pass domain_id in the credentials10:51
tkajinamthe policy evaluation and credential selection are implemented in different layers, which is confusing, but that's how I understand the current implementation10:51
rdopierait has been that for as long as we use oslo.policy10:51
tkajinamI mean10:51
tkajinamit doens't use "domain credential" for all. credentail here is too much confusing terminology10:52
tkajinamit uses project-scoped "token" for non-keystone and domain-scoped "token" for keystone10:52
tkajinamcredential in that layer is more like a metadata, associated with that token10:52
rdopierathere are no tokens involved10:52
tkajinaminvolved with what ? policy rules evaluation ? then it's correct10:54
tkajinamI mean token itself is not involved in policy rules10:54
rdopierawe are calling apis, not validating them, so the answer to the question "what is the scope of that token" is "which want to do you want"10:54
tkajinambut policy rules should be evaluated with the metadata which actually represents scope of that token10:54
rdopierawhich one do you want10:54
rdopierasorry, typos10:54
tkajinamnp10:54
rdopieraby the way, I was wondering, is the a way to call something in oslo.policy with a rule, and have it tell us what scope it needs?10:55
tkajinamhttps://github.com/openstack/horizon/blob/9ca3e129ea64be0b00c81fad986a7f5ae1d2583c/openstack_dashboard/api/keystone.py#L153-L16510:55
tkajinamlet me check but I guess no10:56
tkajinambut technically we can expose such api, I think10:56
rdopierait would feel a bit like "tell me what the password is, so I can tell you the password", but it would  make it easier10:57
rdopieragenerally speaking, when we are calling oslo.policy checks in horizon, we are asking "is this user allowed to do this, with any scope?"10:59
rdopieraand then later the code that actually calls the api takes care of picking the aright cope for the particular api endpoints11:00
tkajinamthat works of cause but just exposes more non-functional buttons. horiozn knows which token would be used it could make earlier decision about the scope.11:04
tkajinama problem you would see is when you configure horizon to prefer domain scoped credential for keystone, then you find a few buttons available but is not functioning due to keystone not allowing domain scope credential for api11:04
rdopierait uses whatever token works for the given call11:05
rdopierait doesn't know up front11:05
tkajinamis there any token fallback mechanism ?11:05
rdopieraafaik we just hardcode which one to use for which call, at the moment11:05
rdopierabut oslo.policy is not invovled in that11:06
tkajinamso if the hard-coded scope doesn't work then it never works11:07
rdopieraI suppose we could make each call to oslo.policy three times, with different scopes, and return true if any of them returns true11:07
tkajinamif horizon implements scope fallback really11:08
rdopieraI have no idea if it does or how it's supposed to work11:08
tkajinamjust to make my stance clear, I won't block that change really but find it wired because if is not fully aligned with policy rule mechanism from oslo.policy11:08
rdopierayeah, I thin oslo.policy is not really designed with UI in mind11:08
tkajinamI hope gmaan would provide better guidance about it.11:09
tkajinamthe whole concept was messed up when we decided to "isolate" scopes for number of reasons11:09
rdopieraI would have to have a cross-project session on the PTG about how we could make oslo.policy easier to use in horizon11:09
tkajinam(I mean, when we decided that domain scope can't handle project-scoped things. and etc.11:09
rdopieraI still don't understand what we are supposed to do with system scope exactly11:09
rdopierafrom the user interface point of view, I mean11:10
tkajinamwith current design anything other than project scope doesn't work11:10
tkajinamso ignore it now. that's my suggestion.11:11
rdopierathanks, that's what I've been doing, pretty much, but it's still a thorn in my side11:11
tkajinamThe initial aim was that system scope can access anything in any projects.11:11
tkajinambut it no longer works like that11:11
tkajinamafter isolation11:12
rdopierawe are in no hurry with this patch, since the gate is unblocked, so let's wait for gmaan to comment11:13
rdopierathank you again for looking into this, I really appreciate help from someone who is more familiar with the entire policy thing11:14
tkajinam:-)11:19
tmazur#startmeeting horizon15:00
opendevmeetMeeting started Wed Jul 22 15:00:17 2026 UTC and is due to finish in 60 minutes.  The chair is tmazur. Information about MeetBot at http://wiki.debian.org/MeetBot.15:00
opendevmeetUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.15:00
opendevmeetThe meeting name has been set to 'horizon'15:00
tmazurHello everyone and welcome to the weekly meeting!15:00
blasseye-Hi everyone !15:00
omcgonago/15:01
jjasekHello15:01
rdopieraaloha15:01
tmazurLet's begin15:02
tmazurAgenda for today is here: https://etherpad.opendev.org/p/horizon-release-priorities#L3915:03
tmazur#topic Notices15:04
tmazurThis week is R-1015:04
tmazurHibiscus Release Schedule: https://releases.openstack.org/hibiscus/schedule.html15:04
tmazur2027.1 "Indri" release schedule is proposed:15:05
tmazur996808: Proposed 2027.1 Indri release schedule | https://review.opendev.org/c/openstack/releases/+/99680815:05
tmazurThat's all for the announcements for today15:07
tmazur#topic Release priorities15:07
tmazur977939: Add Horizon panel to enable TOTP MFA enrollment | https://review.opendev.org/c/openstack/horizon/+/97793915:08
tmazurblasseye- Would you like to share your status on this one?15:08
blasseye-Let's put this review on hold for now, and I'll take care of the keystone correction so we don't get stuckif we delete credential. Once it's approved, we can discuss it further. i think it's a good way15:08
tmazurCould you share the keystone patch link please?15:09
tmazur985969: Fix: TOTP authentication lockout risk in Keystone | https://review.opendev.org/c/openstack/keystone/+/98596915:09
tmazurThis one ^^^ ?15:09
blasseye-Yes it's in progress : https://review.opendev.org/c/openstack/keystone/+/98596915:09
blasseye-Yes :)15:10
tmazurThank you, I will add it to our etherpad15:10
tmazurAnother SDK patch has been merged, thanks rdopiera and jjasek for your reviews!15:11
tmazurAnd I see all the listed de-angularization patches are also merged, great job everyone!15:12
tmazuromcgonag would you like to share with us if you currently working on some other de-angularization patch?15:13
omcgonagI have not yet picked up a new one, will let the team know which one I pick up15:14
tmazurThank you!15:14
omcgonagthanks for the reviews and merge on the most recent ones...15:15
tmazurLet's move to the next topic15:15
tmazur#topic Bug deputy report15:16
omcgonagplease put https://review.opendev.org/c/openstack/horizon/+/993023 on our etherpad - I need to get back to that one15:16
tmazurIs it related to de-angularization?15:18
omcgonagno - it is related to possibly addressing some of our random/flaky test/failures - I found it while running jobs against our deangularize patches15:21
tmazurOk, thank you for the clarification15:21
tmazurAnyway, bugs15:21
tmazurhttps://bugs.launchpad.net/horizon/+bugs?orderby=-id&start=015:21
tmazurOpenstack Security Note: OSSN-0097: Horizon RC file generation does not escape special characters in project names -- https://bugs.launchpad.net/horizon/+bug/216133615:22
tmazurThis issue was fixed in https://bugs.launchpad.net/horizon/+bug/215224015:24
tmazurSo I don't quite understand why the bug was filed 15:24
rdopierajust mark it as duplicate?15:25
tmazurIt even has the link to the fixed bug in references15:26
rdopierawe didn't fix it in stable releases15:27
rdopieraso I guess it's still an advisory15:27
tmazurIn the description it says "master"15:27
tmazurDo we want to fix it in stables?15:27
rdopieraI don't, unless someone really wants it15:28
tmazurLet's mark this bug as duplicate until further notice then15:28
rdopierait's more of an exposed sharp edge than actual security hole15:28
tmazurTrue15:29
tmazurOne more bug15:29
tmazurNetwork topology icons and table sort carets blank after Font Awesome 6 migration -- https://bugs.launchpad.net/horizon/+bug/216142415:29
tmazurThis one has a patch on review already15:30
tmazur998121: Fix Font Awesome 4 leftovers missed by the FA6 migration | https://review.opendev.org/c/openstack/horizon/+/99812115:30
tmazurI am testing it on my env now, should be good to go15:32
tmazurNext topic15:33
tmazur#topic On-demand agenda15:33
tmazurLet's discuss the possibility to catch some potential problems with requirements before they hit Horizon15:34
tmazurjjasek, I see you have added a patch on periodic job15:35
tmazurWould you like to share some info about it?15:35
jjasekYep, but it is still WIP, I needed to jump to something else now.15:35
jjasekYep, of course15:35
jjasekThe goal is to periodically (once a day) go through all (lets say last x) opened patches in requirements15:36
jjasekand check if there are changes that could harm Horizon. And if yes, then fetch this patch and run horizon integration tests against this change15:37
jjasekIdeally we should know in advance that there is something in requirements, waiting for review that can break Horizon. And we can prepare Horizon or -1 the patch in requirements in case we are not able to do it quickly.15:37
jjasekAnd to not run the tests against many/all changes that are open in requirements. Goal is to fill this watchlist with everything that is used in Horizon: https://review.opendev.org/c/openstack/horizon/+/998068/5/playbooks/requirements-watch/files/watchlist.txt15:39
jjasekCurrently there are packages that break Horizon (product or blocked gate) recently (last few quarters)15:40
jjasekThat's all, very briefly, but it is still in WIP15:41
tmazurShouldn't we add all the Horizon dependencies to the list? Do you think it's an overkill?15:42
jjasekI think that we can, theoretically, but the thing that I did not solved yet is rotation or runs. In case there will be multiple patches at once that can break horizon, and those patches will be there for days/weeks.15:43
jjasekI need to find some smart way to not run integration tests every day against 20 patches.15:44
jjasek(the same patches every day)15:44
jjasekBecause as the changes are in requirements, ideally we should deploy fresh devstack for every single one I guess.15:44
jjasekSo be sure there are no leftovers from other runs.15:45
jjasekBut as I said, it is still WIP15:45
rdopieraI think zuul had a way to run tests for multiple patches, and then do binary search if they fail15:45
rdopieraI saw it in the docs15:46
rdopierabut I might have misunderstood15:46
tmazurI will look at it as well15:46
jjasekI got it but what I am talking about is some tracking. Because there can be 10 patches that touches horizon packages. And those patches can wait there for reviews months15:47
jjasekSo it would be fine to find a way to somehow smart track what already was executed and if there is any change since.15:47
jjasekBut as I said I spend a day on this, and yesterday night it was first time when it passed in Zuul :D15:49
jjasekSo it is still in phase - what are possibilities.15:50
tmazurThank you jjasek for your awesome work here15:51
tmazurPlease ping the team if you need anything. It would be great to have this feature implemented15:52
jjasekYep, when it will be in state that has some outlines and works, I will ask for reviews and we can discuss improvements/ideas/changes.15:53
tmazurSure15:53
tmazur#topic Open reviews15:55
tmazurAs usual, call for the reviews15:55
tmazurhttps://review.opendev.org/q/project:openstack/horizon+status:open15:55
tmazurWe did a great job on reviews recently, let's keep the pace15:55
tmazurrdopiera would you like to say a few words about this one:15:57
tmazur998096: Clean up after oslo.policy upgrade | https://review.opendev.org/c/openstack/horizon/+/99809615:57
tmazurI see a couple +1 from oslo people15:58
rdopierawe also had some discussion in here earlier with tkajinam 15:59
rdopieraI still want to hear from Ghanshyam, as he's the one leading that effort, it seems15:59
tmazurMakes sense, yes15:59
tmazurAnyway, we're out of time, let's wrap it up. Thanks everyone for joining today and see you next week!16:00
rdopierathe short story is that oslo.policy has removed the option to not do scope enforcement, and Horizon tests started failing, because we don't really care about scope for policy checks in horizon16:00
tmazur#endmeeting16:01
opendevmeetMeeting ended Wed Jul 22 16:01:04 2026 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)16:01
opendevmeetMinutes:        https://meetings.opendev.org/meetings/horizon/2026/horizon.2026-07-22-15.00.html16:01
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/horizon/2026/horizon.2026-07-22-15.00.txt16:01
opendevmeetLog:            https://meetings.opendev.org/meetings/horizon/2026/horizon.2026-07-22-15.00.log.html16:01
jjasekThank you all, bye bye16:01
tmazurrdopiera should we write to ML about it?16:02
tmazurMaybe more people will share their opinions16:02
tmazurOr just to inform that we're considering an options of vendoring it too16:03
opendevreviewMerged openstack/horizon master: Fix Font Awesome 4 leftovers missed by the FA6 migration  https://review.opendev.org/c/openstack/horizon/+/99812118:51
opendevreviewVlad Gusev proposed openstack/horizon stable/2026.1: Fix Font Awesome 4 leftovers missed by the FA6 migration  https://review.opendev.org/c/openstack/horizon/+/99835819:04

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