Merge "Add OpenstackClient plugin for cluster members del"

This commit is contained in:
Jenkins
2016-02-28 12:28:43 +00:00
committed by Gerrit Code Review
3 changed files with 55 additions and 0 deletions

View File

@@ -687,3 +687,31 @@ class ClusterNodeAdd(command.Command):
node_ids = parsed_args.nodes.split(',')
resp = senlin_client.cluster_add_nodes(parsed_args.cluster, node_ids)
print('Request accepted by action: %s' % resp['action'])
class ClusterNodeDel(command.Command):
"""Delete specified nodes from cluster."""
log = logging.getLogger(__name__ + ".ClusterNodeDel")
def get_parser(self, prog_name):
parser = super(ClusterNodeDel, self).get_parser(prog_name)
parser.add_argument(
'--nodes',
metavar='<nodes>',
required=True,
help=_('Name or ID of nodes to be deleted; multiple nodes can be '
'separated with ","')
)
parser.add_argument(
'cluster',
metavar='<cluster>',
help=_('Name or ID of cluster to operate on')
)
return parser
def take_action(self, parsed_args):
self.log.debug("take_action(%s)", parsed_args)
senlin_client = self.app.client_manager.clustering
node_ids = parsed_args.nodes.split(',')
resp = senlin_client.cluster_del_nodes(parsed_args.cluster, node_ids)
print('Request accepted by action: %s' % resp['action'])

View File

@@ -710,3 +710,29 @@ class TestClusterNodeAdd(TestCluster):
self.mock_client.cluster_add_nodes.assert_called_with(
'my_cluster',
['node1', 'node2'])
class TestClusterNodeDel(TestCluster):
response = {"action": "8bb476c3-0f4c-44ee-9f64-c7b0260814de"}
def setUp(self):
super(TestClusterNodeDel, self).setUp()
self.cmd = osc_cluster.ClusterNodeDel(self.app, None)
self.mock_client.cluster_del_nodes = mock.Mock(
return_value=self.response)
def test_cluster_node_delete(self):
arglist = ['--nodes', 'node1', 'my_cluster']
parsed_args = self.check_parser(self.cmd, arglist, [])
self.cmd.take_action(parsed_args)
self.mock_client.cluster_del_nodes.assert_called_with(
'my_cluster',
['node1'])
def test_cluster_node_delete_multi(self):
arglist = ['--nodes', 'node1,node2', 'my_cluster']
parsed_args = self.check_parser(self.cmd, arglist, [])
self.cmd.take_action(parsed_args)
self.mock_client.cluster_del_nodes.assert_called_with(
'my_cluster',
['node1', 'node2'])

View File

@@ -45,6 +45,7 @@ openstack.clustering.v1 =
cluster_update = senlinclient.osc.v1.cluster:UpdateCluster
cluster_members_list = senlinclient.osc.v1.cluster:ClusterNodeList
cluster_members_add = senlinclient.osc.v1.cluster:ClusterNodeAdd
cluster_members_del = senlinclient.osc.v1.cluster:ClusterNodeDel
cluster_node_create = senlinclient.osc.v1.node:CreateNode
cluster_node_delete = senlinclient.osc.v1.node:DeleteNode
cluster_node_list = senlinclient.osc.v1.node:ListNode