Controller active flag fixes
- Detect when iterator needs to be reset
- Reset iterator after changing active flag
- renamed resetActive() to clearActive() to avoid confusion with reset()
Change-Id: Ia5fa8f0827918ac0c912a662de67144267ecadac
diff --git a/TestON/tests/dependencies/Cluster.py b/TestON/tests/dependencies/Cluster.py
index 61c141c..a67bad5 100644
--- a/TestON/tests/dependencies/Cluster.py
+++ b/TestON/tests/dependencies/Cluster.py
@@ -72,12 +72,10 @@
return ips
- def resetActive( self ):
+ def clearActive( self ):
"""
Description:
- reset the activeness of the cluster to be false
- Required:
- Returns:
+ Sets the activeness of each cluster node to be False
"""
for ctrl in self.controllers:
ctrl.active = False
@@ -126,14 +124,16 @@
def next( self ):
"""
- An iterator for the cluster's controllers that
+ An iterator for the cluster's active controllers that
resets when there are no more elements.
Returns the next controller in the cluster
"""
try:
- return self.iterator.next()
- except StopIteration:
+ node = self.iterator.next()
+ assert node.active
+ return node
+ except ( StopIteration, AssertionError ):
self.reset()
try:
return self.iterator.next()