392 |
392 |
personality=self['personality']) for i in range(size)]
|
393 |
393 |
if size == 1:
|
394 |
394 |
return [self.client.create_server(**servers[0])]
|
395 |
|
return self.client.async_run(self.client.create_server, servers)
|
|
395 |
try:
|
|
396 |
return self.client.async_run(self.client.create_server, servers)
|
|
397 |
except Exception as e:
|
|
398 |
if size == 1:
|
|
399 |
raise e
|
|
400 |
try:
|
|
401 |
requested_names = [s['name'] for s in servers]
|
|
402 |
spawned_servers = [dict(
|
|
403 |
name=s['name'],
|
|
404 |
id=s['id']) for s in self.client.list_servers() if (
|
|
405 |
s['name'] in requested_names)]
|
|
406 |
self.error('Failed to build %s servers' % size)
|
|
407 |
self.error('Found %s servers with a "%s" prefix:' % (
|
|
408 |
len(spawned_servers), prefix))
|
|
409 |
self._print(spawned_servers, out=self._err)
|
|
410 |
self.error('Check if any of these servers should be removed\n')
|
|
411 |
except Exception as ne:
|
|
412 |
self.error('Error (%s) while notifying about errors' % ne)
|
|
413 |
finally:
|
|
414 |
raise e
|
396 |
415 |
|
397 |
416 |
@errors.generic.all
|
398 |
417 |
@errors.cyclades.connection
|
... | ... | |
401 |
420 |
def _run(self, name, flavor_id, image_id):
|
402 |
421 |
for r in self._create_cluster(
|
403 |
422 |
name, flavor_id, image_id, size=self['cluster_size'] or 1):
|
404 |
|
print 'HEY I GOT A', r
|
405 |
|
print 'MKEY?????????????????'
|
406 |
|
usernames = self._uuids2usernames([r['user_id'], r['tenant_id']])
|
|
423 |
if not r:
|
|
424 |
self.error('Create %s: server response was %s' % (name, r))
|
|
425 |
continue
|
|
426 |
usernames = self._uuids2usernames(
|
|
427 |
[r['user_id'], r['tenant_id']])
|
407 |
428 |
r['user_id'] += ' (%s)' % usernames[r['user_id']]
|
408 |
429 |
r['tenant_id'] += ' (%s)' % usernames[r['tenant_id']]
|
409 |
430 |
self._print(r, self.print_dict)
|
410 |
431 |
if self['wait']:
|
411 |
432 |
self._wait(r['id'], r['status'])
|
412 |
|
self.error('')
|
|
433 |
self.writeln('')
|
413 |
434 |
|
414 |
435 |
def main(self, name, flavor_id, image_id):
|
415 |
436 |
super(self.__class__, self)._run()
|