Thursday, 2025-07-10

opendevreviewCyril Roelandt proposed openstack/glance master: Drop redundant check of sqlite3 module availability  https://review.opendev.org/c/openstack/glance/+/95236101:57
opendevreviewAbhishek Kekane proposed openstack/glance_store master: Refactor unit tests for filesystem driver  https://review.opendev.org/c/openstack/glance_store/+/95456608:01
opendevreviewAbhishek Kekane proposed openstack/glance_store master: Refactor unit tests for s3 driver  https://review.opendev.org/c/openstack/glance_store/+/95458810:13
croelandt#startmeeting glance14:01
opendevmeetMeeting started Thu Jul 10 14:01:35 2025 UTC and is due to finish in 60 minutes.  The chair is croelandt. Information about MeetBot at http://wiki.debian.org/MeetBot.14:01
opendevmeetUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.14:01
opendevmeetThe meeting name has been set to 'glance'14:01
croelandt#topic roll call14:01
croelandto/14:01
mheno/14:01
rajivhi14:02
Luzio/14:03
croelandtabhishekk: around? :)14:03
abhishekko/14:03
croelandtI think dansmith is out today14:03
croelandt#topic Release/periodic job updates14:03
croelandtSo we have support for Centos 10 now14:03
croelandt#link https://review.opendev.org/c/openstack/devstack/+/93725114:04
croelandt^ this patch needs to be updated and reviewed14:04
croelandtI have just talked to the author, and they are not working on this anymore, so I'll take over the patch14:04
croelandtI wonder if we could not just use PYTHON3_VERSION like they do at https://github.com/openstack/devstack/blob/master/.zuul.yaml#L73314:04
croelandt#link https://github.com/openstack/devstack/blob/master/.zuul.yaml#L73314:04
croelandtwhich would have been simpler :) But I guess soon we'll want to migrate to CentOS 10 anyway14:04
croelandt#topic Encryption14:05
croelandtso the main thing for this week is image encryption14:05
croelandtmhen: we've reviewed your patch and it looks pretty good14:06
mhenthanks for reviewing!14:06
croelandtI think my main concern is that dansmith had some things to discuss, I'll make sure to remind him on Monday when he is back14:06
mhenunderstood14:06
croelandtoh and there was my point about the tests still using cinder_encryption_*14:06
croelandtnot sure if that is intentional14:06
mhenI answered this some minutes ago14:06
mhenit is intentional, I think we want to make sure those attributes still work for some potential edge cases during the deprecation timeframe14:07
croelandtok14:07
croelandtI wonder if we could refactor some tests though14:08
croelandtdef test_something(self, key): for instance14:08
croelandtbut maybe that is going to overcomplicate things14:08
mhenas the patchset is currently done, all test methods concerning the old names are suffixed wiht "_deprecated"14:09
mhenthey are easy to spot (and remove, in the future)14:09
croelandtoh ok14:10
croelandtlet's not change anything then :)14:10
croelandtAnything to add on this topic?14:11
mhennot from my side14:12
croelandt#topic Open Discussion14:12
croelandtabhishekk: anything else?14:12
rajivhi, i wanted to follow up on https://review.opendev.org/c/openstack/glance-specs/+/95343514:12
abhishekkNope, I have nothing this week14:12
rajivlooks like glance is project scoped service and not domain scoped token14:13
croelandtok14:13
rajivhence the get_image doesnt have a domain_id14:13
rajivany suggestions on how to proced ?14:14
abhishekkI don't think we are ready to move at domain scope, that will be huge chnage14:14
croelandthave other projects done that?14:14
rajivi had no luck with https://github.com/sapcc/glance/commit/ed9817df7ba9fb6d9bbd4b51adfcb4c3bcc28fe514:14
rajivmy intent is to restrict public images to a particular domain, last option is to filter via project_id (which is like 300+ projects)14:15
abhishekkCertainly we can discuss this next PTG14:15
rajiv--tags, --hidden isnt an option14:15
rajivokay, isnt there any other option ?14:16
croelandtrajiv: have other projects done that?14:16
rajivcode enhancements wouldnt work since domain_id isnt there in get_image, the transformer uses owner info as project_id14:17
rajivcroelandt: i looked around but found none14:17
rajivthere are few custom projects which use oslo 14:17
rajivhow can i use https://github.com/openstack/oslo.context/blob/master/oslo_context/context.py#L165 ?14:18
croelandt"As OpenStack evolves toward better domain-scoped operations and identity management" <- what is your source for this?14:18
mhenKeystone recently added the "manager" persona for domains: https://docs.openstack.org/keystone/latest/user/domain-manager-usage.html14:18
rosmaitarajiv: so is your goal that a user U in domain D does a image-list, they should only see images that are owned by entities that are also in domain D?14:18
rajivrosmaita: user U cannot list public images in a particular domain but works in other domains14:19
rajivshouldnt*14:20
rajivbut can list private or shared images14:20
rajivin other words, implement public image visibility to users in a particular domain14:20
abhishekkrajiv, private image of domain d should be listed by user in domain U? 14:21
rajivabhishekk: yes, only restrict public image view14:21
rosmaitaso at least part of the problem is that this is completely different from the glance image ownership model14:22
rosmaitaimages are owned by projects, but images are not "in" a domain14:22
abhishekkyes, I would say opposite as well14:22
rajivi couldnt find a way to fetch domain id info into glance14:23
rajivif there was a way, i could map project id to domain id to solve this request14:24
rosmaitaglance doesn't have any domain info, that is kept in keystone, because domains are a way of grouping users14:25
rajivor are there suggestions to fetch domain info into glance ?14:25
rajivtrue, i am also open on how to implement restrictions for public images.14:25
rajivany comments on the approach of this commit ? or it makes no sense since domain is not supported at all ?14:27
rajivhttps://github.com/openstack/oslo.context/blob/master/oslo_context/context.py#L165 14:27
rosmaitawell, you could just not have any public images, and instead have a special user per domain that owns the "public" images for that domain, and that special user would share the images with all the projects in that domain14:27
rajivrosmaita: could you please elaborate ?14:28
rosmaitai will try :D14:28
rajiv:) 14:29
rosmaitaok, so let's say there is user A in domain AA, and user B in domain BB14:29
rosmaitawe don't want A to see public images for BB14:29
rosmaitaso, we don't make any glance images public14:29
rosmaitainstead, we create a special user in keystone, UA in domain AA14:30
rajivall users AA shouldnt view public images, but can view private, shared, etc. Its not cross domains14:30
rosmaitathen UA uploads all the images to glance that should be "public" in AA14:30
rosmaitathen UA shares these images with user A14:30
rosmaitanow, user A can see the AA images14:31
rosmaitabut user B cannot14:31
rosmaitaand you do the same thing for domain BB14:31
rosmaitathe problem is that you have to manage the image sharing, but that could be automated, i think14:31
rosmaita(automated by the operator, not by glance)14:31
rajivthanks, to clarify Domains AA, BB, CC14:32
rajivusers in Domain AA cannot view public images14:32
rajivDomain BB,CC works like default14:32
rosmaitaonly because there are no public images at all for any domain14:32
rajivrestriction of public image view is only on Domain AA14:32
rosmaitano, we are not restricting public image view at all ... what we are doing is not having *any* public images14:33
rajivpublic image view is mandatory in other domains :) 14:34
rosmaitanot sure what you mean14:34
mhenI think they want an isolated domain that has its own images but cannot see public images (which all other domains do)?14:34
rajivto clarify Domains AA, BB, CC ; users in Domain AA cannot view public images;14:34
rajivDomain BB,CC works like default14:35
rajivmhen: correct14:35
abhishekkmeans they can view public images14:35
rosmaitawell, sounds like you need a dedicated glance or something14:36
rajivokay, glance per isolated domain ?14:38
rosmaitai guess ... isolated glance in an isolated domain14:39
rajivoh, thats more complicated than i imagined :(14:40
abhishekkyour requirement is also complicated :D14:40
rajivhaha true! 14:41
rajivlastly, there is no way to import domain_id into glance, right ?14:41
abhishekknot sure, need to check14:42
rajivany clue how owner info is populated ?14:44
rosmaitaprobably by oslo.context14:44
rosmaitai mean, there's some glance code, but it uses oslo.context14:45
rajivokay, in this case, domain_id should also be possible ? since oslo.context has domain_id https://github.com/openstack/oslo.context/blob/master/oslo_context/context.py#L16514:45
rajivhttps://opendev.org/openstack/glance/src/branch/stable/2024.2/glance/context.py#L80-L83 ?14:46
abhishekkrajiv: https://github.com/openstack/glance/blob/master/glance/api/middleware/context.py#L12514:47
abhishekkIF you print req.environ here before line 148, you will see domain information there14:48
rajivokay sure, i can look into this direction14:49
rosmaitathe problem is going to be that images do not have a domain_id14:50
rosmaitaand aren't keystone domains fluid, that is, projects can be added and removed to domains?14:50
rajivyep, i fear the same14:51
abhishekkexactly, I told him, but not sure what he has in mind14:51
rosmaitayeah, my understanding is that keystone domains group users/projects, but not resources14:51
rajivif i am able to fetch domain_id, then i can introduce another logic to validate the project & domain_id mapping > then maybe in get_image14:52
rajivrestriction via policies is the cleanest way right ?14:53
abhishekkyou need lot of tweaks for this to happen14:53
rajivtrue14:54
rajivenhance alembic as well, the list goes on!14:55
abhishekkthat's why I said, gather requirements and come back in PTG with detailed information 14:56
rajivroger :) 14:56
abhishekkover and out :D14:56
rajivthis is the requirement though :) 14:56
rajivthanks for your time!14:56
abhishekknp!14:57
croelandtright in time \o/14:57
croelandt#endmeeting14:57
opendevmeetMeeting ended Thu Jul 10 14:57:15 2025 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)14:57
opendevmeetMinutes:        https://meetings.opendev.org/meetings/glance/2025/glance.2025-07-10-14.01.html14:57
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/glance/2025/glance.2025-07-10-14.01.txt14:57
opendevmeetLog:            https://meetings.opendev.org/meetings/glance/2025/glance.2025-07-10-14.01.log.html14:57
tkajinamcroelandt, just fyi. I've replied to your comment in https://review.opendev.org/c/openstack/glance/+/954191 .15:14
opendevreviewMerged openstack/glance master: Drop redundant check of sqlite3 module availability  https://review.opendev.org/c/openstack/glance/+/95236115:27

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