)]}'
{"tempest/api/compute/admin/test_servers_on_multinodes.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"941986814486d602b7d1c5850ec23bff3899b46d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        return cls.os_admin.servers_client.show_server("},{"line_number":44,"context_line":"            server_id)[\u0027server\u0027][\u0027OS-EXT-SRV-ATTR:host\u0027]"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def _create_server_and_check_server_group(self, group_id, hints, policy):"},{"line_number":47,"context_line":"        reservation_id \u003d self.create_test_server("},{"line_number":48,"context_line":"            scheduler_hints\u003dhints, wait_until\u003d\u0027ACTIVE\u0027, min_count\u003d2,"},{"line_number":49,"context_line":"            return_reservation_id\u003dTrue)[\u0027reservation_id\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_7794ab37","line":46,"range":{"start_line":46,"start_character":62,"end_line":46,"end_character":67},"updated":"2018-02-22 01:41:11.000000000","message":"This is not needed","commit_id":"24210367e76df9d056ed85d3597d741518a1691c"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"941986814486d602b7d1c5850ec23bff3899b46d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        return cls.os_admin.servers_client.show_server("},{"line_number":44,"context_line":"            server_id)[\u0027server\u0027][\u0027OS-EXT-SRV-ATTR:host\u0027]"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def _create_server_and_check_server_group(self, group_id, hints, policy):"},{"line_number":47,"context_line":"        reservation_id \u003d self.create_test_server("},{"line_number":48,"context_line":"            scheduler_hints\u003dhints, wait_until\u003d\u0027ACTIVE\u0027, min_count\u003d2,"},{"line_number":49,"context_line":"            return_reservation_id\u003dTrue)[\u0027reservation_id\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_f7c8bb55","line":46,"range":{"start_line":46,"start_character":52,"end_line":46,"end_character":60},"updated":"2018-02-22 01:41:11.000000000","message":"This is not needed, group can be created inside this function according to policy","commit_id":"24210367e76df9d056ed85d3597d741518a1691c"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"b2bb19adfdcb4ae0c04934f5f3a090fb642e1512","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        return cls.os_admin.servers_client.show_server("},{"line_number":44,"context_line":"            server_id)[\u0027server\u0027][\u0027OS-EXT-SRV-ATTR:host\u0027]"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def _create_server_and_check_server_group(self, group_id, hints, policy):"},{"line_number":47,"context_line":"        reservation_id \u003d self.create_test_server("},{"line_number":48,"context_line":"            scheduler_hints\u003dhints, wait_until\u003d\u0027ACTIVE\u0027, min_count\u003d2,"},{"line_number":49,"context_line":"            return_reservation_id\u003dTrue)[\u0027reservation_id\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_7ad7b24c","line":46,"range":{"start_line":46,"start_character":62,"end_line":46,"end_character":67},"in_reply_to":"3fa0c359_7794ab37","updated":"2018-02-22 02:27:47.000000000","message":"Done","commit_id":"24210367e76df9d056ed85d3597d741518a1691c"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"b2bb19adfdcb4ae0c04934f5f3a090fb642e1512","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        return cls.os_admin.servers_client.show_server("},{"line_number":44,"context_line":"            server_id)[\u0027server\u0027][\u0027OS-EXT-SRV-ATTR:host\u0027]"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def _create_server_and_check_server_group(self, group_id, hints, policy):"},{"line_number":47,"context_line":"        reservation_id \u003d self.create_test_server("},{"line_number":48,"context_line":"            scheduler_hints\u003dhints, wait_until\u003d\u0027ACTIVE\u0027, min_count\u003d2,"},{"line_number":49,"context_line":"            return_reservation_id\u003dTrue)[\u0027reservation_id\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_1ac8eea5","line":46,"range":{"start_line":46,"start_character":52,"end_line":46,"end_character":60},"in_reply_to":"3fa0c359_f7c8bb55","updated":"2018-02-22 02:27:47.000000000","message":"Done","commit_id":"24210367e76df9d056ed85d3597d741518a1691c"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f979dca854cece06ae1ffdd97dd2ffa1862f9cde","unresolved":false,"context_lines":[{"line_number":62,"context_line":"            hosts[server[\u0027id\u0027]] \u003d self._get_host(server[\u0027id\u0027])"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        hostnames \u003d hosts.values()"},{"line_number":65,"context_line":"        if policy \u003d\u003d \u0027affinity\u0027:"},{"line_number":66,"context_line":"            self.assertEqual(hostnames[0], hostnames[1],"},{"line_number":67,"context_line":"                             \u0027Servers are on the different hosts: %s\u0027 % hosts)"},{"line_number":68,"context_line":"        else:"},{"line_number":69,"context_line":"            self.assertNotEqual(hostnames[0], hostnames[1],"},{"line_number":70,"context_line":"                                \u0027Servers are on the same host: %s\u0027 % hosts)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    @decorators.idempotent_id(\u002726a9d5df-6890-45f2-abc4-a659290cb130\u0027)"},{"line_number":73,"context_line":"    @testtools.skipUnless("}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_3478c829","line":70,"range":{"start_line":65,"start_character":0,"end_line":70,"end_character":75},"updated":"2018-02-16 18:45:28.000000000","message":"I think this part is not necessary to be in the shared method for readability.\nWe can remove policy from the shared method and we just keep the above check as the test specific by making the method return hostnames.","commit_id":"24210367e76df9d056ed85d3597d741518a1691c"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"b2bb19adfdcb4ae0c04934f5f3a090fb642e1512","unresolved":false,"context_lines":[{"line_number":62,"context_line":"            hosts[server[\u0027id\u0027]] \u003d self._get_host(server[\u0027id\u0027])"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        hostnames \u003d hosts.values()"},{"line_number":65,"context_line":"        if policy \u003d\u003d \u0027affinity\u0027:"},{"line_number":66,"context_line":"            self.assertEqual(hostnames[0], hostnames[1],"},{"line_number":67,"context_line":"                             \u0027Servers are on the different hosts: %s\u0027 % hosts)"},{"line_number":68,"context_line":"        else:"},{"line_number":69,"context_line":"            self.assertNotEqual(hostnames[0], hostnames[1],"},{"line_number":70,"context_line":"                                \u0027Servers are on the same host: %s\u0027 % hosts)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    @decorators.idempotent_id(\u002726a9d5df-6890-45f2-abc4-a659290cb130\u0027)"},{"line_number":73,"context_line":"    @testtools.skipUnless("}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_9abb9e0d","line":70,"range":{"start_line":65,"start_character":0,"end_line":70,"end_character":75},"in_reply_to":"3fa0c359_3478c829","updated":"2018-02-22 02:27:47.000000000","message":"Done","commit_id":"24210367e76df9d056ed85d3597d741518a1691c"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"941986814486d602b7d1c5850ec23bff3899b46d","unresolved":false,"context_lines":[{"line_number":62,"context_line":"            hosts[server[\u0027id\u0027]] \u003d self._get_host(server[\u0027id\u0027])"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        hostnames \u003d hosts.values()"},{"line_number":65,"context_line":"        if policy \u003d\u003d \u0027affinity\u0027:"},{"line_number":66,"context_line":"            self.assertEqual(hostnames[0], hostnames[1],"},{"line_number":67,"context_line":"                             \u0027Servers are on the different hosts: %s\u0027 % hosts)"},{"line_number":68,"context_line":"        else:"},{"line_number":69,"context_line":"            self.assertNotEqual(hostnames[0], hostnames[1],"},{"line_number":70,"context_line":"                                \u0027Servers are on the same host: %s\u0027 % hosts)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    @decorators.idempotent_id(\u002726a9d5df-6890-45f2-abc4-a659290cb130\u0027)"},{"line_number":73,"context_line":"    @testtools.skipUnless("}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_97eff7af","line":70,"range":{"start_line":65,"start_character":0,"end_line":70,"end_character":75},"in_reply_to":"3fa0c359_3478c829","updated":"2018-02-22 01:41:11.000000000","message":"Yes this check can be moved out from the helper, and I think we can rename the helper to _create_server_with_group(self, policy)","commit_id":"24210367e76df9d056ed85d3597d741518a1691c"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"b2bb19adfdcb4ae0c04934f5f3a090fb642e1512","unresolved":false,"context_lines":[{"line_number":62,"context_line":"            hosts[server[\u0027id\u0027]] \u003d self._get_host(server[\u0027id\u0027])"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        hostnames \u003d hosts.values()"},{"line_number":65,"context_line":"        if policy \u003d\u003d \u0027affinity\u0027:"},{"line_number":66,"context_line":"            self.assertEqual(hostnames[0], hostnames[1],"},{"line_number":67,"context_line":"                             \u0027Servers are on the different hosts: %s\u0027 % hosts)"},{"line_number":68,"context_line":"        else:"},{"line_number":69,"context_line":"            self.assertNotEqual(hostnames[0], hostnames[1],"},{"line_number":70,"context_line":"                                \u0027Servers are on the same host: %s\u0027 % hosts)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    @decorators.idempotent_id(\u002726a9d5df-6890-45f2-abc4-a659290cb130\u0027)"},{"line_number":73,"context_line":"    @testtools.skipUnless("}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_7a3c9292","line":70,"range":{"start_line":65,"start_character":0,"end_line":70,"end_character":75},"in_reply_to":"3fa0c359_97eff7af","updated":"2018-02-22 02:27:47.000000000","message":"Done","commit_id":"24210367e76df9d056ed85d3597d741518a1691c"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"bd22e168d52602b72fe5e41d7c200b2630fdb39f","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            self.assertIn(server[\u0027id\u0027], server_group[\u0027members\u0027])"},{"line_number":64,"context_line":"            hosts[server[\u0027id\u0027]] \u003d self._get_host(server[\u0027id\u0027])"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        hostnames \u003d hosts.values()"},{"line_number":67,"context_line":"        return hostnames, hosts"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    @decorators.idempotent_id(\u002726a9d5df-6890-45f2-abc4-a659290cb130\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa0c359_da7da61c","line":66,"range":{"start_line":66,"start_character":8,"end_line":66,"end_character":34},"updated":"2018-02-22 02:51:02.000000000","message":"I\u0027d prefer removing this from the helper and so we can only return hosts for better readability.","commit_id":"65ca0531083e7aab0011d8c2d724a37fe99d2c0c"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"f3855fceb818ec42d324a4fb82f4ec642236ddc1","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            self.assertIn(server[\u0027id\u0027], server_group[\u0027members\u0027])"},{"line_number":64,"context_line":"            hosts[server[\u0027id\u0027]] \u003d self._get_host(server[\u0027id\u0027])"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        hostnames \u003d hosts.values()"},{"line_number":67,"context_line":"        return hostnames, hosts"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    @decorators.idempotent_id(\u002726a9d5df-6890-45f2-abc4-a659290cb130\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa0c359_fa3bc234","line":66,"range":{"start_line":66,"start_character":8,"end_line":66,"end_character":34},"in_reply_to":"3fa0c359_da7da61c","updated":"2018-02-22 03:01:52.000000000","message":"Done","commit_id":"65ca0531083e7aab0011d8c2d724a37fe99d2c0c"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"c3c267f7bca364f6a6f9c8b4ac61dab47a5a606c","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        return cls.os_admin.servers_client.show_server("},{"line_number":44,"context_line":"            server_id)[\u0027server\u0027][\u0027OS-EXT-SRV-ATTR:host\u0027]"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def _create_server_with_group(self, policy):"},{"line_number":47,"context_line":"        group_id \u003d self.create_test_server_group(policy\u003d[policy])[\u0027id\u0027]"},{"line_number":48,"context_line":"        hints \u003d {\u0027group\u0027: group_id}"},{"line_number":49,"context_line":"        reservation_id \u003d self.create_test_server("}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_9af95e4f","line":46,"range":{"start_line":46,"start_character":7,"end_line":46,"end_character":33},"updated":"2018-02-22 03:14:54.000000000","message":"sorry my fault, maybe this should be _create_servers_with_group","commit_id":"7d2e080856863df4c70eaf5a2686499e238721b5"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"67f9af648e8b0f36b338e30675a986f54f12d7d3","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        return cls.os_admin.servers_client.show_server("},{"line_number":44,"context_line":"            server_id)[\u0027server\u0027][\u0027OS-EXT-SRV-ATTR:host\u0027]"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def _create_server_with_group(self, policy):"},{"line_number":47,"context_line":"        group_id \u003d self.create_test_server_group(policy\u003d[policy])[\u0027id\u0027]"},{"line_number":48,"context_line":"        hints \u003d {\u0027group\u0027: group_id}"},{"line_number":49,"context_line":"        reservation_id \u003d self.create_test_server("}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_7a36d205","line":46,"range":{"start_line":46,"start_character":7,"end_line":46,"end_character":33},"in_reply_to":"3fa0c359_9af95e4f","updated":"2018-02-22 03:25:54.000000000","message":"Done","commit_id":"7d2e080856863df4c70eaf5a2686499e238721b5"}]}
