Revision b6afe2ec kamaki/cli/commands/cyclades.py
b/kamaki/cli/commands/cyclades.py | ||
---|---|---|
474 | 474 |
'If neither --network or --no-network are used, the default ' |
475 | 475 |
'network policy is applied. These policies are set on the cloud, ' |
476 | 476 |
'so kamaki is oblivious to them', |
477 |
'--no-network') |
|
477 |
'--no-network'), |
|
478 |
project=ValueArgument('Assign the server to project', '--project'), |
|
478 | 479 |
) |
479 | 480 |
required = ('server_name', 'flavor_id', 'image_id') |
480 | 481 |
|
481 | 482 |
@errors.cyclades.cluster_size |
482 |
def _create_cluster(self, prefix, flavor_id, image_id, size): |
|
483 |
def _create_cluster(self, prefix, flavor_id, image_id, size, project=None):
|
|
483 | 484 |
networks = self['network_configuration'] or ( |
484 | 485 |
[] if self['no_network'] else None) |
485 | 486 |
servers = [dict( |
486 | 487 |
name='%s%s' % (prefix, i if size > 1 else ''), |
487 | 488 |
flavor_id=flavor_id, |
488 | 489 |
image_id=image_id, |
490 |
project=project, |
|
489 | 491 |
personality=self['personality'], |
490 | 492 |
networks=networks) for i in range(1, 1 + size)] |
491 | 493 |
if size == 1: |
... | ... | |
518 | 520 |
@errors.cyclades.flavor_id |
519 | 521 |
def _run(self, name, flavor_id, image_id): |
520 | 522 |
for r in self._create_cluster( |
521 |
name, flavor_id, image_id, size=self['cluster_size'] or 1): |
|
523 |
name, flavor_id, image_id, size=self['cluster_size'] or 1, |
|
524 |
project=self['project']): |
|
522 | 525 |
if not r: |
523 | 526 |
self.error('Create %s: server response was %s' % (name, r)) |
524 | 527 |
continue |
... | ... | |
657 | 660 |
|
658 | 661 |
|
659 | 662 |
@command(server_cmds) |
663 |
class server_reassign(_init_cyclades, _optional_json): |
|
664 |
"""Assign a VM to a different project |
|
665 |
""" |
|
666 |
|
|
667 |
@errors.generic.all |
|
668 |
@errors.cyclades.connection |
|
669 |
@errors.cyclades.server_id |
|
670 |
def _run(self, server_id, project): |
|
671 |
self.client.reassign_server(server_id, project) |
|
672 |
|
|
673 |
def main(self, server_id, project): |
|
674 |
super(self.__class__, self)._run() |
|
675 |
self._run(server_id=server_id, project=project) |
|
676 |
|
|
677 |
|
|
678 |
@command(server_cmds) |
|
660 | 679 |
class server_delete(_init_cyclades, _optional_output_cmd, _server_wait): |
661 | 680 |
"""Delete a virtual server""" |
662 | 681 |
|
Also available in: Unified diff