)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d7278204d818ef45b103f294b042d16810d2338f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c6d12b52_16feb5c9","updated":"2026-09-28 15:57:45.000000000","message":"My main question is [this one](https://review.opendev.org/c/openstack/openstacksdk/+/1007536/comment/2ce3ce8c_5b7c0b09/)","commit_id":"d06e77042accac1fc67c35c110cfc9bec49b2fb0"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"23e505b2c4b0abf21ccd964c498b80f1cf7b33ab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ee2d8ad6_914669b9","updated":"2026-09-28 14:52:56.000000000","message":"Overall, I like the basic idea. Because it better models actual use patterns. Today we expect multiple instances of slightly different data to be configured in clouds.yaml, and operators/users indicate what OS_CLOUD they want, except in that model your changing more than one axis at a time possibly, and depending on comfort/operational model, operators may only need to make the jump of \"what is the scope I want to use\", which is different.\n\nI think a pattern here might be good coupled with some way on a command line for a user to declare the scope of the request they want to make: For example, with Ironic, System scope has different filtering applied to it than a project scoped user. The base credentials under the hood being the same, it is reasonable to let a user declare \"I want this in system scope\" and then be able to go \"I want this in my project scope instead. I think that might translate to something like --use-system-scope ; --use-domain-scope ; --use-project-scope being command line parameters which then tell the client library what setting to load.","commit_id":"d06e77042accac1fc67c35c110cfc9bec49b2fb0"}],"doc/source/user/config/configuration.rst":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d7278204d818ef45b103f294b042d16810d2338f","unresolved":true,"context_lines":[{"line_number":261,"context_line":"        username: user"},{"line_number":262,"context_line":"        password: XXXXXXXXX"},{"line_number":263,"context_line":"        user_domain_name: udn"},{"line_number":264,"context_line":"      scope:"},{"line_number":265,"context_line":"        project_name: project"},{"line_number":266,"context_line":"        project_domain_name: pdn"},{"line_number":267,"context_line":"        system: all"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"The ``project_*`` keys form the ``project`` scope, ``system`` the ``system``"},{"line_number":270,"context_line":"scope, and the ``domain_*`` keys the ``domain`` scope. When more than one is"}],"source_content_type":"text/x-rst","patch_set":1,"id":"2ce3ce8c_5b7c0b09","line":267,"range":{"start_line":264,"start_character":0,"end_line":267,"end_character":19},"updated":"2026-09-28 15:57:45.000000000","message":"Is it feasible for credentials to work across multiple projects? If so, should this be a a list rather than an object?\n\n\n\n```suggestion\n      scope:\n        # project-scoped\n        - project_name: project\n          domain_name: pdn\n        # project-scoped (alt)\n        - project_name: project-alt\n          domain_name: pdn\n        # domain-scoped\n        - domain_name: domain\n        - system: all\n```\n\nThis would require more comprehensive validation though since it opens the door to things like duplicates (it doesn\u0027t make sense to have more than one system scope at the moment, for example)","commit_id":"d06e77042accac1fc67c35c110cfc9bec49b2fb0"}],"openstack/config/cloud_region.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d7278204d818ef45b103f294b042d16810d2338f","unresolved":true,"context_lines":[{"line_number":83,"context_line":"SCOPE_FAMILIES \u003d {"},{"line_number":84,"context_line":"    \u0027project\u0027: ("},{"line_number":85,"context_line":"        \u0027project_id\u0027,"},{"line_number":86,"context_line":"        \u0027project_name\u0027,"},{"line_number":87,"context_line":"        \u0027project_domain_id\u0027,"},{"line_number":88,"context_line":"        \u0027project_domain_name\u0027,"},{"line_number":89,"context_line":"    ),"},{"line_number":90,"context_line":"    \u0027domain\u0027: ("},{"line_number":91,"context_line":"        \u0027domain_id\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"6a9fad28_510dbf19","line":88,"range":{"start_line":86,"start_character":23,"end_line":88,"end_character":30},"updated":"2026-09-28 15:57:45.000000000","message":"The `project_` prefixes on the domain keys are somewhat redundant so we could remove them?\n\n```suggestion\n        \u0027project_name\u0027,\n        \u0027domain_id\u0027,\n        \u0027domain_name\u0027,\n```\n\nMaybe there\u0027s value in being explicit though?","commit_id":"d06e77042accac1fc67c35c110cfc9bec49b2fb0"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d7278204d818ef45b103f294b042d16810d2338f","unresolved":true,"context_lines":[{"line_number":888,"context_line":"        \"\"\"Return a keystoneauth plugin from the auth credentials.\"\"\""},{"line_number":889,"context_line":"        return self._auth"},{"line_number":890,"context_line":""},{"line_number":891,"context_line":"    def get_scopes(self) -\u003e list[str]:"},{"line_number":892,"context_line":"        \"\"\"Return the scope families defined by this cloud\u0027s ``scope`` block."},{"line_number":893,"context_line":""},{"line_number":894,"context_line":"        A cloud may declare more than one authorization scope (for example"}],"source_content_type":"text/x-python","patch_set":1,"id":"e5e1401f_3bcb178f","line":891,"updated":"2026-09-28 15:57:45.000000000","message":"We can use `Literal` here since there are only 3 potential return values here.","commit_id":"d06e77042accac1fc67c35c110cfc9bec49b2fb0"}],"openstack/connection.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d7278204d818ef45b103f294b042d16810d2338f","unresolved":true,"context_lines":[{"line_number":688,"context_line":"            auth[\u0027project_name\u0027] \u003d project"},{"line_number":689,"context_line":"        return self.connect_as(**auth)"},{"line_number":690,"context_line":""},{"line_number":691,"context_line":"    def scoped(self, scope: str) -\u003e Self:"},{"line_number":692,"context_line":"        \"\"\"Make a new Connection using a different scope of the same cloud."},{"line_number":693,"context_line":""},{"line_number":694,"context_line":"        When a cloud declares more than one authorization scope in a top-level"}],"source_content_type":"text/x-python","patch_set":1,"id":"aa3ea1f3_3f4889a3","line":691,"updated":"2026-09-28 15:57:45.000000000","message":"style nit: it would be helpful if this went above `connect_as` so that we could group the `connect_as*` methods to together","commit_id":"d06e77042accac1fc67c35c110cfc9bec49b2fb0"}]}
