Merge tasks end with hosts and virtual_ip in gd
To get connectivity from computes and cinders for firewall tasks change task list for the first step from end with host to end with virtial_ips for controller in neutron_gre Change-Id: I57f143697a91692bae1717e94a9dd9cd8483845f Closes-Bug: #1446138
This commit is contained in:
parent
4997b0e2bf
commit
573ab2e765
|
@ -171,6 +171,8 @@ def get_current_env(args):
|
|||
return args[0]
|
||||
elif args[0].__class__.__name__ == "FuelWebClient":
|
||||
return args[0].environment
|
||||
elif args[0].__class__.__name__ == "NeutronGre":
|
||||
return args[0].env
|
||||
else:
|
||||
logger.warning("Unexpected class!")
|
||||
|
||||
|
|
|
@ -43,7 +43,6 @@ class NeutronGre(TestBasic):
|
|||
return [task['test_post'] for task in tasks
|
||||
if task['id'] == task_name and 'test_post' in task]
|
||||
|
||||
@upload_manifests
|
||||
def check_run_by_group(self, snapshot_name, expected_group):
|
||||
test_group = sys.argv[-1]
|
||||
try:
|
||||
|
@ -71,6 +70,10 @@ class NeutronGre(TestBasic):
|
|||
node_id=str(node_ids).strip('[]'))
|
||||
self.fuel_web.assert_task_success(task=task_sync)
|
||||
|
||||
@upload_manifests
|
||||
def get_cluster_id(self):
|
||||
return self.fuel_web.get_last_created_cluster()
|
||||
|
||||
@test(depends_on=[SetupEnvironment.prepare_slaves_3])
|
||||
@log_snapshot_on_error
|
||||
def step_1_create_3_node_cluster_and_provision_nodes(self):
|
||||
|
@ -117,10 +120,10 @@ class NeutronGre(TestBasic):
|
|||
self.env.make_snapshot('step_1_create_3_node_cluster')
|
||||
|
||||
@test(depends_on=[step_1_create_3_node_cluster_and_provision_nodes],
|
||||
groups=['run_tasks_end_with_host'])
|
||||
groups=['run_tasks_end_with_vips'])
|
||||
@log_snapshot_on_error
|
||||
def run_tasks_end_with_hosts(self):
|
||||
"""Run tasks end with hosts all nodes of the cluster.
|
||||
def run_tasks_end_with_vips(self):
|
||||
"""Run tasks end with vips.
|
||||
Depends:
|
||||
"step_1_create_3_node_cluster"
|
||||
|
||||
|
@ -128,24 +131,22 @@ class NeutronGre(TestBasic):
|
|||
1. Revert snapshot "step 1 create_3_node_cluster_provision"
|
||||
2. Get cluster id
|
||||
3. Get cluster task list
|
||||
4. Execute tasks ended with host on all nodes
|
||||
5. Assert task hiera
|
||||
6. Assert task globals
|
||||
7. Assert task tools
|
||||
8. Assert task logging
|
||||
9. Assert task netconfig
|
||||
10. Assert task firewall and hosts
|
||||
11. Create snapshot
|
||||
4. Execute tasks ended with vips on controller
|
||||
5. Execute tasks ended with host on other nodes
|
||||
6. Assert tasks completions
|
||||
7. Create snapshot
|
||||
|
||||
Snapshot: "run_tasks_end_with_hosts"
|
||||
Snapshot: "run_tasks_end_with_vips"
|
||||
"""
|
||||
self.check_run_by_group('run_tasks_end_with_hosts',
|
||||
'run_tasks_end_with_host')
|
||||
self.check_run_by_group('run_tasks_end_with_vips',
|
||||
'run_tasks_end_with_vips')
|
||||
self.env.revert_snapshot("step_1_create_3_node_cluster")
|
||||
|
||||
cluster_id = self.fuel_web.get_last_created_cluster()
|
||||
cluster_id = self.get_cluster_id()
|
||||
|
||||
# get task list:
|
||||
task_controller = self.fuel_web.client.get_end_deployment_tasks(
|
||||
cluster_id, end='virtual_ips')
|
||||
|
||||
tasks = self.fuel_web.client.get_end_deployment_tasks(
|
||||
cluster_id, end='hosts')
|
||||
|
@ -154,27 +155,37 @@ class NeutronGre(TestBasic):
|
|||
|
||||
data = [task['id'] for task in tasks]
|
||||
|
||||
for t in ['hiera', 'globals', 'netconfig', 'hosts']:
|
||||
assert_true(t in data,
|
||||
message='Can not find task {0}'
|
||||
' in task list {1}'.format(t, data))
|
||||
controller_id = [n['id'] for n in
|
||||
self.fuel_web.client.list_cluster_nodes(cluster_id)
|
||||
if 'controller' in n['roles']]
|
||||
|
||||
nodes_ids = [n['id'] for n in
|
||||
self.fuel_web.client.list_cluster_nodes(cluster_id)]
|
||||
computes_ids = [n['id'] for n in
|
||||
self.fuel_web.client.list_cluster_nodes(cluster_id)
|
||||
if 'controller' not in n['roles']]
|
||||
|
||||
c_task = self.fuel_web.client.put_deployment_tasks_for_cluster(
|
||||
cluster_id, data=[task['id'] for task in task_controller],
|
||||
node_id=str(controller_id).strip('[]'))
|
||||
|
||||
self.fuel_web.assert_task_success(c_task)
|
||||
|
||||
task = self.fuel_web.client.put_deployment_tasks_for_cluster(
|
||||
cluster_id, data=data, node_id=str(nodes_ids).strip('[]'))
|
||||
cluster_id, data=data, node_id=str(computes_ids).strip('[]'))
|
||||
|
||||
logger.debug('task info is {0}'.format(task))
|
||||
self.fuel_web.assert_task_success(task)
|
||||
|
||||
nodes_ids = [n['id'] for n in
|
||||
self.fuel_web.client.list_cluster_nodes(cluster_id)]
|
||||
|
||||
task_tools = self.fuel_web.client.put_deployment_tasks_for_cluster(
|
||||
cluster_id, data=['tools'], node_id=str(nodes_ids).strip('[]'))
|
||||
|
||||
self.fuel_web.assert_task_success(task_tools)
|
||||
|
||||
task_firewall = self.fuel_web.client.put_deployment_tasks_for_cluster(
|
||||
cluster_id, data=['firewall'], node_id=str(nodes_ids).strip('[]'))
|
||||
cluster_id, data=['firewall'],
|
||||
node_id=str(nodes_ids).strip('[]'))
|
||||
|
||||
self.fuel_web.assert_task_success(task_firewall)
|
||||
|
||||
|
@ -199,7 +210,7 @@ class NeutronGre(TestBasic):
|
|||
path=self.get_post_test(tasks, 'globals')[0]['cmd'])
|
||||
for node in nodes]
|
||||
|
||||
# check netcondfig
|
||||
# check netconfig
|
||||
|
||||
if self.get_post_test(tasks, 'netconfig'):
|
||||
[gd.run_check_from_task(
|
||||
|
@ -231,112 +242,16 @@ class NeutronGre(TestBasic):
|
|||
path=self.get_post_test(all_tasks, 'tools')[0]['cmd'])
|
||||
for node in nodes]
|
||||
|
||||
self.env.make_snapshot('run_tasks_end_with_hosts')
|
||||
# check cluster on controller
|
||||
|
||||
@test(depends_on=[run_tasks_end_with_hosts],
|
||||
groups=['cluster_controller'])
|
||||
@log_snapshot_on_error
|
||||
def step_3_run_cluster_controller(self):
|
||||
"""Execute cluster task on controller, create snapshot
|
||||
Depends:
|
||||
"run_tasks_end_with_hosts"
|
||||
post_cluster = self.get_post_test(all_tasks, 'cluster')
|
||||
|
||||
Scenario:
|
||||
1. Revert snapshot "run_tasks_end_with_hosts"
|
||||
2. Get cluster id
|
||||
4. Execute cluster task on controller
|
||||
5. Verify that task was finished with success.
|
||||
6. Assert task execution
|
||||
7. Create snapshot
|
||||
|
||||
Snapshot: "step_3_run_cluster_controller"
|
||||
"""
|
||||
self.check_run_by_group('step_3_run_cluster_controller',
|
||||
'cluster_controller')
|
||||
|
||||
self.env.revert_snapshot("run_tasks_end_with_hosts")
|
||||
cluster_id = self.fuel_web.get_last_created_cluster()
|
||||
controller_id = [
|
||||
n['id'] for n in
|
||||
self.fuel_web.client.list_cluster_nodes(cluster_id)
|
||||
if 'controller' in n['roles']]
|
||||
|
||||
self.sync_manifest_to_the_slaves(
|
||||
cluster_id=cluster_id,
|
||||
node_ids=controller_id)
|
||||
|
||||
tasks = self.fuel_web.client.get_end_deployment_tasks(
|
||||
cluster_id, end='cluster')
|
||||
|
||||
pre_cluster = self.get_pre_test(tasks, 'cluster')
|
||||
post_cluster = self.get_post_test(tasks, 'cluster')
|
||||
if pre_cluster:
|
||||
[gd.run_check_from_task(
|
||||
remote=self.fuel_web.get_ssh_for_node(node),
|
||||
path=pre_cluster[0]['cmd'])
|
||||
for node in ['slave-01']]
|
||||
|
||||
res = self.fuel_web.client.put_deployment_tasks_for_cluster(
|
||||
cluster_id, data=['cluster'],
|
||||
node_id='{0}'.format(controller_id[0]))
|
||||
|
||||
self.fuel_web.assert_task_success(task=res)
|
||||
if post_cluster:
|
||||
[gd.run_check_from_task(
|
||||
remote=self.fuel_web.get_ssh_for_node(node),
|
||||
path=post_cluster[0]['cmd'])
|
||||
for node in ['slave-01']]
|
||||
self.env.make_snapshot("step_3_run_cluster_controller")
|
||||
|
||||
@test(depends_on=[step_3_run_cluster_controller],
|
||||
groups=['virtual_ips_controller'])
|
||||
@log_snapshot_on_error
|
||||
def step_4_run_virtual_ips_controller(self):
|
||||
"""Execute virtual_ips task on controller, create snapshot
|
||||
Depends:
|
||||
"step_3_run_cluster_controller"
|
||||
|
||||
Scenario:
|
||||
1. Revert snapshot "step_3_run_cluster_controller"
|
||||
2. Get cluster id
|
||||
4. Execute virtual ips task on controller
|
||||
5. Verify that task was finished with success.
|
||||
6. Assert task execution
|
||||
7. Create snapshot
|
||||
|
||||
Snapshot: "step_4_run_virtual_ips_controller"
|
||||
"""
|
||||
self.check_run_by_group('step_4_run_virtual_ips_controller',
|
||||
'virtual_ips_controller')
|
||||
|
||||
self.env.revert_snapshot("step_3_run_cluster_controller")
|
||||
cluster_id = self.fuel_web.get_last_created_cluster()
|
||||
controller_id = [
|
||||
n['id'] for n in
|
||||
self.fuel_web.client.list_cluster_nodes(cluster_id)
|
||||
if 'controller' in n['roles']]
|
||||
|
||||
self.sync_manifest_to_the_slaves(
|
||||
cluster_id=cluster_id,
|
||||
node_ids=controller_id)
|
||||
|
||||
tasks = self.fuel_web.client.get_end_deployment_tasks(
|
||||
cluster_id, end='virtual_ips')
|
||||
|
||||
pre_virtual_ips = self.get_pre_test(tasks, 'virtual_ips')
|
||||
post_virtual_ips = self.get_post_test(tasks, 'virtual_ips')
|
||||
if pre_virtual_ips:
|
||||
[gd.run_check_from_task(
|
||||
remote=self.fuel_web.get_ssh_for_node(node),
|
||||
path=pre_virtual_ips[0]['cmd'])
|
||||
for node in ['slave-01']]
|
||||
|
||||
res = self.fuel_web.client.put_deployment_tasks_for_cluster(
|
||||
cluster_id, data=['virtual_ips'],
|
||||
node_id='{0}'.format(controller_id[0]))
|
||||
|
||||
self.fuel_web.assert_task_success(task=res)
|
||||
|
||||
if post_virtual_ips:
|
||||
try:
|
||||
gd.run_check_from_task(
|
||||
|
@ -349,18 +264,18 @@ class NeutronGre(TestBasic):
|
|||
remote=self.fuel_web.get_ssh_for_node('slave-01'),
|
||||
path=post_virtual_ips[0]['cmd'])
|
||||
|
||||
self.env.make_snapshot("step_4_run_virtual_ips_controller")
|
||||
self.env.make_snapshot("run_tasks_end_with_vips")
|
||||
|
||||
@test(depends_on=[step_4_run_virtual_ips_controller],
|
||||
@test(depends_on=[run_tasks_end_with_vips],
|
||||
groups=['cluster_haproxy_controller'])
|
||||
@log_snapshot_on_error
|
||||
def step_5_run_cluster_haproxy_controller(self):
|
||||
"""Execute cluster-haproxy task on controller, create snapshot
|
||||
Depends:
|
||||
"Step 4 run virtual_ips"
|
||||
"run_virtual_ips_controller"
|
||||
|
||||
Scenario:
|
||||
1. Revert snapshot "step 4 run virtual ips controller"
|
||||
1. Revert snapshot "run_virtual_ips_controller"
|
||||
2. Get cluster id
|
||||
4. Execute cluster-haproxy task on controller
|
||||
5. Verify that task was finished with success.
|
||||
|
@ -371,8 +286,8 @@ class NeutronGre(TestBasic):
|
|||
"""
|
||||
self.check_run_by_group('step_5_run_cluster_haproxy_controller',
|
||||
'cluster_haproxy_controller')
|
||||
self.env.revert_snapshot("step_4_run_virtual_ips_controller")
|
||||
cluster_id = self.fuel_web.get_last_created_cluster()
|
||||
self.env.revert_snapshot("run_tasks_end_with_vips")
|
||||
cluster_id = self.get_cluster_id()
|
||||
controller_id = [
|
||||
n['id'] for n in
|
||||
self.fuel_web.client.list_cluster_nodes(cluster_id)
|
||||
|
@ -428,7 +343,7 @@ class NeutronGre(TestBasic):
|
|||
self.check_run_by_group('step_6_run_openstack_haproxy_controller',
|
||||
'openstack_haproxy_controller')
|
||||
self.env.revert_snapshot("step_5_run_cluster_haproxy_controller")
|
||||
cluster_id = self.fuel_web.get_last_created_cluster()
|
||||
cluster_id = self.get_cluster_id()
|
||||
controller_id = [
|
||||
n['id'] for n in
|
||||
self.fuel_web.client.list_cluster_nodes(cluster_id)
|
||||
|
@ -509,7 +424,7 @@ class NeutronGre(TestBasic):
|
|||
'openstack_controller')
|
||||
self.env.revert_snapshot("step_6_run_openstack_haproxy_controller")
|
||||
|
||||
cluster_id = self.fuel_web.get_last_created_cluster()
|
||||
cluster_id = self.get_cluster_id()
|
||||
controller_id = [
|
||||
n['id'] for n in
|
||||
self.fuel_web.client.list_cluster_nodes(cluster_id)
|
||||
|
@ -565,7 +480,7 @@ class NeutronGre(TestBasic):
|
|||
self.check_run_by_group('step_8_run_controller_remaining_tasks',
|
||||
'controller_remaining_tasks')
|
||||
self.env.revert_snapshot("step_7_run_openstack_controller")
|
||||
cluster_id = self.fuel_web.get_last_created_cluster()
|
||||
cluster_id = self.get_cluster_id()
|
||||
controller_id = [
|
||||
n['id'] for n in
|
||||
self.fuel_web.client.list_cluster_nodes(cluster_id)
|
||||
|
@ -648,7 +563,7 @@ class NeutronGre(TestBasic):
|
|||
'top_role_compute')
|
||||
|
||||
self.env.revert_snapshot("step_8_run_controller_remaining_tasks")
|
||||
cluster_id = self.fuel_web.get_last_created_cluster()
|
||||
cluster_id = self.get_cluster_id()
|
||||
compute_ids = [
|
||||
n['id'] for n in
|
||||
self.fuel_web.client.list_cluster_nodes(cluster_id)
|
||||
|
@ -726,7 +641,7 @@ class NeutronGre(TestBasic):
|
|||
'top_role_cinder')
|
||||
|
||||
self.env.revert_snapshot('step_9_run_top_role_compute')
|
||||
cluster_id = self.fuel_web.get_last_created_cluster()
|
||||
cluster_id = self.get_cluster_id()
|
||||
cinder_ids = [
|
||||
n['id'] for n in
|
||||
self.fuel_web.client.list_cluster_nodes(cluster_id)
|
||||
|
@ -759,32 +674,11 @@ class NeutronGre(TestBasic):
|
|||
path=post_top_cinder[0]['cmd'])
|
||||
for node in ['slave-02', 'slave-03']]
|
||||
|
||||
self.env.make_snapshot("step_10_run_top_role_cinder")
|
||||
|
||||
@test(depends_on=[step_10_run_top_role_cinder],
|
||||
groups=['post_deployment'])
|
||||
@log_snapshot_on_error
|
||||
def step_11_run_post_deployment(self):
|
||||
"""Execute post_deployment tasks on all nodes
|
||||
Depends:
|
||||
"Step 10 run top-role-cinder
|
||||
|
||||
Scenario:
|
||||
1. Revert snapshot "step_10_run_top_role_cinder"
|
||||
2. Get cluster id
|
||||
3. Execute post_deployment tasks
|
||||
4. Verify that task was finished with success.
|
||||
5. Run ostf
|
||||
"""
|
||||
self.check_run_by_group('step_11_run_post_deployment',
|
||||
'post_deployment')
|
||||
|
||||
self.env.revert_snapshot("step_10_run_top_role_cinder")
|
||||
cluster_id = self.fuel_web.get_last_created_cluster()
|
||||
|
||||
# Run post_deployment
|
||||
tasks = self.fuel_web.client.get_end_deployment_tasks(
|
||||
cluster_id, start='post_deployment_start',
|
||||
end='post_deployment_end')
|
||||
|
||||
data = [task['id'] for task in tasks]
|
||||
nodes_ids = [n['id'] for n in
|
||||
self.fuel_web.client.list_cluster_nodes(cluster_id)]
|
||||
|
@ -792,17 +686,13 @@ class NeutronGre(TestBasic):
|
|||
cluster_id=cluster_id,
|
||||
node_ids=nodes_ids)
|
||||
|
||||
contr_ids = [n['id'] for n in
|
||||
self.fuel_web.client.list_cluster_nodes(cluster_id)
|
||||
if 'controller' in n['roles']]
|
||||
|
||||
res = self.fuel_web.client.put_deployment_tasks_for_cluster(
|
||||
cluster_id, data=data,
|
||||
node_id=str(contr_ids).strip('[]'))
|
||||
node_id=str(nodes_ids).strip('[]'))
|
||||
logger.debug('res info is {0}'.format(res))
|
||||
|
||||
self.fuel_web.assert_task_success(task=res)
|
||||
time.sleep(100)
|
||||
self.fuel_web.run_ostf(cluster_id=cluster_id)
|
||||
|
||||
self.env.make_snapshot("step_11_run_post_deployment")
|
||||
self.env.make_snapshot("step_10_run_top_role_cinder")
|
||||
|
|
Loading…
Reference in New Issue