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:
		@@ -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 =
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user