Router: Add "router delete" command using SDK
This patch adds "router delete" command to osc using sdk. Change-Id: I47d0ca7f7984942ffceaeb1c9ac69efd09145f40 Implements: blueprint neutron-client Partial-bug: #1519503
This commit is contained in:
parent
6158ebb0e0
commit
3364855a22
@ -44,6 +44,22 @@ Create new router
|
||||
|
||||
New router name
|
||||
|
||||
router delete
|
||||
--------------
|
||||
|
||||
Delete router(s)
|
||||
|
||||
.. program:: router delete
|
||||
.. code:: bash
|
||||
|
||||
os router delete
|
||||
<router> [<router> ...]
|
||||
|
||||
.. _router_delete-router:
|
||||
.. describe:: <router>
|
||||
|
||||
Router(s) to delete (name or ID)
|
||||
|
||||
router list
|
||||
-----------
|
||||
|
||||
|
@ -16,6 +16,7 @@
|
||||
import json
|
||||
import logging
|
||||
|
||||
from cliff import command
|
||||
from cliff import lister
|
||||
from cliff import show
|
||||
|
||||
@ -117,6 +118,30 @@ class CreateRouter(show.ShowOne):
|
||||
return (tuple(columns), data)
|
||||
|
||||
|
||||
class DeleteRouter(command.Command):
|
||||
"""Delete router(s)"""
|
||||
|
||||
log = logging.getLogger(__name__ + '.DeleteRouter')
|
||||
|
||||
def get_parser(self, prog_name):
|
||||
parser = super(DeleteRouter, self).get_parser(prog_name)
|
||||
parser.add_argument(
|
||||
'router',
|
||||
metavar="<router>",
|
||||
nargs="+",
|
||||
help=("Router(s) to delete (name or ID)")
|
||||
)
|
||||
return parser
|
||||
|
||||
def take_action(self, parsed_args):
|
||||
self.log.debug('take_action(%s)' % parsed_args)
|
||||
client = self.app.client_manager.network
|
||||
for router in parsed_args.router:
|
||||
obj = client.find_router(router)
|
||||
client.delete_router(obj)
|
||||
return
|
||||
|
||||
|
||||
class ListRouter(lister.Lister):
|
||||
"""List routers"""
|
||||
|
||||
|
@ -88,6 +88,35 @@ class TestCreateRouter(TestRouter):
|
||||
self.assertEqual(self.data, data)
|
||||
|
||||
|
||||
class TestDeleteRouter(TestRouter):
|
||||
|
||||
# The router to delete.
|
||||
_router = network_fakes.FakeRouter.create_one_router()
|
||||
|
||||
def setUp(self):
|
||||
super(TestDeleteRouter, self).setUp()
|
||||
|
||||
self.network.delete_router = mock.Mock(return_value=None)
|
||||
|
||||
self.network.find_router = mock.Mock(return_value=self._router)
|
||||
|
||||
# Get the command object to test
|
||||
self.cmd = router.DeleteRouter(self.app, self.namespace)
|
||||
|
||||
def test_delete(self):
|
||||
arglist = [
|
||||
self._router.name,
|
||||
]
|
||||
verifylist = [
|
||||
('router', [self._router.name]),
|
||||
]
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
||||
result = self.cmd.take_action(parsed_args)
|
||||
self.network.delete_router.assert_called_with(self._router)
|
||||
self.assertEqual(None, result)
|
||||
|
||||
|
||||
class TestListRouter(TestRouter):
|
||||
|
||||
# The routers going to be listed up.
|
||||
|
@ -333,6 +333,7 @@ openstack.network.v2 =
|
||||
network_set = openstackclient.network.v2.network:SetNetwork
|
||||
network_show = openstackclient.network.v2.network:ShowNetwork
|
||||
router_create = openstackclient.network.v2.router:CreateRouter
|
||||
router_delete = openstackclient.network.v2.router:DeleteRouter
|
||||
router_list = openstackclient.network.v2.router:ListRouter
|
||||
|
||||
openstack.object_store.v1 =
|
||||
|
Loading…
x
Reference in New Issue
Block a user