)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"476c6524410ffb32596fe15431c48ec3ea36622b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"8c5ee72d_acd2cd06","updated":"2022-03-08 13:32:20.000000000","message":"nothing major jumps out at me.\nthis obvioulsy cannot merge until the spec and api change have been accpeted and i expect the microveion might change in the interim\n\n-1 for a few style nits and the test issue but honestly this looks ok to me over all.","commit_id":"541510d5ec9c267ceda5aa43eb8d956fb8396668"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ecf42bb2e24c2c91af13d0fe132f5d471b8d1b4d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"9d27b984_8731666f","updated":"2022-07-27 13:56:28.000000000","message":"I have couple of comments","commit_id":"d827d7a4233f25b993dabe668ed125f7da2ba04c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"623a109d58f5d004985292e6ec087ff71e0735e7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"d7d760ff_73ff06ed","updated":"2022-05-31 15:08:08.000000000","message":"recheck","commit_id":"d827d7a4233f25b993dabe668ed125f7da2ba04c"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"56d024cf9968272d23f47545774a48c3fe669c79","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"e7d46f62_c8f41ef6","updated":"2022-07-29 21:48:25.000000000","message":"LGTM","commit_id":"ee9b277c5f442f299b853118c900c3ee2996c67a"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"45218d412b8b673c3c3c59435068163567878314","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"d3991f78_fe34edaa","updated":"2022-07-28 16:24:00.000000000","message":"recheck","commit_id":"ee9b277c5f442f299b853118c900c3ee2996c67a"}],"novaclient/tests/unit/fixture_data/servers.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"56d024cf9968272d23f47545774a48c3fe669c79","unresolved":false,"context_lines":[{"line_number":448,"context_line":"                # {\u0027unshelve\u0027: {\u0027availability_zone\u0027: \u003cstring\u003e, \u0027host\u0027: \u003cfqdn\u003e}}"},{"line_number":449,"context_line":"                # {\u0027unshelve\u0027: {\u0027availability_zone\u0027: None, \u0027host\u0027: \u003cfqdn\u003e}}"},{"line_number":450,"context_line":"                if body[action] is not None:"},{"line_number":451,"context_line":"                    for key in body[action].keys():"},{"line_number":452,"context_line":"                        key in [\u0027availability_zone\u0027, \u0027host\u0027]"},{"line_number":453,"context_line":"            return None"},{"line_number":454,"context_line":"        elif action \u003d\u003d \u0027rebuild\u0027:"},{"line_number":455,"context_line":"            body \u003d body[action]"}],"source_content_type":"text/x-python","patch_set":13,"id":"410a443a_5757bbaf","line":452,"range":{"start_line":451,"start_character":0,"end_line":452,"end_character":60},"updated":"2022-07-29 21:48:25.000000000","message":"It can also be as follows (like line 467-468):\n\n  keys \u003d set(body[action].keys())\n  assert not (keys - set([\u0027availability_zone\u0027, \u0027host\u0027]))\n\nHowever it is okay for me.","commit_id":"ee9b277c5f442f299b853118c900c3ee2996c67a"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"56d024cf9968272d23f47545774a48c3fe669c79","unresolved":false,"context_lines":[{"line_number":464,"context_line":"            return None"},{"line_number":465,"context_line":"        elif action \u003d\u003d \u0027rescue\u0027:"},{"line_number":466,"context_line":"            if body[action]:"},{"line_number":467,"context_line":"                keys \u003d set(body[action].keys())"},{"line_number":468,"context_line":"                assert not (keys - set([\u0027adminPass\u0027, \u0027rescue_image_ref\u0027]))"},{"line_number":469,"context_line":"            else:"},{"line_number":470,"context_line":"                assert body[action] is None"},{"line_number":471,"context_line":"            _body \u003d {\u0027adminPass\u0027: \u0027RescuePassword\u0027}"}],"source_content_type":"text/x-python","patch_set":13,"id":"ae599999_428cd537","line":468,"range":{"start_line":467,"start_character":16,"end_line":468,"end_character":74},"updated":"2022-07-29 21:48:25.000000000","message":"Here","commit_id":"ee9b277c5f442f299b853118c900c3ee2996c67a"}],"novaclient/tests/unit/v2/fakes.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"476c6524410ffb32596fe15431c48ec3ea36622b","unresolved":true,"context_lines":[{"line_number":834,"context_line":"        elif action \u003d\u003d \u0027unshelve\u0027:"},{"line_number":835,"context_line":"            if self.api_version \u003c api_versions.APIVersion(\"2.77\"):"},{"line_number":836,"context_line":"                assert body[action] is None"},{"line_number":837,"context_line":"            if self.api_version \u003c api_versions.APIVersion(\"2.91\") and \\"},{"line_number":838,"context_line":"               self.api_version \u003e\u003d api_versions.APIVersion(\"2.77\"):"},{"line_number":839,"context_line":"                # In 2.77 to 2.91, we allow body to be one of these:"},{"line_number":840,"context_line":"                # {\u0027unshelve\u0027: None}"},{"line_number":841,"context_line":"                # {\u0027unshelve\u0027: {\u0027availability_zone\u0027: \u0027foo-az\u0027}}"}],"source_content_type":"text/x-python","patch_set":3,"id":"a7e6722b_2ea72e1b","line":838,"range":{"start_line":837,"start_character":15,"end_line":838,"end_character":66},"updated":"2022-03-08 13:32:20.000000000","message":"nit: (self.api_version \u003c api_versions.APIVersion(\"2.91\") and \n      self.api_version \u003e\u003d api_versions.APIVersion(\"2.77\"))\n\nin general, we try not to use \\ for line continuation in OpenStack.\nit\u0027s not banned or anything but it\u0027s generally prefered to wrap in\n() instead.","commit_id":"541510d5ec9c267ceda5aa43eb8d956fb8396668"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"2f5bfa745672127a31f8279090d3473f56212d59","unresolved":false,"context_lines":[{"line_number":834,"context_line":"        elif action \u003d\u003d \u0027unshelve\u0027:"},{"line_number":835,"context_line":"            if self.api_version \u003c api_versions.APIVersion(\"2.77\"):"},{"line_number":836,"context_line":"                assert body[action] is None"},{"line_number":837,"context_line":"            if self.api_version \u003c api_versions.APIVersion(\"2.91\") and \\"},{"line_number":838,"context_line":"               self.api_version \u003e\u003d api_versions.APIVersion(\"2.77\"):"},{"line_number":839,"context_line":"                # In 2.77 to 2.91, we allow body to be one of these:"},{"line_number":840,"context_line":"                # {\u0027unshelve\u0027: None}"},{"line_number":841,"context_line":"                # {\u0027unshelve\u0027: {\u0027availability_zone\u0027: \u0027foo-az\u0027}}"}],"source_content_type":"text/x-python","patch_set":3,"id":"36053532_2b216427","line":838,"range":{"start_line":837,"start_character":15,"end_line":838,"end_character":66},"in_reply_to":"a7e6722b_2ea72e1b","updated":"2022-03-08 18:06:26.000000000","message":"Done","commit_id":"541510d5ec9c267ceda5aa43eb8d956fb8396668"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"476c6524410ffb32596fe15431c48ec3ea36622b","unresolved":true,"context_lines":[{"line_number":842,"context_line":"                if body[action] is not None:"},{"line_number":843,"context_line":"                    assert set(body[action].keys()) \u003d\u003d set("},{"line_number":844,"context_line":"                        [\u0027availability_zone\u0027])"},{"line_number":845,"context_line":"            else:"},{"line_number":846,"context_line":"                # In 2.91 and above, we allow body to be one of these:"},{"line_number":847,"context_line":"                # {\u0027unshelve\u0027: None}"},{"line_number":848,"context_line":"                # {\u0027unshelve\u0027: {\u0027availability_zone\u0027: \u0027foo-az\u0027}}"}],"source_content_type":"text/x-python","patch_set":3,"id":"f13ac2db_5462770d","line":845,"range":{"start_line":845,"start_character":12,"end_line":845,"end_character":16},"updated":"2022-03-08 13:32:20.000000000","message":"honestly i would proably invert this\n\n            if self.api_version \u003c api_versions.APIVersion(\"2.77\"):\n                assert body[action] is None\n            if self.api_version \u003c api_versions.APIVersion(\"2.91\") and \\\n               self.api_version \u003e\u003d api_versions.APIVersion(\"2.77\"):\n                # In 2.77 to 2.91, we allow body to be one of these:\n                # {\u0027unshelve\u0027: None}\n                # {\u0027unshelve\u0027: {\u0027availability_zone\u0027: \u0027foo-az\u0027}}\n                if body[action] is not None:\n                    assert set(body[action].keys()) \u003d\u003d set(\n                        [\u0027availability_zone\u0027])\n            else:\n                # In 2.91 and above, we allow body to be one of these:\n                # {\u0027unshelve\u0027: None}\n                # {\u0027unshelve\u0027: {\u0027availability_zone\u0027: \u0027foo-az\u0027}}\n                # {\u0027unshelve\u0027: {\u0027destination_host\u0027: \u0027server1\u0027}}\n                if body[action] is not None:\n                    assert set(body[action].keys()) \u003d\u003d set(\n                        [\u0027availability_zone\u0027])\n                    assert set(body[action].keys()) \u003d\u003d set(\n                        [\u0027destination_host\u0027])\n\nto\n\n            if self.api_version \u003e\u003d api_versions.APIVersion(\"2.91\"):\n                # In 2.91 and above, we allow body to be one of these:\n                # {\u0027unshelve\u0027: None}\n                # {\u0027unshelve\u0027: {\u0027availability_zone\u0027: \u0027foo-az\u0027}}\n                # {\u0027unshelve\u0027: {\u0027destination_host\u0027: \u0027server1\u0027}}\n                if body[action] is not None:\n                    assert set(body[action].keys()) \u003d\u003d set(\n                        [\u0027availability_zone\u0027])\n                    assert set(body[action].keys()) \u003d\u003d set(\n                        [\u0027destination_host\u0027])\n            elif self.api_version \u003c api_versions.APIVersion(\"2.77\"):\n                assert body[action] is None\n            else:\n                # In 2.77 to 2.91, we allow body to be one of these:\n                # {\u0027unshelve\u0027: None}\n                # {\u0027unshelve\u0027: {\u0027availability_zone\u0027: \u0027foo-az\u0027}}\n                if body[action] is not None:\n                    assert set(body[action].keys()) \u003d\u003d set(\n                        [\u0027availability_zone\u0027])","commit_id":"541510d5ec9c267ceda5aa43eb8d956fb8396668"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"2f5bfa745672127a31f8279090d3473f56212d59","unresolved":false,"context_lines":[{"line_number":842,"context_line":"                if body[action] is not None:"},{"line_number":843,"context_line":"                    assert set(body[action].keys()) \u003d\u003d set("},{"line_number":844,"context_line":"                        [\u0027availability_zone\u0027])"},{"line_number":845,"context_line":"            else:"},{"line_number":846,"context_line":"                # In 2.91 and above, we allow body to be one of these:"},{"line_number":847,"context_line":"                # {\u0027unshelve\u0027: None}"},{"line_number":848,"context_line":"                # {\u0027unshelve\u0027: {\u0027availability_zone\u0027: \u0027foo-az\u0027}}"}],"source_content_type":"text/x-python","patch_set":3,"id":"1c5ea527_62a4a876","line":845,"range":{"start_line":845,"start_character":12,"end_line":845,"end_character":16},"in_reply_to":"f13ac2db_5462770d","updated":"2022-03-08 18:06:26.000000000","message":"Done","commit_id":"541510d5ec9c267ceda5aa43eb8d956fb8396668"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"74d27511d356210f204913b9ca730e1d05985624","unresolved":true,"context_lines":[{"line_number":832,"context_line":"                else:"},{"line_number":833,"context_line":"                    assert body[action] is None"},{"line_number":834,"context_line":"        elif action \u003d\u003d \u0027unshelve\u0027:"},{"line_number":835,"context_line":"            if self.api_version \u003e\u003d api_versions.APIVersion(\"2.91\"):"},{"line_number":836,"context_line":"                # In 2.91 and above, we allow body to be one of these:"},{"line_number":837,"context_line":"                # {\u0027unshelve\u0027: None}"},{"line_number":838,"context_line":"                # {\u0027unshelve\u0027: {\u0027availability_zone\u0027: \u003cstring\u003e}}"},{"line_number":839,"context_line":"                # {\u0027unshelve\u0027: {\u0027availability_zone\u0027: None}}   (Unpin az)"},{"line_number":840,"context_line":"                # {\u0027unshelve\u0027: {\u0027host\u0027: \u003cfqdn\u003e}}"},{"line_number":841,"context_line":"                # {\u0027unshelve\u0027: {\u0027availability_zone\u0027: \u003cstring\u003e, \u0027host\u0027: \u003cfqdn\u003e}}"},{"line_number":842,"context_line":"                # {\u0027unshelve\u0027: {\u0027availability_zone\u0027: None, \u0027host\u0027: \u003cfqdn\u003e}}"},{"line_number":843,"context_line":"                if body[action] is not None:"},{"line_number":844,"context_line":"                    assert set(body[action].keys()) \u003d\u003d set("},{"line_number":845,"context_line":"                        [\u0027availability_zone\u0027])"},{"line_number":846,"context_line":"                    assert set(body[action].keys()) \u003d\u003d set("},{"line_number":847,"context_line":"                        [\u0027host\u0027])"},{"line_number":848,"context_line":"            elif self.api_version \u003c api_versions.APIVersion(\"2.77\"):"},{"line_number":849,"context_line":"                assert body[action] is None"},{"line_number":850,"context_line":"            else:"},{"line_number":851,"context_line":"                # In 2.77 to 2.91, we allow body to be one of these:"}],"source_content_type":"text/x-python","patch_set":11,"id":"77c22e8f_340073e8","line":848,"range":{"start_line":835,"start_character":0,"end_line":848,"end_character":68},"updated":"2022-07-27 14:21:20.000000000","message":"The following file should be modified instead of this file.\n\n* novaclient/tests/unit/fixture_data/servers.py\n\nhttps://opendev.org/openstack/python-novaclient/src/commit/4d4cdb49922b5e27ab1f892a5a5f7ac5994eedf1/novaclient/tests/unit/fixture_data/servers.py#L441","commit_id":"d827d7a4233f25b993dabe668ed125f7da2ba04c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"2bccfff77cec0783cb125c7edf5033825e38d4f3","unresolved":false,"context_lines":[{"line_number":832,"context_line":"                else:"},{"line_number":833,"context_line":"                    assert body[action] is None"},{"line_number":834,"context_line":"        elif action \u003d\u003d \u0027unshelve\u0027:"},{"line_number":835,"context_line":"            if self.api_version \u003e\u003d api_versions.APIVersion(\"2.91\"):"},{"line_number":836,"context_line":"                # In 2.91 and above, we allow body to be one of these:"},{"line_number":837,"context_line":"                # {\u0027unshelve\u0027: None}"},{"line_number":838,"context_line":"                # {\u0027unshelve\u0027: {\u0027availability_zone\u0027: \u003cstring\u003e}}"},{"line_number":839,"context_line":"                # {\u0027unshelve\u0027: {\u0027availability_zone\u0027: None}}   (Unpin az)"},{"line_number":840,"context_line":"                # {\u0027unshelve\u0027: {\u0027host\u0027: \u003cfqdn\u003e}}"},{"line_number":841,"context_line":"                # {\u0027unshelve\u0027: {\u0027availability_zone\u0027: \u003cstring\u003e, \u0027host\u0027: \u003cfqdn\u003e}}"},{"line_number":842,"context_line":"                # {\u0027unshelve\u0027: {\u0027availability_zone\u0027: None, \u0027host\u0027: \u003cfqdn\u003e}}"},{"line_number":843,"context_line":"                if body[action] is not None:"},{"line_number":844,"context_line":"                    assert set(body[action].keys()) \u003d\u003d set("},{"line_number":845,"context_line":"                        [\u0027availability_zone\u0027])"},{"line_number":846,"context_line":"                    assert set(body[action].keys()) \u003d\u003d set("},{"line_number":847,"context_line":"                        [\u0027host\u0027])"},{"line_number":848,"context_line":"            elif self.api_version \u003c api_versions.APIVersion(\"2.77\"):"},{"line_number":849,"context_line":"                assert body[action] is None"},{"line_number":850,"context_line":"            else:"},{"line_number":851,"context_line":"                # In 2.77 to 2.91, we allow body to be one of these:"}],"source_content_type":"text/x-python","patch_set":11,"id":"00b563fc_76eafe67","line":848,"range":{"start_line":835,"start_character":0,"end_line":848,"end_character":68},"in_reply_to":"77c22e8f_340073e8","updated":"2022-07-28 12:43:28.000000000","message":"Done","commit_id":"d827d7a4233f25b993dabe668ed125f7da2ba04c"}],"novaclient/tests/unit/v2/test_servers.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"476c6524410ffb32596fe15431c48ec3ea36622b","unresolved":true,"context_lines":[{"line_number":1883,"context_line":"                      str(ex))"},{"line_number":1884,"context_line":""},{"line_number":1885,"context_line":""},{"line_number":1886,"context_line":"class ServersV278Test(ServersV273Test):"},{"line_number":1887,"context_line":""},{"line_number":1888,"context_line":"    api_version \u003d \"2.78\""},{"line_number":1889,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"6de165a8_fad9d238","line":1886,"range":{"start_line":1886,"start_character":22,"end_line":1886,"end_character":37},"updated":"2022-03-08 13:32:20.000000000","message":"this should be ServersV277Test","commit_id":"541510d5ec9c267ceda5aa43eb8d956fb8396668"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"2f5bfa745672127a31f8279090d3473f56212d59","unresolved":false,"context_lines":[{"line_number":1883,"context_line":"                      str(ex))"},{"line_number":1884,"context_line":""},{"line_number":1885,"context_line":""},{"line_number":1886,"context_line":"class ServersV278Test(ServersV273Test):"},{"line_number":1887,"context_line":""},{"line_number":1888,"context_line":"    api_version \u003d \"2.78\""},{"line_number":1889,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"df4f8834_5384f48e","line":1886,"range":{"start_line":1886,"start_character":22,"end_line":1886,"end_character":37},"in_reply_to":"6de165a8_fad9d238","updated":"2022-03-08 18:06:26.000000000","message":"Done","commit_id":"541510d5ec9c267ceda5aa43eb8d956fb8396668"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"476c6524410ffb32596fe15431c48ec3ea36622b","unresolved":true,"context_lines":[{"line_number":1998,"context_line":""},{"line_number":1999,"context_line":"    api_version \u003d \"2.91\""},{"line_number":2000,"context_line":""},{"line_number":2001,"context_line":"    def test_unshelve_with_az(self):"},{"line_number":2002,"context_line":"        s \u003d self.cs.servers.get(1234)"},{"line_number":2003,"context_line":"        # Test going through the Server object."},{"line_number":2004,"context_line":"        ret \u003d s.unshelve(availability_zone\u003d\u0027foo-az\u0027)"},{"line_number":2005,"context_line":"        self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)"},{"line_number":2006,"context_line":"        self.assert_called(\u0027POST\u0027, \u0027/servers/1234/action\u0027,"},{"line_number":2007,"context_line":"                           {\u0027unshelve\u0027: {"},{"line_number":2008,"context_line":"                               \u0027availability_zone\u0027: \u0027foo-az\u0027}})"},{"line_number":2009,"context_line":"        # Test going through the ServerManager directly."},{"line_number":2010,"context_line":"        ret \u003d self.cs.servers.unshelve(s, availability_zone\u003d\u0027foo-az\u0027)"},{"line_number":2011,"context_line":"        self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)"},{"line_number":2012,"context_line":"        self.assert_called(\u0027POST\u0027, \u0027/servers/1234/action\u0027,"},{"line_number":2013,"context_line":"                           {\u0027unshelve\u0027: {"},{"line_number":2014,"context_line":"                               \u0027availability_zone\u0027: \u0027foo-az\u0027}})"},{"line_number":2015,"context_line":""},{"line_number":2016,"context_line":"    def test_unshelve_with_destination_host(self):"},{"line_number":2017,"context_line":"        s \u003d self.cs.servers.get(1234)"}],"source_content_type":"text/x-python","patch_set":3,"id":"75d49674_89186d0c","line":2014,"range":{"start_line":2001,"start_character":3,"end_line":2014,"end_character":63},"updated":"2022-03-08 13:32:20.000000000","message":"so unshleve with an az was not actully intoduced in 2.91\n\nit was added in 2.77\nhttps://docs.openstack.org/nova/latest/reference/api-microversion-history.html#id70\n\nand we have a test for that on line \n\nhttps://review.opendev.org/c/openstack/python-novaclient/+/831651/3/novaclient/tests/unit/v2/test_servers.py#1854\n\nbut we have a bug in how ServersV278Test is defiend\n\nclass ServersV278Test(ServersV273Test):\n\nshould be \n\nclass ServersV278Test(ServersV277Test):\n\nthat is why you are not automatically getting the test here i belive.\n\ncan you try fixing that instead of redefining it.","commit_id":"541510d5ec9c267ceda5aa43eb8d956fb8396668"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"2f5bfa745672127a31f8279090d3473f56212d59","unresolved":true,"context_lines":[{"line_number":1998,"context_line":""},{"line_number":1999,"context_line":"    api_version \u003d \"2.91\""},{"line_number":2000,"context_line":""},{"line_number":2001,"context_line":"    def test_unshelve_with_az(self):"},{"line_number":2002,"context_line":"        s \u003d self.cs.servers.get(1234)"},{"line_number":2003,"context_line":"        # Test going through the Server object."},{"line_number":2004,"context_line":"        ret \u003d s.unshelve(availability_zone\u003d\u0027foo-az\u0027)"},{"line_number":2005,"context_line":"        self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)"},{"line_number":2006,"context_line":"        self.assert_called(\u0027POST\u0027, \u0027/servers/1234/action\u0027,"},{"line_number":2007,"context_line":"                           {\u0027unshelve\u0027: {"},{"line_number":2008,"context_line":"                               \u0027availability_zone\u0027: \u0027foo-az\u0027}})"},{"line_number":2009,"context_line":"        # Test going through the ServerManager directly."},{"line_number":2010,"context_line":"        ret \u003d self.cs.servers.unshelve(s, availability_zone\u003d\u0027foo-az\u0027)"},{"line_number":2011,"context_line":"        self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)"},{"line_number":2012,"context_line":"        self.assert_called(\u0027POST\u0027, \u0027/servers/1234/action\u0027,"},{"line_number":2013,"context_line":"                           {\u0027unshelve\u0027: {"},{"line_number":2014,"context_line":"                               \u0027availability_zone\u0027: \u0027foo-az\u0027}})"},{"line_number":2015,"context_line":""},{"line_number":2016,"context_line":"    def test_unshelve_with_destination_host(self):"},{"line_number":2017,"context_line":"        s \u003d self.cs.servers.get(1234)"}],"source_content_type":"text/x-python","patch_set":3,"id":"83f3b0aa_01ab6da2","line":2014,"range":{"start_line":2001,"start_character":3,"end_line":2014,"end_character":63},"in_reply_to":"75d49674_89186d0c","updated":"2022-03-08 18:06:26.000000000","message":"This test ensures that unshelve with an AZ is still working with v2.91. Testing\nSo I think it is better to keep it, isn\u0027t it ?","commit_id":"541510d5ec9c267ceda5aa43eb8d956fb8396668"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"11f82ba4397ba622cb4a2f201c5904134bda0222","unresolved":true,"context_lines":[{"line_number":1998,"context_line":""},{"line_number":1999,"context_line":"    api_version \u003d \"2.91\""},{"line_number":2000,"context_line":""},{"line_number":2001,"context_line":"    def test_unshelve_with_az(self):"},{"line_number":2002,"context_line":"        s \u003d self.cs.servers.get(1234)"},{"line_number":2003,"context_line":"        # Test going through the Server object."},{"line_number":2004,"context_line":"        ret \u003d s.unshelve(availability_zone\u003d\u0027foo-az\u0027)"},{"line_number":2005,"context_line":"        self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)"},{"line_number":2006,"context_line":"        self.assert_called(\u0027POST\u0027, \u0027/servers/1234/action\u0027,"},{"line_number":2007,"context_line":"                           {\u0027unshelve\u0027: {"},{"line_number":2008,"context_line":"                               \u0027availability_zone\u0027: \u0027foo-az\u0027}})"},{"line_number":2009,"context_line":"        # Test going through the ServerManager directly."},{"line_number":2010,"context_line":"        ret \u003d self.cs.servers.unshelve(s, availability_zone\u003d\u0027foo-az\u0027)"},{"line_number":2011,"context_line":"        self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)"},{"line_number":2012,"context_line":"        self.assert_called(\u0027POST\u0027, \u0027/servers/1234/action\u0027,"},{"line_number":2013,"context_line":"                           {\u0027unshelve\u0027: {"},{"line_number":2014,"context_line":"                               \u0027availability_zone\u0027: \u0027foo-az\u0027}})"},{"line_number":2015,"context_line":""},{"line_number":2016,"context_line":"    def test_unshelve_with_destination_host(self):"},{"line_number":2017,"context_line":"        s \u003d self.cs.servers.get(1234)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fee2dc88_25cd3ff2","line":2014,"range":{"start_line":2001,"start_character":3,"end_line":2014,"end_character":63},"in_reply_to":"83f3b0aa_01ab6da2","updated":"2022-03-09 15:41:12.000000000","message":"it would still be there via inheritance\neach of the test classes inherits form the previosu test class for the older micoroversion\nbut the test are written to take the api_version form the class constant\nso you shoudl not need to redefin it to get the same coverage","commit_id":"541510d5ec9c267ceda5aa43eb8d956fb8396668"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"ad4e420426bb81bf39d8603cbb1e5e952ce96597","unresolved":false,"context_lines":[{"line_number":1998,"context_line":""},{"line_number":1999,"context_line":"    api_version \u003d \"2.91\""},{"line_number":2000,"context_line":""},{"line_number":2001,"context_line":"    def test_unshelve_with_az(self):"},{"line_number":2002,"context_line":"        s \u003d self.cs.servers.get(1234)"},{"line_number":2003,"context_line":"        # Test going through the Server object."},{"line_number":2004,"context_line":"        ret \u003d s.unshelve(availability_zone\u003d\u0027foo-az\u0027)"},{"line_number":2005,"context_line":"        self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)"},{"line_number":2006,"context_line":"        self.assert_called(\u0027POST\u0027, \u0027/servers/1234/action\u0027,"},{"line_number":2007,"context_line":"                           {\u0027unshelve\u0027: {"},{"line_number":2008,"context_line":"                               \u0027availability_zone\u0027: \u0027foo-az\u0027}})"},{"line_number":2009,"context_line":"        # Test going through the ServerManager directly."},{"line_number":2010,"context_line":"        ret \u003d self.cs.servers.unshelve(s, availability_zone\u003d\u0027foo-az\u0027)"},{"line_number":2011,"context_line":"        self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)"},{"line_number":2012,"context_line":"        self.assert_called(\u0027POST\u0027, \u0027/servers/1234/action\u0027,"},{"line_number":2013,"context_line":"                           {\u0027unshelve\u0027: {"},{"line_number":2014,"context_line":"                               \u0027availability_zone\u0027: \u0027foo-az\u0027}})"},{"line_number":2015,"context_line":""},{"line_number":2016,"context_line":"    def test_unshelve_with_destination_host(self):"},{"line_number":2017,"context_line":"        s \u003d self.cs.servers.get(1234)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9845cae6_4c91e730","line":2014,"range":{"start_line":2001,"start_character":3,"end_line":2014,"end_character":63},"in_reply_to":"fee2dc88_25cd3ff2","updated":"2022-03-09 17:14:19.000000000","message":"Oh, ok, I\u0027m dumb! I did not realize that inheritance replays previous tests on the new API version. :)\nThanks for noticing it to me, and thanks for the review, Sean. I\u0027m going to remove the test.","commit_id":"541510d5ec9c267ceda5aa43eb8d956fb8396668"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"476c6524410ffb32596fe15431c48ec3ea36622b","unresolved":true,"context_lines":[{"line_number":2028,"context_line":"                           {\u0027unshelve\u0027: {"},{"line_number":2029,"context_line":"                               \u0027destination_host\u0027: \u0027server1\u0027}})"},{"line_number":2030,"context_line":""},{"line_number":2031,"context_line":"    def test_unshelve_server_pre_277_fails_with_specified_az(self):"},{"line_number":2032,"context_line":"        self.cs.api_version \u003d api_versions.APIVersion(\u00272.76\u0027)"},{"line_number":2033,"context_line":"        s \u003d self.cs.servers.get(1234)"},{"line_number":2034,"context_line":"        # Test going through the Server object."},{"line_number":2035,"context_line":"        ex \u003d self.assertRaises(TypeError,"},{"line_number":2036,"context_line":"                               s.unshelve,"},{"line_number":2037,"context_line":"                               availability_zone\u003d\u0027foo-az\u0027)"},{"line_number":2038,"context_line":"        self.assertIn(\"unexpected keyword argument \u0027availability_zone\u0027\","},{"line_number":2039,"context_line":"                      str(ex))"},{"line_number":2040,"context_line":"        # Test going through the ServerManager directly."},{"line_number":2041,"context_line":"        ex \u003d self.assertRaises(TypeError,"},{"line_number":2042,"context_line":"                               self.cs.servers.unshelve,"},{"line_number":2043,"context_line":"                               s, availability_zone\u003d\u0027foo-az\u0027)"},{"line_number":2044,"context_line":"        self.assertIn(\"unexpected keyword argument \u0027availability_zone\u0027\","},{"line_number":2045,"context_line":"                      str(ex))"},{"line_number":2046,"context_line":""},{"line_number":2047,"context_line":"    def test_unshelve_server_fails_with_az_and_dst_host(self):"},{"line_number":2048,"context_line":"        s \u003d self.cs.servers.get(1234)"}],"source_content_type":"text/x-python","patch_set":3,"id":"cc8bb9a4_0f16b664","line":2045,"range":{"start_line":2031,"start_character":3,"end_line":2045,"end_character":30},"updated":"2022-03-08 13:32:20.000000000","message":"this also should not be needed","commit_id":"541510d5ec9c267ceda5aa43eb8d956fb8396668"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"2f5bfa745672127a31f8279090d3473f56212d59","unresolved":false,"context_lines":[{"line_number":2028,"context_line":"                           {\u0027unshelve\u0027: {"},{"line_number":2029,"context_line":"                               \u0027destination_host\u0027: \u0027server1\u0027}})"},{"line_number":2030,"context_line":""},{"line_number":2031,"context_line":"    def test_unshelve_server_pre_277_fails_with_specified_az(self):"},{"line_number":2032,"context_line":"        self.cs.api_version \u003d api_versions.APIVersion(\u00272.76\u0027)"},{"line_number":2033,"context_line":"        s \u003d self.cs.servers.get(1234)"},{"line_number":2034,"context_line":"        # Test going through the Server object."},{"line_number":2035,"context_line":"        ex \u003d self.assertRaises(TypeError,"},{"line_number":2036,"context_line":"                               s.unshelve,"},{"line_number":2037,"context_line":"                               availability_zone\u003d\u0027foo-az\u0027)"},{"line_number":2038,"context_line":"        self.assertIn(\"unexpected keyword argument \u0027availability_zone\u0027\","},{"line_number":2039,"context_line":"                      str(ex))"},{"line_number":2040,"context_line":"        # Test going through the ServerManager directly."},{"line_number":2041,"context_line":"        ex \u003d self.assertRaises(TypeError,"},{"line_number":2042,"context_line":"                               self.cs.servers.unshelve,"},{"line_number":2043,"context_line":"                               s, availability_zone\u003d\u0027foo-az\u0027)"},{"line_number":2044,"context_line":"        self.assertIn(\"unexpected keyword argument \u0027availability_zone\u0027\","},{"line_number":2045,"context_line":"                      str(ex))"},{"line_number":2046,"context_line":""},{"line_number":2047,"context_line":"    def test_unshelve_server_fails_with_az_and_dst_host(self):"},{"line_number":2048,"context_line":"        s \u003d self.cs.servers.get(1234)"}],"source_content_type":"text/x-python","patch_set":3,"id":"0a4e7363_14f139cf","line":2045,"range":{"start_line":2031,"start_character":3,"end_line":2045,"end_character":30},"in_reply_to":"cc8bb9a4_0f16b664","updated":"2022-03-08 18:06:26.000000000","message":"Done","commit_id":"541510d5ec9c267ceda5aa43eb8d956fb8396668"}],"novaclient/v2/servers.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"476c6524410ffb32596fe15431c48ec3ea36622b","unresolved":true,"context_lines":[{"line_number":339,"context_line":"        :returns: An instance of novaclient.base.TupleWithMeta"},{"line_number":340,"context_line":"        \"\"\""},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"        if availability_zone and destination_host:"},{"line_number":343,"context_line":"            raise exceptions.ParametersMutuallyExclusive(\u0027unshelve\u0027)"},{"line_number":344,"context_line":"        if availability_zone:"},{"line_number":345,"context_line":"            return self.manager.unshelve(self,"},{"line_number":346,"context_line":"                                         availability_zone\u003davailability_zone)"}],"source_content_type":"text/x-python","patch_set":3,"id":"6a9d39aa_46a0f871","line":343,"range":{"start_line":342,"start_character":7,"end_line":343,"end_character":68},"updated":"2022-03-08 13:32:20.000000000","message":"i need to check the schema update but will this ever be reached?\n\ni tought you were updating the schema to create mutulaly exclusive groups\n---\n\nlater actully no this is correct you are doing this check client side so that if this function is invoke by osc ro whatever they will get the excption before they invoke the nova api which woudl reject it.\n+1","commit_id":"541510d5ec9c267ceda5aa43eb8d956fb8396668"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"2f5bfa745672127a31f8279090d3473f56212d59","unresolved":false,"context_lines":[{"line_number":339,"context_line":"        :returns: An instance of novaclient.base.TupleWithMeta"},{"line_number":340,"context_line":"        \"\"\""},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"        if availability_zone and destination_host:"},{"line_number":343,"context_line":"            raise exceptions.ParametersMutuallyExclusive(\u0027unshelve\u0027)"},{"line_number":344,"context_line":"        if availability_zone:"},{"line_number":345,"context_line":"            return self.manager.unshelve(self,"},{"line_number":346,"context_line":"                                         availability_zone\u003davailability_zone)"}],"source_content_type":"text/x-python","patch_set":3,"id":"73676d50_26b662a9","line":343,"range":{"start_line":342,"start_character":7,"end_line":343,"end_character":68},"in_reply_to":"6a9d39aa_46a0f871","updated":"2022-03-08 18:06:26.000000000","message":"Done","commit_id":"541510d5ec9c267ceda5aa43eb8d956fb8396668"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"476c6524410ffb32596fe15431c48ec3ea36622b","unresolved":true,"context_lines":[{"line_number":341,"context_line":""},{"line_number":342,"context_line":"        if availability_zone and destination_host:"},{"line_number":343,"context_line":"            raise exceptions.ParametersMutuallyExclusive(\u0027unshelve\u0027)"},{"line_number":344,"context_line":"        if availability_zone:"},{"line_number":345,"context_line":"            return self.manager.unshelve(self,"},{"line_number":346,"context_line":"                                         availability_zone\u003davailability_zone)"},{"line_number":347,"context_line":"        if destination_host:"},{"line_number":348,"context_line":"            return self.manager.unshelve(self,"},{"line_number":349,"context_line":"                                         destination_host\u003ddestination_host)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1d298cfb_48ad4718","line":346,"range":{"start_line":344,"start_character":29,"end_line":346,"end_character":77},"updated":"2022-03-08 13:32:20.000000000","message":"please reflow this\n\n            return self.manager.unshelve(self,\n                                         availability_zone\u003davailability_zone)\nto \n\n            return self.manager.unshelve(\n                self, availability_zone\u003davailability_zone)\n\nor\n\n            return self.manager.unshelve(\n                self, availability_zone\u003davailability_zone\n            )\n\nwe have started refining our code style over the late 3-4 years to be more consitent\n\nwhere all paramters do not fit on one line you should move all of them to the next line\n\nfor git blame reasons we are not reflowing all code in one bing patch but new code should ideally follow one of the alternitives i have above.","commit_id":"541510d5ec9c267ceda5aa43eb8d956fb8396668"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"2f5bfa745672127a31f8279090d3473f56212d59","unresolved":false,"context_lines":[{"line_number":341,"context_line":""},{"line_number":342,"context_line":"        if availability_zone and destination_host:"},{"line_number":343,"context_line":"            raise exceptions.ParametersMutuallyExclusive(\u0027unshelve\u0027)"},{"line_number":344,"context_line":"        if availability_zone:"},{"line_number":345,"context_line":"            return self.manager.unshelve(self,"},{"line_number":346,"context_line":"                                         availability_zone\u003davailability_zone)"},{"line_number":347,"context_line":"        if destination_host:"},{"line_number":348,"context_line":"            return self.manager.unshelve(self,"},{"line_number":349,"context_line":"                                         destination_host\u003ddestination_host)"}],"source_content_type":"text/x-python","patch_set":3,"id":"e057f3a0_3330055e","line":346,"range":{"start_line":344,"start_character":29,"end_line":346,"end_character":77},"in_reply_to":"1d298cfb_48ad4718","updated":"2022-03-08 18:06:26.000000000","message":"Done","commit_id":"541510d5ec9c267ceda5aa43eb8d956fb8396668"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"476c6524410ffb32596fe15431c48ec3ea36622b","unresolved":true,"context_lines":[{"line_number":345,"context_line":"            return self.manager.unshelve(self,"},{"line_number":346,"context_line":"                                         availability_zone\u003davailability_zone)"},{"line_number":347,"context_line":"        if destination_host:"},{"line_number":348,"context_line":"            return self.manager.unshelve(self,"},{"line_number":349,"context_line":"                                         destination_host\u003ddestination_host)"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"    def diagnostics(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"02f25df1_25b908b5","line":348,"updated":"2022-03-08 13:32:20.000000000","message":"same","commit_id":"541510d5ec9c267ceda5aa43eb8d956fb8396668"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"2f5bfa745672127a31f8279090d3473f56212d59","unresolved":false,"context_lines":[{"line_number":345,"context_line":"            return self.manager.unshelve(self,"},{"line_number":346,"context_line":"                                         availability_zone\u003davailability_zone)"},{"line_number":347,"context_line":"        if destination_host:"},{"line_number":348,"context_line":"            return self.manager.unshelve(self,"},{"line_number":349,"context_line":"                                         destination_host\u003ddestination_host)"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"    def diagnostics(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"0df7959e_b44f2833","line":348,"in_reply_to":"02f25df1_25b908b5","updated":"2022-03-08 18:06:26.000000000","message":"Done","commit_id":"541510d5ec9c267ceda5aa43eb8d956fb8396668"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"3adb6eed64c570dd577b1adc62f67bb41f3b8ed0","unresolved":true,"context_lines":[{"line_number":339,"context_line":"        :returns: An instance of novaclient.base.TupleWithMeta"},{"line_number":340,"context_line":"        \"\"\""},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"        if availability_zone and host:"},{"line_number":343,"context_line":"            raise exceptions.ParametersMutuallyExclusive(\u0027unshelve\u0027)"},{"line_number":344,"context_line":"        if availability_zone:"},{"line_number":345,"context_line":"            return self.manager.unshelve("},{"line_number":346,"context_line":"                self, availability_zone\u003davailability_zone)"}],"source_content_type":"text/x-python","patch_set":7,"id":"0f6acda9_18bf4416","line":343,"range":{"start_line":342,"start_character":0,"end_line":343,"end_character":68},"updated":"2022-05-14 03:34:28.000000000","message":"Move this check to ServerManager (after line 1307).","commit_id":"baa6d28f9cf4db8a0569403c4ee623654d113cab"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"2bccfff77cec0783cb125c7edf5033825e38d4f3","unresolved":false,"context_lines":[{"line_number":339,"context_line":"        :returns: An instance of novaclient.base.TupleWithMeta"},{"line_number":340,"context_line":"        \"\"\""},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"        if availability_zone and host:"},{"line_number":343,"context_line":"            raise exceptions.ParametersMutuallyExclusive(\u0027unshelve\u0027)"},{"line_number":344,"context_line":"        if availability_zone:"},{"line_number":345,"context_line":"            return self.manager.unshelve("},{"line_number":346,"context_line":"                self, availability_zone\u003davailability_zone)"}],"source_content_type":"text/x-python","patch_set":7,"id":"b1cd3648_e91761a2","line":343,"range":{"start_line":342,"start_character":0,"end_line":343,"end_character":68},"in_reply_to":"0f6acda9_18bf4416","updated":"2022-07-28 12:43:28.000000000","message":"\u003e Move this check to ServerManager (after line 1307).\n\nThis one is not anymore relevent, please tell me if I\u0027m wrong.","commit_id":"baa6d28f9cf4db8a0569403c4ee623654d113cab"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ecf42bb2e24c2c91af13d0fe132f5d471b8d1b4d","unresolved":true,"context_lines":[{"line_number":332,"context_line":"        Unshelve -- Unshelve the server."},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"        :param availability_zone: The specified availability zone name"},{"line_number":335,"context_line":"                                  (Optional)"},{"line_number":336,"context_line":"        :param host: The specified host"},{"line_number":337,"context_line":"                                  (Optional)"},{"line_number":338,"context_line":"        :returns: An instance of novaclient.base.TupleWithMeta"}],"source_content_type":"text/x-python","patch_set":11,"id":"842bde44_958ab112","line":335,"updated":"2022-07-27 13:56:28.000000000","message":"I would mention that passing None or not providing the param has two different meaning","commit_id":"d827d7a4233f25b993dabe668ed125f7da2ba04c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"2bccfff77cec0783cb125c7edf5033825e38d4f3","unresolved":false,"context_lines":[{"line_number":332,"context_line":"        Unshelve -- Unshelve the server."},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"        :param availability_zone: The specified availability zone name"},{"line_number":335,"context_line":"                                  (Optional)"},{"line_number":336,"context_line":"        :param host: The specified host"},{"line_number":337,"context_line":"                                  (Optional)"},{"line_number":338,"context_line":"        :returns: An instance of novaclient.base.TupleWithMeta"}],"source_content_type":"text/x-python","patch_set":11,"id":"63af8396_b94983c9","line":335,"in_reply_to":"842bde44_958ab112","updated":"2022-07-28 12:43:28.000000000","message":"Done","commit_id":"d827d7a4233f25b993dabe668ed125f7da2ba04c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ecf42bb2e24c2c91af13d0fe132f5d471b8d1b4d","unresolved":true,"context_lines":[{"line_number":339,"context_line":"        \"\"\""},{"line_number":340,"context_line":"        NoneType \u003d type(None)"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"        if isinstance(availability_zone, NoneType) and host:"},{"line_number":343,"context_line":"            return self.manager.unshelve("},{"line_number":344,"context_line":"                self, availability_zone\u003dNone, host\u003dhost)"},{"line_number":345,"context_line":"        if isinstance(availability_zone, str) and host:"}],"source_content_type":"text/x-python","patch_set":11,"id":"fad8b04d_c935deca","line":342,"range":{"start_line":342,"start_character":11,"end_line":342,"end_character":50},"updated":"2022-07-27 13:56:28.000000000","message":"None is the only instance of NoneType so this can be written with\n   if availability_zone is None and host:","commit_id":"d827d7a4233f25b993dabe668ed125f7da2ba04c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"2bccfff77cec0783cb125c7edf5033825e38d4f3","unresolved":false,"context_lines":[{"line_number":339,"context_line":"        \"\"\""},{"line_number":340,"context_line":"        NoneType \u003d type(None)"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"        if isinstance(availability_zone, NoneType) and host:"},{"line_number":343,"context_line":"            return self.manager.unshelve("},{"line_number":344,"context_line":"                self, availability_zone\u003dNone, host\u003dhost)"},{"line_number":345,"context_line":"        if isinstance(availability_zone, str) and host:"}],"source_content_type":"text/x-python","patch_set":11,"id":"93911ac4_b5eabe52","line":342,"range":{"start_line":342,"start_character":11,"end_line":342,"end_character":50},"in_reply_to":"fad8b04d_c935deca","updated":"2022-07-28 12:43:28.000000000","message":"Done","commit_id":"d827d7a4233f25b993dabe668ed125f7da2ba04c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ecf42bb2e24c2c91af13d0fe132f5d471b8d1b4d","unresolved":true,"context_lines":[{"line_number":341,"context_line":""},{"line_number":342,"context_line":"        if isinstance(availability_zone, NoneType) and host:"},{"line_number":343,"context_line":"            return self.manager.unshelve("},{"line_number":344,"context_line":"                self, availability_zone\u003dNone, host\u003dhost)"},{"line_number":345,"context_line":"        if isinstance(availability_zone, str) and host:"},{"line_number":346,"context_line":"            return self.manager.unshelve("},{"line_number":347,"context_line":"                self, availability_zone\u003davailability_zone, host\u003dhost)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f997eff_b52db8f1","line":344,"range":{"start_line":344,"start_character":22,"end_line":344,"end_character":44},"updated":"2022-07-27 13:56:28.000000000","message":"and then this can be\n   availability_zone\u003davailability_zone\n   \nand then it can be merged to the next if as it has the same call","commit_id":"d827d7a4233f25b993dabe668ed125f7da2ba04c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"2bccfff77cec0783cb125c7edf5033825e38d4f3","unresolved":false,"context_lines":[{"line_number":341,"context_line":""},{"line_number":342,"context_line":"        if isinstance(availability_zone, NoneType) and host:"},{"line_number":343,"context_line":"            return self.manager.unshelve("},{"line_number":344,"context_line":"                self, availability_zone\u003dNone, host\u003dhost)"},{"line_number":345,"context_line":"        if isinstance(availability_zone, str) and host:"},{"line_number":346,"context_line":"            return self.manager.unshelve("},{"line_number":347,"context_line":"                self, availability_zone\u003davailability_zone, host\u003dhost)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9b3be8f6_b0eb2cd0","line":344,"range":{"start_line":344,"start_character":22,"end_line":344,"end_character":44},"in_reply_to":"5f997eff_b52db8f1","updated":"2022-07-28 12:43:28.000000000","message":"Done","commit_id":"d827d7a4233f25b993dabe668ed125f7da2ba04c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ecf42bb2e24c2c91af13d0fe132f5d471b8d1b4d","unresolved":true,"context_lines":[{"line_number":345,"context_line":"        if isinstance(availability_zone, str) and host:"},{"line_number":346,"context_line":"            return self.manager.unshelve("},{"line_number":347,"context_line":"                self, availability_zone\u003davailability_zone, host\u003dhost)"},{"line_number":348,"context_line":"        if isinstance(availability_zone, NoneType):"},{"line_number":349,"context_line":"            return self.manager.unshelve(self, availability_zone\u003dNone)"},{"line_number":350,"context_line":"        if isinstance(availability_zone, str):"},{"line_number":351,"context_line":"            return self.manager.unshelve("},{"line_number":352,"context_line":"                self, availability_zone\u003davailability_zone)"}],"source_content_type":"text/x-python","patch_set":11,"id":"d42561a2_5ec51fe2","line":349,"range":{"start_line":348,"start_character":8,"end_line":349,"end_character":70},"updated":"2022-07-27 13:56:28.000000000","message":"ditto","commit_id":"d827d7a4233f25b993dabe668ed125f7da2ba04c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"2bccfff77cec0783cb125c7edf5033825e38d4f3","unresolved":false,"context_lines":[{"line_number":345,"context_line":"        if isinstance(availability_zone, str) and host:"},{"line_number":346,"context_line":"            return self.manager.unshelve("},{"line_number":347,"context_line":"                self, availability_zone\u003davailability_zone, host\u003dhost)"},{"line_number":348,"context_line":"        if isinstance(availability_zone, NoneType):"},{"line_number":349,"context_line":"            return self.manager.unshelve(self, availability_zone\u003dNone)"},{"line_number":350,"context_line":"        if isinstance(availability_zone, str):"},{"line_number":351,"context_line":"            return self.manager.unshelve("},{"line_number":352,"context_line":"                self, availability_zone\u003davailability_zone)"}],"source_content_type":"text/x-python","patch_set":11,"id":"4ae7cc34_8602af3e","line":349,"range":{"start_line":348,"start_character":8,"end_line":349,"end_character":70},"in_reply_to":"d42561a2_5ec51fe2","updated":"2022-07-28 12:43:28.000000000","message":"Done","commit_id":"d827d7a4233f25b993dabe668ed125f7da2ba04c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ecf42bb2e24c2c91af13d0fe132f5d471b8d1b4d","unresolved":true,"context_lines":[{"line_number":1324,"context_line":"        NoneType \u003d type(None)"},{"line_number":1325,"context_line":"        info \u003d None"},{"line_number":1326,"context_line":""},{"line_number":1327,"context_line":"        if isinstance(availability_zone, NoneType):"},{"line_number":1328,"context_line":"            info \u003d {\u0027availability_zone\u0027: None}"},{"line_number":1329,"context_line":"        if isinstance(availability_zone, str):"},{"line_number":1330,"context_line":"            info \u003d {\u0027availability_zone\u0027: availability_zone}"}],"source_content_type":"text/x-python","patch_set":11,"id":"d81c9b23_4387d7ed","line":1327,"range":{"start_line":1327,"start_character":11,"end_line":1327,"end_character":50},"updated":"2022-07-27 13:56:28.000000000","message":"availability_zone is None","commit_id":"d827d7a4233f25b993dabe668ed125f7da2ba04c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"2bccfff77cec0783cb125c7edf5033825e38d4f3","unresolved":false,"context_lines":[{"line_number":1324,"context_line":"        NoneType \u003d type(None)"},{"line_number":1325,"context_line":"        info \u003d None"},{"line_number":1326,"context_line":""},{"line_number":1327,"context_line":"        if isinstance(availability_zone, NoneType):"},{"line_number":1328,"context_line":"            info \u003d {\u0027availability_zone\u0027: None}"},{"line_number":1329,"context_line":"        if isinstance(availability_zone, str):"},{"line_number":1330,"context_line":"            info \u003d {\u0027availability_zone\u0027: availability_zone}"}],"source_content_type":"text/x-python","patch_set":11,"id":"9699df61_67664852","line":1327,"range":{"start_line":1327,"start_character":11,"end_line":1327,"end_character":50},"in_reply_to":"d81c9b23_4387d7ed","updated":"2022-07-28 12:43:28.000000000","message":"Done","commit_id":"d827d7a4233f25b993dabe668ed125f7da2ba04c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ecf42bb2e24c2c91af13d0fe132f5d471b8d1b4d","unresolved":true,"context_lines":[{"line_number":1325,"context_line":"        info \u003d None"},{"line_number":1326,"context_line":""},{"line_number":1327,"context_line":"        if isinstance(availability_zone, NoneType):"},{"line_number":1328,"context_line":"            info \u003d {\u0027availability_zone\u0027: None}"},{"line_number":1329,"context_line":"        if isinstance(availability_zone, str):"},{"line_number":1330,"context_line":"            info \u003d {\u0027availability_zone\u0027: availability_zone}"},{"line_number":1331,"context_line":"        if host:"}],"source_content_type":"text/x-python","patch_set":11,"id":"26c909f8_7f1a8587","line":1328,"range":{"start_line":1328,"start_character":41,"end_line":1328,"end_character":45},"updated":"2022-07-27 13:56:28.000000000","message":"availability_zone\n\nand then merge it into the next if case","commit_id":"d827d7a4233f25b993dabe668ed125f7da2ba04c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"2bccfff77cec0783cb125c7edf5033825e38d4f3","unresolved":false,"context_lines":[{"line_number":1325,"context_line":"        info \u003d None"},{"line_number":1326,"context_line":""},{"line_number":1327,"context_line":"        if isinstance(availability_zone, NoneType):"},{"line_number":1328,"context_line":"            info \u003d {\u0027availability_zone\u0027: None}"},{"line_number":1329,"context_line":"        if isinstance(availability_zone, str):"},{"line_number":1330,"context_line":"            info \u003d {\u0027availability_zone\u0027: availability_zone}"},{"line_number":1331,"context_line":"        if host:"}],"source_content_type":"text/x-python","patch_set":11,"id":"9adfb428_f58397a2","line":1328,"range":{"start_line":1328,"start_character":41,"end_line":1328,"end_character":45},"in_reply_to":"26c909f8_7f1a8587","updated":"2022-07-28 12:43:28.000000000","message":"Done","commit_id":"d827d7a4233f25b993dabe668ed125f7da2ba04c"}]}
