Merge "Noop run on specified set of nodes"
This commit is contained in:
commit
a966b5d719
|
@ -464,7 +464,7 @@ class EnvDeploy(EnvMixIn, base.BaseCommand):
|
|||
'-d', '--dry-run', dest="dry_run",
|
||||
action='store_true', help=dry_run_help_string)
|
||||
parser.add_argument(
|
||||
'-n', '--noop', dest="noop_run",
|
||||
'--noop', dest="noop_run",
|
||||
action='store_true', help=noop_run_help_string)
|
||||
|
||||
return parser
|
||||
|
@ -548,12 +548,21 @@ class EnvDeployNodes(EnvMixIn, base.BaseCommand):
|
|||
'--force',
|
||||
action='store_true',
|
||||
help='Force deploy nodes.')
|
||||
|
||||
noop_run_help_string = 'Specifies noop-run deployment ' \
|
||||
'configuring tasks executor to run ' \
|
||||
'puppet and shell tasks in noop mode and ' \
|
||||
'skip all other. Stores noop-run result ' \
|
||||
'summary in nailgun database'
|
||||
parser.add_argument('--noop', dest="noop_run", action='store_true',
|
||||
help=noop_run_help_string)
|
||||
return parser
|
||||
|
||||
def take_action(self, parsed_args):
|
||||
node_ids = parsed_args.nodes
|
||||
task = self.client.deploy_nodes(parsed_args.env, node_ids,
|
||||
force=parsed_args.force)
|
||||
force=parsed_args.force,
|
||||
noop_run=parsed_args.noop_run)
|
||||
|
||||
msg = ('Deployment task with id {t} for the nodes {n} within '
|
||||
'the environment {e} has been '
|
||||
|
|
|
@ -130,7 +130,7 @@ class TestEnvCommand(test_engine.BaseCLITest):
|
|||
dry_run = False
|
||||
noop_run = True
|
||||
|
||||
args = 'env deploy -n'
|
||||
args = 'env deploy --noop'
|
||||
args += ' 42'
|
||||
|
||||
self.exec_command(args)
|
||||
|
@ -180,7 +180,7 @@ class TestEnvCommand(test_engine.BaseCLITest):
|
|||
def test_env_redeploy_noop_run(self):
|
||||
dry_run = False
|
||||
noop_run = True
|
||||
args = 'env redeploy -n'
|
||||
args = 'env redeploy --noop'
|
||||
|
||||
args += ' 42'
|
||||
|
||||
|
@ -260,6 +260,7 @@ class TestEnvCommand(test_engine.BaseCLITest):
|
|||
def test_env_nodes_deploy(self):
|
||||
env_id = 42
|
||||
node_ids = [43, 44]
|
||||
noop_run = False
|
||||
args = ('env nodes deploy '
|
||||
'--nodes {n[0]} {n[1]} --env {e}').format(e=env_id, n=node_ids)
|
||||
|
||||
|
@ -267,11 +268,14 @@ class TestEnvCommand(test_engine.BaseCLITest):
|
|||
|
||||
self.m_client.deploy_nodes.return_value = fake_task.get_fake_task()
|
||||
self.m_client.deploy_nodes.assert_called_once_with(env_id, node_ids,
|
||||
force=False)
|
||||
force=False,
|
||||
noop_run=noop_run)
|
||||
|
||||
def test_env_nodes_deploy_force(self):
|
||||
env_id = 42
|
||||
node_ids = [43, 44]
|
||||
force = True
|
||||
noop_run = False
|
||||
args = ('env nodes deploy --force '
|
||||
'--nodes {n[0]} {n[1]} --env {e}').format(e=env_id, n=node_ids)
|
||||
|
||||
|
@ -279,7 +283,23 @@ class TestEnvCommand(test_engine.BaseCLITest):
|
|||
|
||||
self.m_client.deploy_nodes.return_value = fake_task.get_fake_task()
|
||||
self.m_client.deploy_nodes.assert_called_once_with(env_id, node_ids,
|
||||
force=True)
|
||||
noop_run=noop_run,
|
||||
force=force)
|
||||
|
||||
def test_env_nodes_deploy_noop_run(self):
|
||||
env_id = 42
|
||||
node_ids = [43, 44]
|
||||
force = False
|
||||
noop_run = True
|
||||
args = ('env nodes deploy --noop '
|
||||
'--nodes {n[0]} {n[1]} --env {e}').format(e=env_id, n=node_ids)
|
||||
|
||||
self.exec_command(args)
|
||||
|
||||
self.m_client.deploy_nodes.return_value = fake_task.get_fake_task()
|
||||
self.m_client.deploy_nodes.assert_called_once_with(env_id, node_ids,
|
||||
force=force,
|
||||
noop_run=noop_run)
|
||||
|
||||
def test_env_nodes_provision(self):
|
||||
env_id = 42
|
||||
|
|
|
@ -349,6 +349,22 @@ class TestEnvFacade(test_api.BaseLibTest):
|
|||
matcher.last_request.qs['nodes'])
|
||||
self.assertEqual(matcher.last_request.qs['force'][0], str(int(force)))
|
||||
|
||||
def test_env_deploy_nodes_noop_run(self):
|
||||
env_id = 42
|
||||
node_ids = [43, 44]
|
||||
noop_run = True
|
||||
|
||||
expected_url = self.get_object_uri(self.res_uri, env_id, '/deploy/')
|
||||
matcher = self.m_request.put(expected_url, json=utils.get_fake_task())
|
||||
|
||||
self.client.deploy_nodes(env_id, node_ids, noop_run=noop_run)
|
||||
|
||||
self.assertTrue(matcher.called)
|
||||
self.assertEqual([','.join(str(i) for i in node_ids)],
|
||||
matcher.last_request.qs['nodes'])
|
||||
self.assertEqual(matcher.last_request.qs['noop_run'][0],
|
||||
str(int(noop_run)))
|
||||
|
||||
def test_env_provision_nodes(self):
|
||||
env_id = 42
|
||||
node_ids = [43, 44]
|
||||
|
|
|
@ -23,7 +23,8 @@ class EnvironmentClient(base_v1.BaseV1Client):
|
|||
_updatable_attributes = ('name',)
|
||||
|
||||
provision_nodes_url = 'clusters/{env_id}/provision/?nodes={nodes}'
|
||||
deploy_nodes_url = 'clusters/{env_id}/deploy/?nodes={nodes}&force={force}'
|
||||
deploy_nodes_url = ('clusters/{env_id}/deploy/?'
|
||||
'nodes={nodes}&force={force}&noop_run={noop_run}')
|
||||
|
||||
def create(self, name, release_id, net_segment_type):
|
||||
|
||||
|
@ -96,12 +97,14 @@ class EnvironmentClient(base_v1.BaseV1Client):
|
|||
nodes=nodes)
|
||||
return self.connection.put_request(uri, {})
|
||||
|
||||
def deploy_nodes(self, environment_id, node_ids, force=False):
|
||||
def deploy_nodes(self, environment_id, node_ids, force=False,
|
||||
noop_run=False):
|
||||
"""Deploy specified nodes for the specified environment."""
|
||||
|
||||
nodes = ','.join(str(i) for i in node_ids)
|
||||
uri = self.deploy_nodes_url.format(env_id=environment_id,
|
||||
nodes=nodes, force=int(force))
|
||||
uri = self.deploy_nodes_url.format(env_id=environment_id, nodes=nodes,
|
||||
force=int(force),
|
||||
noop_run=int(noop_run))
|
||||
return self.connection.put_request(uri, {})
|
||||
|
||||
def redeploy_changes(self, environment_id, dry_run=False, noop_run=False):
|
||||
|
|
Loading…
Reference in New Issue