Support to delete datastore version
usage: openstack datastore version delete <datastore_version_id> Change-Id: I4b781e68b81a3888d15d002fcf488a1f765c9f6a
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
Support to delete datastore version by ID.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
openstack datastore version delete <datastore_version_id>
|
@@ -99,6 +99,7 @@ openstack.database.v1 =
|
||||
datastore_show = troveclient.osc.v1.datastores:ShowDatastore
|
||||
datastore_version_list = troveclient.osc.v1.datastores:ListDatastoreVersions
|
||||
datastore_version_show = troveclient.osc.v1.datastores:ShowDatastoreVersion
|
||||
datastore_version_delete = troveclient.osc.v1.datastores:DeleteDatastoreVersion
|
||||
|
||||
|
||||
[wheel]
|
||||
|
@@ -123,5 +123,27 @@ class ShowDatastoreVersion(command.ShowOne):
|
||||
' required to retrieve a'
|
||||
' datastore version by name.'))
|
||||
if datastore_version._info.get('links'):
|
||||
del(datastore_version._info['links'])
|
||||
del (datastore_version._info['links'])
|
||||
return zip(*sorted(six.iteritems(datastore_version._info)))
|
||||
|
||||
|
||||
class DeleteDatastoreVersion(command.Command):
|
||||
_description = _("Deletes a datastore version.")
|
||||
|
||||
def get_parser(self, prog_name):
|
||||
parser = super(DeleteDatastoreVersion, self).get_parser(prog_name)
|
||||
parser.add_argument(
|
||||
'datastore_version',
|
||||
metavar='<datastore_version>',
|
||||
help=_('ID of the datastore version.'),
|
||||
)
|
||||
return parser
|
||||
|
||||
def take_action(self, parsed_args):
|
||||
client = self.app.client_manager.database.mgmt_ds_versions
|
||||
try:
|
||||
client.delete(parsed_args.datastore_version)
|
||||
except Exception as e:
|
||||
msg = (_("Failed to delete datastore version %(version)s: %(e)s")
|
||||
% {'database': parsed_args.datastore_version, 'e': e})
|
||||
raise exceptions.CommandError(msg)
|
||||
|
@@ -9,6 +9,7 @@
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
from oslo_utils import uuidutils
|
||||
|
||||
from troveclient import common
|
||||
from troveclient import exceptions
|
||||
@@ -24,6 +25,8 @@ class TestDatastores(fakes.TestDatabasev1):
|
||||
self.datastore_client = self.app.client_manager.database.datastores
|
||||
self.datastore_version_client =\
|
||||
self.app.client_manager.database.datastore_versions
|
||||
self.dsversion_mgmt_client =\
|
||||
self.app.client_manager.database.mgmt_ds_versions
|
||||
|
||||
|
||||
class TestDatastoreList(TestDatastores):
|
||||
@@ -123,3 +126,18 @@ class TestDatastoreVersionShow(TestDatastores):
|
||||
self.assertRaises(exceptions.NoUniqueMatch,
|
||||
self.cmd.take_action,
|
||||
parsed_args)
|
||||
|
||||
|
||||
class TestDeleteDatastoreVersion(TestDatastores):
|
||||
def setUp(self):
|
||||
super(TestDeleteDatastoreVersion, self).setUp()
|
||||
self.cmd = datastores.DeleteDatastoreVersion(self.app, None)
|
||||
|
||||
def test_delete_datastore_version(self):
|
||||
dsversion_id = uuidutils.generate_uuid()
|
||||
args = [dsversion_id]
|
||||
parsed_args = self.check_parser(self.cmd, args, [])
|
||||
|
||||
self.cmd.take_action(parsed_args)
|
||||
|
||||
self.dsversion_mgmt_client.delete.assert_called_once_with(dsversion_id)
|
||||
|
@@ -78,22 +78,13 @@ class Client(object):
|
||||
self.datastores = datastores.Datastores(self)
|
||||
self.datastore_versions = datastores.DatastoreVersions(self)
|
||||
self.configurations = configurations.Configurations(self)
|
||||
config_parameters = configurations.ConfigurationParameters(self)
|
||||
self.configuration_parameters = config_parameters
|
||||
self.configuration_parameters = configurations.ConfigurationParameters(
|
||||
self)
|
||||
self.metadata = metadata.Metadata(self)
|
||||
self.modules = modules.Modules(self)
|
||||
self.quota = quota.Quotas(self)
|
||||
self.mgmt_instances = management.Management(self)
|
||||
|
||||
# self.hosts = Hosts(self)
|
||||
# self.storage = StorageInfo(self)
|
||||
# self.management = MgmtClusters(self)
|
||||
# self.mgmt_flavor = MgmtFlavors(self)
|
||||
# self.accounts = Accounts(self)
|
||||
# self.diagnostics = DiagnosticsInterrogator(self)
|
||||
# self.hwinfo = HwInfoInterrogator(self)
|
||||
# self.mgmt_config_params =
|
||||
# management.MgmtConfigurationParameters(self)
|
||||
self.mgmt_ds_versions = management.MgmtDatastoreVersions(self)
|
||||
|
||||
# Add in any extensions...
|
||||
if extensions:
|
||||
|
Reference in New Issue
Block a user