)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"0d6d1bf277f24cc5d48d2da35ca8e8e2eda07b7b","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Cinder deprecated the GlusterFS volume driver"},{"line_number":10,"context_line":"in Newton and deleted it in Ocata:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"I10c576602dd0e65947d1a1af5d04b8ada54f4625"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Since it\u0027s unused, unmaintained and unsupported in"},{"line_number":15,"context_line":"Cinder we should remove it from the libvirt driver."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1f013ff3_ee216ba1","line":12,"updated":"2017-05-15 16:40:37.000000000","message":"Confirmed:\n\n  $ git tag --contains 16e93ccd4f3a6d62ed9d277f03b64bccc63ae060\n  10.0.0\n  10.0.0.0b1\n  10.0.0.0b2\n  10.0.0.0b3\n  10.0.0.0rc1\n  10.0.0.0rc2\n  10.0.1\n  11.0.0.0b1","commit_id":"6bbef2e4d81eb738f6bb2a8c1647320212770d5d"}],"nova/conf/libvirt.py":[{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"0d6d1bf277f24cc5d48d2da35ca8e8e2eda07b7b","unresolved":false,"context_lines":[{"line_number":759,"context_line":"]"},{"line_number":760,"context_line":""},{"line_number":761,"context_line":"libvirt_volume_opts \u003d ["},{"line_number":762,"context_line":"    cfg.ListOpt(\u0027qemu_allowed_storage_drivers\u0027,"},{"line_number":763,"context_line":"                default\u003d[],"},{"line_number":764,"context_line":"                help\u003d\"\"\""},{"line_number":765,"context_line":"Protocols listed here will be accessed directly from QEMU."},{"line_number":766,"context_line":""},{"line_number":767,"context_line":"If gluster is present in qemu_allowed_storage_drivers, glusterfs\u0027s backend will"},{"line_number":768,"context_line":"pass a disk configuration to QEMU. This allows QEMU to access the volume using"},{"line_number":769,"context_line":"libgfapi rather than mounting GlusterFS via fuse."},{"line_number":770,"context_line":""},{"line_number":771,"context_line":"Possible values:"},{"line_number":772,"context_line":""},{"line_number":773,"context_line":"* [gluster]"},{"line_number":774,"context_line":"\"\"\"),"},{"line_number":775,"context_line":"    cfg.BoolOpt(\u0027volume_use_multipath\u0027,"},{"line_number":776,"context_line":"                default\u003dFalse,"},{"line_number":777,"context_line":"                deprecated_name\u003d\u0027iscsi_use_multipath\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f013ff3_2e4cf39c","side":"PARENT","line":774,"range":{"start_line":762,"start_character":0,"end_line":774,"end_character":5},"updated":"2017-05-15 16:40:37.000000000","message":"As in the previous patch, I understand we\u0027re not doing deprecation cycles for this kind of removal.","commit_id":"c55606a9928e246ba172351f82a570fc04b206a9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ba6ac52fa7c02e6487ed0c95c567be94d1fd84b7","unresolved":false,"context_lines":[{"line_number":759,"context_line":"]"},{"line_number":760,"context_line":""},{"line_number":761,"context_line":"libvirt_volume_opts \u003d ["},{"line_number":762,"context_line":"    cfg.ListOpt(\u0027qemu_allowed_storage_drivers\u0027,"},{"line_number":763,"context_line":"                default\u003d[],"},{"line_number":764,"context_line":"                help\u003d\"\"\""},{"line_number":765,"context_line":"Protocols listed here will be accessed directly from QEMU."},{"line_number":766,"context_line":""},{"line_number":767,"context_line":"If gluster is present in qemu_allowed_storage_drivers, glusterfs\u0027s backend will"},{"line_number":768,"context_line":"pass a disk configuration to QEMU. This allows QEMU to access the volume using"},{"line_number":769,"context_line":"libgfapi rather than mounting GlusterFS via fuse."},{"line_number":770,"context_line":""},{"line_number":771,"context_line":"Possible values:"},{"line_number":772,"context_line":""},{"line_number":773,"context_line":"* [gluster]"},{"line_number":774,"context_line":"\"\"\"),"},{"line_number":775,"context_line":"    cfg.BoolOpt(\u0027volume_use_multipath\u0027,"},{"line_number":776,"context_line":"                default\u003dFalse,"},{"line_number":777,"context_line":"                deprecated_name\u003d\u0027iscsi_use_multipath\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_c169f18b","side":"PARENT","line":774,"range":{"start_line":762,"start_character":0,"end_line":774,"end_character":5},"in_reply_to":"1f013ff3_2e4cf39c","updated":"2017-05-17 14:40:15.000000000","message":"Correct. Also, delighted to see we can just remove this opt rather than reworking it","commit_id":"c55606a9928e246ba172351f82a570fc04b206a9"}],"nova/tests/unit/virt/libvirt/test_config.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4ce6939ad515cac74ba2f36fcaeeb71ece14153d","unresolved":false,"context_lines":[{"line_number":1127,"context_line":"    def test_config_network_parse(self):"},{"line_number":1128,"context_line":"        xml \u003d \"\"\"\u003cbackingStore type\u003d\u0027network\u0027 index\u003d\u00271\u0027\u003e"},{"line_number":1129,"context_line":"                   \u003cformat type\u003d\u0027qcow2\u0027/\u003e"},{"line_number":1130,"context_line":"                   \u003csource protocol\u003d\u0027gluster\u0027 name\u003d\u0027volume1/img1\u0027\u003e"},{"line_number":1131,"context_line":"                     \u003chost name\u003d\u0027host1\u0027 port\u003d\u002724007\u0027/\u003e"},{"line_number":1132,"context_line":"                   \u003c/source\u003e"},{"line_number":1133,"context_line":"                   \u003cbackingStore type\u003d\u0027network\u0027 index\u003d\u00272\u0027\u003e"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_be4e15bf","side":"PARENT","line":1130,"range":{"start_line":1130,"start_character":37,"end_line":1130,"end_character":44},"updated":"2017-05-12 15:22:05.000000000","message":"rather than remove this test, just change this to netfs","commit_id":"c55606a9928e246ba172351f82a570fc04b206a9"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"f8cb3cf935cce96e2e383b1c80a92e54195aceec","unresolved":false,"context_lines":[{"line_number":1127,"context_line":"    def test_config_network_parse(self):"},{"line_number":1128,"context_line":"        xml \u003d \"\"\"\u003cbackingStore type\u003d\u0027network\u0027 index\u003d\u00271\u0027\u003e"},{"line_number":1129,"context_line":"                   \u003cformat type\u003d\u0027qcow2\u0027/\u003e"},{"line_number":1130,"context_line":"                   \u003csource protocol\u003d\u0027gluster\u0027 name\u003d\u0027volume1/img1\u0027\u003e"},{"line_number":1131,"context_line":"                     \u003chost name\u003d\u0027host1\u0027 port\u003d\u002724007\u0027/\u003e"},{"line_number":1132,"context_line":"                   \u003c/source\u003e"},{"line_number":1133,"context_line":"                   \u003cbackingStore type\u003d\u0027network\u0027 index\u003d\u00272\u0027\u003e"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_5947074d","side":"PARENT","line":1130,"range":{"start_line":1130,"start_character":37,"end_line":1130,"end_character":44},"in_reply_to":"1f013ff3_938570b0","updated":"2017-05-15 16:44:21.000000000","message":"We have a fake volume driver which uses \u0027fake\u0027. Haven\u0027t looked carefully, but assume that\u0027s intended for this sort of thing.","commit_id":"c55606a9928e246ba172351f82a570fc04b206a9"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"51b242c71ce49ad210e3f1d7cbf5dfb43f0c857c","unresolved":false,"context_lines":[{"line_number":1127,"context_line":"    def test_config_network_parse(self):"},{"line_number":1128,"context_line":"        xml \u003d \"\"\"\u003cbackingStore type\u003d\u0027network\u0027 index\u003d\u00271\u0027\u003e"},{"line_number":1129,"context_line":"                   \u003cformat type\u003d\u0027qcow2\u0027/\u003e"},{"line_number":1130,"context_line":"                   \u003csource protocol\u003d\u0027gluster\u0027 name\u003d\u0027volume1/img1\u0027\u003e"},{"line_number":1131,"context_line":"                     \u003chost name\u003d\u0027host1\u0027 port\u003d\u002724007\u0027/\u003e"},{"line_number":1132,"context_line":"                   \u003c/source\u003e"},{"line_number":1133,"context_line":"                   \u003cbackingStore type\u003d\u0027network\u0027 index\u003d\u00272\u0027\u003e"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_938570b0","side":"PARENT","line":1130,"range":{"start_line":1130,"start_character":37,"end_line":1130,"end_character":44},"in_reply_to":"1f013ff3_be4e15bf","updated":"2017-05-15 16:07:17.000000000","message":"Hmm are you use we actually have a volume type in libvirt that sets netfs as the source protocol? I removed these tests as I couldn\u0027t find one at the time. Even LibvirtNetVolumeDriver just sets conf.source_protocol to connection_info[\u0027driver_volume_type\u0027].","commit_id":"c55606a9928e246ba172351f82a570fc04b206a9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4ce6939ad515cac74ba2f36fcaeeb71ece14153d","unresolved":false,"context_lines":[{"line_number":2474,"context_line":"        disk.source_type \u003d \u0027network\u0027"},{"line_number":2475,"context_line":"        disk.source_hosts \u003d [\u0027host1\u0027]"},{"line_number":2476,"context_line":"        disk.source_ports \u003d [\u002712345\u0027]"},{"line_number":2477,"context_line":"        disk.source_protocol \u003d \u0027glusterfs\u0027"},{"line_number":2478,"context_line":"        disk.snapshot \u003d \u0027external\u0027"},{"line_number":2479,"context_line":"        disk.driver_name \u003d \u0027qcow2\u0027"},{"line_number":2480,"context_line":"        obj.add_disk(disk)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_7ec64d19","side":"PARENT","line":2477,"range":{"start_line":2477,"start_character":32,"end_line":2477,"end_character":41},"updated":"2017-05-12 15:22:05.000000000","message":"same","commit_id":"c55606a9928e246ba172351f82a570fc04b206a9"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ba6ac52fa7c02e6487ed0c95c567be94d1fd84b7","unresolved":false,"context_lines":[{"line_number":396,"context_line":"        if self._disk_cachemode is None:"},{"line_number":397,"context_line":"            # We prefer \u0027none\u0027 for consistent performance, host crash"},{"line_number":398,"context_line":"            # safety \u0026 migration correctness by avoiding host page cache."},{"line_number":399,"context_line":"            # Some filesystems don\u0027t support O_DIRECT though. For those we"},{"line_number":400,"context_line":"            # fallback to \u0027writethrough\u0027 which gives host crash safety, and"},{"line_number":401,"context_line":"            # is safe for migration provided the filesystem is cache coherent"},{"line_number":402,"context_line":"            # (cluster filesystems typically are, but things like NFS are not)."},{"line_number":403,"context_line":"            self._disk_cachemode \u003d \"none\""},{"line_number":404,"context_line":"            if not self._supports_direct_io(CONF.instances_path):"},{"line_number":405,"context_line":"                self._disk_cachemode \u003d \"writethrough\""},{"line_number":406,"context_line":"        return self._disk_cachemode"},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"    def _set_cache_mode(self, conf):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_21d0adf7","line":405,"range":{"start_line":399,"start_character":12,"end_line":405,"end_character":53},"updated":"2017-05-17 14:40:15.000000000","message":"I wonder if we have any real world code executing this case now? From looking at \u0027_supports_direct_io\u0027, the OS must support DIRECT_O (which looks to be true for every version of Linux since 2.4.10 [1]) as must the file systems. For the latter, I wonder if we have any filesystems that _don\u0027t_ support it?\n\n[1] http://man7.org/linux/man-pages/man2/open.2.html","commit_id":"6bbef2e4d81eb738f6bb2a8c1647320212770d5d"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"c92620f1fafe221db5d0091b115df637832a7a11","unresolved":false,"context_lines":[{"line_number":396,"context_line":"        if self._disk_cachemode is None:"},{"line_number":397,"context_line":"            # We prefer \u0027none\u0027 for consistent performance, host crash"},{"line_number":398,"context_line":"            # safety \u0026 migration correctness by avoiding host page cache."},{"line_number":399,"context_line":"            # Some filesystems don\u0027t support O_DIRECT though. For those we"},{"line_number":400,"context_line":"            # fallback to \u0027writethrough\u0027 which gives host crash safety, and"},{"line_number":401,"context_line":"            # is safe for migration provided the filesystem is cache coherent"},{"line_number":402,"context_line":"            # (cluster filesystems typically are, but things like NFS are not)."},{"line_number":403,"context_line":"            self._disk_cachemode \u003d \"none\""},{"line_number":404,"context_line":"            if not self._supports_direct_io(CONF.instances_path):"},{"line_number":405,"context_line":"                self._disk_cachemode \u003d \"writethrough\""},{"line_number":406,"context_line":"        return self._disk_cachemode"},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"    def _set_cache_mode(self, conf):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_81c2d9e8","line":405,"range":{"start_line":399,"start_character":12,"end_line":405,"end_character":53},"in_reply_to":"ff0f0b1f_21d0adf7","updated":"2017-05-17 14:45:42.000000000","message":"NFS at the very least.","commit_id":"6bbef2e4d81eb738f6bb2a8c1647320212770d5d"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"0d6d1bf277f24cc5d48d2da35ca8e8e2eda07b7b","unresolved":false,"context_lines":[{"line_number":1890,"context_line":"            # gluster was removed in the 16.0.0 Pike release. It is unclear,"},{"line_number":1891,"context_line":"            # however, if other volume drivers rely on the netfs disk source"},{"line_number":1892,"context_line":"            # protocol."},{"line_number":1893,"context_line":"            elif disk_info[\u0027source_protocol\u0027] \u003d\u003d \u0027netfs\u0027:"},{"line_number":1894,"context_line":"                network_disks_to_snap.append((disk_info, new_file))"},{"line_number":1895,"context_line":""},{"line_number":1896,"context_line":"        if not disks_to_snap and not network_disks_to_snap:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f013ff3_6eac3b8c","line":1893,"range":{"start_line":1893,"start_character":50,"end_line":1893,"end_character":55},"updated":"2017-05-15 16:40:37.000000000","message":"As discussed on IRC, I\u0027m moderately confident that nothing sets netfs, either. Better to punt that cleanup to a subsequent patch though.\n\nOther potential values of source_protocol I see in Nova are: disco, rbd, iscsi, quobyte, fake (LibvirtFakeVolumeDriver).\n\nAdditional values of driver_volume_type from cinder: iser, fibre_channel, local, scaleio, unknown, drbd, dsware, hgst, fibre_channel_eckd, veritas_hyperscale, vmdk, vzstorage, smbfs, nfs.\n\nCAUTION: I\u0027ve done almost no diligence on this list, and likely most don\u0027t want to be on this code path anyway.","commit_id":"6bbef2e4d81eb738f6bb2a8c1647320212770d5d"}],"releasenotes/notes/remove-glusterfs-volume-driver-dd211308bca4ad01.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ba6ac52fa7c02e6487ed0c95c567be94d1fd84b7","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    Ocata release so it is effectively not maintained and therefore no longer"},{"line_number":8,"context_line":"    supported."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    The following configuration options, previously found in the ``libvirt``"},{"line_number":11,"context_line":"    group, have been removed:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    - ``glusterfs_mount_point_base``"},{"line_number":14,"context_line":"    - ``qemu_allowed_storage_drivers``"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"ff0f0b1f_4139613f","line":11,"range":{"start_line":10,"start_character":4,"end_line":11,"end_character":29},"updated":"2017-05-17 14:40:15.000000000","message":"nit: I wonder if this should be a separate point? I know this is how it looked on the previous patch though","commit_id":"6bbef2e4d81eb738f6bb2a8c1647320212770d5d"}]}
