From 9149699efb6de75d9fd300fa216c37224de87652 Mon Sep 17 00:00:00 2001 From: "James E. Blair" Date: Fri, 23 Dec 2011 11:06:17 -0800 Subject: [PATCH] Be more tolerant of temporary unknown states. Change-Id: I0cecf763519fd8187072e64ff998fae704dc200e --- slave_scripts/devstack-vm-launch.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/slave_scripts/devstack-vm-launch.py b/slave_scripts/devstack-vm-launch.py index 06f8f359..a6369ecf 100755 --- a/slave_scripts/devstack-vm-launch.py +++ b/slave_scripts/devstack-vm-launch.py @@ -78,6 +78,7 @@ else: if CLOUD_SERVERS_DRIVER == 'rackspace': last_name = '' + error_counts = {} for i in range(num_to_launch): while True: node_name = 'devstack-%s.slave.openstack.org' % int(time.time()) @@ -125,8 +126,13 @@ if CLOUD_SERVERS_DRIVER == 'rackspace': [NodeState.UNKNOWN, NodeState.REBOOTING, NodeState.TERMINATED]): - print "Node %s is in error %s" % (my_node['id'], - p_node.state) + count = error_counts.get(my_node['id'], 0) + count += 1 + error_counts[my_node['id']] = count + print "Node %s is in error %s (%s/5)" % (my_node['id'], + p_node.state, + count) sys.stdout.flush() - db.setMachineState(my_node['uuid'], vmdatabase.ERROR) + if count >= 5: + db.setMachineState(my_node['uuid'], vmdatabase.ERROR) time.sleep(3)