)]}'
{"tempest/api/compute/admin/test_servers_negative.py":[{"author":{"_account_id":23081,"name":"Jeremy Zhang","email":"zhangjun_inspur@163.com","username":"jeremy.zhang"},"change_message_id":"e10b8e07aa9a9457740540d6f7c4895534fbd985","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":119,"context_line":"    @decorators.idempotent_id(\u002746a4e1ca-87ae-4d28-987a-1b6b136a0221\u0027)"},{"line_number":120,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.cold_migration,"},{"line_number":121,"context_line":"                          \u0027Cold migration not available.\u0027)"},{"line_number":122,"context_line":"    def test_migrate_non_existent_server(self):"},{"line_number":123,"context_line":"        # migrate a non existent server"},{"line_number":124,"context_line":"        self.assertRaises(lib_exc.NotFound,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_485e8544","line":121,"range":{"start_line":120,"start_character":4,"end_line":121,"end_character":58},"updated":"2017-04-28 04:27:20.000000000","message":"This negative should only check the nova-api level, not touching the nova-compute level, the skipUnless maybe not very necessary. But adding it is also good, :)","commit_id":"d70588aea6ed6eb213ca3ef4cd014abaa50ce751"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"e33b461b07020b7041408d7441e5d30601124f27","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":119,"context_line":"    @decorators.idempotent_id(\u002746a4e1ca-87ae-4d28-987a-1b6b136a0221\u0027)"},{"line_number":120,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.cold_migration,"},{"line_number":121,"context_line":"                          \u0027Cold migration not available.\u0027)"},{"line_number":122,"context_line":"    def test_migrate_non_existent_server(self):"},{"line_number":123,"context_line":"        # migrate a non existent server"},{"line_number":124,"context_line":"        self.assertRaises(lib_exc.NotFound,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_71d56043","line":121,"range":{"start_line":120,"start_character":4,"end_line":121,"end_character":58},"in_reply_to":"5ff73747_485e8544","updated":"2017-05-02 13:09:49.000000000","message":"Yeah, Jeremy is right, the test will pass, even if cold migration is disabled, so I am not sure we should skip here.","commit_id":"d70588aea6ed6eb213ca3ef4cd014abaa50ce751"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"111c3a7838dd6bb0238eaaf36ce4d6c19880d8eb","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":119,"context_line":"    @decorators.idempotent_id(\u002746a4e1ca-87ae-4d28-987a-1b6b136a0221\u0027)"},{"line_number":120,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.cold_migration,"},{"line_number":121,"context_line":"                          \u0027Cold migration not available.\u0027)"},{"line_number":122,"context_line":"    def test_migrate_non_existent_server(self):"},{"line_number":123,"context_line":"        # migrate a non existent server"},{"line_number":124,"context_line":"        self.assertRaises(lib_exc.NotFound,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_5468ff1f","line":121,"range":{"start_line":120,"start_character":4,"end_line":121,"end_character":58},"in_reply_to":"5ff73747_71d56043","updated":"2017-05-03 02:08:31.000000000","message":"ok, either can do for me, so I\u0027d remove it","commit_id":"d70588aea6ed6eb213ca3ef4cd014abaa50ce751"}]}
