Skip to content

Commit 1299319

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Subnet: Add "subnet delete" command using SDK"
2 parents 7039cd3 + 88c92bf commit 1299319

5 files changed

Lines changed: 69 additions & 0 deletions

File tree

doc/source/command-objects/subnet.rst

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,19 @@ Show subnet details
3434
.. describe:: <subnet>
3535

3636
Subnet to show (name or ID)
37+
38+
subnet delete
39+
-------------
40+
41+
Delete a subnet
42+
43+
.. program:: subnet delete
44+
.. code:: bash
45+
46+
os subnet delete
47+
<subnet>
48+
49+
.. _subnet_delete-subnet:
50+
.. describe:: <subnet>
51+
52+
Subnet to delete (name or ID)

openstackclient/network/v2/subnet.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,3 +89,21 @@ def take_action(self, parsed_args):
8989
columns = _get_columns(obj)
9090
data = utils.get_item_properties(obj, columns, formatters=_formatters)
9191
return (columns, data)
92+
93+
94+
class DeleteSubnet(command.Command):
95+
"""Delete subnet"""
96+
97+
def get_parser(self, prog_name):
98+
parser = super(DeleteSubnet, self).get_parser(prog_name)
99+
parser.add_argument(
100+
'subnet',
101+
metavar="<subnet>",
102+
help=("Subnet to delete (name or ID)")
103+
)
104+
return parser
105+
106+
def take_action(self, parsed_args):
107+
client = self.app.client_manager.network
108+
client.delete_subnet(
109+
client.find_subnet(parsed_args.subnet))

openstackclient/tests/network/v2/test_subnet.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,3 +181,32 @@ def test_show_all_options(self):
181181

182182
self.assertEqual(self.columns, columns)
183183
self.assertEqual(list(self.data), list(data))
184+
185+
186+
class TestDeleteSubnet(TestSubnet):
187+
188+
# The subnet to delete.
189+
_subnet = network_fakes.FakeSubnet.create_one_subnet()
190+
191+
def setUp(self):
192+
super(TestDeleteSubnet, self).setUp()
193+
194+
self.network.delete_subnet = mock.Mock(return_value=None)
195+
196+
self.network.find_subnet = mock.Mock(return_value=self._subnet)
197+
198+
# Get the command object to test
199+
self.cmd = subnet_v2.DeleteSubnet(self.app, self.namespace)
200+
201+
def test_delete(self):
202+
arglist = [
203+
self._subnet.name,
204+
]
205+
verifylist = [
206+
('subnet', self._subnet.name),
207+
]
208+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
209+
210+
result = self.cmd.take_action(parsed_args)
211+
self.network.delete_subnet.assert_called_with(self._subnet)
212+
self.assertIsNone(result)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
features:
3+
- |
4+
Add ``subnet delete`` command to openstack-client.
5+
[Bug `1542362 <https://bugs.launchpad.net/python-openstackclient/+bug/1542362>`_]

setup.cfg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,7 @@ openstack.network.v2 =
342342
security_group_delete = openstackclient.network.v2.security_group:DeleteSecurityGroup
343343
security_group_rule_delete = openstackclient.network.v2.security_group_rule:DeleteSecurityGroupRule
344344
security_group_rule_show = openstackclient.network.v2.security_group_rule:ShowSecurityGroupRule
345+
subnet_delete = openstackclient.network.v2.subnet:DeleteSubnet
345346
subnet_list = openstackclient.network.v2.subnet:ListSubnet
346347
subnet_show = openstackclient.network.v2.subnet:ShowSubnet
347348
subnet_pool_delete = openstackclient.network.v2.subnet_pool:DeleteSubnetPool

0 commit comments

Comments
 (0)