Fix getting first/second ctrls in the test 'ha_neutron_destructive'

- use the list of non-primary devops nodes instead of getting
  controllers inside the loop;
- use self.show_step() for monitor steps position in logs

Change-Id: I9d81cf9479a862f167059580f2e6a8431835e48e
Closes-Bug:#1509286
This commit is contained in:
Dennis Dmitriev 2015-10-23 15:02:00 +03:00
parent 6379e5dc56
commit c83e2a7d02
2 changed files with 25 additions and 18 deletions

View File

@ -51,13 +51,14 @@ class TestHaNeutronFailover(TestHaFailoverBase):
"""Destroy two controllers and check pacemaker status is correct
Scenario:
1. Destroy first controller
2. Check pacemaker status
3. Run OSTF
4. Revert environment
5. Destroy second controller
6. Check pacemaker status
7. Run OSTF
1. Revert environment
2. Destroy first controller
3. Check pacemaker status
4. Run OSTF
5. Revert environment
6. Destroy second controller
7. Check pacemaker status
8. Run OSTF
Duration 35m
"""

View File

@ -142,29 +142,34 @@ class TestHaFailoverBase(TestBasic):
return ret
controllers = []
for num in xrange(2):
# STEP: Revert environment
# if num==0: show_step(1); if num==1: show_step(5)
self.show_step([1, 5][num])
self.env.revert_snapshot(self.snapshot_name)
cluster_id = self.fuel_web.client.get_cluster_id(
self.__class__.__name__)
controllers = list(get_needed_controllers(cluster_id))
if not controllers:
controllers = get_needed_controllers(cluster_id)
devops_node = self.fuel_web.get_devops_node_by_nailgun_node(
controllers.pop(0))
# STEP: Destroy first/second controller
devops_node = controllers[num]
# if num==0: show_step(2); if num==1: show_step(6)
self.show_step([2, 6][num], details="Suspending node: "
"{0}".format(devops_node.name))
devops_node.suspend(False)
# STEP: Check pacemaker status
self.show_step([3, 7][num])
n_ctrls = self.fuel_web.get_nailgun_cluster_nodes_by_roles(
cluster_id=cluster_id,
roles=['controller'])
d_ctrls = self.fuel_web.get_devops_nodes_by_nailgun_nodes(n_ctrls)
self.fuel_web.assert_pacemaker(
(set(d_ctrls) - set(devops_node))[0].name,
set(d_ctrls) - set(devops_node),
(set(d_ctrls) - set([devops_node])).pop().name,
set(d_ctrls) - set([devops_node]),
[devops_node])
# Wait until Nailgun marked suspended controller as offline
@ -184,10 +189,11 @@ class TestHaFailoverBase(TestBasic):
# Wait until MySQL Galera is UP on online controllers
self.fuel_web.wait_mysql_galera_is_up(
[n.name for n in
set(d_ctrls) - set(devops_node)],
[n.name for n in set(d_ctrls) - set([devops_node])],
timeout=300)
# STEP: Run OSTF
self.show_step([4, 8][num])
self.fuel_web.run_ostf(
cluster_id=cluster_id,
test_sets=['ha', 'smoke', 'sanity'],