)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":10366,"name":"Hemanth N","email":"hemanth.nakkina@canonical.com","username":"Hemanth"},"change_message_id":"bc8522e8230a1bb0cbdb59e022164e89b0ed77ae","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"364f9185_f0f421dd","updated":"2026-06-18 00:29:05.000000000","message":"Overall LGTM\n\nCan you add the new relation in tests/openstack/smoke.yaml.j2 and in other functional tests if applicable","commit_id":"d498f70c267104332abe8eef96c31cd33949c1a4"},{"author":{"_account_id":38581,"name":"Raven Kaur","display_name":"ravenk","email":"raven.kaur@canonical.com","username":"ravenk"},"change_message_id":"eca28c02f7d9fe905ce9fa5dede70ef2e7b2fdd9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"116489d6_6d9657da","updated":"2026-06-17 22:07:44.000000000","message":"Related terraform change: https://github.com/canonical/sunbeam-terraform/pull/149","commit_id":"d498f70c267104332abe8eef96c31cd33949c1a4"},{"author":{"_account_id":38581,"name":"Raven Kaur","display_name":"ravenk","email":"raven.kaur@canonical.com","username":"ravenk"},"change_message_id":"9f456c6855036e02cba4920097e9a524554b815e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"693b9069_4e1a9dfb","updated":"2026-06-17 19:15:38.000000000","message":"Testing notes:\n\n- Tested on single region sunbeam. Large file uploads succeed after the fix. \n- Tested on a multi-region deployment and confirmed CORS was an issue. Integrating the relation between glance and horizon in this patch fixes the CORS issue.","commit_id":"d498f70c267104332abe8eef96c31cd33949c1a4"},{"author":{"_account_id":38581,"name":"Raven Kaur","display_name":"ravenk","email":"raven.kaur@canonical.com","username":"ravenk"},"change_message_id":"7c3ff08a24c62b48a800427e3e0810076b058079","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"afe40b39_eb6cee26","in_reply_to":"364f9185_f0f421dd","updated":"2026-06-18 14:44:57.000000000","message":"Fixed, thanks @hemanth.nakkina@canonical.com","commit_id":"d498f70c267104332abe8eef96c31cd33949c1a4"},{"author":{"_account_id":10366,"name":"Hemanth N","email":"hemanth.nakkina@canonical.com","username":"Hemanth"},"change_message_id":"09a2d29f42d60b7d77d1df5809baeec174b570d3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"57fb6e65_1195ef19","updated":"2026-06-18 17:37:15.000000000","message":"LGTM","commit_id":"e4eb431f838d480ae0935cbdf9fbf823c429d3de"}],"charms/glance-k8s/charmcraft.yaml":[{"author":{"_account_id":8108,"name":"Nobuto Murata","email":"nobuto.murata@canonical.com","username":"nobuto-m"},"change_message_id":"cb3692378cebd02b114ac6cd3770ff9cc37a727d","unresolved":true,"context_lines":[{"line_number":347,"context_line":"    limit: 1"},{"line_number":348,"context_line":"  cors-origin:"},{"line_number":349,"context_line":"    interface: cors-origin"},{"line_number":350,"context_line":"    optional: true"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"provides:"},{"line_number":353,"context_line":"  image-service:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"72f4b822_0dd03653","line":350,"updated":"2026-06-18 02:35:47.000000000","message":"I might be super naive here, but we already know the origin, don\u0027t we? I mean in the current \"multi-region\" design in Sunbeam, Horizon and Keystone are assured to be co-located in the same region. And the Glance in the secondary region already knows the keystone endpoints, which is the same origin as the horizon endpoint.\n\nhttps://canonical-openstack.readthedocs-hosted.com/en/latest/how-to/misc/multiregion-deployments/\n\u003e Shared services such as Keystone and Horizon will be omitted from secondary regions. These services will be provided by the region controllers and consumed through cross-controller Juju relations.\n...\n\u003e juju integrate keystone-endpoints glance:identity-service\n\n\ni.e. it could be something similar to the following (using an existing variable + a bit of logic in the template or the code):\n\n```\n[cors]\n# set the keystone origin as horizon origin since it\u0027s the same thing in the current design\nallowed_origin \u003d {{ identity_service.public_auth_url | \"logic to extract the origin\" }}\n```","commit_id":"d498f70c267104332abe8eef96c31cd33949c1a4"},{"author":{"_account_id":38581,"name":"Raven Kaur","display_name":"ravenk","email":"raven.kaur@canonical.com","username":"ravenk"},"change_message_id":"7c3ff08a24c62b48a800427e3e0810076b058079","unresolved":true,"context_lines":[{"line_number":347,"context_line":"    limit: 1"},{"line_number":348,"context_line":"  cors-origin:"},{"line_number":349,"context_line":"    interface: cors-origin"},{"line_number":350,"context_line":"    optional: true"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"provides:"},{"line_number":353,"context_line":"  image-service:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"df7c119b_67258f72","line":350,"in_reply_to":"72f4b822_0dd03653","updated":"2026-06-18 14:44:57.000000000","message":"Thanks for reviewing @nobuto.murata@canonical.com. You are right that we could use the keystone\u0027s endpoint to get the public origin for the multi-region case. However, I shouldve been clearer in my commit message, CORS can also be an issue when subdomain mode is turned on in Traefik. If traefik is configured with routing_mode\u003dsubdomain, Keystone gets keystone.domain.tld and Horizon gets horizon.domain.tld, which are different origins","commit_id":"d498f70c267104332abe8eef96c31cd33949c1a4"},{"author":{"_account_id":8108,"name":"Nobuto Murata","email":"nobuto.murata@canonical.com","username":"nobuto-m"},"change_message_id":"c859509f2aa88e0a4e7f261e2c539b6836dc7db9","unresolved":false,"context_lines":[{"line_number":347,"context_line":"    limit: 1"},{"line_number":348,"context_line":"  cors-origin:"},{"line_number":349,"context_line":"    interface: cors-origin"},{"line_number":350,"context_line":"    optional: true"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"provides:"},{"line_number":353,"context_line":"  image-service:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"079827e1_bcf0e938","line":350,"in_reply_to":"df7c119b_67258f72","updated":"2026-06-18 15:20:55.000000000","message":"Clear. Thanks for the explanation.","commit_id":"d498f70c267104332abe8eef96c31cd33949c1a4"}]}
