)]}'
{"nova/tests/functional/regressions/test_bug_1909120.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"588113a07f065cc34df88a0eed4c176bf638859b","unresolved":true,"context_lines":[{"line_number":26,"context_line":"    microversion \u003d \u0027latest\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def setUp(self):"},{"line_number":29,"context_line":"        super().setUp()"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def test_volume_detach_while_compute_down(self):"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7d371d98_288799ba","line":29,"updated":"2021-01-27 14:45:01.000000000","message":"This is unnecessary","commit_id":"1b3f72f0b52e95c12f056846800e798a22837812"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f822b2f7a4d1196dfa14546de7ae0cfbd469b037","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    microversion \u003d \u0027latest\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def setUp(self):"},{"line_number":29,"context_line":"        super().setUp()"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def test_volume_detach_while_compute_down(self):"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"0a1e3852_68c31619","line":29,"in_reply_to":"7d371d98_288799ba","updated":"2021-01-27 15:22:29.000000000","message":"Done","commit_id":"1b3f72f0b52e95c12f056846800e798a22837812"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"588113a07f065cc34df88a0eed4c176bf638859b","unresolved":true,"context_lines":[{"line_number":31,"context_line":"    def test_volume_detach_while_compute_down(self):"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        # _IntegratedTestBase uses CastAsCall so set the response timeout to 1"},{"line_number":34,"context_line":"        self.flags(rpc_response_timeout\u003d1)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        # Launch a test instance"},{"line_number":37,"context_line":"        server \u003d self._create_server(networks\u003d\u0027none\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"8a3f5760_9171ad0a","line":34,"updated":"2021-01-27 14:45:01.000000000","message":"Isn\u0027t this unnecessary? If we\u0027re using CastAsCall then this should return nearly immediately, and if it doesn\u0027t the test will time out. Perhaps you\u0027re shortening the time to a timeout?","commit_id":"1b3f72f0b52e95c12f056846800e798a22837812"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f822b2f7a4d1196dfa14546de7ae0cfbd469b037","unresolved":true,"context_lines":[{"line_number":31,"context_line":"    def test_volume_detach_while_compute_down(self):"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        # _IntegratedTestBase uses CastAsCall so set the response timeout to 1"},{"line_number":34,"context_line":"        self.flags(rpc_response_timeout\u003d1)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        # Launch a test instance"},{"line_number":37,"context_line":"        server \u003d self._create_server(networks\u003d\u0027none\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"583433aa_dc8a316f","line":34,"in_reply_to":"8a3f5760_9171ad0a","updated":"2021-01-27 15:22:29.000000000","message":"Yeah the default is 60 seconds otherwise.","commit_id":"1b3f72f0b52e95c12f056846800e798a22837812"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"588113a07f065cc34df88a0eed4c176bf638859b","unresolved":true,"context_lines":[{"line_number":39,"context_line":"        # Attach the volume"},{"line_number":40,"context_line":"        volume_id \u003d self.cinder.IMAGE_BACKED_VOL"},{"line_number":41,"context_line":"        self.api.post_server_volume("},{"line_number":42,"context_line":"            server[\u0027id\u0027], dict(volumeAttachment\u003ddict(volumeId\u003dvolume_id)))"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        # Assert that the volume is attached in Nova"},{"line_number":45,"context_line":"        attachment \u003d self.api.get_server_volumes(server[\u0027id\u0027])[0]"}],"source_content_type":"text/x-python","patch_set":1,"id":"720abc5c_b1f208c3","line":42,"range":{"start_line":42,"start_character":26,"end_line":42,"end_character":72},"updated":"2021-01-27 14:45:01.000000000","message":"style nit: any reason not to use literals? \n\n    {\u0027volumeAttachment\u0027: {\u0027volumeId\u0027: volume_id}}","commit_id":"1b3f72f0b52e95c12f056846800e798a22837812"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f822b2f7a4d1196dfa14546de7ae0cfbd469b037","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        # Attach the volume"},{"line_number":40,"context_line":"        volume_id \u003d self.cinder.IMAGE_BACKED_VOL"},{"line_number":41,"context_line":"        self.api.post_server_volume("},{"line_number":42,"context_line":"            server[\u0027id\u0027], dict(volumeAttachment\u003ddict(volumeId\u003dvolume_id)))"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        # Assert that the volume is attached in Nova"},{"line_number":45,"context_line":"        attachment \u003d self.api.get_server_volumes(server[\u0027id\u0027])[0]"}],"source_content_type":"text/x-python","patch_set":1,"id":"beceee5c_18a9a051","line":42,"range":{"start_line":42,"start_character":26,"end_line":42,"end_character":72},"in_reply_to":"720abc5c_b1f208c3","updated":"2021-01-27 15:22:29.000000000","message":"Done","commit_id":"1b3f72f0b52e95c12f056846800e798a22837812"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"588113a07f065cc34df88a0eed4c176bf638859b","unresolved":true,"context_lines":[{"line_number":52,"context_line":"        self.compute.stop()"},{"line_number":53,"context_line":"        compute_id \u003d self.admin_api.get_services("},{"line_number":54,"context_line":"            binary\u003d\u0027nova-compute\u0027)[0][\u0027id\u0027]"},{"line_number":55,"context_line":"        self.admin_api.put_service(compute_id, {\u0027forced_down\u0027: \u0027true\u0027})"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        # Assert that the request fails in this functional test as the cast to"},{"line_number":58,"context_line":"        # detach_volume on the compute is actually treated as a call by the"}],"source_content_type":"text/x-python","patch_set":1,"id":"a622622b_44b32ec7","line":55,"range":{"start_line":55,"start_character":8,"end_line":55,"end_character":71},"updated":"2021-01-27 14:45:01.000000000","message":"nit:\n\n   self.admin_api.put_service_force_down(compute_id, True)\n\nThere\u0027s a \u0027force_down_service\u0027 helper too but that\u0027s for the old pre-2.53 version of the API, it seems.","commit_id":"1b3f72f0b52e95c12f056846800e798a22837812"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f822b2f7a4d1196dfa14546de7ae0cfbd469b037","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        self.compute.stop()"},{"line_number":53,"context_line":"        compute_id \u003d self.admin_api.get_services("},{"line_number":54,"context_line":"            binary\u003d\u0027nova-compute\u0027)[0][\u0027id\u0027]"},{"line_number":55,"context_line":"        self.admin_api.put_service(compute_id, {\u0027forced_down\u0027: \u0027true\u0027})"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        # Assert that the request fails in this functional test as the cast to"},{"line_number":58,"context_line":"        # detach_volume on the compute is actually treated as a call by the"}],"source_content_type":"text/x-python","patch_set":1,"id":"90a61be9_bd182a93","line":55,"range":{"start_line":55,"start_character":8,"end_line":55,"end_character":71},"in_reply_to":"a622622b_44b32ec7","updated":"2021-01-27 15:22:29.000000000","message":"Done","commit_id":"1b3f72f0b52e95c12f056846800e798a22837812"}]}
