801
801
' before delete' % network.project_id))
802
802
db.network_delete_safe(context.get_admin_context(), network.id)
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
820
admin_context = context.get_admin_context()
821
network = db.network_get_by_cidr(admin_context, fixed_range)
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')
828
net['project_id'] = project
830
net['project_id'] = None
835
db.network_update(admin_context, network['id'], net)
805
838
class VmCommands(object):
806
839
"""Class for mangaging VM instances."""