summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/compute/v2/agent.py5
-rw-r--r--openstackclient/identity/v3/consumer.py2
-rw-r--r--openstackclient/identity/v3/credential.py3
-rw-r--r--openstackclient/identity/v3/domain.py2
-rw-r--r--openstackclient/identity/v3/endpoint.py4
-rw-r--r--openstackclient/identity/v3/federation_protocol.py1
-rw-r--r--openstackclient/identity/v3/group.py2
-rw-r--r--openstackclient/identity/v3/identity_provider.py1
-rw-r--r--openstackclient/identity/v3/mapping.py1
-rw-r--r--openstackclient/identity/v3/policy.py2
-rw-r--r--openstackclient/identity/v3/project.py6
-rw-r--r--openstackclient/identity/v3/region.py3
-rw-r--r--openstackclient/identity/v3/role.py14
-rw-r--r--openstackclient/identity/v3/service.py11
-rw-r--r--openstackclient/identity/v3/service_provider.py1
-rw-r--r--openstackclient/identity/v3/token.py1
-rw-r--r--openstackclient/identity/v3/user.py7
-rw-r--r--openstackclient/network/v2/subnet.py18
-rw-r--r--openstackclient/tests/network/v2/test_subnet.py29
-rw-r--r--openstackclient/tests/volume/v2/test_type.py113
20 files changed, 125 insertions, 101 deletions
diff --git a/openstackclient/compute/v2/agent.py b/openstackclient/compute/v2/agent.py
index 59d7dc66..d5e86033 100644
--- a/openstackclient/compute/v2/agent.py
+++ b/openstackclient/compute/v2/agent.py
@@ -112,7 +112,7 @@ class ListAgent(command.Lister):
) for s in data))
-class SetAgent(command.ShowOne):
+class SetAgent(command.Command):
"""Set compute agent command"""
def get_parser(self, prog_name):
@@ -143,5 +143,4 @@ class SetAgent(command.ShowOne):
parsed_args.url,
parsed_args.md5hash
)
- agent = compute_client.agents.update(*args)._info.copy()
- return zip(*sorted(six.iteritems(agent)))
+ compute_client.agents.update(*args)
diff --git a/openstackclient/identity/v3/consumer.py b/openstackclient/identity/v3/consumer.py
index 72983988..0da4103d 100644
--- a/openstackclient/identity/v3/consumer.py
+++ b/openstackclient/identity/v3/consumer.py
@@ -60,7 +60,6 @@ class DeleteConsumer(command.Command):
consumer = utils.find_resource(
identity_client.oauth1.consumers, parsed_args.consumer)
identity_client.oauth1.consumers.delete(consumer.id)
- return
class ListConsumer(command.Lister):
@@ -107,7 +106,6 @@ class SetConsumer(command.Command):
consumer = identity_client.oauth1.consumers.update(
consumer.id, **kwargs)
- return
class ShowConsumer(command.ShowOne):
diff --git a/openstackclient/identity/v3/credential.py b/openstackclient/identity/v3/credential.py
index 6208b320..b0d2cafd 100644
--- a/openstackclient/identity/v3/credential.py
+++ b/openstackclient/identity/v3/credential.py
@@ -84,7 +84,6 @@ class DeleteCredential(command.Command):
def take_action(self, parsed_args):
identity_client = self.app.client_manager.identity
identity_client.credentials.delete(parsed_args.credential)
- return
class ListCredential(command.Lister):
@@ -155,8 +154,6 @@ class SetCredential(command.Command):
blob=parsed_args.data,
project=project)
- return
-
class ShowCredential(command.ShowOne):
"""Show credential command"""
diff --git a/openstackclient/identity/v3/domain.py b/openstackclient/identity/v3/domain.py
index cec967b8..bf248fab 100644
--- a/openstackclient/identity/v3/domain.py
+++ b/openstackclient/identity/v3/domain.py
@@ -100,7 +100,6 @@ class DeleteDomain(command.Command):
domain = utils.find_resource(identity_client.domains,
parsed_args.domain)
identity_client.domains.delete(domain.id)
- return
class ListDomain(command.Lister):
@@ -168,7 +167,6 @@ class SetDomain(command.Command):
sys.stdout.write("Domain not updated, no arguments present")
return
identity_client.domains.update(domain.id, **kwargs)
- return
class ShowDomain(command.ShowOne):
diff --git a/openstackclient/identity/v3/endpoint.py b/openstackclient/identity/v3/endpoint.py
index 1eff3b3b..6e4b356d 100644
--- a/openstackclient/identity/v3/endpoint.py
+++ b/openstackclient/identity/v3/endpoint.py
@@ -109,7 +109,6 @@ class DeleteEndpoint(command.Command):
endpoint_id = utils.find_resource(identity_client.endpoints,
parsed_args.endpoint).id
identity_client.endpoints.delete(endpoint_id)
- return
class ListEndpoint(command.Lister):
@@ -221,7 +220,6 @@ class SetEndpoint(command.Command):
if parsed_args.service:
service = common.find_service(identity_client, parsed_args.service)
service_id = service.id
-
enabled = None
if parsed_args.enabled:
enabled = True
@@ -237,8 +235,6 @@ class SetEndpoint(command.Command):
enabled=enabled
)
- return
-
class ShowEndpoint(command.ShowOne):
"""Display endpoint details"""
diff --git a/openstackclient/identity/v3/federation_protocol.py b/openstackclient/identity/v3/federation_protocol.py
index 2d7ab15d..27c837c5 100644
--- a/openstackclient/identity/v3/federation_protocol.py
+++ b/openstackclient/identity/v3/federation_protocol.py
@@ -83,7 +83,6 @@ class DeleteProtocol(command.Command):
identity_client = self.app.client_manager.identity
identity_client.federation.protocols.delete(
parsed_args.identity_provider, parsed_args.federation_protocol)
- return
class ListProtocols(command.Lister):
diff --git a/openstackclient/identity/v3/group.py b/openstackclient/identity/v3/group.py
index b3d893ce..a4cdd583 100644
--- a/openstackclient/identity/v3/group.py
+++ b/openstackclient/identity/v3/group.py
@@ -182,7 +182,6 @@ class DeleteGroup(command.Command):
group,
parsed_args.domain)
identity_client.groups.delete(group_obj.id)
- return
class ListGroup(command.Lister):
@@ -322,7 +321,6 @@ class SetGroup(command.Command):
sys.stderr.write("Group not updated, no arguments present")
return
identity_client.groups.update(group.id, **kwargs)
- return
class ShowGroup(command.ShowOne):
diff --git a/openstackclient/identity/v3/identity_provider.py b/openstackclient/identity/v3/identity_provider.py
index 0ff8acb9..37f79ed6 100644
--- a/openstackclient/identity/v3/identity_provider.py
+++ b/openstackclient/identity/v3/identity_provider.py
@@ -102,7 +102,6 @@ class DeleteIdentityProvider(command.Command):
identity_client = self.app.client_manager.identity
identity_client.federation.identity_providers.delete(
parsed_args.identity_provider)
- return
class ListIdentityProvider(command.Lister):
diff --git a/openstackclient/identity/v3/mapping.py b/openstackclient/identity/v3/mapping.py
index 422d66bc..3cdc8afc 100644
--- a/openstackclient/identity/v3/mapping.py
+++ b/openstackclient/identity/v3/mapping.py
@@ -121,7 +121,6 @@ class DeleteMapping(command.Command):
identity_client = self.app.client_manager.identity
identity_client.federation.mappings.delete(parsed_args.mapping)
- return
class ListMapping(command.Lister):
diff --git a/openstackclient/identity/v3/policy.py b/openstackclient/identity/v3/policy.py
index 503df374..3c2d1a7c 100644
--- a/openstackclient/identity/v3/policy.py
+++ b/openstackclient/identity/v3/policy.py
@@ -69,7 +69,6 @@ class DeletePolicy(command.Command):
def take_action(self, parsed_args):
identity_client = self.app.client_manager.identity
identity_client.policies.delete(parsed_args.policy)
- return
class ListPolicy(command.Lister):
@@ -139,7 +138,6 @@ class SetPolicy(command.Command):
sys.stdout.write('Policy not updated, no arguments present \n')
return
identity_client.policies.update(parsed_args.policy, **kwargs)
- return
class ShowPolicy(command.ShowOne):
diff --git a/openstackclient/identity/v3/project.py b/openstackclient/identity/v3/project.py
index 61db8614..a379c6fa 100644
--- a/openstackclient/identity/v3/project.py
+++ b/openstackclient/identity/v3/project.py
@@ -153,7 +153,6 @@ class DeleteProject(command.Command):
project_obj = utils.find_resource(identity_client.projects,
project)
identity_client.projects.delete(project_obj.id)
- return
class ListProject(command.Lister):
@@ -267,8 +266,8 @@ class SetProject(command.Command):
and not parsed_args.property
and not parsed_args.disable):
return
-
- project = common.find_project(identity_client, parsed_args.project,
+ project = common.find_project(identity_client,
+ parsed_args.project,
parsed_args.domain)
kwargs = {}
@@ -284,7 +283,6 @@ class SetProject(command.Command):
kwargs.update(parsed_args.property)
identity_client.projects.update(project.id, **kwargs)
- return
class ShowProject(command.ShowOne):
diff --git a/openstackclient/identity/v3/region.py b/openstackclient/identity/v3/region.py
index 1e15fd20..ec504228 100644
--- a/openstackclient/identity/v3/region.py
+++ b/openstackclient/identity/v3/region.py
@@ -75,7 +75,6 @@ class DeleteRegion(command.Command):
identity_client = self.app.client_manager.identity
identity_client.regions.delete(parsed_args.region)
- return
class ListRegion(command.Lister):
@@ -135,7 +134,6 @@ class SetRegion(command.Command):
if not parsed_args.parent_region and not parsed_args.description:
return
-
kwargs = {}
if parsed_args.description:
kwargs['description'] = parsed_args.description
@@ -143,7 +141,6 @@ class SetRegion(command.Command):
kwargs['parent_region'] = parsed_args.parent_region
identity_client.regions.update(parsed_args.region, **kwargs)
- return
class ShowRegion(command.ShowOne):
diff --git a/openstackclient/identity/v3/role.py b/openstackclient/identity/v3/role.py
index 4cced611..1195ab21 100644
--- a/openstackclient/identity/v3/role.py
+++ b/openstackclient/identity/v3/role.py
@@ -123,7 +123,6 @@ class AddRole(command.Command):
if (not parsed_args.user and not parsed_args.domain
and not parsed_args.group and not parsed_args.project):
return
-
role = utils.find_resource(
identity_client.roles,
parsed_args.role,
@@ -138,7 +137,6 @@ class AddRole(command.Command):
return
identity_client.roles.grant(role.id, **kwargs)
- return
class CreateRole(command.ShowOne):
@@ -197,7 +195,6 @@ class DeleteRole(command.Command):
role,
)
identity_client.roles.delete(role_obj.id)
- return
class ListRole(command.Lister):
@@ -318,8 +315,10 @@ class RemoveRole(command.Command):
if (not parsed_args.user and not parsed_args.domain
and not parsed_args.group and not parsed_args.project):
+ sys.stderr.write("Incorrect set of arguments "
+ "provided. See openstack --help for more "
+ "details\n")
return
-
role = utils.find_resource(
identity_client.roles,
parsed_args.role,
@@ -331,9 +330,7 @@ class RemoveRole(command.Command):
sys.stderr.write("Role not removed, incorrect set of arguments \
provided. See openstack --help for more details\n")
return
-
identity_client.roles.revoke(role.id, **kwargs)
- return
class SetRole(command.Command):
@@ -357,15 +354,16 @@ class SetRole(command.Command):
identity_client = self.app.client_manager.identity
if not parsed_args.name:
+ sys.stderr.write("Incorrect set of arguments "
+ "provided. See openstack --help for more "
+ "details\n")
return
-
role = utils.find_resource(
identity_client.roles,
parsed_args.role,
)
identity_client.roles.update(role.id, name=parsed_args.name)
- return
class ShowRole(command.ShowOne):
diff --git a/openstackclient/identity/v3/service.py b/openstackclient/identity/v3/service.py
index 42117c8d..355583cc 100644
--- a/openstackclient/identity/v3/service.py
+++ b/openstackclient/identity/v3/service.py
@@ -16,6 +16,7 @@
"""Identity v3 Service action implementations"""
import six
+import sys
from openstackclient.common import command
from openstackclient.common import utils
@@ -91,7 +92,6 @@ class DeleteService(command.Command):
service = common.find_service(identity_client, parsed_args.service)
identity_client.services.delete(service.id)
- return
class ListService(command.Lister):
@@ -166,10 +166,12 @@ class SetService(command.Command):
and not parsed_args.description
and not parsed_args.enable
and not parsed_args.disable):
+ sys.stderr.write("Incorrect set of arguments "
+ "provided. See openstack --help for more "
+ "details\n")
return
-
- service = common.find_service(identity_client, parsed_args.service)
-
+ service = common.find_service(identity_client,
+ parsed_args.service)
kwargs = {}
if parsed_args.type:
kwargs['type'] = parsed_args.type
@@ -186,7 +188,6 @@ class SetService(command.Command):
service.id,
**kwargs
)
- return
class ShowService(command.ShowOne):
diff --git a/openstackclient/identity/v3/service_provider.py b/openstackclient/identity/v3/service_provider.py
index 6016928c..e3a22ebb 100644
--- a/openstackclient/identity/v3/service_provider.py
+++ b/openstackclient/identity/v3/service_provider.py
@@ -96,7 +96,6 @@ class DeleteServiceProvider(command.Command):
service_client = self.app.client_manager.identity
service_client.federation.service_providers.delete(
parsed_args.service_provider)
- return
class ListServiceProvider(command.Lister):
diff --git a/openstackclient/identity/v3/token.py b/openstackclient/identity/v3/token.py
index 5f131939..bf039d2f 100644
--- a/openstackclient/identity/v3/token.py
+++ b/openstackclient/identity/v3/token.py
@@ -194,4 +194,3 @@ class RevokeToken(command.Command):
identity_client = self.app.client_manager.identity
identity_client.tokens.revoke_token(parsed_args.token)
- return
diff --git a/openstackclient/identity/v3/user.py b/openstackclient/identity/v3/user.py
index c694c6ae..93b33090 100644
--- a/openstackclient/identity/v3/user.py
+++ b/openstackclient/identity/v3/user.py
@@ -17,6 +17,7 @@
import copy
import six
+import sys
from keystoneauth1 import exceptions as ks_exc
@@ -162,7 +163,6 @@ class DeleteUser(command.Command):
user_obj = utils.find_resource(identity_client.users,
user)
identity_client.users.delete(user_obj.id)
- return
class ListUser(command.Lister):
@@ -334,13 +334,15 @@ class SetUser(command.Command):
and not parsed_args.description
and not parsed_args.enable
and not parsed_args.disable):
+ sys.stderr.write("Incorrect set of arguments "
+ "provided. See openstack --help for more "
+ "details\n")
return
user = utils.find_resource(
identity_client.users,
parsed_args.user,
)
-
kwargs = {}
if parsed_args.name:
kwargs['name'] = parsed_args.name
@@ -362,7 +364,6 @@ class SetUser(command.Command):
kwargs['enabled'] = False
identity_client.users.update(user.id, **kwargs)
- return
class SetPasswordUser(command.Command):
diff --git a/openstackclient/network/v2/subnet.py b/openstackclient/network/v2/subnet.py
index 7ed02a3a..96ab35ae 100644
--- a/openstackclient/network/v2/subnet.py
+++ b/openstackclient/network/v2/subnet.py
@@ -89,3 +89,21 @@ class ShowSubnet(command.ShowOne):
columns = _get_columns(obj)
data = utils.get_item_properties(obj, columns, formatters=_formatters)
return (columns, data)
+
+
+class DeleteSubnet(command.Command):
+ """Delete subnet"""
+
+ def get_parser(self, prog_name):
+ parser = super(DeleteSubnet, self).get_parser(prog_name)
+ parser.add_argument(
+ 'subnet',
+ metavar="<subnet>",
+ help=("Subnet to delete (name or ID)")
+ )
+ return parser
+
+ def take_action(self, parsed_args):
+ client = self.app.client_manager.network
+ client.delete_subnet(
+ client.find_subnet(parsed_args.subnet))
diff --git a/openstackclient/tests/network/v2/test_subnet.py b/openstackclient/tests/network/v2/test_subnet.py
index e1e663f4..e844c138 100644
--- a/openstackclient/tests/network/v2/test_subnet.py
+++ b/openstackclient/tests/network/v2/test_subnet.py
@@ -181,3 +181,32 @@ class TestShowSubnet(TestSubnet):
self.assertEqual(self.columns, columns)
self.assertEqual(list(self.data), list(data))
+
+
+class TestDeleteSubnet(TestSubnet):
+
+ # The subnet to delete.
+ _subnet = network_fakes.FakeSubnet.create_one_subnet()
+
+ def setUp(self):
+ super(TestDeleteSubnet, self).setUp()
+
+ self.network.delete_subnet = mock.Mock(return_value=None)
+
+ self.network.find_subnet = mock.Mock(return_value=self._subnet)
+
+ # Get the command object to test
+ self.cmd = subnet_v2.DeleteSubnet(self.app, self.namespace)
+
+ def test_delete(self):
+ arglist = [
+ self._subnet.name,
+ ]
+ verifylist = [
+ ('subnet', self._subnet.name),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+ self.network.delete_subnet.assert_called_with(self._subnet)
+ self.assertIsNone(result)
diff --git a/openstackclient/tests/volume/v2/test_type.py b/openstackclient/tests/volume/v2/test_type.py
index f394aff3..1408b9d9 100644
--- a/openstackclient/tests/volume/v2/test_type.py
+++ b/openstackclient/tests/volume/v2/test_type.py
@@ -61,7 +61,7 @@ class TestTypeCreate(TestType):
self.types_mock.create.return_value = fakes.FakeResource(
None,
copy.deepcopy(volume_fakes.TYPE),
- loaded=True,
+ loaded=True
)
# Get the command object to test
self.cmd = volume_type.CreateVolumeType(self.app, None)
@@ -115,6 +115,35 @@ class TestTypeCreate(TestType):
self.assertEqual(self.datalist, data)
+class TestTypeDelete(TestType):
+
+ def setUp(self):
+ super(TestTypeDelete, self).setUp()
+
+ self.types_mock.get.return_value = fakes.FakeResource(
+ None,
+ copy.deepcopy(volume_fakes.TYPE),
+ loaded=True
+ )
+ self.types_mock.delete.return_value = None
+
+ # Get the command object to mock
+ self.cmd = volume_type.DeleteVolumeType(self.app, None)
+
+ def test_type_delete(self):
+ arglist = [
+ volume_fakes.type_id
+ ]
+ verifylist = [
+ ("volume_type", volume_fakes.type_id)
+ ]
+
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ self.cmd.take_action(parsed_args)
+ self.types_mock.delete.assert_called_with(volume_fakes.type_id)
+
+
class TestTypeList(TestType):
columns = [
@@ -170,34 +199,6 @@ class TestTypeList(TestType):
self.assertEqual(datalist, tuple(data))
-class TestTypeShow(TestType):
-
- def setUp(self):
- super(TestTypeShow, self).setUp()
-
- self.types_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(volume_fakes.TYPE),
- loaded=True)
- # Get the command object to test
- self.cmd = volume_type.ShowVolumeType(self.app, None)
-
- def test_type_show(self):
- arglist = [
- volume_fakes.type_id
- ]
- verifylist = [
- ("volume_type", volume_fakes.type_id)
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- columns, data = self.cmd.take_action(parsed_args)
- self.types_mock.get.assert_called_with(volume_fakes.type_id)
-
- self.assertEqual(volume_fakes.TYPE_FORMATTED_columns, columns)
- self.assertEqual(volume_fakes.TYPE_FORMATTED_data, data)
-
-
class TestTypeSet(TestType):
def setUp(self):
@@ -282,61 +283,63 @@ class TestTypeSet(TestType):
self.assertEqual('myvalue', result['myprop'])
-class TestTypeUnset(TestType):
+class TestTypeShow(TestType):
def setUp(self):
- super(TestTypeUnset, self).setUp()
+ super(TestTypeShow, self).setUp()
- self.types_mock.get.return_value = FakeTypeResource(
+ self.types_mock.get.return_value = fakes.FakeResource(
None,
copy.deepcopy(volume_fakes.TYPE),
- loaded=True,
+ loaded=True
)
- self.cmd = volume_type.UnsetVolumeType(self.app, None)
+ # Get the command object to test
+ self.cmd = volume_type.ShowVolumeType(self.app, None)
- def test_type_unset(self):
+ def test_type_show(self):
arglist = [
- '--property', 'property',
- volume_fakes.type_id,
+ volume_fakes.type_id
]
verifylist = [
- ('property', 'property'),
- ('volume_type', volume_fakes.type_id),
+ ("volume_type", volume_fakes.type_id)
]
-
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
- self.cmd.take_action(parsed_args)
-
- result = self.types_mock.get.return_value._keys
+ columns, data = self.cmd.take_action(parsed_args)
+ self.types_mock.get.assert_called_with(volume_fakes.type_id)
- self.assertNotIn('property', result)
+ self.assertEqual(volume_fakes.TYPE_FORMATTED_columns, columns)
+ self.assertEqual(volume_fakes.TYPE_FORMATTED_data, data)
-class TestTypeDelete(TestType):
+class TestTypeUnset(TestType):
def setUp(self):
- super(TestTypeDelete, self).setUp()
+ super(TestTypeUnset, self).setUp()
- self.types_mock.get.return_value = fakes.FakeResource(
+ self.types_mock.get.return_value = FakeTypeResource(
None,
copy.deepcopy(volume_fakes.TYPE),
- loaded=True)
- self.types_mock.delete.return_value = None
+ loaded=True
+ )
- # Get the command object to mock
- self.cmd = volume_type.DeleteVolumeType(self.app, None)
+ self.cmd = volume_type.UnsetVolumeType(self.app, None)
- def test_type_delete(self):
+ def test_type_unset(self):
arglist = [
- volume_fakes.type_id
+ '--property', 'property',
+ volume_fakes.type_id,
]
verifylist = [
- ("volume_type", volume_fakes.type_id)
+ ('property', 'property'),
+ ('volume_type', volume_fakes.type_id),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
- self.types_mock.delete.assert_called_with(volume_fakes.type_id)
+
+ result = self.types_mock.get.return_value._keys
+
+ self.assertNotIn('property', result)