)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4792647c271156db25b9b7cd94e2ed7b1306d521","unresolved":false,"context_lines":[{"line_number":32,"context_line":"``dm-crypt`` based encryption providers ``plain`` and ``luks2``."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Closes-Bug: #1861071"},{"line_number":35,"context_line":"Depends-On: https://review.opendev.org/706880"},{"line_number":36,"context_line":"Change-Id: I0c3f14100a18107f7e416293f3d4fcc641ce5e55"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3fa7e38b_238196fb","line":35,"range":{"start_line":35,"start_character":0,"end_line":35,"end_character":45},"updated":"2020-02-19 16:26:04.000000000","message":"Note for reviewers: this depends on helps us test this in CI, but we need a new release of oslo.utils with [1] and set out minimum version to that before we can actually use this","commit_id":"9d2f70d96d1514bee6970cf4867a4aeaf3abe5da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7ef852a8a68108cf7aebba9448c0815777ffbf8e","unresolved":false,"context_lines":[{"line_number":32,"context_line":"``dm-crypt`` based encryption providers ``plain`` and ``luks2``."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Closes-Bug: #1861071"},{"line_number":35,"context_line":"Depends-On: https://review.opendev.org/706880"},{"line_number":36,"context_line":"Change-Id: I0c3f14100a18107f7e416293f3d4fcc641ce5e55"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3fa7e38b_435a9285","line":35,"range":{"start_line":35,"start_character":0,"end_line":35,"end_character":45},"in_reply_to":"3fa7e38b_238196fb","updated":"2020-02-19 16:26:51.000000000","message":"I\u0027m assuming you don\u0027t want to backport this too. If you do, maybe you could vendor the oslo.utils stuff and then bump the minimum version in a future change?","commit_id":"9d2f70d96d1514bee6970cf4867a4aeaf3abe5da"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"64ccf4c053b7a58600a15d9c619fdc05cdf65b63","unresolved":false,"context_lines":[{"line_number":18,"context_line":"would fail as Libvirt would need to grow the device to allow room for"},{"line_number":19,"context_line":"the LUKSv1 header."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This change corrects this by inspecting the host block device or remote"},{"line_number":22,"context_line":"RBD volume using ``qemu-img info``. Since oslo.utils 4.1.0 the returned"},{"line_number":23,"context_line":"QemuImgInfo object that encapsulates the output of this call now"},{"line_number":24,"context_line":"includes LUKSv1 specific data such as the offset of the encrypted"},{"line_number":25,"context_line":"payload, essentially where the users data actually starts within the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"1fa4df85_2c11b7ad","line":22,"range":{"start_line":21,"start_character":0,"end_line":22,"end_character":33},"updated":"2020-03-11 11:56:09.000000000","message":"ah so this is why we need the privileged version.","commit_id":"018fabeb8535919ad1f47dabacae48ac392cb277"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"260830795ba8c0f6834dddce57c2283d9be1d4ec","unresolved":false,"context_lines":[{"line_number":9302,"context_line":"        drvr._host.get_guest \u003d mock.Mock(return_value\u003dguest)"},{"line_number":9303,"context_line":"        drvr._extend_volume \u003d mock.Mock(return_value\u003dnew_size)"},{"line_number":9304,"context_line":""},{"line_number":9305,"context_line":"        mock_qemu_img_info.return_value \u003d \"\"\""},{"line_number":9306,"context_line":"{\"virtual-size\": 41126400, \"filename\": \"fake_img\", \"cluster-size\": 65536,"},{"line_number":9307,"context_line":" \"format\": \"qcow2\", \"actual-size\": 13168640, \"format-specific\": {\"data\":"},{"line_number":9308,"context_line":"{\"payload-offset\": %s}}}\"\"\" % payload_offset"},{"line_number":9309,"context_line":"        mock_get_encryption_metadata.return_value \u003d {"},{"line_number":9310,"context_line":"            \u0027provider\u0027: \u0027luks\u0027,"},{"line_number":9311,"context_line":"            \u0027control_location\u0027: \u0027front-end\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"1fa4df85_3a792093","line":9308,"range":{"start_line":9305,"start_character":42,"end_line":9308,"end_character":44},"updated":"2020-03-06 17:53:41.000000000","message":"Could you do this as a dict and \u0027json.dumps\u0027 it? Would be a bit easier to grok, I imagine?","commit_id":"d3f5d7884e7d17230600bbd1ee778c6c2051e954"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"7168462117bd5561883c8033f903764c12c08fd8","unresolved":false,"context_lines":[{"line_number":9302,"context_line":"        drvr._host.get_guest \u003d mock.Mock(return_value\u003dguest)"},{"line_number":9303,"context_line":"        drvr._extend_volume \u003d mock.Mock(return_value\u003dnew_size)"},{"line_number":9304,"context_line":""},{"line_number":9305,"context_line":"        mock_qemu_img_info.return_value \u003d \"\"\""},{"line_number":9306,"context_line":"{\"virtual-size\": 41126400, \"filename\": \"fake_img\", \"cluster-size\": 65536,"},{"line_number":9307,"context_line":" \"format\": \"qcow2\", \"actual-size\": 13168640, \"format-specific\": {\"data\":"},{"line_number":9308,"context_line":"{\"payload-offset\": %s}}}\"\"\" % payload_offset"},{"line_number":9309,"context_line":"        mock_get_encryption_metadata.return_value \u003d {"},{"line_number":9310,"context_line":"            \u0027provider\u0027: \u0027luks\u0027,"},{"line_number":9311,"context_line":"            \u0027control_location\u0027: \u0027front-end\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"1fa4df85_db847cd5","line":9308,"range":{"start_line":9305,"start_character":42,"end_line":9308,"end_character":44},"in_reply_to":"1fa4df85_33594b34","updated":"2020-03-09 13:46:07.000000000","message":"After working on I56676713571e79f05ee3f0bffc5da8386e02c5d4 I\u0027m going to change this and mock out a QemuImgInfo object instead of returning JSON here.","commit_id":"d3f5d7884e7d17230600bbd1ee778c6c2051e954"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"87f179d64e95c28e4cf32c64ec1c628f4465dbf9","unresolved":false,"context_lines":[{"line_number":9302,"context_line":"        drvr._host.get_guest \u003d mock.Mock(return_value\u003dguest)"},{"line_number":9303,"context_line":"        drvr._extend_volume \u003d mock.Mock(return_value\u003dnew_size)"},{"line_number":9304,"context_line":""},{"line_number":9305,"context_line":"        mock_qemu_img_info.return_value \u003d \"\"\""},{"line_number":9306,"context_line":"{\"virtual-size\": 41126400, \"filename\": \"fake_img\", \"cluster-size\": 65536,"},{"line_number":9307,"context_line":" \"format\": \"qcow2\", \"actual-size\": 13168640, \"format-specific\": {\"data\":"},{"line_number":9308,"context_line":"{\"payload-offset\": %s}}}\"\"\" % payload_offset"},{"line_number":9309,"context_line":"        mock_get_encryption_metadata.return_value \u003d {"},{"line_number":9310,"context_line":"            \u0027provider\u0027: \u0027luks\u0027,"},{"line_number":9311,"context_line":"            \u0027control_location\u0027: \u0027front-end\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"1fa4df85_33594b34","line":9308,"range":{"start_line":9305,"start_character":42,"end_line":9308,"end_character":44},"in_reply_to":"1fa4df85_3a792093","updated":"2020-03-06 18:18:41.000000000","message":"Sure that also works.","commit_id":"d3f5d7884e7d17230600bbd1ee778c6c2051e954"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"3687866a75623c5882cd9712da2eae64c35417a0","unresolved":false,"context_lines":[{"line_number":9302,"context_line":"        drvr._host.get_guest \u003d mock.Mock(return_value\u003dguest)"},{"line_number":9303,"context_line":"        drvr._extend_volume \u003d mock.Mock(return_value\u003dnew_size)"},{"line_number":9304,"context_line":""},{"line_number":9305,"context_line":"        mock_qemu_img_info.return_value \u003d \"\"\""},{"line_number":9306,"context_line":"{\"virtual-size\": 41126400, \"filename\": \"fake_img\", \"cluster-size\": 65536,"},{"line_number":9307,"context_line":" \"format\": \"qcow2\", \"actual-size\": 13168640, \"format-specific\": {\"data\":"},{"line_number":9308,"context_line":"{\"payload-offset\": %s}}}\"\"\" % payload_offset"},{"line_number":9309,"context_line":"        mock_get_encryption_metadata.return_value \u003d {"},{"line_number":9310,"context_line":"            \u0027provider\u0027: \u0027luks\u0027,"},{"line_number":9311,"context_line":"            \u0027control_location\u0027: \u0027front-end\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"1fa4df85_5fce375a","line":9308,"range":{"start_line":9305,"start_character":42,"end_line":9308,"end_character":44},"in_reply_to":"1fa4df85_db847cd5","updated":"2020-03-09 14:42:18.000000000","message":"Right we aren\u0027t using them here ignore this.","commit_id":"d3f5d7884e7d17230600bbd1ee778c6c2051e954"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4792647c271156db25b9b7cd94e2ed7b1306d521","unresolved":false,"context_lines":[{"line_number":1950,"context_line":"            if \u0027device_path\u0027 in connection_info[\u0027data\u0027]:"},{"line_number":1951,"context_line":"                path \u003d connection_info[\u0027data\u0027][\u0027device_path\u0027]"},{"line_number":1952,"context_line":"            elif connection_info[\u0027driver_volume_type\u0027] \u003d\u003d \u0027rbd\u0027:"},{"line_number":1953,"context_line":"                path \u003d \u0027rbd:%s\u0027 % (connection_info[\u0027data\u0027][\u0027name\u0027])"},{"line_number":1954,"context_line":"            try:"},{"line_number":1955,"context_line":"                info \u003d images.qemu_img_info(path, output_format\u003d\u0027json\u0027,"},{"line_number":1956,"context_line":"                                            run_as_root\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_83d2cafd","line":1953,"updated":"2020-02-19 16:26:04.000000000","message":"This can leave \u0027path\u0027 potentially unset. Are there combinations that can get us here? If so, you probably need a fallthrough clause","commit_id":"9d2f70d96d1514bee6970cf4867a4aeaf3abe5da"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"c89be7d61484614313bf74cb3bc7465869b0e1b0","unresolved":false,"context_lines":[{"line_number":1950,"context_line":"            if \u0027device_path\u0027 in connection_info[\u0027data\u0027]:"},{"line_number":1951,"context_line":"                path \u003d connection_info[\u0027data\u0027][\u0027device_path\u0027]"},{"line_number":1952,"context_line":"            elif connection_info[\u0027driver_volume_type\u0027] \u003d\u003d \u0027rbd\u0027:"},{"line_number":1953,"context_line":"                path \u003d \u0027rbd:%s\u0027 % (connection_info[\u0027data\u0027][\u0027name\u0027])"},{"line_number":1954,"context_line":"            try:"},{"line_number":1955,"context_line":"                info \u003d images.qemu_img_info(path, output_format\u003d\u0027json\u0027,"},{"line_number":1956,"context_line":"                                            run_as_root\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_69e8cfdf","line":1953,"in_reply_to":"3fa7e38b_83d2cafd","updated":"2020-02-19 17:32:29.000000000","message":"ACK, I\u0027ll raise exception.DiskNotFound in a final else clause.","commit_id":"9d2f70d96d1514bee6970cf4867a4aeaf3abe5da"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4792647c271156db25b9b7cd94e2ed7b1306d521","unresolved":false,"context_lines":[{"line_number":2015,"context_line":"                        connection_info, encryption)"},{"line_number":2016,"context_line":"                else:"},{"line_number":2017,"context_line":"                    self._resize_attached_volume("},{"line_number":2018,"context_line":"                        new_size, dev, instance)"},{"line_number":2019,"context_line":"            else:"},{"line_number":2020,"context_line":"                LOG.debug(\u0027Skipping block device resize, guest is not running\u0027,"},{"line_number":2021,"context_line":"                          instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_23af567d","line":2018,"updated":"2020-02-19 16:26:04.000000000","message":"nit: I wonder if we could combine these and make the decision inside the combined \u0027_resize_attached_volume\u0027, depending on wether \u0027encryption\u0027 is unset or not? Alternatively, we could use an e.g. \u0027_get_new_volume_size\u0027 function and keep the call to \u0027dev.resize\u0027 here. Just seems a little nicer","commit_id":"9d2f70d96d1514bee6970cf4867a4aeaf3abe5da"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"c618384dcb2016462e5eabb7a72b0b4b771d4d23","unresolved":false,"context_lines":[{"line_number":1967,"context_line":"                #  info \u003d images.qemu_img_info(path, output_format\u003d\u0027json\u0027,"},{"line_number":1968,"context_line":"                #                              run_as_root\u003dTrue)"},{"line_number":1969,"context_line":"                #  format_specific_data \u003d info.format_specific[\u0027data\u0027]"},{"line_number":1970,"context_line":"                info_dict \u003d nova.privsep.qemu.qemu_img_info("},{"line_number":1971,"context_line":"                    path, output_format\u003d\u0027json\u0027)"},{"line_number":1972,"context_line":"                info \u003d jsonutils.loads(info_dict)"},{"line_number":1973,"context_line":"                format_specific_data \u003d info[\u0027format-specific\u0027][\u0027data\u0027]"},{"line_number":1974,"context_line":"                payload_offset \u003d format_specific_data[\u0027payload-offset\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_42179c46","line":1971,"range":{"start_line":1970,"start_character":28,"end_line":1971,"end_character":47},"updated":"2020-03-03 09:03:12.000000000","message":"Nope, I need to provide the QEMU version here still until If878a023c69f25a9ea45b7de2ff9eb1976aaeb8c.","commit_id":"f86ea8bd62ebc4202346146136f5c80ce6b3fc7d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"260830795ba8c0f6834dddce57c2283d9be1d4ec","unresolved":false,"context_lines":[{"line_number":1947,"context_line":"        # host block devices and remote RBD volumes."},{"line_number":1948,"context_line":"        if self._use_native_luks(encryption):"},{"line_number":1949,"context_line":"            try:"},{"line_number":1950,"context_line":"                # NOTE(lyarwood): Find the path to provide to qemu-img"},{"line_number":1951,"context_line":"                if \u0027device_path\u0027 in connection_info[\u0027data\u0027]:"},{"line_number":1952,"context_line":"                    path \u003d connection_info[\u0027data\u0027][\u0027device_path\u0027]"},{"line_number":1953,"context_line":"                elif connection_info[\u0027driver_volume_type\u0027] \u003d\u003d \u0027rbd\u0027:"},{"line_number":1954,"context_line":"                    path \u003d \u0027rbd:%s\u0027 % (connection_info[\u0027data\u0027][\u0027name\u0027])"},{"line_number":1955,"context_line":"                else:"},{"line_number":1956,"context_line":"                    path \u003d \u0027unknown\u0027"},{"line_number":1957,"context_line":"                    raise exception.DiskNotFound(location\u003d\u0027unknown\u0027)"},{"line_number":1958,"context_line":""},{"line_number":1959,"context_line":"                # TODO(lyarwood): The following direct call to privsep instead"},{"line_number":1960,"context_line":"                # of images.qemu_img_info avoids the need to bump"}],"source_content_type":"text/x-python","patch_set":8,"id":"1fa4df85_7d1a3217","line":1957,"range":{"start_line":1950,"start_character":0,"end_line":1957,"end_character":68},"updated":"2020-03-06 17:53:41.000000000","message":"Can you drag this out of the try-except? I don\u0027t think it needs to be in here and it\u0027s weird raising a specific exception (DiskNotFound) only to log and raise it again below.\n\n...unless other paths can raise DiskNotFound below, in which case this will do","commit_id":"d3f5d7884e7d17230600bbd1ee778c6c2051e954"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"87f179d64e95c28e4cf32c64ec1c628f4465dbf9","unresolved":false,"context_lines":[{"line_number":1947,"context_line":"        # host block devices and remote RBD volumes."},{"line_number":1948,"context_line":"        if self._use_native_luks(encryption):"},{"line_number":1949,"context_line":"            try:"},{"line_number":1950,"context_line":"                # NOTE(lyarwood): Find the path to provide to qemu-img"},{"line_number":1951,"context_line":"                if \u0027device_path\u0027 in connection_info[\u0027data\u0027]:"},{"line_number":1952,"context_line":"                    path \u003d connection_info[\u0027data\u0027][\u0027device_path\u0027]"},{"line_number":1953,"context_line":"                elif connection_info[\u0027driver_volume_type\u0027] \u003d\u003d \u0027rbd\u0027:"},{"line_number":1954,"context_line":"                    path \u003d \u0027rbd:%s\u0027 % (connection_info[\u0027data\u0027][\u0027name\u0027])"},{"line_number":1955,"context_line":"                else:"},{"line_number":1956,"context_line":"                    path \u003d \u0027unknown\u0027"},{"line_number":1957,"context_line":"                    raise exception.DiskNotFound(location\u003d\u0027unknown\u0027)"},{"line_number":1958,"context_line":""},{"line_number":1959,"context_line":"                # TODO(lyarwood): The following direct call to privsep instead"},{"line_number":1960,"context_line":"                # of images.qemu_img_info avoids the need to bump"}],"source_content_type":"text/x-python","patch_set":8,"id":"1fa4df85_732ee392","line":1957,"range":{"start_line":1950,"start_character":0,"end_line":1957,"end_character":68},"in_reply_to":"1fa4df85_7d1a3217","updated":"2020-03-06 18:18:41.000000000","message":"Yeah nova.privsep.qemu.qemu_img_info can raise this below.\n\nhttps://github.com/openstack/nova/blob/9a17a2dfb11ac13b3e85fc7acf3492bc78a856b2/nova/privsep/qemu.py#L118\n\nI agree it\u0027s odd but I was really worrying about KeyError being raised above when accessing the connection_info dict.","commit_id":"d3f5d7884e7d17230600bbd1ee778c6c2051e954"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"260830795ba8c0f6834dddce57c2283d9be1d4ec","unresolved":false,"context_lines":[{"line_number":1984,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":1985,"context_line":"                    LOG.warning(\u0027Unable to access the encrypted disk %s.\u0027,"},{"line_number":1986,"context_line":"                                path, instance\u003dinstance)"},{"line_number":1987,"context_line":"            except Exception:"},{"line_number":1988,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":1989,"context_line":"                    LOG.warning(\u0027Unknown error when attempting to find the \u0027"},{"line_number":1990,"context_line":"                                \u0027payload_offset for LUKSv1 encrypted disk %s.\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1fa4df85_7dab1274","line":1987,"range":{"start_line":1987,"start_character":12,"end_line":1987,"end_character":29},"updated":"2020-03-06 17:53:41.000000000","message":"I wonder could we be more specific here. It\u0027s either a processutils error or a JSON decode error, right? Maybe something privsep\u0027y too","commit_id":"d3f5d7884e7d17230600bbd1ee778c6c2051e954"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"119dc0b685ec93ab15ebfcb479b7a14d782322ce","unresolved":false,"context_lines":[{"line_number":1984,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":1985,"context_line":"                    LOG.warning(\u0027Unable to access the encrypted disk %s.\u0027,"},{"line_number":1986,"context_line":"                                path, instance\u003dinstance)"},{"line_number":1987,"context_line":"            except Exception:"},{"line_number":1988,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":1989,"context_line":"                    LOG.warning(\u0027Unknown error when attempting to find the \u0027"},{"line_number":1990,"context_line":"                                \u0027payload_offset for LUKSv1 encrypted disk %s.\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1fa4df85_9ff4aff2","line":1987,"range":{"start_line":1987,"start_character":12,"end_line":1987,"end_character":29},"in_reply_to":"1fa4df85_1b68d41a","updated":"2020-03-09 14:15:25.000000000","message":"Yeah, fair point actually. Let\u0027s do that so","commit_id":"d3f5d7884e7d17230600bbd1ee778c6c2051e954"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"7168462117bd5561883c8033f903764c12c08fd8","unresolved":false,"context_lines":[{"line_number":1984,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":1985,"context_line":"                    LOG.warning(\u0027Unable to access the encrypted disk %s.\u0027,"},{"line_number":1986,"context_line":"                                path, instance\u003dinstance)"},{"line_number":1987,"context_line":"            except Exception:"},{"line_number":1988,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":1989,"context_line":"                    LOG.warning(\u0027Unknown error when attempting to find the \u0027"},{"line_number":1990,"context_line":"                                \u0027payload_offset for LUKSv1 encrypted disk %s.\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1fa4df85_1b68d41a","line":1987,"range":{"start_line":1987,"start_character":12,"end_line":1987,"end_character":29},"in_reply_to":"1fa4df85_73534318","updated":"2020-03-09 13:46:07.000000000","message":"Actually, is it even worth it here given I\u0027m just going to reraise all of these exceptions? Would switching to LOG.exception() be enough?","commit_id":"d3f5d7884e7d17230600bbd1ee778c6c2051e954"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"87f179d64e95c28e4cf32c64ec1c628f4465dbf9","unresolved":false,"context_lines":[{"line_number":1984,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":1985,"context_line":"                    LOG.warning(\u0027Unable to access the encrypted disk %s.\u0027,"},{"line_number":1986,"context_line":"                                path, instance\u003dinstance)"},{"line_number":1987,"context_line":"            except Exception:"},{"line_number":1988,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":1989,"context_line":"                    LOG.warning(\u0027Unknown error when attempting to find the \u0027"},{"line_number":1990,"context_line":"                                \u0027payload_offset for LUKSv1 encrypted disk %s.\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1fa4df85_73534318","line":1987,"range":{"start_line":1987,"start_character":12,"end_line":1987,"end_character":29},"in_reply_to":"1fa4df85_7dab1274","updated":"2020-03-06 18:18:41.000000000","message":"ACK can do, KeyError for the connection_info dict stuff above is valid also.","commit_id":"d3f5d7884e7d17230600bbd1ee778c6c2051e954"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"64ccf4c053b7a58600a15d9c619fdc05cdf65b63","unresolved":false,"context_lines":[{"line_number":1951,"context_line":"                    path \u003d \u0027unknown\u0027"},{"line_number":1952,"context_line":"                    raise exception.DiskNotFound(location\u003d\u0027unknown\u0027)"},{"line_number":1953,"context_line":""},{"line_number":1954,"context_line":"                # TODO(lyarwood): The following direct call to privsep instead"},{"line_number":1955,"context_line":"                # of images.qemu_img_info avoids the need to bump"},{"line_number":1956,"context_line":"                # requirements.txt to depend on a new version of oslo.utils"},{"line_number":1957,"context_line":"                # that provides a version of QemuImgInfo that includes the"},{"line_number":1958,"context_line":"                # format_specific attribute allowing this bugfix to be"},{"line_number":1959,"context_line":"                # backported. Once landed we can replace this with the"},{"line_number":1960,"context_line":"                # following and require oslo.utils \u003e\u003d 4.1.0:"},{"line_number":1961,"context_line":"                #"},{"line_number":1962,"context_line":"                #  info \u003d images.qemu_img_info(path, output_format\u003d\u0027json\u0027,"},{"line_number":1963,"context_line":"                #                              run_as_root\u003dTrue)"},{"line_number":1964,"context_line":"                #  format_specific_data \u003d info.format_specific[\u0027data\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"1fa4df85_6c656f45","line":1961,"range":{"start_line":1954,"start_character":16,"end_line":1961,"end_character":17},"updated":"2020-03-11 11:56:09.000000000","message":"also good to know.\nso the current approch is take for backporting and we will bump the requirements later.","commit_id":"018fabeb8535919ad1f47dabacae48ac392cb277"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"64ccf4c053b7a58600a15d9c619fdc05cdf65b63","unresolved":false,"context_lines":[{"line_number":1962,"context_line":"                #  info \u003d images.qemu_img_info(path, output_format\u003d\u0027json\u0027,"},{"line_number":1963,"context_line":"                #                              run_as_root\u003dTrue)"},{"line_number":1964,"context_line":"                #  format_specific_data \u003d info.format_specific[\u0027data\u0027]"},{"line_number":1965,"context_line":"                info_dict \u003d nova.privsep.qemu.privileged_qemu_img_info("},{"line_number":1966,"context_line":"                    path, output_format\u003d\u0027json\u0027,"},{"line_number":1967,"context_line":"                    qemu_version\u003dself._host.get_connection().getVersion())"},{"line_number":1968,"context_line":"                info \u003d jsonutils.loads(info_dict)"},{"line_number":1969,"context_line":"                format_specific_data \u003d info[\u0027format-specific\u0027][\u0027data\u0027]"},{"line_number":1970,"context_line":"                payload_offset \u003d format_specific_data[\u0027payload-offset\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"1fa4df85_0c815bc4","line":1967,"range":{"start_line":1965,"start_character":16,"end_line":1967,"end_character":74},"updated":"2020-03-11 11:56:09.000000000","message":"here is where you are usign the new privileged version cool.","commit_id":"018fabeb8535919ad1f47dabacae48ac392cb277"}]}
