~annegentle/nova/extdoc

« back to all changes in this revision

Viewing changes to bin/nova-manage

  • Committer: vladimir.p
  • Date: 2011-08-26 02:18:46 UTC
  • mfrom: (1499 nova)
  • mto: This revision was merged to the branch mainline in revision 1502.
  • Revision ID: vladimir@zadarastorage.com-20110826021846-rrqtmv3ynu3bhg3n
merged with rev.1499

Show diffs side-by-side

added added

removed removed

Lines of Context:
801
801
                               ' before delete' % network.project_id))
802
802
        db.network_delete_safe(context.get_admin_context(), network.id)
803
803
 
 
804
    @args('--network', dest="fixed_range", metavar='<x.x.x.x/yy>',
 
805
            help='Network to modify')
 
806
    @args('--project', dest="project", metavar='<project name>',
 
807
            help='Project name to associate')
 
808
    @args('--host', dest="host", metavar='<host>',
 
809
            help='Host to associate')
 
810
    @args('--disassociate-project', action="store_true", dest='dis_project',
 
811
          default=False, help='Disassociate Network from Project')
 
812
    @args('--disassociate-host', action="store_true", dest='dis_host',
 
813
          default=False, help='Disassociate Host from Project')
 
814
    def modify(self, fixed_range, project=None, host=None,
 
815
               dis_project=None, dis_host=None):
 
816
        """Associate/Disassociate Network with Project and/or Host
 
817
        arguments: network project host
 
818
        leave any field blank to ignore it
 
819
        """
 
820
        admin_context = context.get_admin_context()
 
821
        network = db.network_get_by_cidr(admin_context, fixed_range)
 
822
        net = {}
 
823
        #User can choose the following actions each for project and host.
 
824
        #1) Associate (set not None value given by project/host parameter)
 
825
        #2) Disassociate (set None by disassociate parameter)
 
826
        #3) Keep unchanged (project/host key is not added to 'net')
 
827
        if project:
 
828
            net['project_id'] = project
 
829
        elif dis_project:
 
830
            net['project_id'] = None
 
831
        if host:
 
832
            net['host'] = host
 
833
        elif dis_host:
 
834
            net['host'] = None
 
835
        db.network_update(admin_context, network['id'], net)
 
836
 
804
837
 
805
838
class VmCommands(object):
806
839
    """Class for mangaging VM instances."""