)]}'
{"manila/share/drivers/container/driver.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"ab62e3dbd7de97c0690d376fcd274ab7cbfb77ff","unresolved":false,"context_lines":[{"line_number":305,"context_line":"            self, share, server_id, share_name, ignore_errors\u003dFalse):"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"        self._umount_storage("},{"line_number":308,"context_line":"            share, server_id, share_name, ignore_errors)"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"        # (aovchinnikov): bug 1621784 manifests itself here as well as in"},{"line_number":311,"context_line":"        # storage helper. There is a chance that we won\u0027t be able to remove"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_3e5b1654","line":308,"range":{"start_line":308,"start_character":42,"end_line":308,"end_character":55},"updated":"2020-09-11 00:23:51.000000000","message":"pass kwargs as kwargs :D","commit_id":"e1bc136a01237647370ed0859822afd86e41724e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"ab62e3dbd7de97c0690d376fcd274ab7cbfb77ff","unresolved":false,"context_lines":[{"line_number":429,"context_line":"    def migration_cancel(self, context, source_share, destination_share,"},{"line_number":430,"context_line":"                         source_snapshots, snapshot_mappings,"},{"line_number":431,"context_line":"                         share_server\u003dNone, destination_share_server\u003dNone):"},{"line_number":432,"context_line":"        return self.storage.migration_cancel("},{"line_number":433,"context_line":"            context, source_share, destination_share,"},{"line_number":434,"context_line":"            source_snapshots, snapshot_mappings, share_server\u003dshare_server,"},{"line_number":435,"context_line":"            destination_share_server\u003ddestination_share_server)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_5998a4be","line":432,"range":{"start_line":432,"start_character":8,"end_line":432,"end_character":15},"updated":"2020-09-11 00:23:51.000000000","message":"could leave off the return here I think, but it does no harm other than leading the reader to look for an explicit return value.","commit_id":"e1bc136a01237647370ed0859822afd86e41724e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"ab62e3dbd7de97c0690d376fcd274ab7cbfb77ff","unresolved":false,"context_lines":[{"line_number":483,"context_line":"        LOG.debug("},{"line_number":484,"context_line":"            \"Migration of share server with ID \u0027%s\u0027 has been started.\","},{"line_number":485,"context_line":"            src_share_server[\"id\"])"},{"line_number":486,"context_line":"        return self.storage.share_server_migration_start("},{"line_number":487,"context_line":"            context, src_share_server, dest_share_server, shares, snapshots)"},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"    def share_server_migration_continue(self, context, src_share_server,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_996a3c7e","line":486,"range":{"start_line":486,"start_character":8,"end_line":486,"end_character":15},"updated":"2020-09-11 00:23:51.000000000","message":"no need for \u0027return\u0027 here but it does no harm other than leading the reader to expect an explicit return value.","commit_id":"e1bc136a01237647370ed0859822afd86e41724e"}],"manila/share/drivers/container/storage_helper.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a1acc77f9b27d92e8c56dd26db95991f3fb213db","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"        compatibility \u003d {"},{"line_number":171,"context_line":"            \u0027compatible\u0027: compatible,"},{"line_number":172,"context_line":"            \u0027writable\u0027: False,"},{"line_number":173,"context_line":"            \u0027nondisruptive\u0027: False,"},{"line_number":174,"context_line":"            \u0027preserve_metadata\u0027: False,"},{"line_number":175,"context_line":"            \u0027preserve_snapshots\u0027: False,"},{"line_number":176,"context_line":"        }"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        return compatibility"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_798ac8bb","line":175,"range":{"start_line":172,"start_character":12,"end_line":175,"end_character":40},"updated":"2020-09-11 00:51:30.000000000","message":"Shouldn\u0027t writable, preserve_metadata and preserve_snapshots be True?\n\nThe driver is doing nothing to violate:\n\n- writable: Clients can stay connected, and shares needn\u0027t go RO during the first phase of migration\n- nondisruptive: Theoretically possible, but migration *requires* that the user changes either the backend, the share type or the share network - if only changing the share type, and its possible to do that without moving anything, the migration can be nondisruptive - but lets go with the case most often - they seek to change either the backend or the share network, both of which will be disruptive in phase2 because the share server will change.\n- preserve_metadata: Always true, this is driver assisted migration , there\u0027s no data copy going on here\n- preserve_snapshots: Always true, you\u0027re not deleting anything.","commit_id":"e1bc136a01237647370ed0859822afd86e41724e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e0a065803d433769f091a1354932850e0760011a","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"        compatibility \u003d {"},{"line_number":171,"context_line":"            \u0027compatible\u0027: compatible,"},{"line_number":172,"context_line":"            \u0027writable\u0027: False,"},{"line_number":173,"context_line":"            \u0027nondisruptive\u0027: False,"},{"line_number":174,"context_line":"            \u0027preserve_metadata\u0027: False,"},{"line_number":175,"context_line":"            \u0027preserve_snapshots\u0027: False,"},{"line_number":176,"context_line":"        }"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        return compatibility"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_b42e27f7","line":175,"range":{"start_line":172,"start_character":12,"end_line":175,"end_character":40},"in_reply_to":"9f560f44_1496f33e","updated":"2020-09-11 01:21:06.000000000","message":"oh, yeah - I forgot about that entirely - it doesn\u0027t really matter what the driver says to \"preserve_snapshots\" then..","commit_id":"e1bc136a01237647370ed0859822afd86e41724e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"03b7314d322735684dca89a93402aece2c2f7cfe","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"        compatibility \u003d {"},{"line_number":171,"context_line":"            \u0027compatible\u0027: compatible,"},{"line_number":172,"context_line":"            \u0027writable\u0027: False,"},{"line_number":173,"context_line":"            \u0027nondisruptive\u0027: False,"},{"line_number":174,"context_line":"            \u0027preserve_metadata\u0027: False,"},{"line_number":175,"context_line":"            \u0027preserve_snapshots\u0027: False,"},{"line_number":176,"context_line":"        }"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        return compatibility"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_1496f33e","line":175,"range":{"start_line":172,"start_character":12,"end_line":175,"end_character":40},"in_reply_to":"9f560f44_798ac8bb","updated":"2020-09-11 01:17:52.000000000","message":"+1\nonly \u0027preserve_snapshots\u0027 I would say False, since the driver doesn\u0027t support snapshots. What do you think?","commit_id":"e1bc136a01237647370ed0859822afd86e41724e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a1acc77f9b27d92e8c56dd26db95991f3fb213db","unresolved":false,"context_lines":[{"line_number":272,"context_line":"            \u0027compatible\u0027: True,"},{"line_number":273,"context_line":"            \u0027writable\u0027: True,"},{"line_number":274,"context_line":"            \u0027nondisruptive\u0027: False,"},{"line_number":275,"context_line":"            \u0027preserve_snapshots\u0027: False,"},{"line_number":276,"context_line":"            \u0027migration_cancel\u0027: True,"},{"line_number":277,"context_line":"            \u0027migration_get_progress\u0027: True"},{"line_number":278,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_d931540d","line":275,"range":{"start_line":275,"start_character":13,"end_line":275,"end_character":40},"updated":"2020-09-11 00:51:30.000000000","message":"Why?","commit_id":"e1bc136a01237647370ed0859822afd86e41724e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"b160253222f8754294e4677fdb9e366accf8167f","unresolved":false,"context_lines":[{"line_number":272,"context_line":"            \u0027compatible\u0027: True,"},{"line_number":273,"context_line":"            \u0027writable\u0027: True,"},{"line_number":274,"context_line":"            \u0027nondisruptive\u0027: False,"},{"line_number":275,"context_line":"            \u0027preserve_snapshots\u0027: False,"},{"line_number":276,"context_line":"            \u0027migration_cancel\u0027: True,"},{"line_number":277,"context_line":"            \u0027migration_get_progress\u0027: True"},{"line_number":278,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_4af39a73","line":275,"range":{"start_line":275,"start_character":13,"end_line":275,"end_character":40},"in_reply_to":"9f560f44_9474c337","updated":"2020-09-11 15:13:20.000000000","message":"+1","commit_id":"e1bc136a01237647370ed0859822afd86e41724e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"03b7314d322735684dca89a93402aece2c2f7cfe","unresolved":false,"context_lines":[{"line_number":272,"context_line":"            \u0027compatible\u0027: True,"},{"line_number":273,"context_line":"            \u0027writable\u0027: True,"},{"line_number":274,"context_line":"            \u0027nondisruptive\u0027: False,"},{"line_number":275,"context_line":"            \u0027preserve_snapshots\u0027: False,"},{"line_number":276,"context_line":"            \u0027migration_cancel\u0027: True,"},{"line_number":277,"context_line":"            \u0027migration_get_progress\u0027: True"},{"line_number":278,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_9474c337","line":275,"range":{"start_line":275,"start_character":13,"end_line":275,"end_character":40},"in_reply_to":"9f560f44_d931540d","updated":"2020-09-11 01:17:52.000000000","message":"I think that is weird to say True to a driver that doesn\u0027t support taking snapshots.","commit_id":"e1bc136a01237647370ed0859822afd86e41724e"}],"manila/tests/share/drivers/container/test_storage_helper.py":[{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"a6c3b34c2c7fac1c866260313f29114d516acc8d","unresolved":false,"context_lines":[{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        expected_compatibility \u003d {"},{"line_number":232,"context_line":"            \u0027compatible\u0027: compatible,"},{"line_number":233,"context_line":"            \u0027writable\u0027: False,"},{"line_number":234,"context_line":"            \u0027nondisruptive\u0027: False,"},{"line_number":235,"context_line":"            \u0027preserve_metadata\u0027: False,"},{"line_number":236,"context_line":"            \u0027preserve_snapshots\u0027: False,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_2d73e017","line":233,"updated":"2020-09-11 15:46:03.000000000","message":"This will need to be updated based on comments (writable: True, nondisruptive: False, preserve_metadata: True, preserve_snapshots: False)","commit_id":"e1bc136a01237647370ed0859822afd86e41724e"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"a6c3b34c2c7fac1c866260313f29114d516acc8d","unresolved":false,"context_lines":[{"line_number":264,"context_line":"    def test_share_server_migration_check_compatibility_false("},{"line_number":265,"context_line":"            self, source_host, dest_host, shares_specs):"},{"line_number":266,"context_line":"        not_compatible \u003d {"},{"line_number":267,"context_line":"            \u0027compatible\u0027: False,"},{"line_number":268,"context_line":"            \u0027writable\u0027: None,"},{"line_number":269,"context_line":"            \u0027nondisruptive\u0027: None,"},{"line_number":270,"context_line":"            \u0027preserve_snapshots\u0027: None,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_6dc79813","line":267,"updated":"2020-09-11 15:46:03.000000000","message":"Ditto","commit_id":"e1bc136a01237647370ed0859822afd86e41724e"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"a6c3b34c2c7fac1c866260313f29114d516acc8d","unresolved":false,"context_lines":[{"line_number":293,"context_line":"    @ddt.unpack"},{"line_number":294,"context_line":"    def test_share_server_migration_check_compatibility_true("},{"line_number":295,"context_line":"            self, source_host, dest_host, shares_specs):"},{"line_number":296,"context_line":"        compatible \u003d {"},{"line_number":297,"context_line":"            \u0027compatible\u0027: True,"},{"line_number":298,"context_line":"            \u0027writable\u0027: True,"},{"line_number":299,"context_line":"            \u0027nondisruptive\u0027: False,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_8dd02cca","line":296,"updated":"2020-09-11 15:46:03.000000000","message":"Ditto","commit_id":"e1bc136a01237647370ed0859822afd86e41724e"}],"releasenotes/notes/container-add-share-server-migration-1f4509ade926aec6.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a1acc77f9b27d92e8c56dd26db95991f3fb213db","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    For container driver, it implements the driver interface methods for"},{"line_number":5,"context_line":"    enabling a share or a share server to be migrated. They can only work"},{"line_number":6,"context_line":"    across backends that work at same volume group."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"9f560f44_83476fa3","line":6,"range":{"start_line":4,"start_character":3,"end_line":6,"end_character":51},"updated":"2020-09-11 00:51:30.000000000","message":"The container driver now supports driver assisted share migration and share server migration across share networks, and across backends that share the same underlying volume group (configuration option: container_volume_group)","commit_id":"e1bc136a01237647370ed0859822afd86e41724e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"b160253222f8754294e4677fdb9e366accf8167f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    For container driver, it implements the driver interface methods for"},{"line_number":5,"context_line":"    enabling a share or a share server to be migrated. They can only work"},{"line_number":6,"context_line":"    across backends that work at same volume group."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"9f560f44_2a8f46cd","line":6,"range":{"start_line":4,"start_character":3,"end_line":6,"end_character":51},"in_reply_to":"9f560f44_83476fa3","updated":"2020-09-11 15:13:20.000000000","message":"+1","commit_id":"e1bc136a01237647370ed0859822afd86e41724e"}]}
