def check_active(self, instances):
if instances:
- check_active = lambda i: i.check_active(override=False)
+ check_active = lambda i: i.check_active(i._create_data,
+ override=False)
remaining = itertools.dropwhile(check_active, instances)
instances[:] = list(remaining)
if not instances:
won't wait for it in create().
'''
if override:
+ self._create_data = create_data
return True
return super(GroupedInstance, self).check_active(create_data)
super(Instance, self).__init__(name, json_snippet, stack)
self.ipaddress = None
self.mime_string = None
- self._server_status = None
def _set_ipaddress(self, networks):
'''
if server is not None:
self.resource_id_set(server.id)
- self._server_status = server.status
+ return server
- def check_active(self, create_data=None):
- if self._server_status == 'ACTIVE':
+ def check_active(self, server):
+ if server.status == 'ACTIVE':
return True
- server = self.nova().servers.get(self.resource_id)
- self._server_status = server.status
+ server.get()
if server.status == 'BUILD':
return False
if server.status == 'ACTIVE':
self.m.StubOutWithMock(instance.Instance, 'handle_create')
self.m.StubOutWithMock(instance.Instance, 'check_active')
+ cookie = object()
for x in range(num):
- instance.Instance.handle_create().AndReturn(None)
- instance.Instance.check_active(None).AndReturn(False)
+ instance.Instance.handle_create().AndReturn(cookie)
+ instance.Instance.check_active(cookie).AndReturn(False)
eventlet.sleep(mox.IsA(int)).AndReturn(None)
- instance.Instance.check_active(None).MultipleTimes().AndReturn(True)
+ instance.Instance.check_active(cookie).MultipleTimes().AndReturn(True)
def _stub_lb_reload(self, expected_list, unset=True):
if unset:
self.m.StubOutWithMock(instance.Instance, 'handle_create')
self.m.StubOutWithMock(instance.Instance, 'check_active')
+ cookie = object()
for x in range(num):
- instance.Instance.handle_create().AndReturn(None)
- instance.Instance.check_active(None).AndReturn(False)
+ instance.Instance.handle_create().AndReturn(cookie)
+ instance.Instance.check_active(cookie).AndReturn(False)
eventlet.sleep(mox.IsA(int)).AndReturn(None)
- instance.Instance.check_active(None).MultipleTimes().AndReturn(True)
+ instance.Instance.check_active(cookie).MultipleTimes().AndReturn(True)
def create_instance_group(self, t, stack, resource_name):
resource = asc.InstanceGroup(resource_name,
self.m.StubOutWithMock(instance.Instance, 'handle_create')
self.m.StubOutWithMock(instance.Instance, 'check_active')
- instance.Instance.handle_create().AndReturn(None)
- instance.Instance.check_active(None).AndReturn(True)
- instance.Instance.handle_create().AndReturn(None)
- instance.Instance.check_active(None).AndReturn(True)
+ for cookie in (object(), object()):
+ instance.Instance.handle_create().AndReturn(cookie)
+ instance.Instance.check_active(cookie).AndReturn(True)
self.m.StubOutWithMock(instance.Instance, 'FnGetAtt')
return stack
self.m.StubOutWithMock(instance.Instance, 'handle_create')
self.m.StubOutWithMock(instance.Instance, 'check_active')
- instance.Instance.handle_create().AndReturn(None)
- instance.Instance.check_active(None).AndReturn(True)
+ cookie = object()
+ instance.Instance.handle_create().AndReturn(cookie)
+ instance.Instance.check_active(cookie).AndReturn(True)
self.m.StubOutWithMock(wc.WaitConditionHandle, 'keystone')
wc.WaitConditionHandle.keystone().MultipleTimes().AndReturn(self.fc)