diff options
| author | Diwei Zhu <zhu.diw@northeastern.edu> | 2021-11-16 19:08:58 +0000 |
|---|---|---|
| committer | Stephen Finucane <stephenfin@redhat.com> | 2021-11-26 16:11:21 +0000 |
| commit | fae293dd5218cf4ea03d0a4c44d17b97987dea12 (patch) | |
| tree | dfa17d98b184ba0089bd17d064aec203f93500aa /openstackclient/compute | |
| parent | 28cd5763de8706fb997bdd53deaf94aca0de5c52 (diff) | |
| download | python-openstackclient-fae293dd5218cf4ea03d0a4c44d17b97987dea12.tar.gz | |
Switch command server remove volume to sdk
Change-Id: If6f6cf93b55a67e767c54de8ce21f25252cf99ca
Diffstat (limited to 'openstackclient/compute')
| -rw-r--r-- | openstackclient/compute/v2/server.py | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index 18c1197c..121a7b82 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -3793,22 +3793,29 @@ class RemoveServerVolume(command.Command): return parser def take_action(self, parsed_args): - compute_client = self.app.client_manager.compute - volume_client = self.app.client_manager.volume + compute_client = self.app.client_manager.sdk_connection.compute + volume_client = self.app.client_manager.sdk_connection.volume - server = utils.find_resource( - compute_client.servers, + server = compute_client.find_server( parsed_args.server, + ignore_missing=False, ) - volume = utils.find_resource( - volume_client.volumes, + volume = volume_client.find_volume( parsed_args.volume, + ignore_missing=False, ) - compute_client.volumes.delete_server_volume( - server.id, - volume.id, - ) + volume_attachments = compute_client.volume_attachments(server) + for volume_attachment in volume_attachments: + if volume_attachment.volume_id == volume.id: + compute_client.delete_volume_attachment( + volume_attachment, + server, + ) + break + else: + msg = _('Target volume attachment not found.') + raise exceptions.CommandError(msg) class RescueServer(command.Command): |
