)]}'
{"glance_store/_drivers/swift/connection_manager.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6157d5c9779398a88b3ebe6820e56c1c8df9b7ca","unresolved":true,"context_lines":[{"line_number":143,"context_line":"    def _get_storage_url(self):"},{"line_number":144,"context_line":"        \"\"\"Get swift endpoint from keystone"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"        Return endpoint for swift from service catalog if not override in"},{"line_number":147,"context_line":"        store configuration. The method works only Keystone v3."},{"line_number":148,"context_line":"        If you are using different version (1 or 2)"},{"line_number":149,"context_line":"        it returns None."}],"source_content_type":"text/x-python","patch_set":2,"id":"6fac8fe1_722241f1","line":146,"range":{"start_line":146,"start_character":62,"end_line":146,"end_character":70},"updated":"2021-02-23 16:45:22.000000000","message":"nit: \"overridden\"","commit_id":"9a19700cf422a347242d90e551eeb85c73080f64"},{"author":{"_account_id":28332,"name":"Alexandre arents","email":"alexandre.arents@corp.ovh.com","username":"aarents"},"change_message_id":"21e3db07d1f720b58ef6095bd973cdbe4149b687","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    def _get_storage_url(self):"},{"line_number":144,"context_line":"        \"\"\"Get swift endpoint from keystone"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"        Return endpoint for swift from service catalog if not override in"},{"line_number":147,"context_line":"        store configuration. The method works only Keystone v3."},{"line_number":148,"context_line":"        If you are using different version (1 or 2)"},{"line_number":149,"context_line":"        it returns None."}],"source_content_type":"text/x-python","patch_set":2,"id":"d519c281_5ebceeed","line":146,"range":{"start_line":146,"start_character":62,"end_line":146,"end_character":70},"in_reply_to":"6fac8fe1_722241f1","updated":"2021-03-01 16:09:20.000000000","message":"Done","commit_id":"9a19700cf422a347242d90e551eeb85c73080f64"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6157d5c9779398a88b3ebe6820e56c1c8df9b7ca","unresolved":true,"context_lines":[{"line_number":156,"context_line":"        if self.store.auth_version \u003d\u003d \u00273\u0027:"},{"line_number":157,"context_line":"            try:"},{"line_number":158,"context_line":"                return self.client.session.get_endpoint("},{"line_number":159,"context_line":"                    service_type\u003dself.store.service_type,"},{"line_number":160,"context_line":"                    interface\u003dself.store.endpoint_type,"},{"line_number":161,"context_line":"                    region_name\u003dself.store.region"},{"line_number":162,"context_line":"                )"}],"source_content_type":"text/x-python","patch_set":2,"id":"08455adc_4a862b94","line":159,"range":{"start_line":159,"start_character":44,"end_line":159,"end_character":56},"updated":"2021-02-23 16:45:22.000000000","message":"I think the right way to do this is to put the other endpoints in the catalog, and configure the store to use a different service type. Looks like this store.service_type comes from the store config already. Why is that not the right solution here?","commit_id":"9a19700cf422a347242d90e551eeb85c73080f64"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"d20380aeb031e6594a7dace6c38251c3b0a55203","unresolved":true,"context_lines":[{"line_number":156,"context_line":"        if self.store.auth_version \u003d\u003d \u00273\u0027:"},{"line_number":157,"context_line":"            try:"},{"line_number":158,"context_line":"                return self.client.session.get_endpoint("},{"line_number":159,"context_line":"                    service_type\u003dself.store.service_type,"},{"line_number":160,"context_line":"                    interface\u003dself.store.endpoint_type,"},{"line_number":161,"context_line":"                    region_name\u003dself.store.region"},{"line_number":162,"context_line":"                )"}],"source_content_type":"text/x-python","patch_set":2,"id":"9b598484_83a37709","line":159,"range":{"start_line":159,"start_character":44,"end_line":159,"end_character":56},"in_reply_to":"08455adc_4a862b94","updated":"2021-02-23 22:02:48.000000000","message":"I think that approach makes sense.\n\nBut it looks like we have something similar in nova [0][1]?\n\n[0] https://github.com/openstack/nova/blob/master/nova/conf/cinder.py#L46\n[1] https://github.com/openstack/nova/blob/master/nova/volume/cinder.py#L208-L211","commit_id":"9a19700cf422a347242d90e551eeb85c73080f64"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"1018f5f9216bfcad0e792bafba032b7e715bb6a9","unresolved":true,"context_lines":[{"line_number":156,"context_line":"        if self.store.auth_version \u003d\u003d \u00273\u0027:"},{"line_number":157,"context_line":"            try:"},{"line_number":158,"context_line":"                return self.client.session.get_endpoint("},{"line_number":159,"context_line":"                    service_type\u003dself.store.service_type,"},{"line_number":160,"context_line":"                    interface\u003dself.store.endpoint_type,"},{"line_number":161,"context_line":"                    region_name\u003dself.store.region"},{"line_number":162,"context_line":"                )"}],"source_content_type":"text/x-python","patch_set":2,"id":"52df84f4_d1409492","line":159,"range":{"start_line":159,"start_character":44,"end_line":159,"end_character":56},"in_reply_to":"282d58b8_2aa5b563","updated":"2021-02-23 23:27:21.000000000","message":"Yeah - I can\u0027t think of a good reason to set explicit endpoint URLs for a services.\n\nI lightly dug through some other projects to see what they did and that\u0027s how I stumbled across the nova bits, but it doesn\u0027t sound like there isn\u0027t anything stopping from them refactoring that approach (outside of resources)?","commit_id":"9a19700cf422a347242d90e551eeb85c73080f64"},{"author":{"_account_id":28332,"name":"Alexandre arents","email":"alexandre.arents@corp.ovh.com","username":"aarents"},"change_message_id":"21e3db07d1f720b58ef6095bd973cdbe4149b687","unresolved":true,"context_lines":[{"line_number":156,"context_line":"        if self.store.auth_version \u003d\u003d \u00273\u0027:"},{"line_number":157,"context_line":"            try:"},{"line_number":158,"context_line":"                return self.client.session.get_endpoint("},{"line_number":159,"context_line":"                    service_type\u003dself.store.service_type,"},{"line_number":160,"context_line":"                    interface\u003dself.store.endpoint_type,"},{"line_number":161,"context_line":"                    region_name\u003dself.store.region"},{"line_number":162,"context_line":"                )"}],"source_content_type":"text/x-python","patch_set":2,"id":"20cfcc9e_57e2271a","line":159,"range":{"start_line":159,"start_character":44,"end_line":159,"end_character":56},"in_reply_to":"52df84f4_d1409492","updated":"2021-03-01 16:09:20.000000000","message":"I got your point,\nbut I think both swift_store_endpoint and service_type/endpoint_type are complementary.\nI mean with swift_store_endpoint we can completely override end point using\npuppet/ansible/terraform or alternatively add and select an entry in catalog.\nFrom my use case, I manage glance servers but not keystone database which is handled by an another team. So in my context deal with this parameter to setup a local haproxy with my existing deployment tool is a bit more flexible.","commit_id":"9a19700cf422a347242d90e551eeb85c73080f64"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"261d6d4ac34a376ec4d5bc46578455c5204c0ca4","unresolved":true,"context_lines":[{"line_number":156,"context_line":"        if self.store.auth_version \u003d\u003d \u00273\u0027:"},{"line_number":157,"context_line":"            try:"},{"line_number":158,"context_line":"                return self.client.session.get_endpoint("},{"line_number":159,"context_line":"                    service_type\u003dself.store.service_type,"},{"line_number":160,"context_line":"                    interface\u003dself.store.endpoint_type,"},{"line_number":161,"context_line":"                    region_name\u003dself.store.region"},{"line_number":162,"context_line":"                )"}],"source_content_type":"text/x-python","patch_set":2,"id":"282d58b8_2aa5b563","line":159,"range":{"start_line":159,"start_character":44,"end_line":159,"end_character":56},"in_reply_to":"9b598484_83a37709","updated":"2021-02-23 23:13:55.000000000","message":"I wouldn\u0027t doubt it, I think we\u0027ve got lots of direct url legacy in a lot of projects. I\u0027m not saying we shouldn\u0027t do this, but since it\u0027s proposed instead of landed, it seems like it\u0027s probably good to head in the preferred direction instead of adding more legacy, unless there is a good reason.","commit_id":"9a19700cf422a347242d90e551eeb85c73080f64"}],"glance_store/tests/unit/test_swift_store.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"22cdb1d37ebc8373aba46a471ceb40b4a07da33a","unresolved":true,"context_lines":[{"line_number":1535,"context_line":"                         connection.os_options)"},{"line_number":1536,"context_line":""},{"line_number":1537,"context_line":"    @mock.patch(\"glance_store._drivers.swift.store.ks_client\")"},{"line_number":1538,"context_line":"    def test_connection_manager_with_conf_endpoint_authv3(self, mock_client):"},{"line_number":1539,"context_line":"        ctx \u003d mock.MagicMock(user\u003d\u0027tenant:user1\u0027, tenant\u003d\u0027tenant\u0027)"},{"line_number":1540,"context_line":"        self.config(swift_store_endpoint\u003d\u0027https://internal.com\u0027,"},{"line_number":1541,"context_line":"                    swift_store_auth_version\u003d\u00273\u0027)"},{"line_number":1542,"context_line":"        self.store.configure()"},{"line_number":1543,"context_line":"        connection_manager \u003d manager.SingleTenantConnectionManager("},{"line_number":1544,"context_line":"            store\u003dself.store,"},{"line_number":1545,"context_line":"            store_location\u003dself.location,"},{"line_number":1546,"context_line":"            context\u003dctx"},{"line_number":1547,"context_line":"        )"},{"line_number":1548,"context_line":"        conn \u003d connection_manager._init_connection()"},{"line_number":1549,"context_line":"        self.assertEqual(\u0027https://internal.com\u0027, conn.preauthurl)"},{"line_number":1550,"context_line":""},{"line_number":1551,"context_line":"    def test_connection_with_no_trailing_slash(self):"},{"line_number":1552,"context_line":"        self.location.auth_or_store_url \u003d \u0027example.com/v2\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"8dabaf13_86879fc0","line":1549,"range":{"start_line":1538,"start_character":4,"end_line":1549,"end_character":65},"updated":"2021-02-23 14:23:18.000000000","message":"Can we also have one test where the config param swift_store_endpoint is not set?","commit_id":"9a19700cf422a347242d90e551eeb85c73080f64"},{"author":{"_account_id":28332,"name":"Alexandre arents","email":"alexandre.arents@corp.ovh.com","username":"aarents"},"change_message_id":"21e3db07d1f720b58ef6095bd973cdbe4149b687","unresolved":false,"context_lines":[{"line_number":1535,"context_line":"                         connection.os_options)"},{"line_number":1536,"context_line":""},{"line_number":1537,"context_line":"    @mock.patch(\"glance_store._drivers.swift.store.ks_client\")"},{"line_number":1538,"context_line":"    def test_connection_manager_with_conf_endpoint_authv3(self, mock_client):"},{"line_number":1539,"context_line":"        ctx \u003d mock.MagicMock(user\u003d\u0027tenant:user1\u0027, tenant\u003d\u0027tenant\u0027)"},{"line_number":1540,"context_line":"        self.config(swift_store_endpoint\u003d\u0027https://internal.com\u0027,"},{"line_number":1541,"context_line":"                    swift_store_auth_version\u003d\u00273\u0027)"},{"line_number":1542,"context_line":"        self.store.configure()"},{"line_number":1543,"context_line":"        connection_manager \u003d manager.SingleTenantConnectionManager("},{"line_number":1544,"context_line":"            store\u003dself.store,"},{"line_number":1545,"context_line":"            store_location\u003dself.location,"},{"line_number":1546,"context_line":"            context\u003dctx"},{"line_number":1547,"context_line":"        )"},{"line_number":1548,"context_line":"        conn \u003d connection_manager._init_connection()"},{"line_number":1549,"context_line":"        self.assertEqual(\u0027https://internal.com\u0027, conn.preauthurl)"},{"line_number":1550,"context_line":""},{"line_number":1551,"context_line":"    def test_connection_with_no_trailing_slash(self):"},{"line_number":1552,"context_line":"        self.location.auth_or_store_url \u003d \u0027example.com/v2\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"aa9eb1a8_09b48465","line":1549,"range":{"start_line":1538,"start_character":4,"end_line":1549,"end_character":65},"in_reply_to":"8dabaf13_86879fc0","updated":"2021-03-01 16:09:20.000000000","message":"Yes, I added one","commit_id":"9a19700cf422a347242d90e551eeb85c73080f64"}]}
