)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"3699ef9d29f81a8177b3ea606ae123be886209f0","unresolved":false,"context_lines":[{"line_number":14,"context_line":"volumes."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Partial-Bug: #1530860"},{"line_number":17,"context_line":"DocImpact: Removes the quobyte_client_cfg configuration option"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I9ddd6d2cc67c67b488a0cbf88d2ab124c7a82cca"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a061dce_d3f8dac5","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":9},"updated":"2016-04-06 14:58:28.000000000","message":"This means a manual has to be updated [1]. Is this really the case here? If \"yes\", please specify how the update of the manual should look like.\n\n[1] http://openstack.markmail.org/thread/hb5g3lf4pndnhk6h","commit_id":"92508ccedeb8e9346db75ceaeb0d24f52f7287cf"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"bb05b2d4ba3f9ed3d621d15ad6ea39d8a15e2842","unresolved":false,"context_lines":[{"line_number":14,"context_line":"volumes."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Partial-Bug: #1530860"},{"line_number":17,"context_line":"DocImpact: Removes the quobyte_client_cfg configuration option"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I9ddd6d2cc67c67b488a0cbf88d2ab124c7a82cca"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a061dce_03d49bba","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":9},"in_reply_to":"9a061dce_428fd5cb","updated":"2016-06-14 12:25:13.000000000","message":"Done","commit_id":"92508ccedeb8e9346db75ceaeb0d24f52f7287cf"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"fd3f19e8ccef7fa3b44cdcc05f9147520602e7e9","unresolved":false,"context_lines":[{"line_number":14,"context_line":"volumes."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Partial-Bug: #1530860"},{"line_number":17,"context_line":"DocImpact: Removes the quobyte_client_cfg configuration option"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I9ddd6d2cc67c67b488a0cbf88d2ab124c7a82cca"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a061dce_428fd5cb","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":9},"in_reply_to":"9a061dce_b3b44682","updated":"2016-04-06 15:43:35.000000000","message":"@Silvan:\n\nAs you already do the doc changes in commit bd4092b48ce03f64e24c7126234c7ea79890ce09 I\u0027d say \"DocImpact\" is not necessary anymore. Just add another line here:\n\n    \"The documentation change is done in commit\n    bd4092b48ce03f64e24c7126234c7ea79890ce09\"\n\nor something like that. We then save us the bug report creation and triaging.","commit_id":"92508ccedeb8e9346db75ceaeb0d24f52f7287cf"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"5a491f89887d53d8d965cba0d43d0f4c94bedc74","unresolved":false,"context_lines":[{"line_number":14,"context_line":"volumes."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Partial-Bug: #1530860"},{"line_number":17,"context_line":"DocImpact: Removes the quobyte_client_cfg configuration option"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I9ddd6d2cc67c67b488a0cbf88d2ab124c7a82cca"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a061dce_b3b44682","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":9},"in_reply_to":"9a061dce_d3f8dac5","updated":"2016-04-06 15:09:49.000000000","message":"There\u0027s an already approved (but not merged) documentation change waiting for this change to merge, please see the gerrit similar topic field.\nThat change predates the DocImpact ticket process change you referenced. Should i create a ticket for this anyways?","commit_id":"92508ccedeb8e9346db75ceaeb0d24f52f7287cf"}],"nova/virt/libvirt/volume/quobyte.py":[{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"3699ef9d29f81a8177b3ea606ae123be886209f0","unresolved":false,"context_lines":[{"line_number":38,"context_line":"               default\u003dpaths.state_path_def(\u0027mnt\u0027),"},{"line_number":39,"context_line":"               help\u003d\u0027Directory where the Quobyte volume is mounted on the \u0027"},{"line_number":40,"context_line":"                    \u0027compute node\u0027),"},{"line_number":41,"context_line":"    cfg.StrOpt(\u0027quobyte_client_cfg\u0027,"},{"line_number":42,"context_line":"               help\u003d\u0027Path to a Quobyte Client configuration file.\u0027),"},{"line_number":43,"context_line":"    ]"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a061dce_339e7663","side":"PARENT","line":42,"range":{"start_line":41,"start_character":0,"end_line":42,"end_character":68},"updated":"2016-04-06 14:58:28.000000000","message":"I would expect that this got first deprecated [1] before the removal. Or is there a reason this is not necessary?\n\n[1] http://governance.openstack.org/reference/tags/assert_follows-standard-deprecation.html","commit_id":"c21f47a4b5da38b546db924ef757fdbf9b38fecd"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"5a491f89887d53d8d965cba0d43d0f4c94bedc74","unresolved":false,"context_lines":[{"line_number":38,"context_line":"               default\u003dpaths.state_path_def(\u0027mnt\u0027),"},{"line_number":39,"context_line":"               help\u003d\u0027Directory where the Quobyte volume is mounted on the \u0027"},{"line_number":40,"context_line":"                    \u0027compute node\u0027),"},{"line_number":41,"context_line":"    cfg.StrOpt(\u0027quobyte_client_cfg\u0027,"},{"line_number":42,"context_line":"               help\u003d\u0027Path to a Quobyte Client configuration file.\u0027),"},{"line_number":43,"context_line":"    ]"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a061dce_8eae3996","side":"PARENT","line":42,"range":{"start_line":41,"start_character":0,"end_line":42,"end_character":68},"in_reply_to":"9a061dce_339e7663","updated":"2016-04-06 15:09:49.000000000","message":"This change removes any usage of this option.\nThe configuration file can still be used but will not be interpreted by this driver.\nThe configuration file can still be used by the external configuration required by this change (see the documentation update for more information).\nDoes this sufficiently answer your consideration?","commit_id":"c21f47a4b5da38b546db924ef757fdbf9b38fecd"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"bb05b2d4ba3f9ed3d621d15ad6ea39d8a15e2842","unresolved":false,"context_lines":[{"line_number":38,"context_line":"               default\u003dpaths.state_path_def(\u0027mnt\u0027),"},{"line_number":39,"context_line":"               help\u003d\u0027Directory where the Quobyte volume is mounted on the \u0027"},{"line_number":40,"context_line":"                    \u0027compute node\u0027),"},{"line_number":41,"context_line":"    cfg.StrOpt(\u0027quobyte_client_cfg\u0027,"},{"line_number":42,"context_line":"               help\u003d\u0027Path to a Quobyte Client configuration file.\u0027),"},{"line_number":43,"context_line":"    ]"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a061dce_e324020e","side":"PARENT","line":42,"range":{"start_line":41,"start_character":0,"end_line":42,"end_character":68},"in_reply_to":"9a061dce_3872ce49","updated":"2016-06-14 12:25:13.000000000","message":"That absolutely makes sense, i\u0027m adding a reno file.","commit_id":"c21f47a4b5da38b546db924ef757fdbf9b38fecd"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"fd3f19e8ccef7fa3b44cdcc05f9147520602e7e9","unresolved":false,"context_lines":[{"line_number":38,"context_line":"               default\u003dpaths.state_path_def(\u0027mnt\u0027),"},{"line_number":39,"context_line":"               help\u003d\u0027Directory where the Quobyte volume is mounted on the \u0027"},{"line_number":40,"context_line":"                    \u0027compute node\u0027),"},{"line_number":41,"context_line":"    cfg.StrOpt(\u0027quobyte_client_cfg\u0027,"},{"line_number":42,"context_line":"               help\u003d\u0027Path to a Quobyte Client configuration file.\u0027),"},{"line_number":43,"context_line":"    ]"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a061dce_3872ce49","side":"PARENT","line":42,"range":{"start_line":41,"start_character":0,"end_line":42,"end_character":68},"in_reply_to":"9a061dce_8eae3996","updated":"2016-04-06 15:43:35.000000000","message":"I still don\u0027t feel very comfortable with removing it without deprecation. We need at least a reno file to make the ops aware of the removed config option [1]. \n\n[1] http://docs.openstack.org/developer/nova/code-review.html#when-a-release-note-is-needed","commit_id":"c21f47a4b5da38b546db924ef757fdbf9b38fecd"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"fd3f19e8ccef7fa3b44cdcc05f9147520602e7e9","unresolved":false,"context_lines":[{"line_number":67,"context_line":"class LibvirtQuobyteVolumeDriver(fs.LibvirtBaseFileSystemVolumeDriver):"},{"line_number":68,"context_line":"    \"\"\"Class implements libvirt part of volume driver for Quobyte.\"\"\""},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def _get_mount_path(self, connection_info):"},{"line_number":71,"context_line":"        \"\"\"Returns the mount path prefix using the mount point base only."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        As Quobyte is storing Cinder volumes as files on a single Quobyte"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a061dce_651f83b7","line":70,"range":{"start_line":70,"start_character":29,"end_line":70,"end_character":45},"updated":"2016-04-06 15:43:35.000000000","message":"This is not used here, which means \"_get_mount_path\" and \"get_mount_point_base\" are identical.","commit_id":"92508ccedeb8e9346db75ceaeb0d24f52f7287cf"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"bb05b2d4ba3f9ed3d621d15ad6ea39d8a15e2842","unresolved":false,"context_lines":[{"line_number":67,"context_line":"class LibvirtQuobyteVolumeDriver(fs.LibvirtBaseFileSystemVolumeDriver):"},{"line_number":68,"context_line":"    \"\"\"Class implements libvirt part of volume driver for Quobyte.\"\"\""},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def _get_mount_path(self, connection_info):"},{"line_number":71,"context_line":"        \"\"\"Returns the mount path prefix using the mount point base only."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        As Quobyte is storing Cinder volumes as files on a single Quobyte"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aa08908_079e5e62","line":70,"range":{"start_line":70,"start_character":29,"end_line":70,"end_character":45},"in_reply_to":"9a061dce_651f83b7","updated":"2016-06-14 12:25:13.000000000","message":"Yes. For the quobyte mount point base this will be identical. Different guests have their images in one common directory that is shared on the different nova hosts.","commit_id":"92508ccedeb8e9346db75ceaeb0d24f52f7287cf"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"fd3f19e8ccef7fa3b44cdcc05f9147520602e7e9","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    def disconnect_volume(self, connection_info, disk_dev):"},{"line_number":117,"context_line":"        \"\"\"Disconnect the volume is an intentional noop.\"\"\""},{"line_number":118,"context_line":"        mount_path \u003d self._get_mount_path(connection_info)"},{"line_number":119,"context_line":"        LOG.info(_LI(\"Received request to disconnected volume at %s\"),"},{"line_number":120,"context_line":"                 mount_path)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def _normalize_export(self, export):"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a061dce_c585af07","line":119,"range":{"start_line":119,"start_character":22,"end_line":119,"end_character":64},"updated":"2016-04-06 15:43:35.000000000","message":"Shouldn\u0027t we log here that this is a noop?","commit_id":"92508ccedeb8e9346db75ceaeb0d24f52f7287cf"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"bb05b2d4ba3f9ed3d621d15ad6ea39d8a15e2842","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    def disconnect_volume(self, connection_info, disk_dev):"},{"line_number":117,"context_line":"        \"\"\"Disconnect the volume is an intentional noop.\"\"\""},{"line_number":118,"context_line":"        mount_path \u003d self._get_mount_path(connection_info)"},{"line_number":119,"context_line":"        LOG.info(_LI(\"Received request to disconnected volume at %s\"),"},{"line_number":120,"context_line":"                 mount_path)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def _normalize_export(self, export):"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a061dce_d944344b","line":119,"range":{"start_line":119,"start_character":22,"end_line":119,"end_character":64},"in_reply_to":"9a061dce_c585af07","updated":"2016-06-14 12:25:13.000000000","message":"Done","commit_id":"92508ccedeb8e9346db75ceaeb0d24f52f7287cf"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"7ca7356217bf6ba1b8a219d002ca1d67ef1fa9fe","unresolved":false,"context_lines":[{"line_number":52,"context_line":"              volume,"},{"line_number":53,"context_line":"              mnt_base)"},{"line_number":54,"context_line":"    # Run mount command but do not fail on already mounted exit code"},{"line_number":55,"context_line":"    utils.execute(*command, check_exit_code\u003d[0, 4])"},{"line_number":56,"context_line":"    LOG.info(_LI(\u0027Mounted volume: %s\u0027), volume)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3aaa91ec_5d753996","side":"PARENT","line":55,"updated":"2016-06-23 11:01:20.000000000","message":"Deleting code to mount the volume seems like rather a large hammer with a negative impact on back-compat with existing deployments.\n\nCan\u0027t we just change this to run [\"systemd-run\", \"mount.quobyte\", volume, mnt_base]\n\nThis will ensure the process is in a completely separate systemd service, and so won\u0027t be impacted by restart of the nova service.","commit_id":"fe8a119e8d80de35d7f99e0c1d9a9e5095840146"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"25104f9f278aedd043720aa187b5770873aecbbb","unresolved":false,"context_lines":[{"line_number":52,"context_line":"              volume,"},{"line_number":53,"context_line":"              mnt_base)"},{"line_number":54,"context_line":"    # Run mount command but do not fail on already mounted exit code"},{"line_number":55,"context_line":"    utils.execute(*command, check_exit_code\u003d[0, 4])"},{"line_number":56,"context_line":"    LOG.info(_LI(\u0027Mounted volume: %s\u0027), volume)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3aaa91ec_c48aedbe","side":"PARENT","line":55,"in_reply_to":"3aaa91ec_5d753996","updated":"2016-06-23 13:09:16.000000000","message":"I\u0027m testing your suggestion right now and will update in here once results are in.","commit_id":"fe8a119e8d80de35d7f99e0c1d9a9e5095840146"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"b134f8611198d78069e692e03d87a0abac45d479","unresolved":false,"context_lines":[{"line_number":52,"context_line":"              volume,"},{"line_number":53,"context_line":"              mnt_base)"},{"line_number":54,"context_line":"    # Run mount command but do not fail on already mounted exit code"},{"line_number":55,"context_line":"    utils.execute(*command, check_exit_code\u003d[0, 4])"},{"line_number":56,"context_line":"    LOG.info(_LI(\u0027Mounted volume: %s\u0027), volume)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3aaa91ec_c50e603a","side":"PARENT","line":55,"in_reply_to":"3aaa91ec_c48aedbe","updated":"2016-06-23 15:17:27.000000000","message":"After some testing i ran into the obvious issue that non-systemd based distros cannot run this. I\u0027m looking if i can find a useful systemd detection (does oslo_service.systemd provide something?)","commit_id":"fe8a119e8d80de35d7f99e0c1d9a9e5095840146"}]}
