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_show = troveclient.osc.v1.datastores:ShowDatastore
|
||||||
datastore_version_list = troveclient.osc.v1.datastores:ListDatastoreVersions
|
datastore_version_list = troveclient.osc.v1.datastores:ListDatastoreVersions
|
||||||
datastore_version_show = troveclient.osc.v1.datastores:ShowDatastoreVersion
|
datastore_version_show = troveclient.osc.v1.datastores:ShowDatastoreVersion
|
||||||
|
datastore_version_delete = troveclient.osc.v1.datastores:DeleteDatastoreVersion
|
||||||
|
|
||||||
|
|
||||||
[wheel]
|
[wheel]
|
||||||
|
@@ -123,5 +123,27 @@ class ShowDatastoreVersion(command.ShowOne):
|
|||||||
' required to retrieve a'
|
' required to retrieve a'
|
||||||
' datastore version by name.'))
|
' datastore version by name.'))
|
||||||
if datastore_version._info.get('links'):
|
if datastore_version._info.get('links'):
|
||||||
del(datastore_version._info['links'])
|
del (datastore_version._info['links'])
|
||||||
return zip(*sorted(six.iteritems(datastore_version._info)))
|
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
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
from oslo_utils import uuidutils
|
||||||
|
|
||||||
from troveclient import common
|
from troveclient import common
|
||||||
from troveclient import exceptions
|
from troveclient import exceptions
|
||||||
@@ -24,6 +25,8 @@ class TestDatastores(fakes.TestDatabasev1):
|
|||||||
self.datastore_client = self.app.client_manager.database.datastores
|
self.datastore_client = self.app.client_manager.database.datastores
|
||||||
self.datastore_version_client =\
|
self.datastore_version_client =\
|
||||||
self.app.client_manager.database.datastore_versions
|
self.app.client_manager.database.datastore_versions
|
||||||
|
self.dsversion_mgmt_client =\
|
||||||
|
self.app.client_manager.database.mgmt_ds_versions
|
||||||
|
|
||||||
|
|
||||||
class TestDatastoreList(TestDatastores):
|
class TestDatastoreList(TestDatastores):
|
||||||
@@ -123,3 +126,18 @@ class TestDatastoreVersionShow(TestDatastores):
|
|||||||
self.assertRaises(exceptions.NoUniqueMatch,
|
self.assertRaises(exceptions.NoUniqueMatch,
|
||||||
self.cmd.take_action,
|
self.cmd.take_action,
|
||||||
parsed_args)
|
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.datastores = datastores.Datastores(self)
|
||||||
self.datastore_versions = datastores.DatastoreVersions(self)
|
self.datastore_versions = datastores.DatastoreVersions(self)
|
||||||
self.configurations = configurations.Configurations(self)
|
self.configurations = configurations.Configurations(self)
|
||||||
config_parameters = configurations.ConfigurationParameters(self)
|
self.configuration_parameters = configurations.ConfigurationParameters(
|
||||||
self.configuration_parameters = config_parameters
|
self)
|
||||||
self.metadata = metadata.Metadata(self)
|
self.metadata = metadata.Metadata(self)
|
||||||
self.modules = modules.Modules(self)
|
self.modules = modules.Modules(self)
|
||||||
self.quota = quota.Quotas(self)
|
self.quota = quota.Quotas(self)
|
||||||
self.mgmt_instances = management.Management(self)
|
self.mgmt_instances = management.Management(self)
|
||||||
|
self.mgmt_ds_versions = management.MgmtDatastoreVersions(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)
|
|
||||||
|
|
||||||
# Add in any extensions...
|
# Add in any extensions...
|
||||||
if extensions:
|
if extensions:
|
||||||
|
Reference in New Issue
Block a user