)]}'
{"tempest/config.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b548512315b9daa656789a4a06d4477a6adbdd7c","unresolved":false,"context_lines":[{"line_number":450,"context_line":"    cfg.BoolOpt(\u0027shelve_migrate\u0027,"},{"line_number":451,"context_line":"                default\u003dFalse,"},{"line_number":452,"context_line":"                help\u003d\"Does the test environment support \""},{"line_number":453,"context_line":"                     \"shelving/unshelving/cold_migrate?\"),"},{"line_number":454,"context_line":"    cfg.BoolOpt(\u0027suspend\u0027,"},{"line_number":455,"context_line":"                default\u003dTrue,"},{"line_number":456,"context_line":"                help\u003d\"Does the test environment support suspend/resume?\"),"}],"source_content_type":"text/x-python","patch_set":7,"id":"1f621f24_90878510","line":453,"range":{"start_line":453,"start_character":22,"end_line":453,"end_character":54},"updated":"2020-11-18 16:48:57.000000000","message":"this is read like shelving and unshelving operation, not unshelved server migration. how about below\n\ncold migration of unshelved server.","commit_id":"016f54d1d9a65ddab3057dc524211c8852aa94a6"},{"author":{"_account_id":28332,"name":"Alexandre arents","email":"alexandre.arents@corp.ovh.com","username":"aarents"},"change_message_id":"ec2d9afdf071c0134396f3bd747375c3e51067d9","unresolved":false,"context_lines":[{"line_number":450,"context_line":"    cfg.BoolOpt(\u0027shelve_migrate\u0027,"},{"line_number":451,"context_line":"                default\u003dFalse,"},{"line_number":452,"context_line":"                help\u003d\"Does the test environment support \""},{"line_number":453,"context_line":"                     \"shelving/unshelving/cold_migrate?\"),"},{"line_number":454,"context_line":"    cfg.BoolOpt(\u0027suspend\u0027,"},{"line_number":455,"context_line":"                default\u003dTrue,"},{"line_number":456,"context_line":"                help\u003d\"Does the test environment support suspend/resume?\"),"}],"source_content_type":"text/x-python","patch_set":7,"id":"fffc6b78_4c19f386","line":453,"range":{"start_line":453,"start_character":22,"end_line":453,"end_character":54},"in_reply_to":"1f621f24_90878510","updated":"2020-11-19 07:45:48.000000000","message":"Done","commit_id":"016f54d1d9a65ddab3057dc524211c8852aa94a6"}],"tempest/scenario/test_shelve_instance.py":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"1ecd132aadbf344d012398364b18a4b939f56369","unresolved":false,"context_lines":[{"line_number":28,"context_line":"class TestShelveInstance(manager.ScenarioTest):"},{"line_number":29,"context_line":"    \"\"\"This test shelves then unshelves a Nova instance"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    The following is the scenario outline:"},{"line_number":32,"context_line":"     * boot an instance and create a timestamp file in it"},{"line_number":33,"context_line":"     * shelve the instance"},{"line_number":34,"context_line":"     * unshelve the instance"},{"line_number":35,"context_line":"     * check the existence of the timestamp file in the unshelved instance"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_dc86f4db","line":35,"range":{"start_line":31,"start_character":0,"end_line":35,"end_character":74},"updated":"2020-07-29 20:14:33.000000000","message":"nit - Can you also update this?","commit_id":"9558f85574beb9cb33ff0153b3dc8816bdc195db"},{"author":{"_account_id":28332,"name":"Alexandre arents","email":"alexandre.arents@corp.ovh.com","username":"aarents"},"change_message_id":"19cfd01fc515934a03644d9d97a0e03002e12c3a","unresolved":false,"context_lines":[{"line_number":28,"context_line":"class TestShelveInstance(manager.ScenarioTest):"},{"line_number":29,"context_line":"    \"\"\"This test shelves then unshelves a Nova instance"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    The following is the scenario outline:"},{"line_number":32,"context_line":"     * boot an instance and create a timestamp file in it"},{"line_number":33,"context_line":"     * shelve the instance"},{"line_number":34,"context_line":"     * unshelve the instance"},{"line_number":35,"context_line":"     * check the existence of the timestamp file in the unshelved instance"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_253a7097","line":35,"range":{"start_line":31,"start_character":0,"end_line":35,"end_character":74},"in_reply_to":"9f560f44_dc86f4db","updated":"2020-07-30 09:28:35.000000000","message":"I missed that.\nDone","commit_id":"9558f85574beb9cb33ff0153b3dc8816bdc195db"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"1ecd132aadbf344d012398364b18a4b939f56369","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        waiters.wait_for_server_status(self.servers_client,"},{"line_number":68,"context_line":"                                       server[\u0027id\u0027], \u0027ACTIVE\u0027)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        dst_host \u003d self.get_host_for_server(server[\u0027id\u0027])"},{"line_number":71,"context_line":"        self.assertNotEqual(src_host, dst_host)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def _create_server_then_shelve_and_unshelve(self, boot_from_volume\u003dFalse,"},{"line_number":74,"context_line":"                                                cold_migrate\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_fc5c987f","line":71,"range":{"start_line":70,"start_character":0,"end_line":71,"end_character":47},"updated":"2020-07-29 20:14:33.000000000","message":"I don\u0027t think this will ever be the case, unlike resize I don\u0027t think the scheduler will allow us to land on the same host.","commit_id":"9558f85574beb9cb33ff0153b3dc8816bdc195db"},{"author":{"_account_id":28332,"name":"Alexandre arents","email":"alexandre.arents@corp.ovh.com","username":"aarents"},"change_message_id":"19cfd01fc515934a03644d9d97a0e03002e12c3a","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        waiters.wait_for_server_status(self.servers_client,"},{"line_number":68,"context_line":"                                       server[\u0027id\u0027], \u0027ACTIVE\u0027)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        dst_host \u003d self.get_host_for_server(server[\u0027id\u0027])"},{"line_number":71,"context_line":"        self.assertNotEqual(src_host, dst_host)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def _create_server_then_shelve_and_unshelve(self, boot_from_volume\u003dFalse,"},{"line_number":74,"context_line":"                                                cold_migrate\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_65cf48b0","line":71,"range":{"start_line":70,"start_character":0,"end_line":71,"end_character":47},"in_reply_to":"9f560f44_fc5c987f","updated":"2020-07-30 09:28:35.000000000","message":"I picked that part from another tempest test( \u003c--poor justifying statement here!).\n\nBy experience(on old stable release at least), there is situation when cold migrate failed, it roll back into ACTIVE on src. but yeah it is a bit paranoid check.","commit_id":"9558f85574beb9cb33ff0153b3dc8816bdc195db"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"6c0d73a9ed4b9dac79ec26609c203ea37c5a7bd1","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    \"\"\""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    credentials \u003d [\u0027primary\u0027, \u0027admin\u0027]"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    @classmethod"},{"line_number":44,"context_line":"    def setup_clients(cls):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f621f24_6d3e94b8","line":41,"range":{"start_line":41,"start_character":4,"end_line":41,"end_character":38},"updated":"2020-11-12 21:15:11.000000000","message":"is this actually used?","commit_id":"807fedd8e61dfa00a325544d5ab75adf91d60594"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"1587ef42bf4ff905a870c022af89a6a0a79d3dcb","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    \"\"\""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    credentials \u003d [\u0027primary\u0027, \u0027admin\u0027]"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    @classmethod"},{"line_number":44,"context_line":"    def setup_clients(cls):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f621f24_c8679bea","line":41,"range":{"start_line":41,"start_character":4,"end_line":41,"end_character":38},"in_reply_to":"1f621f24_00aa4283","updated":"2020-11-18 09:36:26.000000000","message":"oh right, I forgot.","commit_id":"807fedd8e61dfa00a325544d5ab75adf91d60594"},{"author":{"_account_id":28332,"name":"Alexandre arents","email":"alexandre.arents@corp.ovh.com","username":"aarents"},"change_message_id":"104d1c5e7cdf1756378e90b431c1ad15c4c97266","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    \"\"\""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    credentials \u003d [\u0027primary\u0027, \u0027admin\u0027]"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    @classmethod"},{"line_number":44,"context_line":"    def setup_clients(cls):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f621f24_00aa4283","line":41,"range":{"start_line":41,"start_character":4,"end_line":41,"end_character":38},"in_reply_to":"1f621f24_6d3e94b8","updated":"2020-11-13 08:53:44.000000000","message":"Yes it is:\nhttps://github.com/openstack/tempest/blob/master/tempest/test.py#L102-L106\n\ncold migrate need to extend test class credentials to admin.","commit_id":"807fedd8e61dfa00a325544d5ab75adf91d60594"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b548512315b9daa656789a4a06d4477a6adbdd7c","unresolved":false,"context_lines":[{"line_number":131,"context_line":"                          \u0027Less than 2 compute nodes, skipping multinode \u0027"},{"line_number":132,"context_line":"                          \u0027tests.\u0027)"},{"line_number":133,"context_line":"    @utils.services(\u0027compute\u0027, \u0027network\u0027, \u0027image\u0027)"},{"line_number":134,"context_line":"    def test_shelve_cold_migrated_instance(self):"},{"line_number":135,"context_line":"        self._create_server_then_shelve_and_unshelve(cold_migrate\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1f621f24_8612af08","line":134,"range":{"start_line":134,"start_character":8,"end_line":134,"end_character":42},"updated":"2020-11-18 16:48:57.000000000","message":"this is opposite right.\n\ntest_cold_migrate_unshelved_instance","commit_id":"016f54d1d9a65ddab3057dc524211c8852aa94a6"},{"author":{"_account_id":28332,"name":"Alexandre arents","email":"alexandre.arents@corp.ovh.com","username":"aarents"},"change_message_id":"ec2d9afdf071c0134396f3bd747375c3e51067d9","unresolved":false,"context_lines":[{"line_number":131,"context_line":"                          \u0027Less than 2 compute nodes, skipping multinode \u0027"},{"line_number":132,"context_line":"                          \u0027tests.\u0027)"},{"line_number":133,"context_line":"    @utils.services(\u0027compute\u0027, \u0027network\u0027, \u0027image\u0027)"},{"line_number":134,"context_line":"    def test_shelve_cold_migrated_instance(self):"},{"line_number":135,"context_line":"        self._create_server_then_shelve_and_unshelve(cold_migrate\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fffc6b78_8c13db66","line":134,"range":{"start_line":134,"start_character":8,"end_line":134,"end_character":42},"in_reply_to":"1f621f24_8612af08","updated":"2020-11-19 07:45:48.000000000","message":"exact","commit_id":"016f54d1d9a65ddab3057dc524211c8852aa94a6"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"66dda9f6eb291f6556200c5f6019e4d9bad95656","unresolved":true,"context_lines":[{"line_number":98,"context_line":"            # Prevent bug #1732428 from coming back"},{"line_number":99,"context_line":"            self._cold_migrate_server(server)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        timestamp2 \u003d self.get_timestamp(instance_ip,"},{"line_number":102,"context_line":"                                        private_key\u003dkeypair[\u0027private_key\u0027],"},{"line_number":103,"context_line":"                                        server\u003dserver)"},{"line_number":104,"context_line":"        self.assertEqual(timestamp, timestamp2)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    @decorators.attr(type\u003d\u0027slow\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"35305c44_2895da18","line":103,"range":{"start_line":101,"start_character":0,"end_line":103,"end_character":54},"updated":"2020-12-01 17:08:53.000000000","message":"https://zuul.opendev.org/t/openstack/build/13400ea7d7af4dd88fca244b82301c79/log/job-output.txt#65297\n\n^ looks like we don\u0027t persist the mount between boots, fun.","commit_id":"0a9b8235b6a3222b3b0ef721c1651d0cf1f5f906"}]}
