)]}'
{"manilaclient/osc/v2/share_snapshots.py":[{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"63a0016d566b4e22dd8caf3cdbe78cdc400b2fab","unresolved":true,"context_lines":[{"line_number":438,"context_line":"        parser.add_argument("},{"line_number":439,"context_line":"            \"share\","},{"line_number":440,"context_line":"            metavar\u003d\"\u003cshare\u003e\","},{"line_number":441,"context_line":"            help\u003d_(\"Name or ID of the share\")"},{"line_number":442,"context_line":"        )"},{"line_number":443,"context_line":"        parser.add_argument("},{"line_number":444,"context_line":"            \"provider_location\","}],"source_content_type":"text/x-python","patch_set":10,"id":"6a25398c_b67f32ba","line":441,"updated":"2020-11-26 21:04:13.000000000","message":"s/share/share snapshot/g\n\nOr maybe s/share/snapshot/g\n\nI know this is what the current client states, but it is confusing... since we have share manage/unmanage and snapshot manage/unmanage (using the new verbs it would be, share adopt/abandon and snapshot adopt/abandon).\n\nSo here we should state the name or id of the snapshot.","commit_id":"70c0abbccf312a68656189eceb3a0da2a08ce3d2"},{"author":{"_account_id":31213,"name":"Maari Tamm","email":"maari.tamm@citynetwork.eu","username":"maaritamm"},"change_message_id":"60f7e3b667fc3c015a9eebd2ca9330522bd044a0","unresolved":true,"context_lines":[{"line_number":438,"context_line":"        parser.add_argument("},{"line_number":439,"context_line":"            \"share\","},{"line_number":440,"context_line":"            metavar\u003d\"\u003cshare\u003e\","},{"line_number":441,"context_line":"            help\u003d_(\"Name or ID of the share\")"},{"line_number":442,"context_line":"        )"},{"line_number":443,"context_line":"        parser.add_argument("},{"line_number":444,"context_line":"            \"provider_location\","}],"source_content_type":"text/x-python","patch_set":10,"id":"c4659336_7e7319e9","line":441,"in_reply_to":"6a25398c_b67f32ba","updated":"2020-11-27 19:12:12.000000000","message":"But this argument should be the name or id of a share though, no? Maybe I should add more detail in here, like \"Name or ID of the share that has a snapshot which would be adopted.\" like it states in here: https://docs.openstack.org/api-ref/shared-file-system/?expanded\u003dmanage-share-snapshot-since-api-v2-12-detail#manage-share-snapshot-since-api-v2-12\nwdyt?","commit_id":"70c0abbccf312a68656189eceb3a0da2a08ce3d2"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"63a0016d566b4e22dd8caf3cdbe78cdc400b2fab","unresolved":true,"context_lines":[{"line_number":501,"context_line":"            \"snapshot\","},{"line_number":502,"context_line":"            metavar\u003d\"\u003csnapshot\u003e\","},{"line_number":503,"context_line":"            nargs\u003d\u0027+\u0027,"},{"line_number":504,"context_line":"            help\u003d_(\"Name or ID of the snapshot(s)\")"},{"line_number":505,"context_line":"        )"},{"line_number":506,"context_line":"        return parser"},{"line_number":507,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"e1c11547_d051356b","line":504,"updated":"2020-11-26 21:04:13.000000000","message":"Here we say snapshot :)","commit_id":"70c0abbccf312a68656189eceb3a0da2a08ce3d2"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"88fa8292a0a88b7650709abbe6e7b4e7a1f1efed","unresolved":true,"context_lines":[{"line_number":438,"context_line":"        parser.add_argument("},{"line_number":439,"context_line":"            \"share\","},{"line_number":440,"context_line":"            metavar\u003d\"\u003cshare\u003e\","},{"line_number":441,"context_line":"            help\u003d_(\"Name or ID of the share that has a snapshot which \""},{"line_number":442,"context_line":"                   \"would be adopted.\")"},{"line_number":443,"context_line":"        )"},{"line_number":444,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":13,"id":"de76529c_e00240e1","line":441,"updated":"2021-01-13 14:41:52.000000000","message":"NIT \"Name or ID of the share that owns the snapshot to be adopted.\"","commit_id":"3878bb26f781920e358addf65c526bf65dc3b77a"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"48ed89172f6f1c61750a0c35c9e0d995218aaacc","unresolved":true,"context_lines":[{"line_number":458,"context_line":"            default\u003dNone,"},{"line_number":459,"context_line":"            help\u003d_(\"Optional snapshot description (Default\u003dNone).\")"},{"line_number":460,"context_line":"        )"},{"line_number":461,"context_line":"        parser.add_argument("},{"line_number":462,"context_line":"            \"--driver-options\","},{"line_number":463,"context_line":"            type\u003dstr,"},{"line_number":464,"context_line":"            nargs\u003d\u0027*\u0027,"},{"line_number":465,"context_line":"            metavar\u003d\u0027\u003ckey\u003dvalue\u003e\u0027,"},{"line_number":466,"context_line":"            default\u003dNone,"},{"line_number":467,"context_line":"            help\u003d_("},{"line_number":468,"context_line":"                \u0027Optional driver options as key\u003dvalue pairs (Default\u003dNone).\u0027)"},{"line_number":469,"context_line":"        )"},{"line_number":470,"context_line":"        return parser"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"    def take_action(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":13,"id":"ef83c947_f9d5666a","line":469,"range":{"start_line":461,"start_character":8,"end_line":469,"end_character":9},"updated":"2021-01-20 20:38:59.000000000","message":"Can we make this a repeatable option? \"nargs\u003d\u0027*\u0027\" is buggy in one aspect, it forces that the particular option is the final option to be supplied, which isn\u0027t true for the other options. \n\nFor example, one cannot do: \n\n  openstack share snapshot adopt my_share some_provider_location --name test --driver-options foo\u003dbar --description test\n\n\nInstead if you have a repeatable option, like the \"property\" option in \"openstack share create\" (action\u003dparseractions.KeyValueAction), it\u0027d be a lot cleaner, we can rename this option \"driver-option\" and signal in the option description that it can be repeated multiple times, what do you think?","commit_id":"3878bb26f781920e358addf65c526bf65dc3b77a"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"82a925150dfdb9674fc413bbb351be9e78a7f838","unresolved":true,"context_lines":[{"line_number":458,"context_line":"            default\u003dNone,"},{"line_number":459,"context_line":"            help\u003d_(\"Optional snapshot description (Default\u003dNone).\")"},{"line_number":460,"context_line":"        )"},{"line_number":461,"context_line":"        parser.add_argument("},{"line_number":462,"context_line":"            \"--driver-options\","},{"line_number":463,"context_line":"            type\u003dstr,"},{"line_number":464,"context_line":"            nargs\u003d\u0027*\u0027,"},{"line_number":465,"context_line":"            metavar\u003d\u0027\u003ckey\u003dvalue\u003e\u0027,"},{"line_number":466,"context_line":"            default\u003dNone,"},{"line_number":467,"context_line":"            help\u003d_("},{"line_number":468,"context_line":"                \u0027Optional driver options as key\u003dvalue pairs (Default\u003dNone).\u0027)"},{"line_number":469,"context_line":"        )"},{"line_number":470,"context_line":"        return parser"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"    def take_action(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":13,"id":"2f3e0566_423629e0","line":469,"range":{"start_line":461,"start_character":8,"end_line":469,"end_character":9},"in_reply_to":"ef83c947_f9d5666a","updated":"2021-01-21 11:17:17.000000000","message":"Good catch!","commit_id":"3878bb26f781920e358addf65c526bf65dc3b77a"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"88fa8292a0a88b7650709abbe6e7b4e7a1f1efed","unresolved":true,"context_lines":[{"line_number":577,"context_line":""},{"line_number":578,"context_line":""},{"line_number":579,"context_line":"class ShareSnapshotAccessDeny(command.Command):"},{"line_number":580,"context_line":"    \"\"\"Delete access to a snapshots\"\"\""},{"line_number":581,"context_line":""},{"line_number":582,"context_line":"    _description \u003d _("},{"line_number":583,"context_line":"        \"Delete access to a snapshots\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"d71b3f2a_76d24e56","line":580,"updated":"2021-01-13 14:41:52.000000000","message":"NIT s/snapshots/snapshot/g","commit_id":"3878bb26f781920e358addf65c526bf65dc3b77a"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"88fa8292a0a88b7650709abbe6e7b4e7a1f1efed","unresolved":true,"context_lines":[{"line_number":580,"context_line":"    \"\"\"Delete access to a snapshots\"\"\""},{"line_number":581,"context_line":""},{"line_number":582,"context_line":"    _description \u003d _("},{"line_number":583,"context_line":"        \"Delete access to a snapshots\")"},{"line_number":584,"context_line":""},{"line_number":585,"context_line":"    def get_parser(self, prog_name):"},{"line_number":586,"context_line":"        parser \u003d super(ShareSnapshotAccessDeny, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":13,"id":"343e00a3_304c8966","line":583,"updated":"2021-01-13 14:41:52.000000000","message":"Ditto","commit_id":"3878bb26f781920e358addf65c526bf65dc3b77a"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"48ed89172f6f1c61750a0c35c9e0d995218aaacc","unresolved":true,"context_lines":[{"line_number":611,"context_line":"                    id\u003daccess_id"},{"line_number":612,"context_line":"                )"},{"line_number":613,"context_line":"            except Exception as e:"},{"line_number":614,"context_line":"                raise exceptions.CommandError("},{"line_number":615,"context_line":"                    \"Failed to delete access to share snapshot \""},{"line_number":616,"context_line":"                    \"\u0027%s\u0027: %s\" % (snapshot_obj, e))"},{"line_number":617,"context_line":""},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"class ShareSnapshotAccessList(command.Lister):"}],"source_content_type":"text/x-python","patch_set":13,"id":"9f32af71_331242ea","line":616,"range":{"start_line":614,"start_character":16,"end_line":616,"end_character":51},"updated":"2021-01-20 20:38:59.000000000","message":"Log this exception, and keep a count of failures and print this like you\u0027re doing around line 520 - raising this here will make the command bail out on the first error","commit_id":"3878bb26f781920e358addf65c526bf65dc3b77a"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"48ed89172f6f1c61750a0c35c9e0d995218aaacc","unresolved":true,"context_lines":[{"line_number":717,"context_line":"            export_location\u003dparsed_args.export_location,"},{"line_number":718,"context_line":"            snapshot\u003dsnapshot_obj)"},{"line_number":719,"context_line":""},{"line_number":720,"context_line":"        return self. dict2columns(export_location._info)"}],"source_content_type":"text/x-python","patch_set":13,"id":"e6a8242f_b2e15754","line":720,"range":{"start_line":720,"start_character":20,"end_line":720,"end_character":21},"updated":"2021-01-20 20:38:59.000000000","message":"space?","commit_id":"3878bb26f781920e358addf65c526bf65dc3b77a"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3930253e729bccf748c7ccd94ff6cb0931cddc62","unresolved":true,"context_lines":[{"line_number":721,"context_line":"        export_location \u003d share_client.share_snapshot_export_locations.get("},{"line_number":722,"context_line":"            export_location\u003dparsed_args.export_location,"},{"line_number":723,"context_line":"            snapshot\u003dsnapshot_obj)"},{"line_number":724,"context_line":""},{"line_number":725,"context_line":"        return self.dict2columns(export_location._info)"}],"source_content_type":"text/x-python","patch_set":14,"id":"758173ce_9e5c5795","line":724,"range":{"start_line":724,"start_character":0,"end_line":724,"end_character":0},"updated":"2021-01-22 00:57:55.000000000","message":"please add:\n\n export_location._info.pop(\u0027links\u0027, None)\n\nthe links are quite unhelpful: http://paste.openstack.org/show/801852/\n\nI\u0027ll merge this with this flaw, because we\u0027re currently displaying pagination links for export locations even in \"openstack share snapshot show\" (and manila snapshot-show). I\u0027ve reported a bug for this: https://bugs.launchpad.net/python-manilaclient/+bug/1912704","commit_id":"d832baa3121ea1c54e1d26eaa123a4c58589a415"}],"manilaclient/tests/unit/osc/v2/test_share_snapshots.py":[{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"63a0016d566b4e22dd8caf3cdbe78cdc400b2fab","unresolved":true,"context_lines":[{"line_number":644,"context_line":"        self.share \u003d manila_fakes.FakeShare.create_one_share()"},{"line_number":645,"context_line":"        self.shares_mock.get.return_value \u003d self.share"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"        self.share_snapshot \u003d ("},{"line_number":648,"context_line":"            manila_fakes.FakeShareSnapshot.create_one_snapshot())"},{"line_number":649,"context_line":""},{"line_number":650,"context_line":"        self.export_location \u003d ("}],"source_content_type":"text/x-python","patch_set":10,"id":"3a68e3e7_95b37f6d","line":647,"updated":"2020-11-26 21:04:13.000000000","message":"This is theoretically wrong, since we are testing share snapshot adopt. In this case, the snapshot should be in the backed but not actually created through manila. Maybe we can mimic this by using a \"fake orphan snapshot\". Or something like that.","commit_id":"70c0abbccf312a68656189eceb3a0da2a08ce3d2"},{"author":{"_account_id":31213,"name":"Maari Tamm","email":"maari.tamm@citynetwork.eu","username":"maaritamm"},"change_message_id":"60f7e3b667fc3c015a9eebd2ca9330522bd044a0","unresolved":true,"context_lines":[{"line_number":644,"context_line":"        self.share \u003d manila_fakes.FakeShare.create_one_share()"},{"line_number":645,"context_line":"        self.shares_mock.get.return_value \u003d self.share"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"        self.share_snapshot \u003d ("},{"line_number":648,"context_line":"            manila_fakes.FakeShareSnapshot.create_one_snapshot())"},{"line_number":649,"context_line":""},{"line_number":650,"context_line":"        self.export_location \u003d ("}],"source_content_type":"text/x-python","patch_set":10,"id":"3929b9ec_c5433ed2","line":647,"in_reply_to":"3a68e3e7_95b37f6d","updated":"2020-11-27 19:12:12.000000000","message":"Hmm, good point. But I see this created here to set as a return value for snapshots_mock.manage(). So we are not creating the orphan here, we are creating the snapshot that we will get once we adopt the orphan one. Am I making sense or am I missing something?","commit_id":"70c0abbccf312a68656189eceb3a0da2a08ce3d2"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"63a0016d566b4e22dd8caf3cdbe78cdc400b2fab","unresolved":true,"context_lines":[{"line_number":756,"context_line":"        self.share_snapshot \u003d ("},{"line_number":757,"context_line":"            manila_fakes.FakeShareSnapshot.create_one_snapshot())"},{"line_number":758,"context_line":""},{"line_number":759,"context_line":"        self.snapshots_mock.get.return_value \u003d self.share_snapshot"},{"line_number":760,"context_line":""},{"line_number":761,"context_line":"        self.cmd \u003d osc_share_snapshots.AbandonShareSnapshot(self.app, None)"},{"line_number":762,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1b86f2d5_0fbf6dc2","line":759,"updated":"2020-11-26 21:04:13.000000000","message":"In this case it\u0027s correct, because since our share snapshot lives in manila we can get the id from the manila api directly.","commit_id":"70c0abbccf312a68656189eceb3a0da2a08ce3d2"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"88fa8292a0a88b7650709abbe6e7b4e7a1f1efed","unresolved":true,"context_lines":[{"line_number":644,"context_line":"        self.share \u003d manila_fakes.FakeShare.create_one_share()"},{"line_number":645,"context_line":"        self.shares_mock.get.return_value \u003d self.share"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"        self.share_snapshot \u003d ("},{"line_number":648,"context_line":"            manila_fakes.FakeShareSnapshot.create_one_snapshot())"},{"line_number":649,"context_line":""},{"line_number":650,"context_line":"        self.export_location \u003d ("}],"source_content_type":"text/x-python","patch_set":13,"id":"9d6580cf_dff74e7f","line":647,"updated":"2021-01-13 14:41:52.000000000","message":"NIT I\u0027m not entirely sure if we should create a snapshot object without actually mimicking that we call the manila client to create one... considering that for share adopt we need a snapshot that has been created by the backend operator using the backend interface, and not through manila. I\u0027m gonna check other tests to see how we handle this scenarios :)","commit_id":"3878bb26f781920e358addf65c526bf65dc3b77a"}]}
