)]}'
{"manila_tempest_tests/services/share/v2/json/shares_client.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"da10eb5812db11978a97b471b09be4508b4e328f","unresolved":false,"context_lines":[{"line_number":2071,"context_line":""},{"line_number":2072,"context_line":"###############"},{"line_number":2073,"context_line":""},{"line_number":2074,"context_line":"    def create_share_network(self, neutron_net_id\u003dNone, neutron_subnet_id\u003dNone,"},{"line_number":2075,"context_line":"                             name\u003dNone, description\u003dNone,"},{"line_number":2076,"context_line":"                             availability_zone\u003dNone):"},{"line_number":2077,"context_line":"        values \u003d {}"},{"line_number":2078,"context_line":"        if neutron_net_id:"},{"line_number":2079,"context_line":"            values[\u0027neutron_net_id\u0027] \u003d neutron_net_id"},{"line_number":2080,"context_line":"        if neutron_subnet_id:"},{"line_number":2081,"context_line":"            values[\u0027neutron_subnet_id\u0027] \u003d neutron_subnet_id"},{"line_number":2082,"context_line":"        if name:"},{"line_number":2083,"context_line":"            values[\u0027name\u0027] \u003d name"},{"line_number":2084,"context_line":"        if description:"},{"line_number":2085,"context_line":"            values[\u0027description\u0027] \u003d description"},{"line_number":2086,"context_line":"        if availability_zone:"},{"line_number":2087,"context_line":"            values[\u0027availability_zone\u0027] \u003d availability_zone"},{"line_number":2088,"context_line":""},{"line_number":2089,"context_line":"        body \u003d json.dumps({\u0027share_network\u0027: values})"},{"line_number":2090,"context_line":"        url \u003d \u0027/share-networks\u0027"},{"line_number":2091,"context_line":"        resp, body \u003d self.post(url, body, version\u003dLATEST_MICROVERSION)"},{"line_number":2092,"context_line":"        return self._parse_resp(body)"},{"line_number":2093,"context_line":""},{"line_number":2094,"context_line":"    def create_subnet("},{"line_number":2095,"context_line":"            self, share_network_id, availability_zone\u003dNone,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_9a8117ff","line":2092,"range":{"start_line":2074,"start_character":0,"end_line":2092,"end_character":37},"updated":"2020-09-17 17:48:25.000000000","message":"is this necessary? the v1 shares_client accepts kwargs..","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"e930e5d4c987b9d6529b01f6a3be27b6412293b4","unresolved":false,"context_lines":[{"line_number":2071,"context_line":""},{"line_number":2072,"context_line":"###############"},{"line_number":2073,"context_line":""},{"line_number":2074,"context_line":"    def create_share_network(self, neutron_net_id\u003dNone, neutron_subnet_id\u003dNone,"},{"line_number":2075,"context_line":"                             name\u003dNone, description\u003dNone,"},{"line_number":2076,"context_line":"                             availability_zone\u003dNone):"},{"line_number":2077,"context_line":"        values \u003d {}"},{"line_number":2078,"context_line":"        if neutron_net_id:"},{"line_number":2079,"context_line":"            values[\u0027neutron_net_id\u0027] \u003d neutron_net_id"},{"line_number":2080,"context_line":"        if neutron_subnet_id:"},{"line_number":2081,"context_line":"            values[\u0027neutron_subnet_id\u0027] \u003d neutron_subnet_id"},{"line_number":2082,"context_line":"        if name:"},{"line_number":2083,"context_line":"            values[\u0027name\u0027] \u003d name"},{"line_number":2084,"context_line":"        if description:"},{"line_number":2085,"context_line":"            values[\u0027description\u0027] \u003d description"},{"line_number":2086,"context_line":"        if availability_zone:"},{"line_number":2087,"context_line":"            values[\u0027availability_zone\u0027] \u003d availability_zone"},{"line_number":2088,"context_line":""},{"line_number":2089,"context_line":"        body \u003d json.dumps({\u0027share_network\u0027: values})"},{"line_number":2090,"context_line":"        url \u003d \u0027/share-networks\u0027"},{"line_number":2091,"context_line":"        resp, body \u003d self.post(url, body, version\u003dLATEST_MICROVERSION)"},{"line_number":2092,"context_line":"        return self._parse_resp(body)"},{"line_number":2093,"context_line":""},{"line_number":2094,"context_line":"    def create_subnet("},{"line_number":2095,"context_line":"            self, share_network_id, availability_zone\u003dNone,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_e4522cde","line":2092,"range":{"start_line":2074,"start_character":0,"end_line":2092,"end_character":37},"in_reply_to":"9f560f44_9a14724f","updated":"2020-09-18 12:49:20.000000000","message":"Now I see the problem. We can reuse the v1 call! I will remove this in the PS2.","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"3d487306c02d7fccfd83baec6d92fef7634cd9df","unresolved":false,"context_lines":[{"line_number":2071,"context_line":""},{"line_number":2072,"context_line":"###############"},{"line_number":2073,"context_line":""},{"line_number":2074,"context_line":"    def create_share_network(self, neutron_net_id\u003dNone, neutron_subnet_id\u003dNone,"},{"line_number":2075,"context_line":"                             name\u003dNone, description\u003dNone,"},{"line_number":2076,"context_line":"                             availability_zone\u003dNone):"},{"line_number":2077,"context_line":"        values \u003d {}"},{"line_number":2078,"context_line":"        if neutron_net_id:"},{"line_number":2079,"context_line":"            values[\u0027neutron_net_id\u0027] \u003d neutron_net_id"},{"line_number":2080,"context_line":"        if neutron_subnet_id:"},{"line_number":2081,"context_line":"            values[\u0027neutron_subnet_id\u0027] \u003d neutron_subnet_id"},{"line_number":2082,"context_line":"        if name:"},{"line_number":2083,"context_line":"            values[\u0027name\u0027] \u003d name"},{"line_number":2084,"context_line":"        if description:"},{"line_number":2085,"context_line":"            values[\u0027description\u0027] \u003d description"},{"line_number":2086,"context_line":"        if availability_zone:"},{"line_number":2087,"context_line":"            values[\u0027availability_zone\u0027] \u003d availability_zone"},{"line_number":2088,"context_line":""},{"line_number":2089,"context_line":"        body \u003d json.dumps({\u0027share_network\u0027: values})"},{"line_number":2090,"context_line":"        url \u003d \u0027/share-networks\u0027"},{"line_number":2091,"context_line":"        resp, body \u003d self.post(url, body, version\u003dLATEST_MICROVERSION)"},{"line_number":2092,"context_line":"        return self._parse_resp(body)"},{"line_number":2093,"context_line":""},{"line_number":2094,"context_line":"    def create_subnet("},{"line_number":2095,"context_line":"            self, share_network_id, availability_zone\u003dNone,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_abfbef45","line":2092,"range":{"start_line":2074,"start_character":0,"end_line":2092,"end_character":37},"in_reply_to":"9f560f44_9a8117ff","updated":"2020-09-17 20:07:43.000000000","message":"Hi Goutham, I tested passing the az using the v1 shares_client and got an error!","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"843aa148ed92d925dcc9ff9812b4aecc4e011b3e","unresolved":false,"context_lines":[{"line_number":2071,"context_line":""},{"line_number":2072,"context_line":"###############"},{"line_number":2073,"context_line":""},{"line_number":2074,"context_line":"    def create_share_network(self, neutron_net_id\u003dNone, neutron_subnet_id\u003dNone,"},{"line_number":2075,"context_line":"                             name\u003dNone, description\u003dNone,"},{"line_number":2076,"context_line":"                             availability_zone\u003dNone):"},{"line_number":2077,"context_line":"        values \u003d {}"},{"line_number":2078,"context_line":"        if neutron_net_id:"},{"line_number":2079,"context_line":"            values[\u0027neutron_net_id\u0027] \u003d neutron_net_id"},{"line_number":2080,"context_line":"        if neutron_subnet_id:"},{"line_number":2081,"context_line":"            values[\u0027neutron_subnet_id\u0027] \u003d neutron_subnet_id"},{"line_number":2082,"context_line":"        if name:"},{"line_number":2083,"context_line":"            values[\u0027name\u0027] \u003d name"},{"line_number":2084,"context_line":"        if description:"},{"line_number":2085,"context_line":"            values[\u0027description\u0027] \u003d description"},{"line_number":2086,"context_line":"        if availability_zone:"},{"line_number":2087,"context_line":"            values[\u0027availability_zone\u0027] \u003d availability_zone"},{"line_number":2088,"context_line":""},{"line_number":2089,"context_line":"        body \u003d json.dumps({\u0027share_network\u0027: values})"},{"line_number":2090,"context_line":"        url \u003d \u0027/share-networks\u0027"},{"line_number":2091,"context_line":"        resp, body \u003d self.post(url, body, version\u003dLATEST_MICROVERSION)"},{"line_number":2092,"context_line":"        return self._parse_resp(body)"},{"line_number":2093,"context_line":""},{"line_number":2094,"context_line":"    def create_subnet("},{"line_number":2095,"context_line":"            self, share_network_id, availability_zone\u003dNone,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_9a14724f","line":2092,"range":{"start_line":2074,"start_character":0,"end_line":2092,"end_character":37},"in_reply_to":"9f560f44_abfbef45","updated":"2020-09-17 22:16:53.000000000","message":"oh, I see, perhaps then match the function definition from there?","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"}],"manila_tempest_tests/tests/api/admin/test_share_networks.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"da10eb5812db11978a97b471b09be4508b4e328f","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        cls.sn_with_kerberos_ss \u003d ("},{"line_number":70,"context_line":"            cls.create_share_network("},{"line_number":71,"context_line":"                client\u003dcls.alt_shares_client, cleanup_in_class\u003dTrue,"},{"line_number":72,"context_line":"                **cls.data_sn_with_kerberos_ss)"},{"line_number":73,"context_line":"        )"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_3a60cba4","line":71,"range":{"start_line":71,"start_character":15,"end_line":71,"end_character":45},"updated":"2020-09-17 17:48:25.000000000","message":"why is this change necessary?","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"e930e5d4c987b9d6529b01f6a3be27b6412293b4","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        cls.sn_with_kerberos_ss \u003d ("},{"line_number":70,"context_line":"            cls.create_share_network("},{"line_number":71,"context_line":"                client\u003dcls.alt_shares_client, cleanup_in_class\u003dTrue,"},{"line_number":72,"context_line":"                **cls.data_sn_with_kerberos_ss)"},{"line_number":73,"context_line":"        )"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_245ee4e8","line":71,"range":{"start_line":71,"start_character":15,"end_line":71,"end_character":45},"in_reply_to":"9f560f44_1d5cdc17","updated":"2020-09-18 12:49:20.000000000","message":"I rollback this change also.","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"3d487306c02d7fccfd83baec6d92fef7634cd9df","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        cls.sn_with_kerberos_ss \u003d ("},{"line_number":70,"context_line":"            cls.create_share_network("},{"line_number":71,"context_line":"                client\u003dcls.alt_shares_client, cleanup_in_class\u003dTrue,"},{"line_number":72,"context_line":"                **cls.data_sn_with_kerberos_ss)"},{"line_number":73,"context_line":"        )"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_8b9c2b0f","line":71,"range":{"start_line":71,"start_character":15,"end_line":71,"end_character":45},"in_reply_to":"9f560f44_3a60cba4","updated":"2020-09-17 20:07:43.000000000","message":"After added the create share network for shares_client v2, this class and the other one broke. The method in those classes was calling the alt_shares_client directly, which means the cleanup_in_class is not recognized since it is a parameter for the create share network in the base. The solution here explicitly called the base method passing the client as an parameter.","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"843aa148ed92d925dcc9ff9812b4aecc4e011b3e","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        cls.sn_with_kerberos_ss \u003d ("},{"line_number":70,"context_line":"            cls.create_share_network("},{"line_number":71,"context_line":"                client\u003dcls.alt_shares_client, cleanup_in_class\u003dTrue,"},{"line_number":72,"context_line":"                **cls.data_sn_with_kerberos_ss)"},{"line_number":73,"context_line":"        )"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_1d5cdc17","line":71,"range":{"start_line":71,"start_character":15,"end_line":71,"end_character":45},"in_reply_to":"9f560f44_8b9c2b0f","updated":"2020-09-17 22:16:53.000000000","message":"I see, thanks for pointing that out - perhaps stick with cls.alt_shares_v2_client then, instead of v1, since that\u0027s what is used in the other API calls","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"}],"manila_tempest_tests/tests/api/admin/test_share_servers_migration.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"da10eb5812db11978a97b471b09be4508b4e328f","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        elif self.protocol \u003d\u003d \u0027nfs\u0027:"},{"line_number":157,"context_line":"            expected_rules \u003d [{"},{"line_number":158,"context_line":"                \u0027state\u0027: constants.RULE_STATE_ACTIVE,"},{"line_number":159,"context_line":"                \u0027access_to\u0027: \u002750.50.50.50\u0027,"},{"line_number":160,"context_line":"                \u0027access_type\u0027: \u0027ip\u0027,"},{"line_number":161,"context_line":"                \u0027access_level\u0027: \u0027rw\u0027,"},{"line_number":162,"context_line":"            }, {"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_8596dc3d","line":159,"range":{"start_line":159,"start_character":29,"end_line":159,"end_character":43},"updated":"2020-09-17 17:48:25.000000000","message":"use non routable IPs:\n utils.rand_ip()\nor \n utils.rand_ip(network\u003dTrue)","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"3d487306c02d7fccfd83baec6d92fef7634cd9df","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        elif self.protocol \u003d\u003d \u0027nfs\u0027:"},{"line_number":157,"context_line":"            expected_rules \u003d [{"},{"line_number":158,"context_line":"                \u0027state\u0027: constants.RULE_STATE_ACTIVE,"},{"line_number":159,"context_line":"                \u0027access_to\u0027: \u002750.50.50.50\u0027,"},{"line_number":160,"context_line":"                \u0027access_type\u0027: \u0027ip\u0027,"},{"line_number":161,"context_line":"                \u0027access_level\u0027: \u0027rw\u0027,"},{"line_number":162,"context_line":"            }, {"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_cbae232e","line":159,"range":{"start_line":159,"start_character":29,"end_line":159,"end_character":43},"in_reply_to":"9f560f44_8596dc3d","updated":"2020-09-17 20:07:43.000000000","message":"We have a small issue here, I am not sure the better option to do that. If you see we are creating those IPs in the method _get_access_rule_data_for_protocols and after the migration complete we are validating if the access rules stay with the same IPs. If we add a random IP for that it\u0027s more difficult to check if they stay the same or not. What do you think?","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"e930e5d4c987b9d6529b01f6a3be27b6412293b4","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        elif self.protocol \u003d\u003d \u0027nfs\u0027:"},{"line_number":157,"context_line":"            expected_rules \u003d [{"},{"line_number":158,"context_line":"                \u0027state\u0027: constants.RULE_STATE_ACTIVE,"},{"line_number":159,"context_line":"                \u0027access_to\u0027: \u002750.50.50.50\u0027,"},{"line_number":160,"context_line":"                \u0027access_type\u0027: \u0027ip\u0027,"},{"line_number":161,"context_line":"                \u0027access_level\u0027: \u0027rw\u0027,"},{"line_number":162,"context_line":"            }, {"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_846c109e","line":159,"range":{"start_line":159,"start_character":29,"end_line":159,"end_character":43},"in_reply_to":"9f560f44_bd06901b","updated":"2020-09-18 12:49:20.000000000","message":"I got it, thanks Goutham!","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"843aa148ed92d925dcc9ff9812b4aecc4e011b3e","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        elif self.protocol \u003d\u003d \u0027nfs\u0027:"},{"line_number":157,"context_line":"            expected_rules \u003d [{"},{"line_number":158,"context_line":"                \u0027state\u0027: constants.RULE_STATE_ACTIVE,"},{"line_number":159,"context_line":"                \u0027access_to\u0027: \u002750.50.50.50\u0027,"},{"line_number":160,"context_line":"                \u0027access_type\u0027: \u0027ip\u0027,"},{"line_number":161,"context_line":"                \u0027access_level\u0027: \u0027rw\u0027,"},{"line_number":162,"context_line":"            }, {"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_bd06901b","line":159,"range":{"start_line":159,"start_character":29,"end_line":159,"end_character":43},"in_reply_to":"9f560f44_cbae232e","updated":"2020-09-17 22:16:53.000000000","message":"save the random IPs you generate perhaps? \n\nWe used to use such routable IPs in the past - you\u0027ll still see them in the other tests; we started using non-routable IPs in new tests - just as a best practice measure.","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"da10eb5812db11978a97b471b09be4508b4e328f","unresolved":false,"context_lines":[{"line_number":161,"context_line":"                \u0027access_level\u0027: \u0027rw\u0027,"},{"line_number":162,"context_line":"            }, {"},{"line_number":163,"context_line":"                \u0027state\u0027: constants.RULE_STATE_ACTIVE,"},{"line_number":164,"context_line":"                \u0027access_to\u0027: \u002751.51.51.51\u0027,"},{"line_number":165,"context_line":"                \u0027access_type\u0027: \u0027ip\u0027,"},{"line_number":166,"context_line":"                \u0027access_level\u0027: \u0027ro\u0027,"},{"line_number":167,"context_line":"            }]"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_a59a005d","line":164,"range":{"start_line":164,"start_character":17,"end_line":164,"end_character":43},"updated":"2020-09-17 17:48:25.000000000","message":"same","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"3d487306c02d7fccfd83baec6d92fef7634cd9df","unresolved":false,"context_lines":[{"line_number":161,"context_line":"                \u0027access_level\u0027: \u0027rw\u0027,"},{"line_number":162,"context_line":"            }, {"},{"line_number":163,"context_line":"                \u0027state\u0027: constants.RULE_STATE_ACTIVE,"},{"line_number":164,"context_line":"                \u0027access_to\u0027: \u002751.51.51.51\u0027,"},{"line_number":165,"context_line":"                \u0027access_type\u0027: \u0027ip\u0027,"},{"line_number":166,"context_line":"                \u0027access_level\u0027: \u0027ro\u0027,"},{"line_number":167,"context_line":"            }]"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_66a58e03","line":164,"range":{"start_line":164,"start_character":17,"end_line":164,"end_character":43},"in_reply_to":"9f560f44_a59a005d","updated":"2020-09-17 20:07:43.000000000","message":"same as above.","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"da10eb5812db11978a97b471b09be4508b4e328f","unresolved":false,"context_lines":[{"line_number":354,"context_line":""},{"line_number":355,"context_line":"        # It\u0027s necessary wait for the migration success state and"},{"line_number":356,"context_line":"        # active status."},{"line_number":357,"context_line":"        expected_status \u003d constants.SERVER_STATE_INACTIVE"},{"line_number":358,"context_line":"        self.shares_v2_client.wait_for_share_server_status("},{"line_number":359,"context_line":"            src_server_id, expected_status)"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"        # Validate the share server migration complete."},{"line_number":362,"context_line":"        share \u003d self.shares_v2_client.get_share(share[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_e5bd18b2","line":359,"range":{"start_line":357,"start_character":0,"end_line":359,"end_character":43},"updated":"2020-09-17 17:48:25.000000000","message":"Can this potentially be racy?\n\nWe need to agree upon how to actually check for migration completion - if its by status of a resource, it has the potential of getting deleted as soon as it\u0027s set to inactive - so we should account for that.","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"843aa148ed92d925dcc9ff9812b4aecc4e011b3e","unresolved":false,"context_lines":[{"line_number":354,"context_line":""},{"line_number":355,"context_line":"        # It\u0027s necessary wait for the migration success state and"},{"line_number":356,"context_line":"        # active status."},{"line_number":357,"context_line":"        expected_status \u003d constants.SERVER_STATE_INACTIVE"},{"line_number":358,"context_line":"        self.shares_v2_client.wait_for_share_server_status("},{"line_number":359,"context_line":"            src_server_id, expected_status)"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"        # Validate the share server migration complete."},{"line_number":362,"context_line":"        share \u003d self.shares_v2_client.get_share(share[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_dd3384f6","line":359,"range":{"start_line":357,"start_character":0,"end_line":359,"end_character":43},"in_reply_to":"9f560f44_86542200","updated":"2020-09-17 22:16:53.000000000","message":"+1 on checking the destination - sort of why we added the destination_share_server_id to migration_get_progress and migration_complete APIs.","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"e930e5d4c987b9d6529b01f6a3be27b6412293b4","unresolved":false,"context_lines":[{"line_number":354,"context_line":""},{"line_number":355,"context_line":"        # It\u0027s necessary wait for the migration success state and"},{"line_number":356,"context_line":"        # active status."},{"line_number":357,"context_line":"        expected_status \u003d constants.SERVER_STATE_INACTIVE"},{"line_number":358,"context_line":"        self.shares_v2_client.wait_for_share_server_status("},{"line_number":359,"context_line":"            src_server_id, expected_status)"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"        # Validate the share server migration complete."},{"line_number":362,"context_line":"        share \u003d self.shares_v2_client.get_share(share[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_e46b4c82","line":359,"range":{"start_line":357,"start_character":0,"end_line":359,"end_character":43},"in_reply_to":"9f560f44_dd3384f6","updated":"2020-09-18 12:49:20.000000000","message":"Done","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"3d487306c02d7fccfd83baec6d92fef7634cd9df","unresolved":false,"context_lines":[{"line_number":354,"context_line":""},{"line_number":355,"context_line":"        # It\u0027s necessary wait for the migration success state and"},{"line_number":356,"context_line":"        # active status."},{"line_number":357,"context_line":"        expected_status \u003d constants.SERVER_STATE_INACTIVE"},{"line_number":358,"context_line":"        self.shares_v2_client.wait_for_share_server_status("},{"line_number":359,"context_line":"            src_server_id, expected_status)"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"        # Validate the share server migration complete."},{"line_number":362,"context_line":"        share \u003d self.shares_v2_client.get_share(share[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_86542200","line":359,"range":{"start_line":357,"start_character":0,"end_line":359,"end_character":43},"in_reply_to":"9f560f44_e5bd18b2","updated":"2020-09-17 20:07:43.000000000","message":"Probably yes, we can wait for the destination share server to be ACTIVE instead of the source. After that we can get the source share server if we have it check the INACTIVE status, otherwise continue. What do you think?","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4e9e652db4d824db7833e2d89480ac0106da62e1","unresolved":false,"context_lines":[{"line_number":362,"context_line":"            dest_server_id, expected_status)"},{"line_number":363,"context_line":""},{"line_number":364,"context_line":"        # Check if the source server went to inactive status if it exists."},{"line_number":365,"context_line":"        src_server \u003d self.shares_v2_client.show_share_server(src_server_id)"},{"line_number":366,"context_line":"        if src_server:"},{"line_number":367,"context_line":"            self.assertEqual("},{"line_number":368,"context_line":"                src_server[\u0027status\u0027], constants.SERVER_STATE_INACTIVE)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_ba74c4ff","line":365,"range":{"start_line":365,"start_character":21,"end_line":365,"end_character":75},"updated":"2020-09-18 19:12:16.000000000","message":"you\u0027ll need try...except exceptions.NotFound","commit_id":"2a79eb495f7099bc82734f38a6c07502a6f0f315"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0afd6ad4e48cea693bf46258b194942fe04b333b","unresolved":false,"context_lines":[{"line_number":365,"context_line":"        try:"},{"line_number":366,"context_line":"            src_server \u003d self.shares_v2_client.show_share_server(src_server_id)"},{"line_number":367,"context_line":"        except exceptions.NotFound:"},{"line_number":368,"context_line":"            pass"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"        if src_server:"},{"line_number":371,"context_line":"            self.assertEqual("}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_d09fbd62","line":368,"range":{"start_line":368,"start_character":12,"end_line":368,"end_character":16},"updated":"2020-09-21 21:32:57.000000000","message":"src_server \u003d None\n\nto prevent \"NameError\" exception on line 370","commit_id":"2ca8fd78891e690e0d1f1a9ef97574cd26da5688"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"fee8b817c2ef3675121226619dd9ede3af8e4761","unresolved":false,"context_lines":[{"line_number":365,"context_line":"        try:"},{"line_number":366,"context_line":"            src_server \u003d self.shares_v2_client.show_share_server(src_server_id)"},{"line_number":367,"context_line":"        except exceptions.NotFound:"},{"line_number":368,"context_line":"            pass"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"        if src_server:"},{"line_number":371,"context_line":"            self.assertEqual("}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_73c4ee92","line":368,"range":{"start_line":368,"start_character":12,"end_line":368,"end_character":16},"in_reply_to":"9f560f44_d09fbd62","updated":"2020-09-22 12:53:54.000000000","message":"Done","commit_id":"2ca8fd78891e690e0d1f1a9ef97574cd26da5688"}],"manila_tempest_tests/tests/api/admin/test_share_servers_migration_negative.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"da10eb5812db11978a97b471b09be4508b4e328f","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        cls.fake_host \u003d \u0027fake_host@fake_backend\u0027"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @decorators.idempotent_id(\u00271be6ec2a-3118-4033-9cdb-ea6d199d97f4\u0027)"},{"line_number":67,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":68,"context_line":"    def test_share_server_invalid_server_migration_check(self):"},{"line_number":69,"context_line":"        \"\"\"Not found share server in migration check.\"\"\""},{"line_number":70,"context_line":"        self.assertRaises(lib_exc.NotFound,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_6500e867","line":67,"range":{"start_line":67,"start_character":37,"end_line":67,"end_character":57},"updated":"2020-09-17 17:48:25.000000000","message":"TAG_API","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"3d487306c02d7fccfd83baec6d92fef7634cd9df","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        cls.fake_host \u003d \u0027fake_host@fake_backend\u0027"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @decorators.idempotent_id(\u00271be6ec2a-3118-4033-9cdb-ea6d199d97f4\u0027)"},{"line_number":67,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":68,"context_line":"    def test_share_server_invalid_server_migration_check(self):"},{"line_number":69,"context_line":"        \"\"\"Not found share server in migration check.\"\"\""},{"line_number":70,"context_line":"        self.assertRaises(lib_exc.NotFound,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_46984acb","line":67,"range":{"start_line":67,"start_character":37,"end_line":67,"end_character":57},"in_reply_to":"9f560f44_6500e867","updated":"2020-09-17 20:07:43.000000000","message":"I will address it in the next PS.","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"da10eb5812db11978a97b471b09be4508b4e328f","unresolved":false,"context_lines":[{"line_number":108,"context_line":"            self.fake_server_id)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    @decorators.idempotent_id(\u00272d25cf84-0b5c-4a9f-ae20-9bec09bb6914\u0027)"},{"line_number":111,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API)"},{"line_number":112,"context_line":"    def test_share_server_invalid_host_migration_start(self):"},{"line_number":113,"context_line":"        \"\"\"Invalid host in migration start.\"\"\""},{"line_number":114,"context_line":"        share \u003d self.create_share("}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_a5f16099","line":111,"range":{"start_line":111,"start_character":37,"end_line":111,"end_character":44},"updated":"2020-09-17 17:48:25.000000000","message":"TAG_API_WITH_BACKEND","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"3d487306c02d7fccfd83baec6d92fef7634cd9df","unresolved":false,"context_lines":[{"line_number":108,"context_line":"            self.fake_server_id)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    @decorators.idempotent_id(\u00272d25cf84-0b5c-4a9f-ae20-9bec09bb6914\u0027)"},{"line_number":111,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API)"},{"line_number":112,"context_line":"    def test_share_server_invalid_host_migration_start(self):"},{"line_number":113,"context_line":"        \"\"\"Invalid host in migration start.\"\"\""},{"line_number":114,"context_line":"        share \u003d self.create_share("}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_e6423e3b","line":111,"range":{"start_line":111,"start_character":37,"end_line":111,"end_character":44},"in_reply_to":"9f560f44_a5f16099","updated":"2020-09-17 20:07:43.000000000","message":"I will address it in the next PS.","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"da10eb5812db11978a97b471b09be4508b4e328f","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                          self.fake_host)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    @decorators.idempotent_id(\u0027e7e2c19c-a0ed-41ab-b666-b2beae4a690c\u0027)"},{"line_number":125,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API)"},{"line_number":126,"context_line":"    def test_share_server_invalid_host_migration_check(self):"},{"line_number":127,"context_line":"        \"\"\"Invalid host in migration check.\"\"\""},{"line_number":128,"context_line":"        share \u003d self.create_share("}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_452844ed","line":125,"range":{"start_line":125,"start_character":37,"end_line":125,"end_character":44},"updated":"2020-09-17 17:48:25.000000000","message":"TAG_API_WITH_BACKEND","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"3d487306c02d7fccfd83baec6d92fef7634cd9df","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                          self.fake_host)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    @decorators.idempotent_id(\u0027e7e2c19c-a0ed-41ab-b666-b2beae4a690c\u0027)"},{"line_number":125,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API)"},{"line_number":126,"context_line":"    def test_share_server_invalid_host_migration_check(self):"},{"line_number":127,"context_line":"        \"\"\"Invalid host in migration check.\"\"\""},{"line_number":128,"context_line":"        share \u003d self.create_share("}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_46732ab5","line":125,"range":{"start_line":125,"start_character":37,"end_line":125,"end_character":44},"in_reply_to":"9f560f44_452844ed","updated":"2020-09-17 20:07:43.000000000","message":"I will address it in the next PS.","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"da10eb5812db11978a97b471b09be4508b4e328f","unresolved":false,"context_lines":[{"line_number":136,"context_line":"                          self.fake_host)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    @decorators.idempotent_id(\u0027f0d7a055-3b46-4d2b-9b96-1d719bd323e8\u0027)"},{"line_number":139,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API)"},{"line_number":140,"context_line":"    def test_share_server_invalid_share_network_migration_start(self):"},{"line_number":141,"context_line":"        \"\"\"Invalid host in migration start.\"\"\""},{"line_number":142,"context_line":"        share \u003d self.create_share("}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_c53bb436","line":139,"range":{"start_line":139,"start_character":37,"end_line":139,"end_character":44},"updated":"2020-09-17 17:48:25.000000000","message":"TAG_API_WITH_BACKEND","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"3d487306c02d7fccfd83baec6d92fef7634cd9df","unresolved":false,"context_lines":[{"line_number":136,"context_line":"                          self.fake_host)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    @decorators.idempotent_id(\u0027f0d7a055-3b46-4d2b-9b96-1d719bd323e8\u0027)"},{"line_number":139,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API)"},{"line_number":140,"context_line":"    def test_share_server_invalid_share_network_migration_start(self):"},{"line_number":141,"context_line":"        \"\"\"Invalid host in migration start.\"\"\""},{"line_number":142,"context_line":"        share \u003d self.create_share("}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_866d42ce","line":139,"range":{"start_line":139,"start_character":37,"end_line":139,"end_character":44},"in_reply_to":"9f560f44_c53bb436","updated":"2020-09-17 20:07:43.000000000","message":"I will address it in the next PS.","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"da10eb5812db11978a97b471b09be4508b4e328f","unresolved":false,"context_lines":[{"line_number":153,"context_line":"                          new_share_network_id\u003d\u0027fake_share_net_id\u0027)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    @decorators.idempotent_id(\u00272617e714-7a8e-49a4-8109-beab3ea6527f\u0027)"},{"line_number":156,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API)"},{"line_number":157,"context_line":"    def test_share_server_invalid_share_network_migration_check(self):"},{"line_number":158,"context_line":"        \"\"\"Invalid host in migration check.\"\"\""},{"line_number":159,"context_line":"        share \u003d self.create_share("}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_a536804e","line":156,"range":{"start_line":156,"start_character":37,"end_line":156,"end_character":44},"updated":"2020-09-17 17:48:25.000000000","message":"TAG_API_WITH_BACKEND","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"3d487306c02d7fccfd83baec6d92fef7634cd9df","unresolved":false,"context_lines":[{"line_number":153,"context_line":"                          new_share_network_id\u003d\u0027fake_share_net_id\u0027)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    @decorators.idempotent_id(\u00272617e714-7a8e-49a4-8109-beab3ea6527f\u0027)"},{"line_number":156,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API)"},{"line_number":157,"context_line":"    def test_share_server_invalid_share_network_migration_check(self):"},{"line_number":158,"context_line":"        \"\"\"Invalid host in migration check.\"\"\""},{"line_number":159,"context_line":"        share \u003d self.create_share("}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_6670eea5","line":156,"range":{"start_line":156,"start_character":37,"end_line":156,"end_character":44},"in_reply_to":"9f560f44_a536804e","updated":"2020-09-17 20:07:43.000000000","message":"I will address it in the next PS.","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"da10eb5812db11978a97b471b09be4508b4e328f","unresolved":false,"context_lines":[{"line_number":298,"context_line":"        azs \u003d self.get_availability_zones()"},{"line_number":299,"context_line":"        if len(azs) \u003c 2:"},{"line_number":300,"context_line":"            raise self.skipException("},{"line_number":301,"context_line":"                \"Could not find the necessary azs. At least two azs are \""},{"line_number":302,"context_line":"                \"needed to run the tests to share server migration.\")"},{"line_number":303,"context_line":"        dest_host_az \u003d self.get_availability_zones(backends\u003d[dest_host])"},{"line_number":304,"context_line":"        if dest_host_az[0] !\u003d share[\u0027availability_zone\u0027]:"},{"line_number":305,"context_line":"            share_network_az \u003d share[\u0027availability_zone\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_859c1c0f","line":302,"range":{"start_line":301,"start_character":17,"end_line":302,"end_character":68},"updated":"2020-09-17 17:48:25.000000000","message":"not really, right? two backends can be in the same AZ? You can\u0027t run only this test..","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"3d487306c02d7fccfd83baec6d92fef7634cd9df","unresolved":false,"context_lines":[{"line_number":298,"context_line":"        azs \u003d self.get_availability_zones()"},{"line_number":299,"context_line":"        if len(azs) \u003c 2:"},{"line_number":300,"context_line":"            raise self.skipException("},{"line_number":301,"context_line":"                \"Could not find the necessary azs. At least two azs are \""},{"line_number":302,"context_line":"                \"needed to run the tests to share server migration.\")"},{"line_number":303,"context_line":"        dest_host_az \u003d self.get_availability_zones(backends\u003d[dest_host])"},{"line_number":304,"context_line":"        if dest_host_az[0] !\u003d share[\u0027availability_zone\u0027]:"},{"line_number":305,"context_line":"            share_network_az \u003d share[\u0027availability_zone\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_c6661aef","line":302,"range":{"start_line":301,"start_character":17,"end_line":302,"end_character":68},"in_reply_to":"9f560f44_859c1c0f","updated":"2020-09-17 20:07:43.000000000","message":"Yes, I will address it in the next PS.","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"da10eb5812db11978a97b471b09be4508b4e328f","unresolved":false,"context_lines":[{"line_number":300,"context_line":"            raise self.skipException("},{"line_number":301,"context_line":"                \"Could not find the necessary azs. At least two azs are \""},{"line_number":302,"context_line":"                \"needed to run the tests to share server migration.\")"},{"line_number":303,"context_line":"        dest_host_az \u003d self.get_availability_zones(backends\u003d[dest_host])"},{"line_number":304,"context_line":"        if dest_host_az[0] !\u003d share[\u0027availability_zone\u0027]:"},{"line_number":305,"context_line":"            share_network_az \u003d share[\u0027availability_zone\u0027]"},{"line_number":306,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_a5a96026","line":303,"range":{"start_line":303,"start_character":7,"end_line":303,"end_character":8},"updated":"2020-09-17 17:48:25.000000000","message":"Can you add a comment here as to why this is necessary, something like:\n\n# We\u0027ll attempt to start a migration to a share network that isn\u0027t available\n# in the destination back end\u0027s availability zone","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"3d487306c02d7fccfd83baec6d92fef7634cd9df","unresolved":false,"context_lines":[{"line_number":300,"context_line":"            raise self.skipException("},{"line_number":301,"context_line":"                \"Could not find the necessary azs. At least two azs are \""},{"line_number":302,"context_line":"                \"needed to run the tests to share server migration.\")"},{"line_number":303,"context_line":"        dest_host_az \u003d self.get_availability_zones(backends\u003d[dest_host])"},{"line_number":304,"context_line":"        if dest_host_az[0] !\u003d share[\u0027availability_zone\u0027]:"},{"line_number":305,"context_line":"            share_network_az \u003d share[\u0027availability_zone\u0027]"},{"line_number":306,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_066132d4","line":303,"range":{"start_line":303,"start_character":7,"end_line":303,"end_character":8},"in_reply_to":"9f560f44_a5a96026","updated":"2020-09-17 20:07:43.000000000","message":"I will address it in the next PS.","commit_id":"c121efd612892c2a5169715d4026ae4057e458ce"}]}
