)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"8ba6ca9c8a38c6336ae74b9127bd2297c9f56544","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch enables the creation of a share from snapshot"},{"line_number":10,"context_line":"specifying another pool or backend. In the scheduler, a"},{"line_number":11,"context_line":"new filter and weigher were implemented in order to consider"},{"line_number":12,"context_line":"this operation if the backend support it. Also, a new"},{"line_number":13,"context_line":"field called \u0027progress\u0027 was added in the share and share"},{"line_number":14,"context_line":"instance. The \u0027progress\u0027 field indicates the status"},{"line_number":15,"context_line":"of the operation create share from snapshot (in percentage)."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"df33271e_0a675b27","line":12,"range":{"start_line":12,"start_character":30,"end_line":12,"end_character":37},"updated":"2020-03-27 08:06:41.000000000","message":"nit: supports","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch enables the creation of a share from snapshot"},{"line_number":10,"context_line":"specifying another pool or backend. In the scheduler, a"},{"line_number":11,"context_line":"new filter and weigher were implemented in order to consider"},{"line_number":12,"context_line":"this operation if the backend support it. Also, a new"},{"line_number":13,"context_line":"field called \u0027progress\u0027 was added in the share and share"},{"line_number":14,"context_line":"instance. The \u0027progress\u0027 field indicates the status"},{"line_number":15,"context_line":"of the operation create share from snapshot (in percentage)."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"df33271e_e8a61ec1","line":12,"range":{"start_line":12,"start_character":30,"end_line":12,"end_character":37},"in_reply_to":"df33271e_0a675b27","updated":"2020-04-01 14:23:16.000000000","message":"Done","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"8ba6ca9c8a38c6336ae74b9127bd2297c9f56544","unresolved":false,"context_lines":[{"line_number":13,"context_line":"field called \u0027progress\u0027 was added in the share and share"},{"line_number":14,"context_line":"instance. The \u0027progress\u0027 field indicates the status"},{"line_number":15,"context_line":"of the operation create share from snapshot (in percentage)."},{"line_number":16,"context_line":"Finally, a new periodic task was added in order to constant"},{"line_number":17,"context_line":"check the share status."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Partially-implements: bp create-share-from-snapshot-in-another-pool-or-backend"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"df33271e_8aad2b33","line":16,"range":{"start_line":16,"start_character":51,"end_line":16,"end_character":59},"updated":"2020-03-27 08:06:41.000000000","message":"nit: constantly","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":13,"context_line":"field called \u0027progress\u0027 was added in the share and share"},{"line_number":14,"context_line":"instance. The \u0027progress\u0027 field indicates the status"},{"line_number":15,"context_line":"of the operation create share from snapshot (in percentage)."},{"line_number":16,"context_line":"Finally, a new periodic task was added in order to constant"},{"line_number":17,"context_line":"check the share status."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Partially-implements: bp create-share-from-snapshot-in-another-pool-or-backend"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"df33271e_48aaaa84","line":16,"range":{"start_line":16,"start_character":51,"end_line":16,"end_character":59},"in_reply_to":"df33271e_8aad2b33","updated":"2020-04-01 14:23:16.000000000","message":"Done","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"}],"api-ref/source/samples/share-instances-list-response.json":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"bf9abddeddd2b1733e2bd663850f609d83c6ae46","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"share_instances\": ["},{"line_number":3,"context_line":"        {"},{"line_number":4,"context_line":"            \"status\": \"error\","},{"line_number":5,"context_line":"            \"progress\": null,"}],"source_content_type":"application/json","patch_set":11,"id":"df33271e_22869e14","line":2,"range":{"start_line":2,"start_character":3,"end_line":2,"end_character":24},"updated":"2020-04-09 12:57:52.000000000","message":"It would be nice to  include an example where the create is in progress.","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"share_instances\": ["},{"line_number":3,"context_line":"        {"},{"line_number":4,"context_line":"            \"status\": \"error\","},{"line_number":5,"context_line":"            \"progress\": null,"}],"source_content_type":"application/json","patch_set":11,"id":"df33271e_533e16b8","line":2,"range":{"start_line":2,"start_character":3,"end_line":2,"end_character":24},"in_reply_to":"df33271e_22869e14","updated":"2020-04-09 14:35:41.000000000","message":"Done!","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"}],"api-ref/source/samples/shares-list-detailed-response.json":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"bf9abddeddd2b1733e2bd663850f609d83c6ae46","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"shares\": ["},{"line_number":3,"context_line":"        {"},{"line_number":4,"context_line":"            \"links\": ["},{"line_number":5,"context_line":"                {"}],"source_content_type":"application/json","patch_set":11,"id":"df33271e_e2bdd6b7","line":2,"range":{"start_line":2,"start_character":3,"end_line":2,"end_character":15},"updated":"2020-04-09 12:57:52.000000000","message":"It would be nice to include an example of a share whose creation is in progress.","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"shares\": ["},{"line_number":3,"context_line":"        {"},{"line_number":4,"context_line":"            \"links\": ["},{"line_number":5,"context_line":"                {"}],"source_content_type":"application/json","patch_set":11,"id":"df33271e_93b25e48","line":2,"range":{"start_line":2,"start_character":3,"end_line":2,"end_character":15},"in_reply_to":"df33271e_e2bdd6b7","updated":"2020-04-09 14:35:41.000000000","message":"Oh, forgot this one. I might add later if a new PS is needed.","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"}],"manila/api/openstack/api_version_request.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e63c136731aff2ba2005f754e240812c3c3429","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"df33271e_7ade98da","updated":"2020-04-09 06:22:27.000000000","message":"manila/api/openstack/rest_api_version_history.rst needs an update too","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"df33271e_88fa2972","in_reply_to":"df33271e_7ade98da","updated":"2020-04-09 14:35:41.000000000","message":"oh, forgot this one, thanks! Done!","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e63c136731aff2ba2005f754e240812c3c3429","unresolved":false,"context_lines":[{"line_number":144,"context_line":"             filters, support querying user messages within the specified time"},{"line_number":145,"context_line":"             period."},{"line_number":146,"context_line":"    * 2.53 - Added quota control to share replicas."},{"line_number":147,"context_line":"    * 2.54 - Added a new action to check the progress of the share creation"},{"line_number":148,"context_line":"             when it is being created from a snapshot."},{"line_number":149,"context_line":"\"\"\""},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_3ad890ed","line":148,"range":{"start_line":147,"start_character":13,"end_line":148,"end_character":54},"updated":"2020-04-09 06:22:27.000000000","message":"Share and share instance objects include a new field called \"progress\" which indicates the completion of a share creation operation as a percentage.","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":144,"context_line":"             filters, support querying user messages within the specified time"},{"line_number":145,"context_line":"             period."},{"line_number":146,"context_line":"    * 2.53 - Added quota control to share replicas."},{"line_number":147,"context_line":"    * 2.54 - Added a new action to check the progress of the share creation"},{"line_number":148,"context_line":"             when it is being created from a snapshot."},{"line_number":149,"context_line":"\"\"\""},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_68f7e58c","line":148,"range":{"start_line":147,"start_character":13,"end_line":148,"end_character":54},"in_reply_to":"df33271e_3ad890ed","updated":"2020-04-09 14:35:41.000000000","message":"Done","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"}],"manila/api/views/share_instance.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e63c136731aff2ba2005f754e240812c3c3429","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                                                share_instance):"},{"line_number":102,"context_line":"        if (share_instance.get(\u0027status\u0027) \u003d\u003d"},{"line_number":103,"context_line":"                constants.STATUS_CREATING_FROM_SNAPSHOT):"},{"line_number":104,"context_line":"            instance_dict[\u0027status\u0027] \u003d constants.STATUS_CREATING"},{"line_number":105,"context_line":"        else:"},{"line_number":106,"context_line":"            instance_dict[\u0027status\u0027] \u003d share_instance.get(\u0027status\u0027)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    @common.ViewBuilder.versioned_method(\"2.54\")"},{"line_number":109,"context_line":"    def add_progress_field(self, context, instance_dict, share_instance):"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_7af7b85a","line":106,"range":{"start_line":104,"start_character":63,"end_line":106,"end_character":66},"updated":"2020-04-09 06:22:27.000000000","message":"not necessary","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                                                share_instance):"},{"line_number":102,"context_line":"        if (share_instance.get(\u0027status\u0027) \u003d\u003d"},{"line_number":103,"context_line":"                constants.STATUS_CREATING_FROM_SNAPSHOT):"},{"line_number":104,"context_line":"            instance_dict[\u0027status\u0027] \u003d constants.STATUS_CREATING"},{"line_number":105,"context_line":"        else:"},{"line_number":106,"context_line":"            instance_dict[\u0027status\u0027] \u003d share_instance.get(\u0027status\u0027)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    @common.ViewBuilder.versioned_method(\"2.54\")"},{"line_number":109,"context_line":"    def add_progress_field(self, context, instance_dict, share_instance):"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_082c5900","line":106,"range":{"start_line":104,"start_character":63,"end_line":106,"end_character":66},"in_reply_to":"df33271e_7af7b85a","updated":"2020-04-09 14:35:41.000000000","message":"removed.","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"}],"manila/api/views/shares.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            \u0027size\u0027: share.get(\u0027size\u0027),"},{"line_number":79,"context_line":"            \u0027availability_zone\u0027: share_instance.get(\u0027availability_zone\u0027),"},{"line_number":80,"context_line":"            \u0027created_at\u0027: share.get(\u0027created_at\u0027),"},{"line_number":81,"context_line":"            \u0027status\u0027: share.get(\u0027status\u0027),"},{"line_number":82,"context_line":"            \u0027name\u0027: share.get(\u0027display_name\u0027),"},{"line_number":83,"context_line":"            \u0027description\u0027: share.get(\u0027display_description\u0027),"},{"line_number":84,"context_line":"            \u0027project_id\u0027: share.get(\u0027project_id\u0027),"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_36d89279","line":81,"range":{"start_line":81,"start_character":11,"end_line":81,"end_character":42},"updated":"2020-03-31 06:46:16.000000000","message":"If using an older Microversion, please cast \u0027creating_from_snapshot\u0027 to \u0027creating\u0027. See https://opendev.org/openstack/manila/src/commit/0957b33e9b82f30edf630c51f3966b088721ae36/manila/api/views/share_accesses.py#L83-L93 for an example","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            \u0027size\u0027: share.get(\u0027size\u0027),"},{"line_number":79,"context_line":"            \u0027availability_zone\u0027: share_instance.get(\u0027availability_zone\u0027),"},{"line_number":80,"context_line":"            \u0027created_at\u0027: share.get(\u0027created_at\u0027),"},{"line_number":81,"context_line":"            \u0027status\u0027: share.get(\u0027status\u0027),"},{"line_number":82,"context_line":"            \u0027name\u0027: share.get(\u0027display_name\u0027),"},{"line_number":83,"context_line":"            \u0027description\u0027: share.get(\u0027display_description\u0027),"},{"line_number":84,"context_line":"            \u0027project_id\u0027: share.get(\u0027project_id\u0027),"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_289be665","line":81,"range":{"start_line":81,"start_character":11,"end_line":81,"end_character":42},"in_reply_to":"df33271e_36d89279","updated":"2020-04-01 14:23:16.000000000","message":"Done! Also for share_instance entity. Thanks!","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":94,"context_line":"            \u0027export_locations\u0027: export_locations,"},{"line_number":95,"context_line":"        }"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        if share_instance.get(\u0027progress\u0027):"},{"line_number":98,"context_line":"            share.progress \u003d share_instance.get(\u0027progress\u0027)"},{"line_number":99,"context_line":"        self.update_versioned_resource_dict(request, share_dict, share)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        if context.is_admin:"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_d3afb8e0","line":98,"range":{"start_line":97,"start_character":8,"end_line":98,"end_character":59},"updated":"2020-03-31 06:46:16.000000000","message":"Why not set this as a share property in the sqlalchemy model?","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":94,"context_line":"            \u0027export_locations\u0027: export_locations,"},{"line_number":95,"context_line":"        }"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        if share_instance.get(\u0027progress\u0027):"},{"line_number":98,"context_line":"            share.progress \u003d share_instance.get(\u0027progress\u0027)"},{"line_number":99,"context_line":"        self.update_versioned_resource_dict(request, share_dict, share)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        if context.is_admin:"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_28b486d0","line":98,"range":{"start_line":97,"start_character":8,"end_line":98,"end_character":59},"in_reply_to":"df33271e_d3afb8e0","updated":"2020-04-01 14:23:16.000000000","message":"Thanks for the suggestion. We\u0027ve added this property into share model.","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e63c136731aff2ba2005f754e240812c3c3429","unresolved":false,"context_lines":[{"line_number":193,"context_line":"                                                share):"},{"line_number":194,"context_line":"        if share.get(\u0027status\u0027) \u003d\u003d constants.STATUS_CREATING_FROM_SNAPSHOT:"},{"line_number":195,"context_line":"            share_dict[\u0027status\u0027] \u003d constants.STATUS_CREATING"},{"line_number":196,"context_line":"        else:"},{"line_number":197,"context_line":"            share_dict[\u0027status\u0027] \u003d share.get(\u0027status\u0027)"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    @common.ViewBuilder.versioned_method(\"2.54\")"},{"line_number":200,"context_line":"    def add_progress_field(self, context, share_dict, share):"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_faa0e844","line":197,"range":{"start_line":196,"start_character":0,"end_line":197,"end_character":54},"updated":"2020-04-09 06:22:27.000000000","message":"not required","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":193,"context_line":"                                                share):"},{"line_number":194,"context_line":"        if share.get(\u0027status\u0027) \u003d\u003d constants.STATUS_CREATING_FROM_SNAPSHOT:"},{"line_number":195,"context_line":"            share_dict[\u0027status\u0027] \u003d constants.STATUS_CREATING"},{"line_number":196,"context_line":"        else:"},{"line_number":197,"context_line":"            share_dict[\u0027status\u0027] \u003d share.get(\u0027status\u0027)"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    @common.ViewBuilder.versioned_method(\"2.54\")"},{"line_number":200,"context_line":"    def add_progress_field(self, context, share_dict, share):"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_28379d4f","line":197,"range":{"start_line":196,"start_character":0,"end_line":197,"end_character":54},"in_reply_to":"df33271e_faa0e844","updated":"2020-04-09 14:35:41.000000000","message":"removed","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"}],"manila/common/constants.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"# SHARE AND GENERAL STATUSES"},{"line_number":17,"context_line":"STATUS_CREATING \u003d \u0027creating\u0027"},{"line_number":18,"context_line":"STATUS_CREATING_FROM_SNAPSHOT \u003d \u0027creating_from_snapshot\u0027"},{"line_number":19,"context_line":"STATUS_DELETING \u003d \u0027deleting\u0027"},{"line_number":20,"context_line":"STATUS_DELETED \u003d \u0027deleted\u0027"},{"line_number":21,"context_line":"STATUS_ERROR \u003d \u0027error\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_f6e0ea28","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":56},"updated":"2020-03-31 06:46:16.000000000","message":"Seeing as we\u0027re adding a new external state to a share, what does the state transition for this look like? As below? Or am I missing some state?\n\n \u0027creating\u0027 ---\u003e \u0027creating_from_snapshot\u0027 ---\u003e \u0027error\u0027\n                              |\n                              |\n                              V\n                          \u0027available\u0027","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"# SHARE AND GENERAL STATUSES"},{"line_number":17,"context_line":"STATUS_CREATING \u003d \u0027creating\u0027"},{"line_number":18,"context_line":"STATUS_CREATING_FROM_SNAPSHOT \u003d \u0027creating_from_snapshot\u0027"},{"line_number":19,"context_line":"STATUS_DELETING \u003d \u0027deleting\u0027"},{"line_number":20,"context_line":"STATUS_DELETED \u003d \u0027deleted\u0027"},{"line_number":21,"context_line":"STATUS_ERROR \u003d \u0027error\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_48d0eac9","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":56},"in_reply_to":"df33271e_f6e0ea28","updated":"2020-04-01 14:23:16.000000000","message":"Not sure if we were clear about that in the spec. The idea is that an user may request more details about shares with this new status, looking into \u0027progress\u0027 field in detailed gets, if provided by drivers such info.\nYes, your state transition is correct, also \u0027creating\u0027 ---\u003e \u0027available\u0027 remains since drivers can return the share as \u0027available\u0027 or just continue to return the export_locations list (when creating from snapshot).","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"}],"manila/db/api.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bc7c9c1308065c7db6781585fb4bcb51e82d00da","unresolved":false,"context_lines":[{"line_number":346,"context_line":"        context, host, with_share_data\u003dwith_share_data)"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"def share_instances_get_all_by_host_with_filters(context, host, status\u003dNone,"},{"line_number":350,"context_line":"                                                 with_share_data\u003dFalse):"},{"line_number":351,"context_line":"    \"\"\"Returns all share instances with given host.\"\"\""},{"line_number":352,"context_line":"    return IMPL.share_instances_get_all_by_host_with_filters("},{"line_number":353,"context_line":"        context, host, status\u003dstatus, with_share_data\u003dwith_share_data)"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"def share_instances_get_all_by_share_network(context, share_network_id):"}],"source_content_type":"text/x-python","patch_set":10,"id":"df33271e_71e1a89b","line":353,"range":{"start_line":349,"start_character":0,"end_line":353,"end_character":70},"updated":"2020-04-08 19:08:43.000000000","message":"fold with method above...","commit_id":"6fe43f256abe4c7b664738414ef7c470853dba9b"}],"manila/db/migrations/alembic/versions/e6d88547b381_add_progress_field_to_share_instance.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    try:"},{"line_number":38,"context_line":"        connection \u003d op.get_bind()"},{"line_number":39,"context_line":"        op.add_column(\u0027share_instances\u0027,"},{"line_number":40,"context_line":"                      sa.Column(\u0027progress\u0027, sa.String(32), nullable\u003dTrue,"},{"line_number":41,"context_line":"                                default\u003dNone))"},{"line_number":42,"context_line":"        share_instances_table \u003d utils.load_table(\u0027share_instances\u0027, connection)"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_b395d489","line":40,"range":{"start_line":40,"start_character":44,"end_line":40,"end_character":57},"updated":"2020-03-31 06:46:16.000000000","message":"Curious as to why this isn\u0027t an integer?","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    try:"},{"line_number":38,"context_line":"        connection \u003d op.get_bind()"},{"line_number":39,"context_line":"        op.add_column(\u0027share_instances\u0027,"},{"line_number":40,"context_line":"                      sa.Column(\u0027progress\u0027, sa.String(32), nullable\u003dTrue,"},{"line_number":41,"context_line":"                                default\u003dNone))"},{"line_number":42,"context_line":"        share_instances_table \u003d utils.load_table(\u0027share_instances\u0027, connection)"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_e868def5","line":40,"range":{"start_line":40,"start_character":44,"end_line":40,"end_character":57},"in_reply_to":"df33271e_b395d489","updated":"2020-04-01 14:23:16.000000000","message":"We follow the implementation of progress in snapshot creation where the field also contains the \u0027%\u0027. Also followed the driver interface pattern that request a \u0027%\u0027 in the driver response and avoids the manager/db of adding/removing \u0027%\u0027 before query/update the database.","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":41,"context_line":"                                default\u003dNone))"},{"line_number":42,"context_line":"        share_instances_table \u003d utils.load_table(\u0027share_instances\u0027, connection)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        # pylint: disable\u003dno-value-for-parameter"},{"line_number":45,"context_line":"        updated_data \u003d {\u0027progress\u0027: \u0027100%\u0027}"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        op.execute("}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_b3daf474","line":44,"range":{"start_line":44,"start_character":8,"end_line":44,"end_character":48},"updated":"2020-03-31 06:46:16.000000000","message":"nit: move statement to line 46..","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":41,"context_line":"                                default\u003dNone))"},{"line_number":42,"context_line":"        share_instances_table \u003d utils.load_table(\u0027share_instances\u0027, connection)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        # pylint: disable\u003dno-value-for-parameter"},{"line_number":45,"context_line":"        updated_data \u003d {\u0027progress\u0027: \u0027100%\u0027}"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        op.execute("}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_88ddd2e1","line":44,"range":{"start_line":44,"start_character":8,"end_line":44,"end_character":48},"in_reply_to":"df33271e_b3daf474","updated":"2020-04-01 14:23:16.000000000","message":"Done","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"}],"manila/db/sqlalchemy/models.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":256,"context_line":"                                    self.instances)))"},{"line_number":257,"context_line":"            return len(replicas) \u003e 1"},{"line_number":258,"context_line":"        return False"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"    @property"},{"line_number":261,"context_line":"    def instance(self):"},{"line_number":262,"context_line":"        # NOTE(gouthamr): The order of preference: status \u0027replication_change\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_5338c89e","line":259,"updated":"2020-03-31 06:46:16.000000000","message":"@property\n    def progress(self):\n        if len(self.instances) \u003e 0:\n            return self.instance.progress","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":256,"context_line":"                                    self.instances)))"},{"line_number":257,"context_line":"            return len(replicas) \u003e 1"},{"line_number":258,"context_line":"        return False"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"    @property"},{"line_number":261,"context_line":"    def instance(self):"},{"line_number":262,"context_line":"        # NOTE(gouthamr): The order of preference: status \u0027replication_change\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_084f0293","line":259,"in_reply_to":"df33271e_5338c89e","updated":"2020-04-01 14:23:16.000000000","message":"Done, thanks!","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"12c854c7172a0d15788a286a31257a5655e39cd1","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        if update_status:"},{"line_number":53,"context_line":"            setattr(self, status_field_name, constants.STATUS_DELETED)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        return super(ManilaBase, self).soft_delete(session)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"class Service(BASE, ManilaBase):"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_1708bfd7","line":55,"updated":"2020-04-01 16:20:13.000000000","message":"E1101: \u001b[1;31mSuper of \u0027ManilaBase\u0027 has no \u0027soft_delete\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"8974f5d4a489c48c40157b446eee660f8f7193fe"}],"manila/scheduler/drivers/filter.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":"        share_group \u003d request_spec.get(\u0027share_group\u0027)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        # NOTE(gouthamr): If \u0027active_replica_host\u0027 or \u0027snapshot_id\u0027 is present"},{"line_number":166,"context_line":"        # in the request spec, pass that host\u0027s \u0027replication_domain\u0027 to the"},{"line_number":167,"context_line":"        # ShareReplication and CreateFromSnapshot filters."},{"line_number":168,"context_line":"        active_replica_host \u003d request_spec.get(\u0027active_replica_host\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_3366e4c2","line":165,"range":{"start_line":165,"start_character":64,"end_line":165,"end_character":66},"updated":"2020-03-31 06:46:16.000000000","message":"host","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":"        share_group \u003d request_spec.get(\u0027share_group\u0027)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        # NOTE(gouthamr): If \u0027active_replica_host\u0027 or \u0027snapshot_id\u0027 is present"},{"line_number":166,"context_line":"        # in the request spec, pass that host\u0027s \u0027replication_domain\u0027 to the"},{"line_number":167,"context_line":"        # ShareReplication and CreateFromSnapshot filters."},{"line_number":168,"context_line":"        active_replica_host \u003d request_spec.get(\u0027active_replica_host\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_088d4231","line":165,"range":{"start_line":165,"start_character":64,"end_line":165,"end_character":66},"in_reply_to":"df33271e_3366e4c2","updated":"2020-04-01 14:23:16.000000000","message":"Done","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"8ba6ca9c8a38c6336ae74b9127bd2297c9f56544","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        allowed_hosts \u003d []"},{"line_number":171,"context_line":"        if active_replica_host:"},{"line_number":172,"context_line":"            allowed_hosts.append(active_replica_host)"},{"line_number":173,"context_line":"        allowed_hosts.append(snapshot_host) if snapshot_host else None"},{"line_number":174,"context_line":"        replication_domain \u003d None"},{"line_number":175,"context_line":"        if active_replica_host or snapshot_host:"},{"line_number":176,"context_line":"            temp_hosts \u003d self.host_manager.get_all_host_states_share(elevated)"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_fe28fc86","line":173,"range":{"start_line":173,"start_character":8,"end_line":173,"end_character":70},"updated":"2020-03-27 08:06:41.000000000","message":"I suggest to use the same pattern like the two lines above (or vice versa change those to be the same like the line here)","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        allowed_hosts \u003d []"},{"line_number":171,"context_line":"        if active_replica_host:"},{"line_number":172,"context_line":"            allowed_hosts.append(active_replica_host)"},{"line_number":173,"context_line":"        allowed_hosts.append(snapshot_host) if snapshot_host else None"},{"line_number":174,"context_line":"        replication_domain \u003d None"},{"line_number":175,"context_line":"        if active_replica_host or snapshot_host:"},{"line_number":176,"context_line":"            temp_hosts \u003d self.host_manager.get_all_host_states_share(elevated)"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_e88f3e27","line":173,"range":{"start_line":173,"start_character":8,"end_line":173,"end_character":70},"in_reply_to":"df33271e_fe28fc86","updated":"2020-04-01 14:23:16.000000000","message":"Done,thanks!","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"b23004a591c252d8a4a3f0ca5cfcb17e97dbce41","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                replication_domain \u003d matching_host.replication_domain"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"            # NOTE(zengyingzhe): remove the \u0027share_backend_name\u0027 extra spec,"},{"line_number":183,"context_line":"            # let scheduler choose the available host for this replica"},{"line_number":184,"context_line":"            # creation request."},{"line_number":185,"context_line":"            share_type.get(\u0027extra_specs\u0027, {}).pop(\u0027share_backend_name\u0027, None)"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_36d9b256","line":183,"range":{"start_line":183,"start_character":63,"end_line":183,"end_character":70},"updated":"2020-03-31 06:49:51.000000000","message":"replica or snapshot clone","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                replication_domain \u003d matching_host.replication_domain"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"            # NOTE(zengyingzhe): remove the \u0027share_backend_name\u0027 extra spec,"},{"line_number":183,"context_line":"            # let scheduler choose the available host for this replica"},{"line_number":184,"context_line":"            # creation request."},{"line_number":185,"context_line":"            share_type.get(\u0027extra_specs\u0027, {}).pop(\u0027share_backend_name\u0027, None)"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_4883ca04","line":183,"range":{"start_line":183,"start_character":63,"end_line":183,"end_character":70},"in_reply_to":"df33271e_36d9b256","updated":"2020-04-01 14:23:16.000000000","message":"Done","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"}],"manila/scheduler/filters/create_from_snapshot.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            # and we don\u0027t need to filter out the host."},{"line_number":46,"context_line":"            return True"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        snapshot_host \u003d (filter_properties.get("},{"line_number":49,"context_line":"            \u0027request_spec\u0027, {}).get(\u0027snapshot_host\u0027, None))"},{"line_number":50,"context_line":"        snapshot_backend \u003d None"},{"line_number":51,"context_line":"        if snapshot_host:"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_53bd68d6","line":48,"range":{"start_line":48,"start_character":24,"end_line":48,"end_character":25},"updated":"2020-03-31 06:46:16.000000000","message":"nit: redundant parentheses","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            # and we don\u0027t need to filter out the host."},{"line_number":46,"context_line":"            return True"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        snapshot_host \u003d (filter_properties.get("},{"line_number":49,"context_line":"            \u0027request_spec\u0027, {}).get(\u0027snapshot_host\u0027, None))"},{"line_number":50,"context_line":"        snapshot_backend \u003d None"},{"line_number":51,"context_line":"        if snapshot_host:"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_c8587a57","line":48,"range":{"start_line":48,"start_character":24,"end_line":48,"end_character":25},"in_reply_to":"df33271e_53bd68d6","updated":"2020-04-01 14:23:16.000000000","message":"Done","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        if snapshot_host:"},{"line_number":52,"context_line":"            snapshot_backend \u003d share_utils.extract_host(snapshot_host,"},{"line_number":53,"context_line":"                                                        \u0027backend\u0027)"},{"line_number":54,"context_line":"        snapshot_rep_domain \u003d filter_properties.get(\u0027replication_domain\u0027, None)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        host_backend \u003d share_utils.extract_host(host_state.host, \u0027backend\u0027)"},{"line_number":57,"context_line":"        host_rep_domain \u003d host_state.replication_domain"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_93a8908c","line":54,"range":{"start_line":54,"start_character":72,"end_line":54,"end_character":78},"updated":"2020-03-31 06:46:16.000000000","message":"nit: None is the default","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        if snapshot_host:"},{"line_number":52,"context_line":"            snapshot_backend \u003d share_utils.extract_host(snapshot_host,"},{"line_number":53,"context_line":"                                                        \u0027backend\u0027)"},{"line_number":54,"context_line":"        snapshot_rep_domain \u003d filter_properties.get(\u0027replication_domain\u0027, None)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        host_backend \u003d share_utils.extract_host(host_state.host, \u0027backend\u0027)"},{"line_number":57,"context_line":"        host_rep_domain \u003d host_state.replication_domain"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_a8537638","line":54,"range":{"start_line":54,"start_character":72,"end_line":54,"end_character":78},"in_reply_to":"df33271e_93a8908c","updated":"2020-04-01 14:23:16.000000000","message":"Done","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        host_rep_domain \u003d host_state.replication_domain"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        # Same backend"},{"line_number":60,"context_line":"        if host_backend and host_backend \u003d\u003d snapshot_backend:"},{"line_number":61,"context_line":"            return True"},{"line_number":62,"context_line":"        # Same replication domain"},{"line_number":63,"context_line":"        if snapshot_rep_domain and snapshot_rep_domain \u003d\u003d host_rep_domain:"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_d395f841","line":60,"range":{"start_line":60,"start_character":11,"end_line":60,"end_character":27},"updated":"2020-03-31 06:46:16.000000000","message":"host_backend will always be set..","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        host_rep_domain \u003d host_state.replication_domain"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        # Same backend"},{"line_number":60,"context_line":"        if host_backend and host_backend \u003d\u003d snapshot_backend:"},{"line_number":61,"context_line":"            return True"},{"line_number":62,"context_line":"        # Same replication domain"},{"line_number":63,"context_line":"        if snapshot_rep_domain and snapshot_rep_domain \u003d\u003d host_rep_domain:"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_083422fb","line":60,"range":{"start_line":60,"start_character":11,"end_line":60,"end_character":27},"in_reply_to":"df33271e_d395f841","updated":"2020-04-01 14:23:16.000000000","message":"for sure, done!","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4339d83f6e8c6266a398409c35e4121f0bc45bed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"df33271e_42977991","updated":"2020-04-08 18:21:48.000000000","message":"Please update the config opt help text for \"use_scheduler_creating_share_from_snapshot\" that this filter must be enabled and hosts must report a \"replication_domain\" if that config opt is used.. .","commit_id":"6fe43f256abe4c7b664738414ef7c470853dba9b"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e2608368d92c09f15b72985bc8d139955d641627","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"df33271e_6b4ecd38","in_reply_to":"df33271e_42977991","updated":"2020-04-09 03:10:33.000000000","message":"Done","commit_id":"6fe43f256abe4c7b664738414ef7c470853dba9b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e63c136731aff2ba2005f754e240812c3c3429","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class CreateFromSnapshotFilter(base_host.BaseHostFilter):"},{"line_number":26,"context_line":"    \"\"\"CreateFromSnapshotFilter filters hosts based on replication support.\"\"\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def host_passes(self, host_state, filter_properties):"},{"line_number":29,"context_line":"        \"\"\"Return True if new share\u0027s host is compatible with snapshot\u0027s host."}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_fa3c68e2","line":26,"range":{"start_line":26,"start_character":55,"end_line":26,"end_character":74},"updated":"2020-04-09 06:22:27.000000000","message":"replication_domain","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"bf9abddeddd2b1733e2bd663850f609d83c6ae46","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class CreateFromSnapshotFilter(base_host.BaseHostFilter):"},{"line_number":26,"context_line":"    \"\"\"CreateFromSnapshotFilter filters hosts based on replication support.\"\"\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def host_passes(self, host_state, filter_properties):"},{"line_number":29,"context_line":"        \"\"\"Return True if new share\u0027s host is compatible with snapshot\u0027s host."}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_3f8199fc","line":26,"range":{"start_line":26,"start_character":55,"end_line":26,"end_character":74},"in_reply_to":"df33271e_fa3c68e2","updated":"2020-04-09 12:57:52.000000000","message":"+1","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class CreateFromSnapshotFilter(base_host.BaseHostFilter):"},{"line_number":26,"context_line":"    \"\"\"CreateFromSnapshotFilter filters hosts based on replication support.\"\"\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def host_passes(self, host_state, filter_properties):"},{"line_number":29,"context_line":"        \"\"\"Return True if new share\u0027s host is compatible with snapshot\u0027s host."}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_c84551b6","line":26,"range":{"start_line":26,"start_character":55,"end_line":26,"end_character":74},"in_reply_to":"df33271e_fa3c68e2","updated":"2020-04-09 14:35:41.000000000","message":"Done","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"bf9abddeddd2b1733e2bd663850f609d83c6ae46","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"            - Creating shares from snapshots in another pool or backend needs"},{"line_number":34,"context_line":"              to match with one of the below conditions:"},{"line_number":35,"context_line":"              - The backend of the new share must be the same of its parent"},{"line_number":36,"context_line":"                snapshot."},{"line_number":37,"context_line":"              - Both new share and snapshot are in the same replication_domain"},{"line_number":38,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_3f6a39ec","line":35,"range":{"start_line":35,"start_character":62,"end_line":35,"end_character":64},"updated":"2020-04-09 12:57:52.000000000","message":"nit: s/of/as/","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"            - Creating shares from snapshots in another pool or backend needs"},{"line_number":34,"context_line":"              to match with one of the below conditions:"},{"line_number":35,"context_line":"              - The backend of the new share must be the same of its parent"},{"line_number":36,"context_line":"                snapshot."},{"line_number":37,"context_line":"              - Both new share and snapshot are in the same replication_domain"},{"line_number":38,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_e81935d7","line":35,"range":{"start_line":35,"start_character":62,"end_line":35,"end_character":64},"in_reply_to":"df33271e_3f6a39ec","updated":"2020-04-09 14:35:41.000000000","message":"Done","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e63c136731aff2ba2005f754e240812c3c3429","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        # Same backend"},{"line_number":57,"context_line":"        if host_backend \u003d\u003d snapshot_backend:"},{"line_number":58,"context_line":"            return True"},{"line_number":59,"context_line":"        # Replication type is configured and they are in the same replication"},{"line_number":60,"context_line":"        # domain"},{"line_number":61,"context_line":"        if snapshot_rep_domain and snapshot_rep_domain \u003d\u003d host_rep_domain:"},{"line_number":62,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_7a017806","line":59,"range":{"start_line":59,"start_character":10,"end_line":59,"end_character":41},"updated":"2020-04-09 06:22:27.000000000","message":"No longer true","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"bf9abddeddd2b1733e2bd663850f609d83c6ae46","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        # Same backend"},{"line_number":57,"context_line":"        if host_backend \u003d\u003d snapshot_backend:"},{"line_number":58,"context_line":"            return True"},{"line_number":59,"context_line":"        # Replication type is configured and they are in the same replication"},{"line_number":60,"context_line":"        # domain"},{"line_number":61,"context_line":"        if snapshot_rep_domain and snapshot_rep_domain \u003d\u003d host_rep_domain:"},{"line_number":62,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_bf748937","line":59,"range":{"start_line":59,"start_character":10,"end_line":59,"end_character":41},"in_reply_to":"df33271e_7a017806","updated":"2020-04-09 12:57:52.000000000","message":"+1","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        # Same backend"},{"line_number":57,"context_line":"        if host_backend \u003d\u003d snapshot_backend:"},{"line_number":58,"context_line":"            return True"},{"line_number":59,"context_line":"        # Replication type is configured and they are in the same replication"},{"line_number":60,"context_line":"        # domain"},{"line_number":61,"context_line":"        if snapshot_rep_domain and snapshot_rep_domain \u003d\u003d host_rep_domain:"},{"line_number":62,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_28103da8","line":59,"range":{"start_line":59,"start_character":10,"end_line":59,"end_character":41},"in_reply_to":"df33271e_7a017806","updated":"2020-04-09 14:35:41.000000000","message":"Done","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e63c136731aff2ba2005f754e240812c3c3429","unresolved":false,"context_lines":[{"line_number":58,"context_line":"            return True"},{"line_number":59,"context_line":"        # Replication type is configured and they are in the same replication"},{"line_number":60,"context_line":"        # domain"},{"line_number":61,"context_line":"        if snapshot_rep_domain and snapshot_rep_domain \u003d\u003d host_rep_domain:"},{"line_number":62,"context_line":"            return True"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        msg \u003d (\"The parent\u0027s snapshot %(snapshot_id)s back end and \""}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_1d06661d","line":61,"range":{"start_line":61,"start_character":11,"end_line":61,"end_character":35},"updated":"2020-04-09 06:22:27.000000000","message":"nit: redundant","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"}],"manila/share/api.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            elif (availability_zone !\u003d source_share_az"},{"line_number":125,"context_line":"                  and not CONF.use_scheduler_creating_share_from_snapshot):"},{"line_number":126,"context_line":"                msg \u003d _(\"The specified availability zone must be the same \""},{"line_number":127,"context_line":"                        \"as the parent share when you have the configuration \""},{"line_number":128,"context_line":"                        \"option \u0027use_scheduler_creating_share_from_snapshot\u0027 \""},{"line_number":129,"context_line":"                        \"set to False.\")"},{"line_number":130,"context_line":"                raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":131,"context_line":"            if share_type is None:"},{"line_number":132,"context_line":"                # Grab the source share\u0027s share_type if no new share type"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_d32858e3","line":129,"range":{"start_line":127,"start_character":44,"end_line":129,"end_character":38},"updated":"2020-03-31 06:46:16.000000000","message":"Please separate this information as a LOG.error, it leaks information regarding cloud configuration to end users..","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":281,"context_line":"        if snapshot and not CONF.use_scheduler_creating_share_from_snapshot:"},{"line_number":282,"context_line":"            # Shares from snapshots with restriction - source host only."},{"line_number":283,"context_line":"            # It is common situation for different types of backends."},{"line_number":284,"context_line":"            host \u003d snapshot[\u0027share\u0027][\u0027instance\u0027][\u0027host\u0027]"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        elif share_group:"},{"line_number":287,"context_line":"            host \u003d share_group[\u0027host\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_137480fd","line":284,"range":{"start_line":284,"start_character":12,"end_line":284,"end_character":56},"updated":"2020-03-31 06:46:16.000000000","message":"You already have this info, so no need to fetch the snapshot again on line 477, can you pass this as a kwarg to create_instance instead?","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":281,"context_line":"        if snapshot and not CONF.use_scheduler_creating_share_from_snapshot:"},{"line_number":282,"context_line":"            # Shares from snapshots with restriction - source host only."},{"line_number":283,"context_line":"            # It is common situation for different types of backends."},{"line_number":284,"context_line":"            host \u003d snapshot[\u0027share\u0027][\u0027instance\u0027][\u0027host\u0027]"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        elif share_group:"},{"line_number":287,"context_line":"            host \u003d share_group[\u0027host\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_c806ba20","line":284,"range":{"start_line":284,"start_character":12,"end_line":284,"end_character":56},"in_reply_to":"df33271e_137480fd","updated":"2020-04-01 14:23:16.000000000","message":"Thanks for that! Done.","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e63c136731aff2ba2005f754e240812c3c3429","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                help\u003d\u0027If set to False, then share creation from snapshot will \u0027"},{"line_number":48,"context_line":"                     \u0027be performed on the same host. \u0027"},{"line_number":49,"context_line":"                     \u0027If set to True, then scheduler will be used.\u0027"},{"line_number":50,"context_line":"                     \u0027When using scheduler make sure that filter \u0027"},{"line_number":51,"context_line":"                     \u0027CreateShareFromSnapshot is enabled and to have hosts \u0027"},{"line_number":52,"context_line":"                     \u0027reporting replication_domain option.\u0027"},{"line_number":53,"context_line":"                )"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_dd4d1e73","line":50,"range":{"start_line":50,"start_character":27,"end_line":50,"end_character":42},"updated":"2020-04-09 06:22:27.000000000","message":"enabling this option","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                help\u003d\u0027If set to False, then share creation from snapshot will \u0027"},{"line_number":48,"context_line":"                     \u0027be performed on the same host. \u0027"},{"line_number":49,"context_line":"                     \u0027If set to True, then scheduler will be used.\u0027"},{"line_number":50,"context_line":"                     \u0027When using scheduler make sure that filter \u0027"},{"line_number":51,"context_line":"                     \u0027CreateShareFromSnapshot is enabled and to have hosts \u0027"},{"line_number":52,"context_line":"                     \u0027reporting replication_domain option.\u0027"},{"line_number":53,"context_line":"                )"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_e867754c","line":50,"range":{"start_line":50,"start_character":27,"end_line":50,"end_character":42},"in_reply_to":"df33271e_3fafd97d","updated":"2020-04-09 14:35:41.000000000","message":"Done","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"bf9abddeddd2b1733e2bd663850f609d83c6ae46","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                help\u003d\u0027If set to False, then share creation from snapshot will \u0027"},{"line_number":48,"context_line":"                     \u0027be performed on the same host. \u0027"},{"line_number":49,"context_line":"                     \u0027If set to True, then scheduler will be used.\u0027"},{"line_number":50,"context_line":"                     \u0027When using scheduler make sure that filter \u0027"},{"line_number":51,"context_line":"                     \u0027CreateShareFromSnapshot is enabled and to have hosts \u0027"},{"line_number":52,"context_line":"                     \u0027reporting replication_domain option.\u0027"},{"line_number":53,"context_line":"                )"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_3fafd97d","line":50,"range":{"start_line":50,"start_character":27,"end_line":50,"end_character":42},"in_reply_to":"df33271e_dd4d1e73","updated":"2020-04-09 12:57:52.000000000","message":"+1","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"}],"manila/share/driver.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":651,"context_line":""},{"line_number":652,"context_line":"    def create_share_from_snapshot(self, context, share, snapshot,"},{"line_number":653,"context_line":"                                   share_server\u003dNone, parent_share\u003dNone):"},{"line_number":654,"context_line":"        \"\"\"Is called to create share from snapshot.\"\"\""},{"line_number":655,"context_line":"        raise NotImplementedError()"},{"line_number":656,"context_line":""},{"line_number":657,"context_line":"    def create_snapshot(self, context, snapshot, share_server\u003dNone):"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_534d6898","line":654,"range":{"start_line":654,"start_character":8,"end_line":654,"end_character":54},"updated":"2020-03-31 06:46:16.000000000","message":"Can you expand this docstring?\n\nPlease call out what drivers must do for long pending operations... \n\nYou now need the driver to return a dictionary containing at least two items: \u0027status\u0027 and \u0027export_locations\u0027, deprecated behavior is to just return a list of export location objects\n\nAlso, it appears you *need* the driver to set \"creating_share_from_snapshot\" as the status, if the creation is pending","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":651,"context_line":""},{"line_number":652,"context_line":"    def create_share_from_snapshot(self, context, share, snapshot,"},{"line_number":653,"context_line":"                                   share_server\u003dNone, parent_share\u003dNone):"},{"line_number":654,"context_line":"        \"\"\"Is called to create share from snapshot.\"\"\""},{"line_number":655,"context_line":"        raise NotImplementedError()"},{"line_number":656,"context_line":""},{"line_number":657,"context_line":"    def create_snapshot(self, context, snapshot, share_server\u003dNone):"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_ab441048","line":654,"range":{"start_line":654,"start_character":8,"end_line":654,"end_character":54},"in_reply_to":"df33271e_534d6898","updated":"2020-04-01 14:23:16.000000000","message":"Added some info, hope that explains it better.\nThanks!","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":2756,"context_line":"        raise NotImplementedError()"},{"line_number":2757,"context_line":""},{"line_number":2758,"context_line":"    def get_share_status(self, share, share_server\u003dNone):"},{"line_number":2759,"context_line":"        \"\"\"Invoked to get the current status of a given share."},{"line_number":2760,"context_line":""},{"line_number":2761,"context_line":"        Driver can use this method to update the status of a share."},{"line_number":2762,"context_line":"        :param share: share to get updated status from."}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_33cd4431","line":2759,"range":{"start_line":2759,"start_character":18,"end_line":2759,"end_character":19},"updated":"2020-03-31 06:46:16.000000000","message":"periodically","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":2756,"context_line":"        raise NotImplementedError()"},{"line_number":2757,"context_line":""},{"line_number":2758,"context_line":"    def get_share_status(self, share, share_server\u003dNone):"},{"line_number":2759,"context_line":"        \"\"\"Invoked to get the current status of a given share."},{"line_number":2760,"context_line":""},{"line_number":2761,"context_line":"        Driver can use this method to update the status of a share."},{"line_number":2762,"context_line":"        :param share: share to get updated status from."}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_4b6f44c4","line":2759,"range":{"start_line":2759,"start_character":18,"end_line":2759,"end_character":19},"in_reply_to":"df33271e_33cd4431","updated":"2020-04-01 14:23:16.000000000","message":"Done","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":2758,"context_line":"    def get_share_status(self, share, share_server\u003dNone):"},{"line_number":2759,"context_line":"        \"\"\"Invoked to get the current status of a given share."},{"line_number":2760,"context_line":""},{"line_number":2761,"context_line":"        Driver can use this method to update the status of a share."},{"line_number":2762,"context_line":"        :param share: share to get updated status from."},{"line_number":2763,"context_line":"        :param share_server: share server model or None."},{"line_number":2764,"context_line":"        :returns: a dictionary of updates with the current share status and"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_33370402","line":2761,"range":{"start_line":2761,"start_character":66,"end_line":2761,"end_character":67},"updated":"2020-03-31 06:46:16.000000000","message":"Add when/how often this method is expected to be called.","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":2758,"context_line":"    def get_share_status(self, share, share_server\u003dNone):"},{"line_number":2759,"context_line":"        \"\"\"Invoked to get the current status of a given share."},{"line_number":2760,"context_line":""},{"line_number":2761,"context_line":"        Driver can use this method to update the status of a share."},{"line_number":2762,"context_line":"        :param share: share to get updated status from."},{"line_number":2763,"context_line":"        :param share_server: share server model or None."},{"line_number":2764,"context_line":"        :returns: a dictionary of updates with the current share status and"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_2b72c0ad","line":2761,"range":{"start_line":2761,"start_character":66,"end_line":2761,"end_character":67},"in_reply_to":"df33271e_33370402","updated":"2020-04-01 14:23:16.000000000","message":"Done","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"bf9abddeddd2b1733e2bd663850f609d83c6ae46","unresolved":false,"context_lines":[{"line_number":2796,"context_line":""},{"line_number":2797,"context_line":"        :param share: share to get updated status from."},{"line_number":2798,"context_line":"        :param share_server: share server model or None."},{"line_number":2799,"context_line":"        :returns: a dictionary of updates with the current share status and"},{"line_number":2800,"context_line":"            a list of export locations if available, in the following format::"},{"line_number":2801,"context_line":""},{"line_number":2802,"context_line":"                {"}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_143693b5","line":2799,"range":{"start_line":2799,"start_character":9,"end_line":2799,"end_character":16},"updated":"2020-04-09 12:57:52.000000000","message":"and it returns ``progress``","commit_id":"871c672140f5f98d77b4e4b26cbe26efff0f43b9"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"93ff80d497b781e1c196282bcfe459a4dd7d0752","unresolved":false,"context_lines":[{"line_number":662,"context_line":"        manager that contains: share status and a list of export_locations."},{"line_number":663,"context_line":"        A list of \u0027export_locations\u0027 is mandatory only for share in \u0027active\u0027"},{"line_number":664,"context_line":"        status."},{"line_number":665,"context_line":"        The current supported status are: \u0027active\u0027, \u0027creating_from_snapshot\u0027"},{"line_number":666,"context_line":"        and \u0027error\u0027."},{"line_number":667,"context_line":""},{"line_number":668,"context_line":"        :param context: Current context"}],"source_content_type":"text/x-python","patch_set":10,"id":"df33271e_8277c13a","line":665,"range":{"start_line":665,"start_character":43,"end_line":665,"end_character":49},"updated":"2020-04-08 18:35:04.000000000","message":"available","commit_id":"6fe43f256abe4c7b664738414ef7c470853dba9b"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e2608368d92c09f15b72985bc8d139955d641627","unresolved":false,"context_lines":[{"line_number":662,"context_line":"        manager that contains: share status and a list of export_locations."},{"line_number":663,"context_line":"        A list of \u0027export_locations\u0027 is mandatory only for share in \u0027active\u0027"},{"line_number":664,"context_line":"        status."},{"line_number":665,"context_line":"        The current supported status are: \u0027active\u0027, \u0027creating_from_snapshot\u0027"},{"line_number":666,"context_line":"        and \u0027error\u0027."},{"line_number":667,"context_line":""},{"line_number":668,"context_line":"        :param context: Current context"}],"source_content_type":"text/x-python","patch_set":10,"id":"df33271e_cb60b9a8","line":665,"range":{"start_line":665,"start_character":43,"end_line":665,"end_character":49},"in_reply_to":"df33271e_8277c13a","updated":"2020-04-09 03:10:33.000000000","message":"Done","commit_id":"6fe43f256abe4c7b664738414ef7c470853dba9b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5842bcb4f7ead38c254a95b3f5b306fae8e0c329","unresolved":false,"context_lines":[{"line_number":663,"context_line":"        A list of \u0027export_locations\u0027 is mandatory only for share in \u0027active\u0027"},{"line_number":664,"context_line":"        status."},{"line_number":665,"context_line":"        The current supported status are: \u0027active\u0027, \u0027creating_from_snapshot\u0027"},{"line_number":666,"context_line":"        and \u0027error\u0027."},{"line_number":667,"context_line":""},{"line_number":668,"context_line":"        :param context: Current context"},{"line_number":669,"context_line":"        :param share: Share instance model with share data."}],"source_content_type":"text/x-python","patch_set":10,"id":"df33271e_56729b4a","line":666,"range":{"start_line":666,"start_character":13,"end_line":666,"end_character":18},"updated":"2020-04-08 18:41:16.000000000","message":"\u0027error\u0027 is not an acceptable state..","commit_id":"6fe43f256abe4c7b664738414ef7c470853dba9b"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e2608368d92c09f15b72985bc8d139955d641627","unresolved":false,"context_lines":[{"line_number":663,"context_line":"        A list of \u0027export_locations\u0027 is mandatory only for share in \u0027active\u0027"},{"line_number":664,"context_line":"        status."},{"line_number":665,"context_line":"        The current supported status are: \u0027active\u0027, \u0027creating_from_snapshot\u0027"},{"line_number":666,"context_line":"        and \u0027error\u0027."},{"line_number":667,"context_line":""},{"line_number":668,"context_line":"        :param context: Current context"},{"line_number":669,"context_line":"        :param share: Share instance model with share data."}],"source_content_type":"text/x-python","patch_set":10,"id":"df33271e_ab6575b7","line":666,"range":{"start_line":666,"start_character":13,"end_line":666,"end_character":18},"in_reply_to":"df33271e_56729b4a","updated":"2020-04-09 03:10:33.000000000","message":"Done","commit_id":"6fe43f256abe4c7b664738414ef7c470853dba9b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"2c45447e72c06f2b0be798c2ee8539c5f11eb39e","unresolved":false,"context_lines":[{"line_number":664,"context_line":"        status."},{"line_number":665,"context_line":"        The current supported status are: \u0027active\u0027, \u0027creating_from_snapshot\u0027"},{"line_number":666,"context_line":"        and \u0027error\u0027."},{"line_number":667,"context_line":""},{"line_number":668,"context_line":"        :param context: Current context"},{"line_number":669,"context_line":"        :param share: Share instance model with share data."},{"line_number":670,"context_line":"        :param snapshot: Snapshot instance model ."}],"source_content_type":"text/x-python","patch_set":10,"id":"df33271e_c2b709d8","line":667,"range":{"start_line":667,"start_character":0,"end_line":667,"end_character":0},"updated":"2020-04-08 18:36:38.000000000","message":"Explain that, if \"creating_from_snapshot\" is returned, driver interface \"get_share_status\" must be implemented.","commit_id":"6fe43f256abe4c7b664738414ef7c470853dba9b"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e2608368d92c09f15b72985bc8d139955d641627","unresolved":false,"context_lines":[{"line_number":664,"context_line":"        status."},{"line_number":665,"context_line":"        The current supported status are: \u0027active\u0027, \u0027creating_from_snapshot\u0027"},{"line_number":666,"context_line":"        and \u0027error\u0027."},{"line_number":667,"context_line":""},{"line_number":668,"context_line":"        :param context: Current context"},{"line_number":669,"context_line":"        :param share: Share instance model with share data."},{"line_number":670,"context_line":"        :param snapshot: Snapshot instance model ."}],"source_content_type":"text/x-python","patch_set":10,"id":"df33271e_0b5741cc","line":667,"range":{"start_line":667,"start_character":0,"end_line":667,"end_character":0},"in_reply_to":"df33271e_c2b709d8","updated":"2020-04-09 03:10:33.000000000","message":"Done","commit_id":"6fe43f256abe4c7b664738414ef7c470853dba9b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5842bcb4f7ead38c254a95b3f5b306fae8e0c329","unresolved":false,"context_lines":[{"line_number":681,"context_line":"                    \u0027status\u0027: \u0027available\u0027,"},{"line_number":682,"context_line":"                    \u0027export_locations\u0027: [{...}, {...}],"},{"line_number":683,"context_line":"                }"},{"line_number":684,"context_line":""},{"line_number":685,"context_line":"        \"\"\""},{"line_number":686,"context_line":"        raise NotImplementedError()"},{"line_number":687,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"df33271e_7677df3b","line":684,"range":{"start_line":684,"start_character":0,"end_line":684,"end_character":0},"updated":"2020-04-08 18:41:16.000000000","message":"raises: ShareBackendException\n\nin case share cannot be created for some reason","commit_id":"6fe43f256abe4c7b664738414ef7c470853dba9b"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e2608368d92c09f15b72985bc8d139955d641627","unresolved":false,"context_lines":[{"line_number":681,"context_line":"                    \u0027status\u0027: \u0027available\u0027,"},{"line_number":682,"context_line":"                    \u0027export_locations\u0027: [{...}, {...}],"},{"line_number":683,"context_line":"                }"},{"line_number":684,"context_line":""},{"line_number":685,"context_line":"        \"\"\""},{"line_number":686,"context_line":"        raise NotImplementedError()"},{"line_number":687,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"df33271e_eb5bfdf2","line":684,"range":{"start_line":684,"start_character":0,"end_line":684,"end_character":0},"in_reply_to":"df33271e_7677df3b","updated":"2020-04-09 03:10:33.000000000","message":"Done","commit_id":"6fe43f256abe4c7b664738414ef7c470853dba9b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e63c136731aff2ba2005f754e240812c3c3429","unresolved":false,"context_lines":[{"line_number":655,"context_line":""},{"line_number":656,"context_line":"        Creating a share from snapshot can take longer than a simple clone"},{"line_number":657,"context_line":"        operation if data copy is required from one host to another. For this"},{"line_number":658,"context_line":"        reason driver will be able to return asynchronously to this call, by"},{"line_number":659,"context_line":"        providing a \u0027creating_from_snapshot\u0027 status in the model update."},{"line_number":660,"context_line":""},{"line_number":661,"context_line":"        When answering asynchronously, drivers must implement the call"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_fd7102aa","line":658,"range":{"start_line":658,"start_character":38,"end_line":658,"end_character":72},"updated":"2020-04-09 06:22:27.000000000","message":"complete this creation asynchronously","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"bf9abddeddd2b1733e2bd663850f609d83c6ae46","unresolved":false,"context_lines":[{"line_number":655,"context_line":""},{"line_number":656,"context_line":"        Creating a share from snapshot can take longer than a simple clone"},{"line_number":657,"context_line":"        operation if data copy is required from one host to another. For this"},{"line_number":658,"context_line":"        reason driver will be able to return asynchronously to this call, by"},{"line_number":659,"context_line":"        providing a \u0027creating_from_snapshot\u0027 status in the model update."},{"line_number":660,"context_line":""},{"line_number":661,"context_line":"        When answering asynchronously, drivers must implement the call"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_ff061186","line":658,"range":{"start_line":658,"start_character":38,"end_line":658,"end_character":72},"in_reply_to":"df33271e_fd7102aa","updated":"2020-04-09 12:57:52.000000000","message":"+1","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":655,"context_line":""},{"line_number":656,"context_line":"        Creating a share from snapshot can take longer than a simple clone"},{"line_number":657,"context_line":"        operation if data copy is required from one host to another. For this"},{"line_number":658,"context_line":"        reason driver will be able to return asynchronously to this call, by"},{"line_number":659,"context_line":"        providing a \u0027creating_from_snapshot\u0027 status in the model update."},{"line_number":660,"context_line":""},{"line_number":661,"context_line":"        When answering asynchronously, drivers must implement the call"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_4859418c","line":658,"range":{"start_line":658,"start_character":38,"end_line":658,"end_character":72},"in_reply_to":"df33271e_ff061186","updated":"2020-04-09 14:35:41.000000000","message":"Done","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e63c136731aff2ba2005f754e240812c3c3429","unresolved":false,"context_lines":[{"line_number":664,"context_line":""},{"line_number":665,"context_line":"        It is expected that the driver returns a model update to the share"},{"line_number":666,"context_line":"        manager that contains: share status and a list of export_locations."},{"line_number":667,"context_line":"        A list of \u0027export_locations\u0027 is mandatory only for share in \u0027active\u0027"},{"line_number":668,"context_line":"        status."},{"line_number":669,"context_line":"        The current supported status are \u0027active\u0027 and \u0027creating_from_snapshot\u0027."},{"line_number":670,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_5d6aaeb2","line":667,"range":{"start_line":667,"start_character":69,"end_line":667,"end_character":75},"updated":"2020-04-09 06:22:27.000000000","message":"available","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":664,"context_line":""},{"line_number":665,"context_line":"        It is expected that the driver returns a model update to the share"},{"line_number":666,"context_line":"        manager that contains: share status and a list of export_locations."},{"line_number":667,"context_line":"        A list of \u0027export_locations\u0027 is mandatory only for share in \u0027active\u0027"},{"line_number":668,"context_line":"        status."},{"line_number":669,"context_line":"        The current supported status are \u0027active\u0027 and \u0027creating_from_snapshot\u0027."},{"line_number":670,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_285e7d75","line":667,"range":{"start_line":667,"start_character":69,"end_line":667,"end_character":75},"in_reply_to":"df33271e_1f02d56f","updated":"2020-04-09 14:35:41.000000000","message":"Done","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"bf9abddeddd2b1733e2bd663850f609d83c6ae46","unresolved":false,"context_lines":[{"line_number":664,"context_line":""},{"line_number":665,"context_line":"        It is expected that the driver returns a model update to the share"},{"line_number":666,"context_line":"        manager that contains: share status and a list of export_locations."},{"line_number":667,"context_line":"        A list of \u0027export_locations\u0027 is mandatory only for share in \u0027active\u0027"},{"line_number":668,"context_line":"        status."},{"line_number":669,"context_line":"        The current supported status are \u0027active\u0027 and \u0027creating_from_snapshot\u0027."},{"line_number":670,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_1f02d56f","line":667,"range":{"start_line":667,"start_character":69,"end_line":667,"end_character":75},"in_reply_to":"df33271e_5d6aaeb2","updated":"2020-04-09 12:57:52.000000000","message":"+1","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e63c136731aff2ba2005f754e240812c3c3429","unresolved":false,"context_lines":[{"line_number":666,"context_line":"        manager that contains: share status and a list of export_locations."},{"line_number":667,"context_line":"        A list of \u0027export_locations\u0027 is mandatory only for share in \u0027active\u0027"},{"line_number":668,"context_line":"        status."},{"line_number":669,"context_line":"        The current supported status are \u0027active\u0027 and \u0027creating_from_snapshot\u0027."},{"line_number":670,"context_line":""},{"line_number":671,"context_line":"        :param context: Current context"},{"line_number":672,"context_line":"        :param share: Share instance model with share data."}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_3d67eaeb","line":669,"range":{"start_line":669,"start_character":42,"end_line":669,"end_character":48},"updated":"2020-04-09 06:22:27.000000000","message":"available","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"bf9abddeddd2b1733e2bd663850f609d83c6ae46","unresolved":false,"context_lines":[{"line_number":666,"context_line":"        manager that contains: share status and a list of export_locations."},{"line_number":667,"context_line":"        A list of \u0027export_locations\u0027 is mandatory only for share in \u0027active\u0027"},{"line_number":668,"context_line":"        status."},{"line_number":669,"context_line":"        The current supported status are \u0027active\u0027 and \u0027creating_from_snapshot\u0027."},{"line_number":670,"context_line":""},{"line_number":671,"context_line":"        :param context: Current context"},{"line_number":672,"context_line":"        :param share: Share instance model with share data."}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_7ffa0175","line":669,"range":{"start_line":669,"start_character":42,"end_line":669,"end_character":48},"in_reply_to":"df33271e_3d67eaeb","updated":"2020-04-09 12:57:52.000000000","message":"+1","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":666,"context_line":"        manager that contains: share status and a list of export_locations."},{"line_number":667,"context_line":"        A list of \u0027export_locations\u0027 is mandatory only for share in \u0027active\u0027"},{"line_number":668,"context_line":"        status."},{"line_number":669,"context_line":"        The current supported status are \u0027active\u0027 and \u0027creating_from_snapshot\u0027."},{"line_number":670,"context_line":""},{"line_number":671,"context_line":"        :param context: Current context"},{"line_number":672,"context_line":"        :param share: Share instance model with share data."}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_08c8d91f","line":669,"range":{"start_line":669,"start_character":42,"end_line":669,"end_character":48},"in_reply_to":"df33271e_7ffa0175","updated":"2020-04-09 14:35:41.000000000","message":"Done","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e63c136731aff2ba2005f754e240812c3c3429","unresolved":false,"context_lines":[{"line_number":1410,"context_line":""},{"line_number":1411,"context_line":"            share_update_list - a list of dictionaries containing dicts for"},{"line_number":1412,"context_line":"            every share created in the share group. Any share dicts should at a"},{"line_number":1413,"context_line":"            minimum contain the \u0027id\u0027 key and \u0027export_locations\u0027."},{"line_number":1414,"context_line":"            Export locations should be in the same format as returned by"},{"line_number":1415,"context_line":"            a share_create. This list may be empty or None. EXAMPLE:"},{"line_number":1416,"context_line":"            .. code::"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_dd84fe60","line":1413,"range":{"start_line":1413,"start_character":63,"end_line":1413,"end_character":64},"updated":"2020-04-09 06:22:27.000000000","message":"They should respond with \"status\": \"available\" or \"status\": \"creating_from_snapshot\" here too?","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":1410,"context_line":""},{"line_number":1411,"context_line":"            share_update_list - a list of dictionaries containing dicts for"},{"line_number":1412,"context_line":"            every share created in the share group. Any share dicts should at a"},{"line_number":1413,"context_line":"            minimum contain the \u0027id\u0027 key and \u0027export_locations\u0027."},{"line_number":1414,"context_line":"            Export locations should be in the same format as returned by"},{"line_number":1415,"context_line":"            a share_create. This list may be empty or None. EXAMPLE:"},{"line_number":1416,"context_line":"            .. code::"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_e8cc9536","line":1413,"range":{"start_line":1413,"start_character":63,"end_line":1413,"end_character":64},"in_reply_to":"df33271e_dd84fe60","updated":"2020-04-09 14:35:41.000000000","message":"Done","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"bf9abddeddd2b1733e2bd663850f609d83c6ae46","unresolved":false,"context_lines":[{"line_number":1438,"context_line":"            status \u003d constants.STATUS_AVAILABLE"},{"line_number":1439,"context_line":"            if isinstance(model_update, dict):"},{"line_number":1440,"context_line":"                status \u003d model_update.get(\u0027status\u0027,"},{"line_number":1441,"context_line":"                                          constants.STATUS_AVAILABLE)"},{"line_number":1442,"context_line":"                export_locations \u003d model_update.get(\u0027export_locations\u0027, [])"},{"line_number":1443,"context_line":"                if status not in [constants.STATUS_AVAILABLE,"},{"line_number":1444,"context_line":"                                  constants.STATUS_CREATING_FROM_SNAPSHOT]:"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_22721eae","line":1441,"range":{"start_line":1441,"start_character":42,"end_line":1441,"end_character":69},"updated":"2020-04-09 12:57:52.000000000","message":"Why are we defaulting to AVAILABLE?  If a driver were to use the new dict format but fail to return status, isn\u0027t that an error condition?","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":1438,"context_line":"            status \u003d constants.STATUS_AVAILABLE"},{"line_number":1439,"context_line":"            if isinstance(model_update, dict):"},{"line_number":1440,"context_line":"                status \u003d model_update.get(\u0027status\u0027,"},{"line_number":1441,"context_line":"                                          constants.STATUS_AVAILABLE)"},{"line_number":1442,"context_line":"                export_locations \u003d model_update.get(\u0027export_locations\u0027, [])"},{"line_number":1443,"context_line":"                if status not in [constants.STATUS_AVAILABLE,"},{"line_number":1444,"context_line":"                                  constants.STATUS_CREATING_FROM_SNAPSHOT]:"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_6801a538","line":1441,"range":{"start_line":1441,"start_character":42,"end_line":1441,"end_character":69},"in_reply_to":"df33271e_22721eae","updated":"2020-04-09 14:35:41.000000000","message":"You\u0027re right Tom. If the driver is using the new model update dict, it should be an status error. I\u0027m raising an error now.","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"bf9abddeddd2b1733e2bd663850f609d83c6ae46","unresolved":false,"context_lines":[{"line_number":1442,"context_line":"                export_locations \u003d model_update.get(\u0027export_locations\u0027, [])"},{"line_number":1443,"context_line":"                if status not in [constants.STATUS_AVAILABLE,"},{"line_number":1444,"context_line":"                                  constants.STATUS_CREATING_FROM_SNAPSHOT]:"},{"line_number":1445,"context_line":"                    msg \u003d _(\u0027Driver returned an invalid status: %s\u0027) % status"},{"line_number":1446,"context_line":"                    raise exception.InvalidShareInstance(reason\u003dmsg)"},{"line_number":1447,"context_line":"                progress \u003d (\u0027100%\u0027 if status \u003d\u003d constants.STATUS_AVAILABLE"},{"line_number":1448,"context_line":"                            else \u00270%\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_a2674eb7","line":1445,"range":{"start_line":1445,"start_character":20,"end_line":1445,"end_character":77},"updated":"2020-04-09 12:57:52.000000000","message":"If a driver returns STATUS_ERROR that isn\u0027t an *invalid* status, is it?","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"944a5592449da49c47a44a5a9a01316ac8142759","unresolved":false,"context_lines":[{"line_number":1442,"context_line":"                export_locations \u003d model_update.get(\u0027export_locations\u0027, [])"},{"line_number":1443,"context_line":"                if status not in [constants.STATUS_AVAILABLE,"},{"line_number":1444,"context_line":"                                  constants.STATUS_CREATING_FROM_SNAPSHOT]:"},{"line_number":1445,"context_line":"                    msg \u003d _(\u0027Driver returned an invalid status: %s\u0027) % status"},{"line_number":1446,"context_line":"                    raise exception.InvalidShareInstance(reason\u003dmsg)"},{"line_number":1447,"context_line":"                progress \u003d (\u0027100%\u0027 if status \u003d\u003d constants.STATUS_AVAILABLE"},{"line_number":1448,"context_line":"                            else \u00270%\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_53cd7683","line":1445,"range":{"start_line":1445,"start_character":20,"end_line":1445,"end_character":77},"in_reply_to":"df33271e_48b5c17d","updated":"2020-04-09 14:47:45.000000000","message":"You are right.","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":1442,"context_line":"                export_locations \u003d model_update.get(\u0027export_locations\u0027, [])"},{"line_number":1443,"context_line":"                if status not in [constants.STATUS_AVAILABLE,"},{"line_number":1444,"context_line":"                                  constants.STATUS_CREATING_FROM_SNAPSHOT]:"},{"line_number":1445,"context_line":"                    msg \u003d _(\u0027Driver returned an invalid status: %s\u0027) % status"},{"line_number":1446,"context_line":"                    raise exception.InvalidShareInstance(reason\u003dmsg)"},{"line_number":1447,"context_line":"                progress \u003d (\u0027100%\u0027 if status \u003d\u003d constants.STATUS_AVAILABLE"},{"line_number":1448,"context_line":"                            else \u00270%\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_48b5c17d","line":1445,"range":{"start_line":1445,"start_character":20,"end_line":1445,"end_character":77},"in_reply_to":"df33271e_a2674eb7","updated":"2020-04-09 14:35:41.000000000","message":"Acording to the driver interface, for creating_share_from_snaphot we don\u0027t support this status. Let me know if you think that we must treat \u0027error\u0027 in a different way.","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e63c136731aff2ba2005f754e240812c3c3429","unresolved":false,"context_lines":[{"line_number":1444,"context_line":"                                  constants.STATUS_CREATING_FROM_SNAPSHOT]:"},{"line_number":1445,"context_line":"                    msg \u003d _(\u0027Driver returned an invalid status: %s\u0027) % status"},{"line_number":1446,"context_line":"                    raise exception.InvalidShareInstance(reason\u003dmsg)"},{"line_number":1447,"context_line":"                progress \u003d (\u0027100%\u0027 if status \u003d\u003d constants.STATUS_AVAILABLE"},{"line_number":1448,"context_line":"                            else \u00270%\u0027)"},{"line_number":1449,"context_line":"                share_update_info.update({"},{"line_number":1450,"context_line":"                    \u0027status\u0027: status,"},{"line_number":1451,"context_line":"                    \u0027progress\u0027: progress,"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_3d952a88","line":1448,"range":{"start_line":1447,"start_character":16,"end_line":1448,"end_character":38},"updated":"2020-04-09 06:22:27.000000000","message":"Drivers can override this call if they support consistency groups. \nSo you should do this *after* the driver call in the share manager, \nso you can handle the case when this interface is overridden too:\n\n\nhttps://opendev.org/openstack/manila/src/commit/93d9626ccd00c3b2a34a969ab2894101e0cc1735/manila/share/manager.py#L4042-L4044","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"bf9abddeddd2b1733e2bd663850f609d83c6ae46","unresolved":false,"context_lines":[{"line_number":1444,"context_line":"                                  constants.STATUS_CREATING_FROM_SNAPSHOT]:"},{"line_number":1445,"context_line":"                    msg \u003d _(\u0027Driver returned an invalid status: %s\u0027) % status"},{"line_number":1446,"context_line":"                    raise exception.InvalidShareInstance(reason\u003dmsg)"},{"line_number":1447,"context_line":"                progress \u003d (\u0027100%\u0027 if status \u003d\u003d constants.STATUS_AVAILABLE"},{"line_number":1448,"context_line":"                            else \u00270%\u0027)"},{"line_number":1449,"context_line":"                share_update_info.update({"},{"line_number":1450,"context_line":"                    \u0027status\u0027: status,"},{"line_number":1451,"context_line":"                    \u0027progress\u0027: progress,"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_ff2bb1e7","line":1448,"range":{"start_line":1447,"start_character":16,"end_line":1448,"end_character":38},"in_reply_to":"df33271e_3d952a88","updated":"2020-04-09 12:57:52.000000000","message":"+1","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":1444,"context_line":"                                  constants.STATUS_CREATING_FROM_SNAPSHOT]:"},{"line_number":1445,"context_line":"                    msg \u003d _(\u0027Driver returned an invalid status: %s\u0027) % status"},{"line_number":1446,"context_line":"                    raise exception.InvalidShareInstance(reason\u003dmsg)"},{"line_number":1447,"context_line":"                progress \u003d (\u0027100%\u0027 if status \u003d\u003d constants.STATUS_AVAILABLE"},{"line_number":1448,"context_line":"                            else \u00270%\u0027)"},{"line_number":1449,"context_line":"                share_update_info.update({"},{"line_number":1450,"context_line":"                    \u0027status\u0027: status,"},{"line_number":1451,"context_line":"                    \u0027progress\u0027: progress,"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_c8a8b121","line":1448,"range":{"start_line":1447,"start_character":16,"end_line":1448,"end_character":38},"in_reply_to":"df33271e_ff2bb1e7","updated":"2020-04-09 14:35:41.000000000","message":"Sure, including NetApp implementation :)\nDone, moved things to share-manager.","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"bf9abddeddd2b1733e2bd663850f609d83c6ae46","unresolved":false,"context_lines":[{"line_number":2814,"context_line":"        :param share_server: share server model or None."},{"line_number":2815,"context_line":"        :returns: a dictionary of updates with the current share status, that"},{"line_number":2816,"context_line":"            must be \u0027available, \u0027creating_from_snapshot or \u0027error\u0027 and a list"},{"line_number":2817,"context_line":"            of export locations, if available, in the following format::"},{"line_number":2818,"context_line":""},{"line_number":2819,"context_line":"                {"},{"line_number":2820,"context_line":"                    \u0027status\u0027: \u0027available\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_02071a84","line":2817,"updated":"2020-04-09 12:57:52.000000000","message":"and progress as a percentage of the share completion task","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":2814,"context_line":"        :param share_server: share server model or None."},{"line_number":2815,"context_line":"        :returns: a dictionary of updates with the current share status, that"},{"line_number":2816,"context_line":"            must be \u0027available, \u0027creating_from_snapshot or \u0027error\u0027 and a list"},{"line_number":2817,"context_line":"            of export locations, if available, in the following format::"},{"line_number":2818,"context_line":""},{"line_number":2819,"context_line":"                {"},{"line_number":2820,"context_line":"                    \u0027status\u0027: \u0027available\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_a8a56d49","line":2817,"in_reply_to":"df33271e_02071a84","updated":"2020-04-09 14:35:41.000000000","message":"Done","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"944a5592449da49c47a44a5a9a01316ac8142759","unresolved":false,"context_lines":[{"line_number":655,"context_line":""},{"line_number":656,"context_line":"        Creating a share from snapshot can take longer than a simple clone"},{"line_number":657,"context_line":"        operation if data copy is required from one host to another. For this"},{"line_number":658,"context_line":"        reason driver will be able complete this creation asynchronously, by"},{"line_number":659,"context_line":"        providing a \u0027creating_from_snapshot\u0027 status in the model update."},{"line_number":660,"context_line":""},{"line_number":661,"context_line":"        When answering asynchronously, drivers must implement the call"}],"source_content_type":"text/x-python","patch_set":12,"id":"df33271e_68afe529","line":658,"range":{"start_line":658,"start_character":22,"end_line":658,"end_character":23},"updated":"2020-04-09 14:47:45.000000000","message":"nit: will be able  to complete this creation asynchronously\n\nword \u0027to\u0027 is missing","commit_id":"6c47b193b07a96f7131b6241d6323387acd33979"}],"manila/share/drivers/generic.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"12c854c7172a0d15788a286a31257a5655e39cd1","unresolved":false,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    def do_setup(self, context):"},{"line_number":177,"context_line":"        \"\"\"Any initialization the generic driver does while starting.\"\"\""},{"line_number":178,"context_line":"        super(GenericShareDriver, self).do_setup(context)"},{"line_number":179,"context_line":"        self.compute_api \u003d compute.API()"},{"line_number":180,"context_line":"        self.volume_api \u003d volume.API()"},{"line_number":181,"context_line":"        self._setup_helpers()"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_f70a7bcf","line":178,"updated":"2020-04-01 16:20:13.000000000","message":"E1101: \u001b[1;31mSuper of \u0027GenericShareDriver\u0027 has no \u0027do_setup\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"8974f5d4a489c48c40157b446eee660f8f7193fe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"12c854c7172a0d15788a286a31257a5655e39cd1","unresolved":false,"context_lines":[{"line_number":636,"context_line":"            storage_protocol\u003d\u0027NFS_CIFS\u0027,"},{"line_number":637,"context_line":"            reserved_percentage\u003dself.configuration.reserved_share_percentage,"},{"line_number":638,"context_line":"        )"},{"line_number":639,"context_line":"        super(GenericShareDriver, self)._update_share_stats(data)"},{"line_number":640,"context_line":""},{"line_number":641,"context_line":"    @ensure_server"},{"line_number":642,"context_line":"    def create_share_from_snapshot(self, context, share, snapshot,"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_570ec7e4","line":639,"updated":"2020-04-01 16:20:13.000000000","message":"E1101: \u001b[1;31mSuper of \u0027GenericShareDriver\u0027 has no \u0027_update_share_stats\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"8974f5d4a489c48c40157b446eee660f8f7193fe"}],"manila/share/drivers/hdfs/hdfs_native.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"12c854c7172a0d15788a286a31257a5655e39cd1","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def do_setup(self, context):"},{"line_number":90,"context_line":"        \"\"\"Do initialization while the share driver starts.\"\"\""},{"line_number":91,"context_line":"        super(HDFSNativeShareDriver, self).do_setup(context)"},{"line_number":92,"context_line":"        host \u003d self.configuration.hdfs_namenode_ip"},{"line_number":93,"context_line":"        local_hosts \u003d socket.gethostbyname_ex(socket.gethostname())[2]"},{"line_number":94,"context_line":"        if host in local_hosts:"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_d76c979d","line":91,"updated":"2020-04-01 16:20:13.000000000","message":"E1101: \u001b[1;31mSuper of \u0027HDFSNativeShareDriver\u0027 has no \u0027do_setup\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"8974f5d4a489c48c40157b446eee660f8f7193fe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"12c854c7172a0d15788a286a31257a5655e39cd1","unresolved":false,"context_lines":[{"line_number":434,"context_line":"        data[\u0027total_capacity_gb\u0027] \u003d math.ceil(total / units.Gi)"},{"line_number":435,"context_line":"        data[\u0027free_capacity_gb\u0027] \u003d math.ceil(free / units.Gi)"},{"line_number":436,"context_line":""},{"line_number":437,"context_line":"        super(HDFSNativeShareDriver, self)._update_share_stats(data)"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_b76753b7","line":437,"updated":"2020-04-01 16:20:13.000000000","message":"E1101: \u001b[1;31mSuper of \u0027HDFSNativeShareDriver\u0027 has no \u0027_update_share_stats\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"8974f5d4a489c48c40157b446eee660f8f7193fe"}],"manila/share/drivers/ibm/gpfs.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"12c854c7172a0d15788a286a31257a5655e39cd1","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    def do_setup(self, context):"},{"line_number":148,"context_line":"        \"\"\"Any initialization the share driver does while starting.\"\"\""},{"line_number":149,"context_line":"        super(GPFSShareDriver, self).do_setup(context)"},{"line_number":150,"context_line":"        if self.configuration.is_gpfs_node:"},{"line_number":151,"context_line":"            self._gpfs_execute \u003d self._gpfs_local_execute"},{"line_number":152,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_5759a7fb","line":149,"updated":"2020-04-01 16:20:13.000000000","message":"E1101: \u001b[1;31mSuper of \u0027GPFSShareDriver\u0027 has no \u0027do_setup\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"8974f5d4a489c48c40157b446eee660f8f7193fe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"12c854c7172a0d15788a286a31257a5655e39cd1","unresolved":false,"context_lines":[{"line_number":766,"context_line":"        data[\u0027total_capacity_gb\u0027] \u003d math.ceil(capacity / units.Gi)"},{"line_number":767,"context_line":"        data[\u0027free_capacity_gb\u0027] \u003d math.ceil(free / units.Gi)"},{"line_number":768,"context_line":""},{"line_number":769,"context_line":"        super(GPFSShareDriver, self)._update_share_stats(data)"},{"line_number":770,"context_line":""},{"line_number":771,"context_line":"    def _get_helper(self, share):"},{"line_number":772,"context_line":"        if share[\u0027share_proto\u0027] \u003d\u003d \u0027NFS\u0027:"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_375ce3eb","line":769,"updated":"2020-04-01 16:20:13.000000000","message":"E1101: \u001b[1;31mSuper of \u0027GPFSShareDriver\u0027 has no \u0027_update_share_stats\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"8974f5d4a489c48c40157b446eee660f8f7193fe"}],"manila/share/drivers/maprfs/maprfs_native.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"12c854c7172a0d15788a286a31257a5655e39cd1","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def do_setup(self, context):"},{"line_number":97,"context_line":"        \"\"\"Do initialization while the share driver starts.\"\"\""},{"line_number":98,"context_line":"        super(MapRFSNativeShareDriver, self).do_setup(context)"},{"line_number":99,"context_line":"        self._maprfs_util \u003d mapru.get_version_handler(self.configuration)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def _share_dir(self, share_name):"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_97768f6f","line":98,"updated":"2020-04-01 16:20:13.000000000","message":"E1101: \u001b[1;31mSuper of \u0027MapRFSNativeShareDriver\u0027 has no \u0027do_setup\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"8974f5d4a489c48c40157b446eee660f8f7193fe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"12c854c7172a0d15788a286a31257a5655e39cd1","unresolved":false,"context_lines":[{"line_number":435,"context_line":"            \u0027create_share_from_snapshot_support\u0027: True,"},{"line_number":436,"context_line":"        }"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"        super(MapRFSNativeShareDriver, self)._update_share_stats(data)"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_77714b76","line":438,"updated":"2020-04-01 16:20:13.000000000","message":"E1101: \u001b[1;31mSuper of \u0027MapRFSNativeShareDriver\u0027 has no \u0027_update_share_stats\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"8974f5d4a489c48c40157b446eee660f8f7193fe"}],"manila/share/drivers/veritas/veritas_isa.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"12c854c7172a0d15788a286a31257a5655e39cd1","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def do_setup(self, context):"},{"line_number":128,"context_line":"        \"\"\"Any initialization the share driver does while starting.\"\"\""},{"line_number":129,"context_line":"        super(ACCESSShareDriver, self).do_setup(context)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        self._va_ip \u003d self.configuration.va_server_ip"},{"line_number":132,"context_line":"        self._pool \u003d self.configuration.va_pool"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_37118305","line":129,"updated":"2020-04-01 16:20:13.000000000","message":"E1101: \u001b[1;31mSuper of \u0027ACCESSShareDriver\u0027 has no \u0027do_setup\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"8974f5d4a489c48c40157b446eee660f8f7193fe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"12c854c7172a0d15788a286a31257a5655e39cd1","unresolved":false,"context_lines":[{"line_number":625,"context_line":"            \u0027snapshot_support\u0027: True,"},{"line_number":626,"context_line":"            \u0027create_share_from_snapshot_support\u0027: True"},{"line_number":627,"context_line":"        }"},{"line_number":628,"context_line":"        super(ACCESSShareDriver, self)._update_share_stats(data)"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_97fb2fbf","line":628,"updated":"2020-04-01 16:20:13.000000000","message":"E1101: \u001b[1;31mSuper of \u0027ACCESSShareDriver\u0027 has no \u0027_update_share_stats\u0027 member\u001b[0m (\u001b[1;31mno-member\u001b[0m)","commit_id":"8974f5d4a489c48c40157b446eee660f8f7193fe"}],"manila/share/manager.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":4459,"context_line":"    def periodic_share_status_update(self, context):"},{"line_number":4460,"context_line":"        \"\"\"Invokes share driver to update shares status.\"\"\""},{"line_number":4461,"context_line":"        LOG.debug(\"Updating status of share instances.\")"},{"line_number":4462,"context_line":"        share_instances \u003d self.db.share_instances_get_all_by_host("},{"line_number":4463,"context_line":"            context, host\u003dself.host, with_share_data\u003dTrue)"},{"line_number":4464,"context_line":""},{"line_number":4465,"context_line":"        for si in share_instances:"},{"line_number":4466,"context_line":"            if si[\u0027status\u0027] \u003d\u003d constants.STATUS_CREATING_FROM_SNAPSHOT:"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_f3a59c48","line":4463,"range":{"start_line":4462,"start_character":26,"end_line":4463,"end_character":58},"updated":"2020-03-31 06:46:16.000000000","message":"Can you filter this further in the database with status STATUS_CREATING_FROM_SNAPSHOT","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":4459,"context_line":"    def periodic_share_status_update(self, context):"},{"line_number":4460,"context_line":"        \"\"\"Invokes share driver to update shares status.\"\"\""},{"line_number":4461,"context_line":"        LOG.debug(\"Updating status of share instances.\")"},{"line_number":4462,"context_line":"        share_instances \u003d self.db.share_instances_get_all_by_host("},{"line_number":4463,"context_line":"            context, host\u003dself.host, with_share_data\u003dTrue)"},{"line_number":4464,"context_line":""},{"line_number":4465,"context_line":"        for si in share_instances:"},{"line_number":4466,"context_line":"            if si[\u0027status\u0027] \u003d\u003d constants.STATUS_CREATING_FROM_SNAPSHOT:"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_cb6234d8","line":4463,"range":{"start_line":4462,"start_character":26,"end_line":4463,"end_character":58},"in_reply_to":"df33271e_f3a59c48","updated":"2020-04-01 14:23:16.000000000","message":"Done!","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":4478,"context_line":"        except Exception as excep:"},{"line_number":4479,"context_line":"            msg \u003d \"Driver error when updating share %s status.\""},{"line_number":4480,"context_line":"            LOG.exception(msg, share_instance[\u0027id\u0027])"},{"line_number":4481,"context_line":"            self.db.share_instance_update("},{"line_number":4482,"context_line":"                context, share_instance[\u0027id\u0027],"},{"line_number":4483,"context_line":"                {\u0027status\u0027: constants.STATUS_ERROR,"},{"line_number":4484,"context_line":"                 \u0027progress\u0027: None})"},{"line_number":4485,"context_line":"            self.message_api.create("},{"line_number":4486,"context_line":"                context,"},{"line_number":4487,"context_line":"                message_field.Action.UPDATE,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_961fde59","line":4484,"range":{"start_line":4481,"start_character":12,"end_line":4484,"end_character":35},"updated":"2020-03-31 06:46:16.000000000","message":"Hmmm, so the design here is that this driver invocation will raise an exception to indicate that a given share cannot be created. \n\nPlease add this expectation in the driver interface doc string..","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":4478,"context_line":"        except Exception as excep:"},{"line_number":4479,"context_line":"            msg \u003d \"Driver error when updating share %s status.\""},{"line_number":4480,"context_line":"            LOG.exception(msg, share_instance[\u0027id\u0027])"},{"line_number":4481,"context_line":"            self.db.share_instance_update("},{"line_number":4482,"context_line":"                context, share_instance[\u0027id\u0027],"},{"line_number":4483,"context_line":"                {\u0027status\u0027: constants.STATUS_ERROR,"},{"line_number":4484,"context_line":"                 \u0027progress\u0027: None})"},{"line_number":4485,"context_line":"            self.message_api.create("},{"line_number":4486,"context_line":"                context,"},{"line_number":4487,"context_line":"                message_field.Action.UPDATE,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_8b9aecb5","line":4484,"range":{"start_line":4481,"start_character":12,"end_line":4484,"end_character":35},"in_reply_to":"df33271e_961fde59","updated":"2020-04-01 14:23:16.000000000","message":"Not really, don\u0027t want drivers raising exceptions for a get_share_status call, doesn\u0027t look correct. Instead, I\u0027m just looking for status updates, if the driver fails to get such info, should return \u0027error\u0027 or \u0027creating_from_snapshot\u0027 depending on its internal issues.","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":4487,"context_line":"                message_field.Action.UPDATE,"},{"line_number":4488,"context_line":"                share_instance[\u0027project_id\u0027],"},{"line_number":4489,"context_line":"                resource_type\u003dmessage_field.Resource.SHARE,"},{"line_number":4490,"context_line":"                resource_id\u003dshare_instance[\u0027id\u0027],"},{"line_number":4491,"context_line":"                exception\u003dexcep)"},{"line_number":4492,"context_line":"            return"},{"line_number":4493,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_f68bca64","line":4490,"range":{"start_line":4490,"start_character":43,"end_line":4490,"end_character":47},"updated":"2020-03-31 06:46:16.000000000","message":"share_id","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":4487,"context_line":"                message_field.Action.UPDATE,"},{"line_number":4488,"context_line":"                share_instance[\u0027project_id\u0027],"},{"line_number":4489,"context_line":"                resource_type\u003dmessage_field.Resource.SHARE,"},{"line_number":4490,"context_line":"                resource_id\u003dshare_instance[\u0027id\u0027],"},{"line_number":4491,"context_line":"                exception\u003dexcep)"},{"line_number":4492,"context_line":"            return"},{"line_number":4493,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_6bda0878","line":4490,"range":{"start_line":4490,"start_character":43,"end_line":4490,"end_character":47},"in_reply_to":"df33271e_f68bca64","updated":"2020-04-01 14:23:16.000000000","message":"Done","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":4491,"context_line":"                exception\u003dexcep)"},{"line_number":4492,"context_line":"            return"},{"line_number":4493,"context_line":""},{"line_number":4494,"context_line":"        status \u003d data_updates.get(\u0027status\u0027, None)"},{"line_number":4495,"context_line":"        export_locations \u003d data_updates.get(\u0027export_locations\u0027, None)"},{"line_number":4496,"context_line":""},{"line_number":4497,"context_line":"        progress \u003d data_updates.get(\u0027progress\u0027, None)"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_36537219","line":4494,"range":{"start_line":4494,"start_character":42,"end_line":4494,"end_character":48},"updated":"2020-03-31 06:46:16.000000000","message":"None is the default for dict.get","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":4491,"context_line":"                exception\u003dexcep)"},{"line_number":4492,"context_line":"            return"},{"line_number":4493,"context_line":""},{"line_number":4494,"context_line":"        status \u003d data_updates.get(\u0027status\u0027, None)"},{"line_number":4495,"context_line":"        export_locations \u003d data_updates.get(\u0027export_locations\u0027, None)"},{"line_number":4496,"context_line":""},{"line_number":4497,"context_line":"        progress \u003d data_updates.get(\u0027progress\u0027, None)"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_cbe5143a","line":4494,"range":{"start_line":4494,"start_character":42,"end_line":4494,"end_character":48},"in_reply_to":"df33271e_36537219","updated":"2020-04-01 14:23:16.000000000","message":"Done","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":4494,"context_line":"        status \u003d data_updates.get(\u0027status\u0027, None)"},{"line_number":4495,"context_line":"        export_locations \u003d data_updates.get(\u0027export_locations\u0027, None)"},{"line_number":4496,"context_line":""},{"line_number":4497,"context_line":"        progress \u003d data_updates.get(\u0027progress\u0027, None)"},{"line_number":4498,"context_line":""},{"line_number":4499,"context_line":"        statuses_requiring_update \u003d ["},{"line_number":4500,"context_line":"            constants.STATUS_AVAILABLE, constants.STATUS_ERROR,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_36053212","line":4497,"range":{"start_line":4497,"start_character":48,"end_line":4497,"end_character":53},"updated":"2020-03-31 06:46:16.000000000","message":"share_instance[\u0027progress\u0027]?\n\nIf a driver doesn\u0027t provide progress, we should probably assume that no progress has been made?","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":4494,"context_line":"        status \u003d data_updates.get(\u0027status\u0027, None)"},{"line_number":4495,"context_line":"        export_locations \u003d data_updates.get(\u0027export_locations\u0027, None)"},{"line_number":4496,"context_line":""},{"line_number":4497,"context_line":"        progress \u003d data_updates.get(\u0027progress\u0027, None)"},{"line_number":4498,"context_line":""},{"line_number":4499,"context_line":"        statuses_requiring_update \u003d ["},{"line_number":4500,"context_line":"            constants.STATUS_AVAILABLE, constants.STATUS_ERROR,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_4b0e24e5","line":4497,"range":{"start_line":4497,"start_character":48,"end_line":4497,"end_character":53},"in_reply_to":"df33271e_36053212","updated":"2020-04-01 14:23:16.000000000","message":"We\u0027ll avoid setting any value if the driver doesn\u0027t provide this info, will remains as \u0027null\u0027 for users, that doesn\u0027t mean anything, I think. We still have db updates, so I\u0027m considering that update_at will change, or not?","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":4497,"context_line":"        progress \u003d data_updates.get(\u0027progress\u0027, None)"},{"line_number":4498,"context_line":""},{"line_number":4499,"context_line":"        statuses_requiring_update \u003d ["},{"line_number":4500,"context_line":"            constants.STATUS_AVAILABLE, constants.STATUS_ERROR,"},{"line_number":4501,"context_line":"            constants.STATUS_CREATING_FROM_SNAPSHOT]"},{"line_number":4502,"context_line":""},{"line_number":4503,"context_line":"        if status in statuses_requiring_update:"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_f6446a49","line":4500,"range":{"start_line":4500,"start_character":40,"end_line":4500,"end_character":62},"updated":"2020-03-31 06:46:16.000000000","message":"If this is possible, we don\u0027t set a user message as in case of an exception?","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":4497,"context_line":"        progress \u003d data_updates.get(\u0027progress\u0027, None)"},{"line_number":4498,"context_line":""},{"line_number":4499,"context_line":"        statuses_requiring_update \u003d ["},{"line_number":4500,"context_line":"            constants.STATUS_AVAILABLE, constants.STATUS_ERROR,"},{"line_number":4501,"context_line":"            constants.STATUS_CREATING_FROM_SNAPSHOT]"},{"line_number":4502,"context_line":""},{"line_number":4503,"context_line":"        if status in statuses_requiring_update:"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_2b112005","line":4500,"range":{"start_line":4500,"start_character":40,"end_line":4500,"end_character":62},"in_reply_to":"df33271e_f6446a49","updated":"2020-04-01 14:23:16.000000000","message":"Fixed that!","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8ff0f7fc46cbc5e5984644b0b13be9c769742b8","unresolved":false,"context_lines":[{"line_number":4508,"context_line":"            }"},{"line_number":4509,"context_line":"            self.db.share_instance_update("},{"line_number":4510,"context_line":"                context, share_instance[\u0027id\u0027], updates)"},{"line_number":4511,"context_line":"            msg \u003d (\"Share instance %(id)s status was updated to \u0027%(status)s\u0027\""},{"line_number":4512,"context_line":"                   % {\u0027id\u0027: share_instance[\u0027id\u0027], \u0027status\u0027: status})"},{"line_number":4513,"context_line":"            LOG.debug(msg)"},{"line_number":4514,"context_line":"        if export_locations:"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_d66a06b1","line":4511,"range":{"start_line":4511,"start_character":20,"end_line":4511,"end_character":21},"updated":"2020-03-31 06:46:16.000000000","message":"Status of share instance %(id)s belonging to share %(share_id)s was updated to ...","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e024d9a0387c7f159d92437a02c6b104dde89e5a","unresolved":false,"context_lines":[{"line_number":4508,"context_line":"            }"},{"line_number":4509,"context_line":"            self.db.share_instance_update("},{"line_number":4510,"context_line":"                context, share_instance[\u0027id\u0027], updates)"},{"line_number":4511,"context_line":"            msg \u003d (\"Share instance %(id)s status was updated to \u0027%(status)s\u0027\""},{"line_number":4512,"context_line":"                   % {\u0027id\u0027: share_instance[\u0027id\u0027], \u0027status\u0027: status})"},{"line_number":4513,"context_line":"            LOG.debug(msg)"},{"line_number":4514,"context_line":"        if export_locations:"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_6bf688d9","line":4511,"range":{"start_line":4511,"start_character":20,"end_line":4511,"end_character":21},"in_reply_to":"df33271e_d66a06b1","updated":"2020-04-01 14:23:16.000000000","message":"Done","commit_id":"b3cbf91f191534fe8b30078483eb74eb42c7fdd1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1bbeadab976e5c4f9d882b85d3a035b1ecd7220b","unresolved":false,"context_lines":[{"line_number":4493,"context_line":"            with_share_data\u003dTrue)"},{"line_number":4494,"context_line":""},{"line_number":4495,"context_line":"        for si in share_instances:"},{"line_number":4496,"context_line":"            si_dict \u003d self._get_share_instance_dict(context, si)"},{"line_number":4497,"context_line":"            self._update_share_status(context, si_dict)"},{"line_number":4498,"context_line":""},{"line_number":4499,"context_line":"    def _update_share_status(self, context, share_instance):"},{"line_number":4500,"context_line":"        share_server \u003d self._get_share_server(context, share_instance)"}],"source_content_type":"text/x-python","patch_set":10,"id":"df33271e_7676bf08","line":4497,"range":{"start_line":4496,"start_character":0,"end_line":4497,"end_character":55},"updated":"2020-04-08 18:51:57.000000000","message":"handle exceptions here... \n\nor for line 4505 - but, clarify in the share driver doc string that exceptions are supposed to be handled; and if one is raised, the share status *will* be set to \"ERROR\".","commit_id":"6fe43f256abe4c7b664738414ef7c470853dba9b"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"e2608368d92c09f15b72985bc8d139955d641627","unresolved":false,"context_lines":[{"line_number":4493,"context_line":"            with_share_data\u003dTrue)"},{"line_number":4494,"context_line":""},{"line_number":4495,"context_line":"        for si in share_instances:"},{"line_number":4496,"context_line":"            si_dict \u003d self._get_share_instance_dict(context, si)"},{"line_number":4497,"context_line":"            self._update_share_status(context, si_dict)"},{"line_number":4498,"context_line":""},{"line_number":4499,"context_line":"    def _update_share_status(self, context, share_instance):"},{"line_number":4500,"context_line":"        share_server \u003d self._get_share_server(context, share_instance)"}],"source_content_type":"text/x-python","patch_set":10,"id":"df33271e_2b716577","line":4497,"range":{"start_line":4496,"start_character":0,"end_line":4497,"end_character":55},"in_reply_to":"df33271e_7676bf08","updated":"2020-04-09 03:10:33.000000000","message":"Done, thks","commit_id":"6fe43f256abe4c7b664738414ef7c470853dba9b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1bbeadab976e5c4f9d882b85d3a035b1ecd7220b","unresolved":false,"context_lines":[{"line_number":4520,"context_line":"                context, share_instance[\u0027id\u0027],"},{"line_number":4521,"context_line":"                {\u0027status\u0027: constants.STATUS_ERROR,"},{"line_number":4522,"context_line":"                 \u0027progress\u0027: None})"},{"line_number":4523,"context_line":"            self.message_api.create("},{"line_number":4524,"context_line":"                context,"},{"line_number":4525,"context_line":"                message_field.Action.UPDATE,"},{"line_number":4526,"context_line":"                share_instance[\u0027project_id\u0027],"},{"line_number":4527,"context_line":"                resource_type\u003dmessage_field.Resource.SHARE,"},{"line_number":4528,"context_line":"                resource_id\u003dshare_instance[\u0027share_id\u0027])"},{"line_number":4529,"context_line":"            return"},{"line_number":4530,"context_line":""},{"line_number":4531,"context_line":"        statuses_requiring_update \u003d ["},{"line_number":4532,"context_line":"            constants.STATUS_AVAILABLE,"}],"source_content_type":"text/x-python","patch_set":10,"id":"df33271e_b67847f8","line":4529,"range":{"start_line":4523,"start_character":6,"end_line":4529,"end_character":18},"updated":"2020-04-08 18:51:57.000000000","message":"What is the user message here? You\u0027ve to define a new message type","commit_id":"6fe43f256abe4c7b664738414ef7c470853dba9b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e63c136731aff2ba2005f754e240812c3c3429","unresolved":false,"context_lines":[{"line_number":1377,"context_line":""},{"line_number":1378,"context_line":"        helper.apply_new_access_rules(dest_share_instance)"},{"line_number":1379,"context_line":""},{"line_number":1380,"context_line":"        self.db.share_instance_update("},{"line_number":1381,"context_line":"            context, dest_share_instance[\u0027id\u0027],"},{"line_number":1382,"context_line":"            {\u0027status\u0027: constants.STATUS_AVAILABLE})"},{"line_number":1383,"context_line":""},{"line_number":1384,"context_line":"        self.db.share_instance_update(context, src_share_instance[\u0027id\u0027],"},{"line_number":1385,"context_line":"                                      {\u0027status\u0027: constants.STATUS_INACTIVE})"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_fd42a20e","line":1382,"range":{"start_line":1380,"start_character":0,"end_line":1382,"end_character":51},"updated":"2020-04-09 06:22:27.000000000","message":"The progress field must be updated here to 100%","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":1377,"context_line":""},{"line_number":1378,"context_line":"        helper.apply_new_access_rules(dest_share_instance)"},{"line_number":1379,"context_line":""},{"line_number":1380,"context_line":"        self.db.share_instance_update("},{"line_number":1381,"context_line":"            context, dest_share_instance[\u0027id\u0027],"},{"line_number":1382,"context_line":"            {\u0027status\u0027: constants.STATUS_AVAILABLE})"},{"line_number":1383,"context_line":""},{"line_number":1384,"context_line":"        self.db.share_instance_update(context, src_share_instance[\u0027id\u0027],"},{"line_number":1385,"context_line":"                                      {\u0027status\u0027: constants.STATUS_INACTIVE})"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_8877c9d4","line":1382,"range":{"start_line":1380,"start_character":0,"end_line":1382,"end_character":51},"in_reply_to":"df33271e_5f3c5d2e","updated":"2020-04-09 14:35:41.000000000","message":"Done","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"bf9abddeddd2b1733e2bd663850f609d83c6ae46","unresolved":false,"context_lines":[{"line_number":1377,"context_line":""},{"line_number":1378,"context_line":"        helper.apply_new_access_rules(dest_share_instance)"},{"line_number":1379,"context_line":""},{"line_number":1380,"context_line":"        self.db.share_instance_update("},{"line_number":1381,"context_line":"            context, dest_share_instance[\u0027id\u0027],"},{"line_number":1382,"context_line":"            {\u0027status\u0027: constants.STATUS_AVAILABLE})"},{"line_number":1383,"context_line":""},{"line_number":1384,"context_line":"        self.db.share_instance_update(context, src_share_instance[\u0027id\u0027],"},{"line_number":1385,"context_line":"                                      {\u0027status\u0027: constants.STATUS_INACTIVE})"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_5f3c5d2e","line":1382,"range":{"start_line":1380,"start_character":0,"end_line":1382,"end_character":51},"in_reply_to":"df33271e_fd42a20e","updated":"2020-04-09 12:57:52.000000000","message":"+1","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e63c136731aff2ba2005f754e240812c3c3429","unresolved":false,"context_lines":[{"line_number":1558,"context_line":""},{"line_number":1559,"context_line":"            raise exception.ShareMigrationFailed(reason\u003dmsg)"},{"line_number":1560,"context_line":""},{"line_number":1561,"context_line":"        self.db.share_instance_update("},{"line_number":1562,"context_line":"            context, dest_share_instance[\u0027id\u0027],"},{"line_number":1563,"context_line":"            {\u0027status\u0027: constants.STATUS_AVAILABLE})"},{"line_number":1564,"context_line":""},{"line_number":1565,"context_line":"        self.db.share_instance_update(context, src_instance_id,"},{"line_number":1566,"context_line":"                                      {\u0027status\u0027: constants.STATUS_INACTIVE})"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_3d488a2b","line":1563,"range":{"start_line":1561,"start_character":0,"end_line":1563,"end_character":51},"updated":"2020-04-09 06:22:27.000000000","message":"The progress field must be updated here to 100%","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"bf9abddeddd2b1733e2bd663850f609d83c6ae46","unresolved":false,"context_lines":[{"line_number":1558,"context_line":""},{"line_number":1559,"context_line":"            raise exception.ShareMigrationFailed(reason\u003dmsg)"},{"line_number":1560,"context_line":""},{"line_number":1561,"context_line":"        self.db.share_instance_update("},{"line_number":1562,"context_line":"            context, dest_share_instance[\u0027id\u0027],"},{"line_number":1563,"context_line":"            {\u0027status\u0027: constants.STATUS_AVAILABLE})"},{"line_number":1564,"context_line":""},{"line_number":1565,"context_line":"        self.db.share_instance_update(context, src_instance_id,"},{"line_number":1566,"context_line":"                                      {\u0027status\u0027: constants.STATUS_INACTIVE})"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_ff1451a2","line":1563,"range":{"start_line":1561,"start_character":0,"end_line":1563,"end_character":51},"in_reply_to":"df33271e_3d488a2b","updated":"2020-04-09 12:57:52.000000000","message":"+1","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":1558,"context_line":""},{"line_number":1559,"context_line":"            raise exception.ShareMigrationFailed(reason\u003dmsg)"},{"line_number":1560,"context_line":""},{"line_number":1561,"context_line":"        self.db.share_instance_update("},{"line_number":1562,"context_line":"            context, dest_share_instance[\u0027id\u0027],"},{"line_number":1563,"context_line":"            {\u0027status\u0027: constants.STATUS_AVAILABLE})"},{"line_number":1564,"context_line":""},{"line_number":1565,"context_line":"        self.db.share_instance_update(context, src_instance_id,"},{"line_number":1566,"context_line":"                                      {\u0027status\u0027: constants.STATUS_INACTIVE})"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_687405d0","line":1563,"range":{"start_line":1561,"start_character":0,"end_line":1563,"end_character":51},"in_reply_to":"df33271e_ff1451a2","updated":"2020-04-09 14:35:41.000000000","message":"Done","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e63c136731aff2ba2005f754e240812c3c3429","unresolved":false,"context_lines":[{"line_number":4511,"context_line":"                {\u0027id\u0027: share_instance[\u0027id\u0027],"},{"line_number":4512,"context_line":"                 \u0027share_id\u0027: share_instance[\u0027share_id\u0027]}"},{"line_number":4513,"context_line":"            )"},{"line_number":4514,"context_line":"            self.db.share_instance_update("},{"line_number":4515,"context_line":"                context, share_instance[\u0027id\u0027],"},{"line_number":4516,"context_line":"                {\u0027status\u0027: constants.STATUS_ERROR,"},{"line_number":4517,"context_line":"                 \u0027progress\u0027: None})"},{"line_number":4518,"context_line":"            self.message_api.create("},{"line_number":4519,"context_line":"                context,"},{"line_number":4520,"context_line":"                message_field.Action.UPDATE,"},{"line_number":4521,"context_line":"                share_instance[\u0027project_id\u0027],"},{"line_number":4522,"context_line":"                resource_type\u003dmessage_field.Resource.SHARE,"},{"line_number":4523,"context_line":"                resource_id\u003dshare_instance[\u0027share_id\u0027],"},{"line_number":4524,"context_line":"                detail\u003dmessage_field.Detail.DRIVER_FAILED_CREATING_FROM_SNAP)"},{"line_number":4525,"context_line":"            return"},{"line_number":4526,"context_line":""},{"line_number":4527,"context_line":"        status \u003d data_updates.get(\u0027status\u0027)"},{"line_number":4528,"context_line":"        export_locations \u003d data_updates.get(\u0027export_locations\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_bd0adace","line":4525,"range":{"start_line":4514,"start_character":12,"end_line":4525,"end_character":18},"updated":"2020-04-09 06:22:27.000000000","message":"data_updates \u003d {\n    \u0027status\u0027: constants.STATUS_ERROR,\n }\n\n\nSo the handling from line 4531-4549 can handle this,","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":4511,"context_line":"                {\u0027id\u0027: share_instance[\u0027id\u0027],"},{"line_number":4512,"context_line":"                 \u0027share_id\u0027: share_instance[\u0027share_id\u0027]}"},{"line_number":4513,"context_line":"            )"},{"line_number":4514,"context_line":"            self.db.share_instance_update("},{"line_number":4515,"context_line":"                context, share_instance[\u0027id\u0027],"},{"line_number":4516,"context_line":"                {\u0027status\u0027: constants.STATUS_ERROR,"},{"line_number":4517,"context_line":"                 \u0027progress\u0027: None})"},{"line_number":4518,"context_line":"            self.message_api.create("},{"line_number":4519,"context_line":"                context,"},{"line_number":4520,"context_line":"                message_field.Action.UPDATE,"},{"line_number":4521,"context_line":"                share_instance[\u0027project_id\u0027],"},{"line_number":4522,"context_line":"                resource_type\u003dmessage_field.Resource.SHARE,"},{"line_number":4523,"context_line":"                resource_id\u003dshare_instance[\u0027share_id\u0027],"},{"line_number":4524,"context_line":"                detail\u003dmessage_field.Detail.DRIVER_FAILED_CREATING_FROM_SNAP)"},{"line_number":4525,"context_line":"            return"},{"line_number":4526,"context_line":""},{"line_number":4527,"context_line":"        status \u003d data_updates.get(\u0027status\u0027)"},{"line_number":4528,"context_line":"        export_locations \u003d data_updates.get(\u0027export_locations\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_a87a8db6","line":4525,"range":{"start_line":4514,"start_character":12,"end_line":4525,"end_character":18},"in_reply_to":"df33271e_bd0adace","updated":"2020-04-09 14:35:41.000000000","message":"So much easy, thanks!","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e63c136731aff2ba2005f754e240812c3c3429","unresolved":false,"context_lines":[{"line_number":4553,"context_line":"            constants.STATUS_CREATING_FROM_SNAPSHOT]"},{"line_number":4554,"context_line":""},{"line_number":4555,"context_line":"        if status in statuses_requiring_update:"},{"line_number":4556,"context_line":"            progress \u003d \u0027100%\u0027 if constants.STATUS_AVAILABLE else progress"},{"line_number":4557,"context_line":"            updates \u003d {"},{"line_number":4558,"context_line":"                \u0027status\u0027: status,"},{"line_number":4559,"context_line":"                \u0027progress\u0027: progress"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_1d25c65c","line":4556,"range":{"start_line":4556,"start_character":65,"end_line":4556,"end_character":73},"updated":"2020-04-09 06:22:27.000000000","message":"if a driver doesn\u0027t report this, you\u0027ll be resetting 0% to None... that\u0027d be bad.. why not just leave it at 0% or whatever the driver\u0027s previous update was?","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"bf9abddeddd2b1733e2bd663850f609d83c6ae46","unresolved":false,"context_lines":[{"line_number":4553,"context_line":"            constants.STATUS_CREATING_FROM_SNAPSHOT]"},{"line_number":4554,"context_line":""},{"line_number":4555,"context_line":"        if status in statuses_requiring_update:"},{"line_number":4556,"context_line":"            progress \u003d \u0027100%\u0027 if constants.STATUS_AVAILABLE else progress"},{"line_number":4557,"context_line":"            updates \u003d {"},{"line_number":4558,"context_line":"                \u0027status\u0027: status,"},{"line_number":4559,"context_line":"                \u0027progress\u0027: progress"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_9f1b85c8","line":4556,"range":{"start_line":4556,"start_character":65,"end_line":4556,"end_character":73},"in_reply_to":"df33271e_1d25c65c","updated":"2020-04-09 12:57:52.000000000","message":"Agree.","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":4553,"context_line":"            constants.STATUS_CREATING_FROM_SNAPSHOT]"},{"line_number":4554,"context_line":""},{"line_number":4555,"context_line":"        if status in statuses_requiring_update:"},{"line_number":4556,"context_line":"            progress \u003d \u0027100%\u0027 if constants.STATUS_AVAILABLE else progress"},{"line_number":4557,"context_line":"            updates \u003d {"},{"line_number":4558,"context_line":"                \u0027status\u0027: status,"},{"line_number":4559,"context_line":"                \u0027progress\u0027: progress"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_c856f12a","line":4556,"range":{"start_line":4556,"start_character":65,"end_line":4556,"end_character":73},"in_reply_to":"df33271e_1d25c65c","updated":"2020-04-09 14:35:41.000000000","message":"Sure, make sense, we shouldn\u0027t override the old progress value. Also fixed a little bug in this line :)","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1f9d34d830de2ef3729ead659596b15e38b84cc7","unresolved":false,"context_lines":[{"line_number":4553,"context_line":"            constants.STATUS_CREATING_FROM_SNAPSHOT]"},{"line_number":4554,"context_line":""},{"line_number":4555,"context_line":"        if status in statuses_requiring_update:"},{"line_number":4556,"context_line":"            progress \u003d \u0027100%\u0027 if constants.STATUS_AVAILABLE else progress"},{"line_number":4557,"context_line":"            updates \u003d {"},{"line_number":4558,"context_line":"                \u0027status\u0027: status,"},{"line_number":4559,"context_line":"                \u0027progress\u0027: progress"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_b974a137","line":4556,"range":{"start_line":4556,"start_character":65,"end_line":4556,"end_character":73},"in_reply_to":"df33271e_c856f12a","updated":"2020-04-09 16:02:09.000000000","message":"Wow, and I didn\u0027t catch that myself - good to have multiple sets of eyes looking at this! :D","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"}],"manila/tests/api/v2/test_share_instances.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e63c136731aff2ba2005f754e240812c3c3429","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        self.assertEqual(id, actual_result[\u0027share_instance\u0027][\u0027id\u0027])"},{"line_number":134,"context_line":"        self.mock_policy_check.assert_called_once_with("},{"line_number":135,"context_line":"            self.admin_context, self.resource_name, \u0027show\u0027)"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    def test_show_with_export_locations(self):"},{"line_number":138,"context_line":"        test_instance \u003d db_utils.create_share(size\u003d1).instance"},{"line_number":139,"context_line":"        req \u003d self._get_request(\u0027fake\u0027, version\u003d\"2.8\")"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_1d8146fc","line":136,"range":{"start_line":136,"start_character":0,"end_line":136,"end_character":0},"updated":"2020-04-09 06:22:27.000000000","message":"asserts for v 2.54?","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        self.assertEqual(id, actual_result[\u0027share_instance\u0027][\u0027id\u0027])"},{"line_number":134,"context_line":"        self.mock_policy_check.assert_called_once_with("},{"line_number":135,"context_line":"            self.admin_context, self.resource_name, \u0027show\u0027)"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    def test_show_with_export_locations(self):"},{"line_number":138,"context_line":"        test_instance \u003d db_utils.create_share(size\u003d1).instance"},{"line_number":139,"context_line":"        req \u003d self._get_request(\u0027fake\u0027, version\u003d\"2.8\")"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_880ea938","line":136,"range":{"start_line":136,"start_character":0,"end_line":136,"end_character":0},"in_reply_to":"df33271e_1d8146fc","updated":"2020-04-09 14:35:41.000000000","message":"added the assert for \u0027progress\u0027. sorry about that. thanks.","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"}],"manila/tests/share/drivers/dummy.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e63c136731aff2ba2005f754e240812c3c3429","unresolved":false,"context_lines":[{"line_number":228,"context_line":"    def create_share_from_snapshot(self, context, share, snapshot,"},{"line_number":229,"context_line":"                                   share_server\u003dNone, parent_share\u003dNone):"},{"line_number":230,"context_line":"        \"\"\"Is called to create share from snapshot.\"\"\""},{"line_number":231,"context_line":"        export_locations \u003d self._create_share(share, share_server\u003dshare_server)"},{"line_number":232,"context_line":"        return {"},{"line_number":233,"context_line":"            \u0027export_locations\u0027: export_locations,"},{"line_number":234,"context_line":"            \u0027status\u0027: constants.STATUS_AVAILABLE"},{"line_number":235,"context_line":"        }"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"    def _create_snapshot(self, snapshot, share_server\u003dNone):"},{"line_number":238,"context_line":"        snapshot_name \u003d self._get_snapshot_name(snapshot)"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_9dc27633","line":235,"range":{"start_line":231,"start_character":0,"end_line":235,"end_character":9},"updated":"2020-04-09 06:22:27.000000000","message":"feels like you could toss a fair coin and make this method return \"creating_from_snapshot\" once in a while; else get_share_status will never be called on this method..","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"944a5592449da49c47a44a5a9a01316ac8142759","unresolved":false,"context_lines":[{"line_number":228,"context_line":"    def create_share_from_snapshot(self, context, share, snapshot,"},{"line_number":229,"context_line":"                                   share_server\u003dNone, parent_share\u003dNone):"},{"line_number":230,"context_line":"        \"\"\"Is called to create share from snapshot.\"\"\""},{"line_number":231,"context_line":"        export_locations \u003d self._create_share(share, share_server\u003dshare_server)"},{"line_number":232,"context_line":"        return {"},{"line_number":233,"context_line":"            \u0027export_locations\u0027: export_locations,"},{"line_number":234,"context_line":"            \u0027status\u0027: constants.STATUS_AVAILABLE"},{"line_number":235,"context_line":"        }"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"    def _create_snapshot(self, snapshot, share_server\u003dNone):"},{"line_number":238,"context_line":"        snapshot_name \u003d self._get_snapshot_name(snapshot)"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_537bb626","line":235,"range":{"start_line":231,"start_character":0,"end_line":235,"end_character":9},"in_reply_to":"df33271e_53da9677","updated":"2020-04-09 14:47:45.000000000","message":"OK by me.  Thanks.","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":228,"context_line":"    def create_share_from_snapshot(self, context, share, snapshot,"},{"line_number":229,"context_line":"                                   share_server\u003dNone, parent_share\u003dNone):"},{"line_number":230,"context_line":"        \"\"\"Is called to create share from snapshot.\"\"\""},{"line_number":231,"context_line":"        export_locations \u003d self._create_share(share, share_server\u003dshare_server)"},{"line_number":232,"context_line":"        return {"},{"line_number":233,"context_line":"            \u0027export_locations\u0027: export_locations,"},{"line_number":234,"context_line":"            \u0027status\u0027: constants.STATUS_AVAILABLE"},{"line_number":235,"context_line":"        }"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"    def _create_snapshot(self, snapshot, share_server\u003dNone):"},{"line_number":238,"context_line":"        snapshot_name \u003d self._get_snapshot_name(snapshot)"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_53da9677","line":235,"range":{"start_line":231,"start_character":0,"end_line":235,"end_character":9},"in_reply_to":"df33271e_5fd8dded","updated":"2020-04-09 14:35:41.000000000","message":"Proposal: update this in a new change, because we\u0027ll need to fix some tests also.","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"bf9abddeddd2b1733e2bd663850f609d83c6ae46","unresolved":false,"context_lines":[{"line_number":228,"context_line":"    def create_share_from_snapshot(self, context, share, snapshot,"},{"line_number":229,"context_line":"                                   share_server\u003dNone, parent_share\u003dNone):"},{"line_number":230,"context_line":"        \"\"\"Is called to create share from snapshot.\"\"\""},{"line_number":231,"context_line":"        export_locations \u003d self._create_share(share, share_server\u003dshare_server)"},{"line_number":232,"context_line":"        return {"},{"line_number":233,"context_line":"            \u0027export_locations\u0027: export_locations,"},{"line_number":234,"context_line":"            \u0027status\u0027: constants.STATUS_AVAILABLE"},{"line_number":235,"context_line":"        }"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"    def _create_snapshot(self, snapshot, share_server\u003dNone):"},{"line_number":238,"context_line":"        snapshot_name \u003d self._get_snapshot_name(snapshot)"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_5fd8dded","line":235,"range":{"start_line":231,"start_character":0,"end_line":235,"end_character":9},"in_reply_to":"df33271e_9dc27633","updated":"2020-04-09 12:57:52.000000000","message":"Yeah, that would help alleviate some of my concern that we don\u0027t exercise or cover the slow/asysnc path that much.","commit_id":"f6d894f88d0de504ea291a165e6b4809a387026e"}],"manila/tests/share/test_api.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e63c136731aff2ba2005f754e240812c3c3429","unresolved":false,"context_lines":[{"line_number":2834,"context_line":"        self.api.share_rpcapi.extend_share.assert_called_once_with("},{"line_number":2835,"context_line":"            self.context, share, new_size, mock.ANY"},{"line_number":2836,"context_line":"        )"},{"line_number":2837,"context_line":"        quota.QUOTAS.reserve.assert_called_once_with("},{"line_number":2838,"context_line":"            self.context, **expected_deltas)"},{"line_number":2839,"context_line":""},{"line_number":2840,"context_line":"    def test_shrink_invalid_status(self):"},{"line_number":2841,"context_line":"        invalid_status \u003d \u0027fake\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_5dd10efb","side":"PARENT","line":2838,"range":{"start_line":2837,"start_character":0,"end_line":2838,"end_character":44},"updated":"2020-04-09 06:22:27.000000000","message":"Why is this being removed?","commit_id":"5eaa9e60467309f0d2824d328b2f005cb2dfb454"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d1c8ff2c4685787231645ffaf10bf5f801fd7033","unresolved":false,"context_lines":[{"line_number":2834,"context_line":"        self.api.share_rpcapi.extend_share.assert_called_once_with("},{"line_number":2835,"context_line":"            self.context, share, new_size, mock.ANY"},{"line_number":2836,"context_line":"        )"},{"line_number":2837,"context_line":"        quota.QUOTAS.reserve.assert_called_once_with("},{"line_number":2838,"context_line":"            self.context, **expected_deltas)"},{"line_number":2839,"context_line":""},{"line_number":2840,"context_line":"    def test_shrink_invalid_status(self):"},{"line_number":2841,"context_line":"        invalid_status \u003d \u0027fake\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"df33271e_f34daa72","side":"PARENT","line":2838,"range":{"start_line":2837,"start_character":0,"end_line":2838,"end_character":44},"in_reply_to":"df33271e_5dd10efb","updated":"2020-04-09 14:35:41.000000000","message":"Oh! must me a mistake on rebasing. Thanks.","commit_id":"5eaa9e60467309f0d2824d328b2f005cb2dfb454"}],"manila/tests/share/test_manager.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1f9d34d830de2ef3729ead659596b15e38b84cc7","unresolved":false,"context_lines":[{"line_number":4185,"context_line":"    def test_create_share_group_from_sg_snapshot_with_share_update_status("},{"line_number":4186,"context_line":"            self, share_status):"},{"line_number":4187,"context_line":"        fake_share \u003d {\u0027id\u0027: \u0027fake_share_id\u0027}"},{"line_number":4188,"context_line":"        # if share_status is not None:"},{"line_number":4189,"context_line":"        #     fake_share.update({\u0027status\u0027: share_status})"},{"line_number":4190,"context_line":""},{"line_number":4191,"context_line":"        fake_export_locations \u003d [\u0027my_export_location\u0027]"},{"line_number":4192,"context_line":"        fake_group \u003d {"}],"source_content_type":"text/x-python","patch_set":12,"id":"df33271e_b9c2e132","line":4189,"range":{"start_line":4188,"start_character":0,"end_line":4189,"end_character":57},"updated":"2020-04-09 16:02:09.000000000","message":"Please cleanup in a follow up patch","commit_id":"6c47b193b07a96f7131b6241d6323387acd33979"}]}
