)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"339713ee048ec9754f15fbe6d6c52baaebbf0974","unresolved":false,"context_lines":[{"line_number":10,"context_line":"present in the connection_properties. This tries to retrieve"},{"line_number":11,"context_line":"the device by looping into the available disks and getting the"},{"line_number":12,"context_line":"target mountpoint that can be used to inform the guest about the"},{"line_number":13,"context_line":"resize. In order to expose the bug, we are including the code"},{"line_number":14,"context_line":"to extend in-use volumes for RBD."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-Bug: #1786189"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_b100bcac","line":14,"range":{"start_line":13,"start_character":8,"end_line":14,"end_character":33},"updated":"2018-08-16 07:01:42.000000000","message":"Please split this into separate changes - one to fix the bug and the extend support added on top, because we can add a small feature release note for the libvirt driver adding volume extend support for rbd volumes.","commit_id":"c86544bc36df47cfbc85b50156f385651966bc77"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5e65505243eca28548dc291629a05fea4b44b7f0","unresolved":false,"context_lines":[{"line_number":10,"context_line":"present in the connection_properties. This tries to retrieve"},{"line_number":11,"context_line":"the device by looping into the available disks and getting the"},{"line_number":12,"context_line":"target mountpoint that can be used to inform the guest about the"},{"line_number":13,"context_line":"resize."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Closes-Bug: #1786189"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f79a3b5_1ecc6632","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":6},"updated":"2018-09-05 16:05:22.000000000","message":"To be clear, this isn\u0027t server resize, which already works for rbd volumes, but volume resize, which is the extend callback to nova.\n\nWe should probably clarify that in the commit message, i.e. mention that this is needed to support extending in-use rbd volumes.","commit_id":"0d38998d62794d00d124fcdc2812a5595fda1415"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5e65505243eca28548dc291629a05fea4b44b7f0","unresolved":false,"context_lines":[{"line_number":12,"context_line":"target mountpoint that can be used to inform the guest about the"},{"line_number":13,"context_line":"resize."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Closes-Bug: #1786189"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: If642103dbe5f74048b5e2263652d8e9cf7899177"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f79a3b5_5eef3e86","line":15,"updated":"2018-09-05 16:05:22.000000000","message":"We should probably remove the bug since this isn\u0027t a bug, it\u0027s a request for a feature. So replace the bug with:\n\nPart of blueprint extend-in-use-rbd-volumes","commit_id":"0d38998d62794d00d124fcdc2812a5595fda1415"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"339713ee048ec9754f15fbe6d6c52baaebbf0974","unresolved":false,"context_lines":[{"line_number":1641,"context_line":"                    # to identify it in libvirt"},{"line_number":1642,"context_line":"                    disk \u003d next(iter(["},{"line_number":1643,"context_line":"                        d for d in guest.get_all_disks()"},{"line_number":1644,"context_line":"                        if d.serial \u003d\u003d connection_info[\u0027data\u0027][\u0027volume_id\u0027]"},{"line_number":1645,"context_line":"                    ]), None)"},{"line_number":1646,"context_line":"                    disk_path \u003d disk.target_dev if disk else None"},{"line_number":1647,"context_line":"                LOG.debug(\u0027resizing block device %(dev)s to %(size)u kb\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_3126ec69","line":1644,"range":{"start_line":1644,"start_character":39,"end_line":1644,"end_character":75},"updated":"2018-08-16 07:01:42.000000000","message":"Use the utility method we have for this, because not all volume types provide this the same way either:\n\nhttps://github.com/openstack/nova/blob/59030dcd0dc5d37771e89bcad85c25b0a3dcc843/nova/virt/block_device.py#L918","commit_id":"c86544bc36df47cfbc85b50156f385651966bc77"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"339713ee048ec9754f15fbe6d6c52baaebbf0974","unresolved":false,"context_lines":[{"line_number":1643,"context_line":"                        d for d in guest.get_all_disks()"},{"line_number":1644,"context_line":"                        if d.serial \u003d\u003d connection_info[\u0027data\u0027][\u0027volume_id\u0027]"},{"line_number":1645,"context_line":"                    ]), None)"},{"line_number":1646,"context_line":"                    disk_path \u003d disk.target_dev if disk else None"},{"line_number":1647,"context_line":"                LOG.debug(\u0027resizing block device %(dev)s to %(size)u kb\u0027,"},{"line_number":1648,"context_line":"                          {\u0027dev\u0027: disk_path, \u0027size\u0027: new_size})"},{"line_number":1649,"context_line":"                dev \u003d guest.get_block_device(disk_path)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_d11458eb","line":1646,"range":{"start_line":1646,"start_character":56,"end_line":1646,"end_character":65},"updated":"2018-08-16 07:01:42.000000000","message":"If we fail to find the matching disk, we\u0027re likely going to fail dev.resize in strange ways, so we should probably raise an explicit failure if we can\u0027t find the disk_path.","commit_id":"c86544bc36df47cfbc85b50156f385651966bc77"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5e65505243eca28548dc291629a05fea4b44b7f0","unresolved":false,"context_lines":[{"line_number":1659,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":1660,"context_line":"                LOG.warning(\u0027During extend_volume, instance disappeared.\u0027,"},{"line_number":1661,"context_line":"                            instance\u003dinstance)"},{"line_number":1662,"context_line":"        except exception.VolumeNotFound:"},{"line_number":1663,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":1664,"context_line":"                LOG.warning(\u0027During extend_volume, volume not found.\u0027,"},{"line_number":1665,"context_line":"                            volume_id\u003dvolume_id)"},{"line_number":1666,"context_line":"        except libvirt.libvirtError:"},{"line_number":1667,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":1668,"context_line":"                LOG.exception(\u0027resizing block device failed.\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_be51b232","line":1665,"range":{"start_line":1662,"start_character":8,"end_line":1665,"end_character":48},"updated":"2018-09-05 16:05:22.000000000","message":"I don\u0027t think we need this - it\u0027s redundant. If you want to log this, just log something before you raise the exception above. But I\u0027m not sure the log message really helps because the volume extend operation will fail with that error, so we\u0027re already going to get this message elsewhere.","commit_id":"0d38998d62794d00d124fcdc2812a5595fda1415"}],"nova/virt/libvirt/volume/net.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"339713ee048ec9754f15fbe6d6c52baaebbf0974","unresolved":false,"context_lines":[{"line_number":142,"context_line":"    def extend_volume(self, connection_info, instance):"},{"line_number":143,"context_line":"        \"\"\"Extend the volume.\"\"\""},{"line_number":144,"context_line":"        LOG.debug(\"calling os-brick to extend RBD Volume\", instance\u003dinstance)"},{"line_number":145,"context_line":"        if connection_info[\u0027data\u0027][\u0027auth_enabled\u0027]:"},{"line_number":146,"context_line":"            secret \u003d self.host.find_secret("},{"line_number":147,"context_line":"                connection_info[\u0027data\u0027][\u0027cluster_name\u0027],"},{"line_number":148,"context_line":"                \"client.%s secret\" % connection_info[\u0027data\u0027][\u0027auth_username\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_f1e874e2","line":145,"range":{"start_line":145,"start_character":34,"end_line":145,"end_character":51},"updated":"2018-08-16 07:01:42.000000000","message":"Should probably be safe and use .get(\u0027auth_enabled\u0027) here.","commit_id":"c86544bc36df47cfbc85b50156f385651966bc77"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"339713ee048ec9754f15fbe6d6c52baaebbf0974","unresolved":false,"context_lines":[{"line_number":143,"context_line":"        \"\"\"Extend the volume.\"\"\""},{"line_number":144,"context_line":"        LOG.debug(\"calling os-brick to extend RBD Volume\", instance\u003dinstance)"},{"line_number":145,"context_line":"        if connection_info[\u0027data\u0027][\u0027auth_enabled\u0027]:"},{"line_number":146,"context_line":"            secret \u003d self.host.find_secret("},{"line_number":147,"context_line":"                connection_info[\u0027data\u0027][\u0027cluster_name\u0027],"},{"line_number":148,"context_line":"                \"client.%s secret\" % connection_info[\u0027data\u0027][\u0027auth_username\u0027]"},{"line_number":149,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_f1d15424","line":146,"updated":"2018-08-16 07:01:42.000000000","message":"Can\u0027t we use _get_secret_uuid() for this?","commit_id":"c86544bc36df47cfbc85b50156f385651966bc77"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"339713ee048ec9754f15fbe6d6c52baaebbf0974","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        LOG.debug(\"calling os-brick to extend RBD Volume\", instance\u003dinstance)"},{"line_number":145,"context_line":"        if connection_info[\u0027data\u0027][\u0027auth_enabled\u0027]:"},{"line_number":146,"context_line":"            secret \u003d self.host.find_secret("},{"line_number":147,"context_line":"                connection_info[\u0027data\u0027][\u0027cluster_name\u0027],"},{"line_number":148,"context_line":"                \"client.%s secret\" % connection_info[\u0027data\u0027][\u0027auth_username\u0027]"},{"line_number":149,"context_line":"            )"},{"line_number":150,"context_line":"            keyring \u003d \"[client.%s]\\t\\nkey \u003d %s\\n\" % ("}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_71bea4d5","line":147,"range":{"start_line":147,"start_character":41,"end_line":147,"end_character":53},"updated":"2018-08-16 07:01:42.000000000","message":"Does this only apply to rbd types? Because this driver handles more than just rbd (see above).","commit_id":"c86544bc36df47cfbc85b50156f385651966bc77"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"339713ee048ec9754f15fbe6d6c52baaebbf0974","unresolved":false,"context_lines":[{"line_number":152,"context_line":"                base64.b64encode(secret.value())"},{"line_number":153,"context_line":"            )"},{"line_number":154,"context_line":"            connection_info[\u0027data\u0027][\u0027keyring\u0027] \u003d keyring"},{"line_number":155,"context_line":"        new_size \u003d self.connector.extend_volume(connection_info[\u0027data\u0027])"},{"line_number":156,"context_line":"        LOG.debug(\"Extend RBD Volume %s; new_size\u003d%s\","},{"line_number":157,"context_line":"                  connection_info[\u0027data\u0027][\u0027volume_id\u0027],"},{"line_number":158,"context_line":"                  new_size, instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_51acc89d","line":155,"updated":"2018-08-16 07:01:42.000000000","message":"Umm, os-brick\u0027s rbd connector doesn\u0027t yet implement this:\n\nhttps://github.com/openstack/os-brick/blob/master/os_brick/initiator/connectors/rbd.py#L250\n\nSo do you have a dependent os-brick change that this nova patch needs to depend on?","commit_id":"c86544bc36df47cfbc85b50156f385651966bc77"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"da3e322562e04a438354c227c1ee291abc355318","unresolved":false,"context_lines":[{"line_number":152,"context_line":"                base64.b64encode(secret.value())"},{"line_number":153,"context_line":"            )"},{"line_number":154,"context_line":"            connection_info[\u0027data\u0027][\u0027keyring\u0027] \u003d keyring"},{"line_number":155,"context_line":"        new_size \u003d self.connector.extend_volume(connection_info[\u0027data\u0027])"},{"line_number":156,"context_line":"        LOG.debug(\"Extend RBD Volume %s; new_size\u003d%s\","},{"line_number":157,"context_line":"                  connection_info[\u0027data\u0027][\u0027volume_id\u0027],"},{"line_number":158,"context_line":"                  new_size, instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_d1977844","line":155,"in_reply_to":"3f79a3b5_51acc89d","updated":"2018-08-16 07:02:07.000000000","message":"This: https://review.openstack.org/#/c/589925/","commit_id":"c86544bc36df47cfbc85b50156f385651966bc77"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"339713ee048ec9754f15fbe6d6c52baaebbf0974","unresolved":false,"context_lines":[{"line_number":154,"context_line":"            connection_info[\u0027data\u0027][\u0027keyring\u0027] \u003d keyring"},{"line_number":155,"context_line":"        new_size \u003d self.connector.extend_volume(connection_info[\u0027data\u0027])"},{"line_number":156,"context_line":"        LOG.debug(\"Extend RBD Volume %s; new_size\u003d%s\","},{"line_number":157,"context_line":"                  connection_info[\u0027data\u0027][\u0027volume_id\u0027],"},{"line_number":158,"context_line":"                  new_size, instance\u003dinstance)"},{"line_number":159,"context_line":"        return new_size"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_f196344c","line":157,"range":{"start_line":157,"start_character":18,"end_line":157,"end_character":54},"updated":"2018-08-16 07:01:42.000000000","message":"use the same utility mentioned earlier","commit_id":"c86544bc36df47cfbc85b50156f385651966bc77"}]}
