)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9fe31896db9d6a81b4687c0bb12f72ca5e239e4f","unresolved":false,"context_lines":[{"line_number":11,"context_line":"within detach_device_with_retry. While the change correctly referenced"},{"line_number":12,"context_line":"that the error code was introduced in v4.1.0 it made no attempt to"},{"line_number":13,"context_line":"handle versions prior to this. With MIN_LIBVIRT_VERSION currently pinned"},{"line_number":14,"context_line":"to v4.0.0 we need to handle libvirt \u003c v4.1.0 to avoid referncing the"},{"line_number":15,"context_line":"non-existent error code within the libvirt module."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Closes-Bug: #1891547"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9f560f44_0d45d815","line":14,"range":{"start_line":14,"start_character":54,"end_line":14,"end_character":64},"updated":"2020-08-17 21:52:48.000000000","message":"referencing","commit_id":"c30fbed1f0ec310c63061c69fa72fabadca525d3"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9a0d90f02f55975d1b57978a37c61e6704bfc1a6","unresolved":false,"context_lines":[{"line_number":11,"context_line":"within detach_device_with_retry. While the change correctly referenced"},{"line_number":12,"context_line":"that the error code was introduced in v4.1.0 it made no attempt to"},{"line_number":13,"context_line":"handle versions prior to this. With MIN_LIBVIRT_VERSION currently pinned"},{"line_number":14,"context_line":"to v4.0.0 we need to handle libvirt \u003c v4.1.0 to avoid referncing the"},{"line_number":15,"context_line":"non-existent error code within the libvirt module."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Closes-Bug: #1891547"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9f560f44_51612a39","line":14,"range":{"start_line":14,"start_character":54,"end_line":14,"end_character":64},"in_reply_to":"9f560f44_0d45d815","updated":"2020-08-17 22:59:07.000000000","message":"Done","commit_id":"c30fbed1f0ec310c63061c69fa72fabadca525d3"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9fe31896db9d6a81b4687c0bb12f72ca5e239e4f","unresolved":false,"context_lines":[{"line_number":9468,"context_line":"    )"},{"line_number":9469,"context_line":"    def test_detach_volume_supports_device_missing("},{"line_number":9470,"context_line":"        self, mock_get_version, mock_get_guest):"},{"line_number":9471,"context_line":"        \"\"\"Assert that VIR_ERR_DEVICE_MISSING is only used if libvirt \u003e\u003d v4.3.0"},{"line_number":9472,"context_line":"        \"\"\""},{"line_number":9473,"context_line":"        mock_guest \u003d mock.Mock(spec\u003dlibvirt_guest.Guest)"},{"line_number":9474,"context_line":"        mock_guest.get_power_state.return_value \u003d power_state.RUNNING"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_111cd268","line":9471,"range":{"start_line":9471,"start_character":74,"end_line":9471,"end_character":79},"updated":"2020-08-17 21:52:48.000000000","message":"4.1.0 right?","commit_id":"c30fbed1f0ec310c63061c69fa72fabadca525d3"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9a0d90f02f55975d1b57978a37c61e6704bfc1a6","unresolved":false,"context_lines":[{"line_number":9468,"context_line":"    )"},{"line_number":9469,"context_line":"    def test_detach_volume_supports_device_missing("},{"line_number":9470,"context_line":"        self, mock_get_version, mock_get_guest):"},{"line_number":9471,"context_line":"        \"\"\"Assert that VIR_ERR_DEVICE_MISSING is only used if libvirt \u003e\u003d v4.3.0"},{"line_number":9472,"context_line":"        \"\"\""},{"line_number":9473,"context_line":"        mock_guest \u003d mock.Mock(spec\u003dlibvirt_guest.Guest)"},{"line_number":9474,"context_line":"        mock_guest.get_power_state.return_value \u003d power_state.RUNNING"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_31647649","line":9471,"range":{"start_line":9471,"start_character":74,"end_line":9471,"end_character":79},"in_reply_to":"9f560f44_111cd268","updated":"2020-08-17 22:59:07.000000000","message":"Done","commit_id":"c30fbed1f0ec310c63061c69fa72fabadca525d3"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9fe31896db9d6a81b4687c0bb12f72ca5e239e4f","unresolved":false,"context_lines":[{"line_number":18866,"context_line":"    @mock.patch.object(fakelibvirt.Connection, \u0027getLibVersion\u0027)"},{"line_number":18867,"context_line":"    def test_detach_interface_supports_device_missing("},{"line_number":18868,"context_line":"        self, mock_get_version, mock_get_guest):"},{"line_number":18869,"context_line":"        \"\"\"Assert that VIR_ERR_DEVICE_MISSING is only used if libvirt \u003e\u003d v4.3.0"},{"line_number":18870,"context_line":"        \"\"\""},{"line_number":18871,"context_line":"        mock_guest \u003d mock.Mock(spec\u003dlibvirt_guest.Guest)"},{"line_number":18872,"context_line":"        mock_guest.get_power_state.return_value \u003d power_state.RUNNING"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_d13a5acb","line":18869,"range":{"start_line":18869,"start_character":74,"end_line":18869,"end_character":79},"updated":"2020-08-17 21:52:48.000000000","message":"4.1.0","commit_id":"c30fbed1f0ec310c63061c69fa72fabadca525d3"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9a0d90f02f55975d1b57978a37c61e6704bfc1a6","unresolved":false,"context_lines":[{"line_number":18866,"context_line":"    @mock.patch.object(fakelibvirt.Connection, \u0027getLibVersion\u0027)"},{"line_number":18867,"context_line":"    def test_detach_interface_supports_device_missing("},{"line_number":18868,"context_line":"        self, mock_get_version, mock_get_guest):"},{"line_number":18869,"context_line":"        \"\"\"Assert that VIR_ERR_DEVICE_MISSING is only used if libvirt \u003e\u003d v4.3.0"},{"line_number":18870,"context_line":"        \"\"\""},{"line_number":18871,"context_line":"        mock_guest \u003d mock.Mock(spec\u003dlibvirt_guest.Guest)"},{"line_number":18872,"context_line":"        mock_guest.get_power_state.return_value \u003d power_state.RUNNING"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_d1541a57","line":18869,"range":{"start_line":18869,"start_character":74,"end_line":18869,"end_character":79},"in_reply_to":"9f560f44_d13a5acb","updated":"2020-08-17 22:59:07.000000000","message":"Done","commit_id":"c30fbed1f0ec310c63061c69fa72fabadca525d3"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1d0ef94068dd8c7945a34a5635e2f85604b86dd7","unresolved":false,"context_lines":[{"line_number":9466,"context_line":"        \u0027nova.virt.libvirt.driver.LibvirtDriver._disconnect_volume\u0027,"},{"line_number":9467,"context_line":"        new\u003dmock.Mock())"},{"line_number":9468,"context_line":"    def test_detach_volume_supports_device_missing("},{"line_number":9469,"context_line":"        self, mock_get_version, mock_get_guest):"},{"line_number":9470,"context_line":"        \"\"\"Assert that VIR_ERR_DEVICE_MISSING is only used if libvirt \u003e\u003d v4.1.0"},{"line_number":9471,"context_line":"        \"\"\""},{"line_number":9472,"context_line":"        mock_guest \u003d mock.Mock(spec\u003dlibvirt_guest.Guest)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_c1fd5ab2","line":9469,"updated":"2020-08-18 20:05:52.000000000","message":"I would have thought this and others like it would be indented once more, but the pep8 job passes.","commit_id":"bc96af565937072c04dea31781d86d2073b77ed4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d83b4a1d99defbfad1a6d5202af04fe05836df84","unresolved":false,"context_lines":[{"line_number":9466,"context_line":"        \u0027nova.virt.libvirt.driver.LibvirtDriver._disconnect_volume\u0027,"},{"line_number":9467,"context_line":"        new\u003dmock.Mock())"},{"line_number":9468,"context_line":"    def test_detach_volume_supports_device_missing("},{"line_number":9469,"context_line":"        self, mock_get_version, mock_get_guest):"},{"line_number":9470,"context_line":"        \"\"\"Assert that VIR_ERR_DEVICE_MISSING is only used if libvirt \u003e\u003d v4.1.0"},{"line_number":9471,"context_line":"        \"\"\""},{"line_number":9472,"context_line":"        mock_guest \u003d mock.Mock(spec\u003dlibvirt_guest.Guest)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_e77b49f1","line":9469,"in_reply_to":"9f560f44_c1fd5ab2","updated":"2020-08-19 08:34:17.000000000","message":"That\u0027s because someone, years ago, decided \"strict adherence to them [the E12* and E131 whitespace rules] ends up causing some really odd code formatting and forced extra line breaks.\" (source: tox.ini). We don\u0027t check whitespace which means we\u0027re able to do stuff like:\n\n  hello_world(a_param,\n      b_param)\n\nwhich isn\u0027t pep8-compliant.\n\nCould we get the bracket dropped down a line, which make the delineation clear?","commit_id":"bc96af565937072c04dea31781d86d2073b77ed4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d83b4a1d99defbfad1a6d5202af04fe05836df84","unresolved":false,"context_lines":[{"line_number":18860,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.host.Host.get_guest\u0027)"},{"line_number":18861,"context_line":"    @mock.patch.object(fakelibvirt.Connection, \u0027getLibVersion\u0027)"},{"line_number":18862,"context_line":"    def test_detach_interface_supports_device_missing("},{"line_number":18863,"context_line":"        self, mock_get_version, mock_get_guest):"},{"line_number":18864,"context_line":"        \"\"\"Assert that VIR_ERR_DEVICE_MISSING is only used if libvirt \u003e\u003d v4.1.0"},{"line_number":18865,"context_line":"        \"\"\""},{"line_number":18866,"context_line":"        mock_guest \u003d mock.Mock(spec\u003dlibvirt_guest.Guest)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_87552d53","line":18863,"range":{"start_line":18863,"start_character":46,"end_line":18863,"end_character":48},"updated":"2020-08-19 08:34:17.000000000","message":"Same","commit_id":"bc96af565937072c04dea31781d86d2073b77ed4"}],"nova/tests/unit/virt/libvirt/test_guest.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9fe31896db9d6a81b4687c0bb12f72ca5e239e4f","unresolved":false,"context_lines":[{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    @mock.patch.object(libvirt_guest.Guest, \"detach_device\")"},{"line_number":297,"context_line":"    def _test_detach_device_with_retry_second_detach_failure("},{"line_number":298,"context_line":"            self, mock_detach, error_code\u003dNone, error_message\u003dNone,"},{"line_number":299,"context_line":"            supports_device_missing\u003dFalse"},{"line_number":300,"context_line":"    ):"},{"line_number":301,"context_line":"        # This simulates a retry of the transient/live domain detach"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_2d0d3c3e","line":298,"range":{"start_line":298,"start_character":31,"end_line":298,"end_character":66},"updated":"2020-08-17 21:52:48.000000000","message":"Note to self: make_libvirtError supports None for error_code and error_message:\n\nhttps://github.com/openstack/nova/blob/2cc051137692752983f2577e2d259a02be893f75/nova/tests/unit/virt/libvirt/fakelibvirt.py#L1771-L1772","commit_id":"c30fbed1f0ec310c63061c69fa72fabadca525d3"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9fe31896db9d6a81b4687c0bb12f72ca5e239e4f","unresolved":false,"context_lines":[{"line_number":344,"context_line":"        self._test_detach_device_with_retry_second_detach_failure("},{"line_number":345,"context_line":"            error_code\u003dfakelibvirt.VIR_ERR_DEVICE_MISSING,"},{"line_number":346,"context_line":"            error_message\u003d\"device not found: disk vdb not found\","},{"line_number":347,"context_line":"            supports_device_missing\u003dTrue"},{"line_number":348,"context_line":"        )"},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"    def _test_detach_device_with_retry_first_detach_failure("}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_31011606","line":347,"updated":"2020-08-17 21:52:48.000000000","message":"++ thanks for making these settings explicit","commit_id":"c30fbed1f0ec310c63061c69fa72fabadca525d3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d83b4a1d99defbfad1a6d5202af04fe05836df84","unresolved":false,"context_lines":[{"line_number":295,"context_line":"    @mock.patch.object(libvirt_guest.Guest, \"detach_device\")"},{"line_number":296,"context_line":"    def _test_detach_device_with_retry_second_detach_failure("},{"line_number":297,"context_line":"            self, mock_detach, error_code\u003dNone, error_message\u003dNone,"},{"line_number":298,"context_line":"            supports_device_missing\u003dFalse):"},{"line_number":299,"context_line":"        # This simulates a retry of the transient/live domain detach"},{"line_number":300,"context_line":"        # failing because the device is not found"},{"line_number":301,"context_line":"        conf \u003d mock.Mock(spec\u003dvconfig.LibvirtConfigGuestDevice)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_6750d95f","line":298,"range":{"start_line":298,"start_character":42,"end_line":298,"end_character":43},"updated":"2020-08-19 08:34:17.000000000","message":"this would read nicer with the bracket moved down a line and the arguments dedented","commit_id":"bc96af565937072c04dea31781d86d2073b77ed4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d83b4a1d99defbfad1a6d5202af04fe05836df84","unresolved":false,"context_lines":[{"line_number":344,"context_line":""},{"line_number":345,"context_line":"    def _test_detach_device_with_retry_first_detach_failure("},{"line_number":346,"context_line":"            self, error_code\u003dNone, error_message\u003dNone,"},{"line_number":347,"context_line":"            supports_device_missing\u003dFalse):"},{"line_number":348,"context_line":"        # This simulates a persistent or live domain detach failing because the"},{"line_number":349,"context_line":"        # device is not found during the first attempt to detach the device."},{"line_number":350,"context_line":"        # We should still attempt to detach the device from the live config if"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_07c75d14","line":347,"range":{"start_line":347,"start_character":41,"end_line":347,"end_character":43},"updated":"2020-08-19 08:34:17.000000000","message":"Same","commit_id":"bc96af565937072c04dea31781d86d2073b77ed4"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9fe31896db9d6a81b4687c0bb12f72ca5e239e4f","unresolved":false,"context_lines":[{"line_number":2027,"context_line":"            # driver may report that the volume is still in use."},{"line_number":2028,"context_line":"            supports_device_missing \u003d self._host.has_min_version("},{"line_number":2029,"context_line":"               MIN_LIBVIRT_VIR_ERR_DEVICE_MISSING"},{"line_number":2030,"context_line":"            )"},{"line_number":2031,"context_line":"            wait_for_detach \u003d guest.detach_device_with_retry("},{"line_number":2032,"context_line":"                guest.get_disk, disk_dev, live\u003dlive,"},{"line_number":2033,"context_line":"                supports_device_missing_error_code\u003dsupports_device_missing"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_ed5984fe","line":2030,"range":{"start_line":2030,"start_character":12,"end_line":2030,"end_character":13},"updated":"2020-08-17 21:52:48.000000000","message":"Why add an extra line for this -_-\n\nI might be in the minority here but I don\u0027t see what value is gained by adding code style inconsistent with the vast majority of the codebase and I don\u0027t see how putting a single paren on its own line helps with readability.","commit_id":"c30fbed1f0ec310c63061c69fa72fabadca525d3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d83b4a1d99defbfad1a6d5202af04fe05836df84","unresolved":false,"context_lines":[{"line_number":2027,"context_line":"            # driver may report that the volume is still in use."},{"line_number":2028,"context_line":"            supports_device_missing \u003d self._host.has_min_version("},{"line_number":2029,"context_line":"               MIN_LIBVIRT_VIR_ERR_DEVICE_MISSING"},{"line_number":2030,"context_line":"            )"},{"line_number":2031,"context_line":"            wait_for_detach \u003d guest.detach_device_with_retry("},{"line_number":2032,"context_line":"                guest.get_disk, disk_dev, live\u003dlive,"},{"line_number":2033,"context_line":"                supports_device_missing_error_code\u003dsupports_device_missing"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_e7dfc909","line":2030,"range":{"start_line":2030,"start_character":12,"end_line":2030,"end_character":13},"in_reply_to":"9f560f44_1345ed43","updated":"2020-08-19 08:34:17.000000000","message":"\u003e Yep, -1 from me too, I totally hate this style and think it looks\n \u003e quite different from the rest of the nova code, just in case anyone\n \u003e cares.\n\nAnd I hate the hideous handing indent style that was used here before. \"It looks different to everything else\" is unfair because it suggests either we change everything in one fell swoop or we continue to live with choices made by people who no longer work on the project and whose opinion therefore no longer matters for eternity. Things change and that\u0027s a good thing.\n\nWith that said, I don\u0027t particularly mind the bracket being brought up because it\u0027s still clear. What I\u0027d rail against is this rubbish:\n\n  def my_function(\n          param_a, param_b, param_c, ...):\n\nIf it can\u0027t fit on one line, this:\n\n  def my_function(\n      param_a, param_b, param_c, ...,\n  ):\n\nIs better in almost every way.","commit_id":"c30fbed1f0ec310c63061c69fa72fabadca525d3"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"48490a23f1925ecbc7bb35e12f12919781dace74","unresolved":false,"context_lines":[{"line_number":2027,"context_line":"            # driver may report that the volume is still in use."},{"line_number":2028,"context_line":"            supports_device_missing \u003d self._host.has_min_version("},{"line_number":2029,"context_line":"               MIN_LIBVIRT_VIR_ERR_DEVICE_MISSING"},{"line_number":2030,"context_line":"            )"},{"line_number":2031,"context_line":"            wait_for_detach \u003d guest.detach_device_with_retry("},{"line_number":2032,"context_line":"                guest.get_disk, disk_dev, live\u003dlive,"},{"line_number":2033,"context_line":"                supports_device_missing_error_code\u003dsupports_device_missing"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_7e1ce912","line":2030,"range":{"start_line":2030,"start_character":12,"end_line":2030,"end_character":13},"in_reply_to":"9f560f44_1345ed43","updated":"2020-08-18 19:04:36.000000000","message":"kk, if people care that much I can yank this out and move back to the same line for everything. We\u0027ve already landed this all of the place during the cycle FWIW.","commit_id":"c30fbed1f0ec310c63061c69fa72fabadca525d3"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ecc51552d8545cacf967112f225adc3d9ee43545","unresolved":false,"context_lines":[{"line_number":2027,"context_line":"            # driver may report that the volume is still in use."},{"line_number":2028,"context_line":"            supports_device_missing \u003d self._host.has_min_version("},{"line_number":2029,"context_line":"               MIN_LIBVIRT_VIR_ERR_DEVICE_MISSING"},{"line_number":2030,"context_line":"            )"},{"line_number":2031,"context_line":"            wait_for_detach \u003d guest.detach_device_with_retry("},{"line_number":2032,"context_line":"                guest.get_disk, disk_dev, live\u003dlive,"},{"line_number":2033,"context_line":"                supports_device_missing_error_code\u003dsupports_device_missing"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_1345ed43","line":2030,"range":{"start_line":2030,"start_character":12,"end_line":2030,"end_character":13},"in_reply_to":"9f560f44_140200b5","updated":"2020-08-18 13:28:10.000000000","message":"Yep, -1 from me too, I totally hate this style and think it looks quite different from the rest of the nova code, just in case anyone cares.","commit_id":"c30fbed1f0ec310c63061c69fa72fabadca525d3"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"cc22039359eed6d18a58b0b86d3f23de1850a68b","unresolved":false,"context_lines":[{"line_number":2027,"context_line":"            # driver may report that the volume is still in use."},{"line_number":2028,"context_line":"            supports_device_missing \u003d self._host.has_min_version("},{"line_number":2029,"context_line":"               MIN_LIBVIRT_VIR_ERR_DEVICE_MISSING"},{"line_number":2030,"context_line":"            )"},{"line_number":2031,"context_line":"            wait_for_detach \u003d guest.detach_device_with_retry("},{"line_number":2032,"context_line":"                guest.get_disk, disk_dev, live\u003dlive,"},{"line_number":2033,"context_line":"                supports_device_missing_error_code\u003dsupports_device_missing"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_140200b5","line":2030,"range":{"start_line":2030,"start_character":12,"end_line":2030,"end_character":13},"in_reply_to":"9f560f44_71854ecf","updated":"2020-08-18 00:08:53.000000000","message":"nooo :(","commit_id":"c30fbed1f0ec310c63061c69fa72fabadca525d3"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9a0d90f02f55975d1b57978a37c61e6704bfc1a6","unresolved":false,"context_lines":[{"line_number":2027,"context_line":"            # driver may report that the volume is still in use."},{"line_number":2028,"context_line":"            supports_device_missing \u003d self._host.has_min_version("},{"line_number":2029,"context_line":"               MIN_LIBVIRT_VIR_ERR_DEVICE_MISSING"},{"line_number":2030,"context_line":"            )"},{"line_number":2031,"context_line":"            wait_for_detach \u003d guest.detach_device_with_retry("},{"line_number":2032,"context_line":"                guest.get_disk, disk_dev, live\u003dlive,"},{"line_number":2033,"context_line":"                supports_device_missing_error_code\u003dsupports_device_missing"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_71854ecf","line":2030,"range":{"start_line":2030,"start_character":12,"end_line":2030,"end_character":13},"in_reply_to":"9f560f44_ed5984fe","updated":"2020-08-17 22:59:07.000000000","message":"Yup with a single argument I can see your point, I have however come around to using this approach when there are multiple arguments spread over a few lines as below.","commit_id":"c30fbed1f0ec310c63061c69fa72fabadca525d3"}],"nova/virt/libvirt/guest.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9fe31896db9d6a81b4687c0bb12f72ca5e239e4f","unresolved":false,"context_lines":[{"line_number":407,"context_line":"        unplug_libvirt_error_codes \u003d ["},{"line_number":408,"context_line":"            libvirt.VIR_ERR_OPERATION_FAILED,"},{"line_number":409,"context_line":"            libvirt.VIR_ERR_INTERNAL_ERROR"},{"line_number":410,"context_line":"        ]"},{"line_number":411,"context_line":""},{"line_number":412,"context_line":"        def _try_detach_device(conf, persistent\u003dFalse, live\u003dFalse):"},{"line_number":413,"context_line":"            # Raise DeviceNotFound if the device isn\u0027t found during detach"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_ada02ca7","line":410,"updated":"2020-08-17 21:52:48.000000000","message":"Since this is being broken out anyway, would have been more well suited to be a set() since we\u0027re only using it to test for membership.","commit_id":"c30fbed1f0ec310c63061c69fa72fabadca525d3"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9a0d90f02f55975d1b57978a37c61e6704bfc1a6","unresolved":false,"context_lines":[{"line_number":407,"context_line":"        unplug_libvirt_error_codes \u003d ["},{"line_number":408,"context_line":"            libvirt.VIR_ERR_OPERATION_FAILED,"},{"line_number":409,"context_line":"            libvirt.VIR_ERR_INTERNAL_ERROR"},{"line_number":410,"context_line":"        ]"},{"line_number":411,"context_line":""},{"line_number":412,"context_line":"        def _try_detach_device(conf, persistent\u003dFalse, live\u003dFalse):"},{"line_number":413,"context_line":"            # Raise DeviceNotFound if the device isn\u0027t found during detach"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_114fb2bd","line":410,"in_reply_to":"9f560f44_ada02ca7","updated":"2020-08-17 22:59:07.000000000","message":"Done","commit_id":"c30fbed1f0ec310c63061c69fa72fabadca525d3"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1d0ef94068dd8c7945a34a5635e2f85604b86dd7","unresolved":false,"context_lines":[{"line_number":406,"context_line":"        unplug_libvirt_error_codes \u003d set(["},{"line_number":407,"context_line":"            libvirt.VIR_ERR_OPERATION_FAILED,"},{"line_number":408,"context_line":"            libvirt.VIR_ERR_INTERNAL_ERROR"},{"line_number":409,"context_line":"        ])"},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"        def _try_detach_device(conf, persistent\u003dFalse, live\u003dFalse):"},{"line_number":412,"context_line":"            # Raise DeviceNotFound if the device isn\u0027t found during detach"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_c116faf1","line":409,"range":{"start_line":409,"start_character":8,"end_line":409,"end_character":10},"updated":"2020-08-18 20:05:52.000000000","message":"Last of the mohicans [in this patch]","commit_id":"bc96af565937072c04dea31781d86d2073b77ed4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d83b4a1d99defbfad1a6d5202af04fe05836df84","unresolved":false,"context_lines":[{"line_number":406,"context_line":"        unplug_libvirt_error_codes \u003d set(["},{"line_number":407,"context_line":"            libvirt.VIR_ERR_OPERATION_FAILED,"},{"line_number":408,"context_line":"            libvirt.VIR_ERR_INTERNAL_ERROR"},{"line_number":409,"context_line":"        ])"},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"        def _try_detach_device(conf, persistent\u003dFalse, live\u003dFalse):"},{"line_number":412,"context_line":"            # Raise DeviceNotFound if the device isn\u0027t found during detach"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_27d421bd","line":409,"range":{"start_line":409,"start_character":8,"end_line":409,"end_character":10},"in_reply_to":"9f560f44_c116faf1","updated":"2020-08-19 08:34:17.000000000","message":"This is valid. We\u0027ve always (correctly) allowed hanging bracket for dicts and lists. No reason to exclude sets.","commit_id":"bc96af565937072c04dea31781d86d2073b77ed4"}]}
