Example #1
0
 def delete_network(self, context, network_id):
     v = self.get_network(context,network_id)
     self.networkdb.delete_network(context, network_id)
     v.update({'operation' : 'delete'})
     delta={}
     delta.update({'network_delta':v})
     networkdelta = self.cnsdelta.create_network_delta(context,delta)
     fanoutmsg = {}
     fanoutmsg.update({'method':'delete_virtual_network','payload':networkdelta})
     delta={}
     version = networkdelta['version_id']
     delta[version] = fanoutmsg
     self.send_fanout(context,'call_consumer',delta)
Example #2
0
 def delete_port(self, context, port_id):
     v = self.get_port(context, port_id)
     self.networkdb.delete_port(context, port_id)
     v.update({'operation' : 'delete'})
     delta={}
     delta.update({'port_delta':v})
     portdelta = self.cnsdelta.create_port_delta(context,delta)
     fanoutmsg = {}
     fanoutmsg.update({'method':'delete_port','payload':portdelta})
     delta={}
     version = portdelta['version_id']
     delta[version] = fanoutmsg
     self.send_fanout(context,'call_consumer',delta)
Example #3
0
File: nova.py Project: Open-SFC/cns
 def delete_instance(self, context, instance_id):
     v = self.get_instance(context, instance_id)
     self.novadb.delete_instance(context, instance_id)
     v.update({'operation' : 'delete'})
     delta={}
     delta.update({'instance_delta':v})
     instancedelta = self.cnsdelta.create_instance_delta(context,delta)
     fanoutmsg = {}
     fanoutmsg.update({'method':'delete_instance','payload':instancedelta})
     delta={}
     version = instancedelta['version_id']
     delta[version] = fanoutmsg
     self.send_fanout(context,'call_consumer',delta)
Example #4
0
 def update_subnet(self, context, subnet_id, subnet):
     v = self.networkdb.update_subnet(context, subnet_id, subnet)
     data = v
     v.update({'operation' : 'update'})
     delta={}
     delta.update({'subnet_delta':v})
     subnetdelta = self.cnsdelta.create_subnet_delta(context,delta)
     fanoutmsg = {}
     fanoutmsg.update({'method':'update_subnet','payload':subnetdelta})
     delta={}
     version = subnetdelta['version_id']
     delta[version] = fanoutmsg
     self.send_fanout(context,'call_consumer',delta)
     return data
Example #5
0
File: nova.py Project: Open-SFC/cns
 def create_compute(self, context, compute):
     v = self.novadb.create_compute(context, compute)
     data = v
     v.update({'operation' : 'create'})
     delta={}
     delta.update({'compute_delta':v})
     datapathdelta = self.cnsdelta.create_compute_delta(context,delta)
     fanoutmsg = {}
     fanoutmsg.update({'method':'create_datapath','payload':datapathdelta})
     delta={}
     version = datapathdelta['version_id']
     delta[version] = fanoutmsg
     self.send_fanout(context,'call_consumer',delta)
     return data
Example #6
0
 def create_port(self, context, port):
     time.sleep(2)
     v = self.networkdb.create_port(context, port)
     data = v
     v.update({'operation' : 'create'})
     delta={}
     delta.update({'port_delta':v})
     portdelta = self.cnsdelta.create_port_delta(context,delta)
     fanoutmsg = {}
     fanoutmsg.update({'method':'create_port','payload':portdelta})
     delta={}
     version = portdelta['version_id']
     delta[version] = fanoutmsg
     self.send_fanout(context,'call_consumer',delta)
     
     return data
Example #7
0
File: nova.py Project: Open-SFC/cns
    def create_nwport(self, context, nwport):
        utils = CertificateAuthority()
        
        network_type = nwport['nwport']['network_type']
        name = nwport['nwport']['name']
        integration_bridge = nwport['nwport']['bridge']
        ovs_port = nwport['nwport']['ovs_port']
        ip_address = nwport['nwport']['ip_address']
        data_ip = nwport['nwport']['data_ip']
        vxlan_udp_port = nwport['nwport']['vxlan_udpport']

        filters={}
        filters['ip_address'] = [ip_address]
        filters['data_ip'] = [data_ip]
        nwports = self.get_nwports(context,filters=filters)
        co_nwports = len(nwports)
        #LOG.debug(_("Count of flows [%s]"), co_nwports)
        if co_nwports == 0:
            if data_ip != '0':
                vsctl_cmd = "ovs-vsctl --db=tcp:"+ip_address+":"+ovs_port+" --may-exist add-port "+integration_bridge+" "+name+" -- set Interface "+name+" type="+network_type+" options:key=flow options:remote_ip="+data_ip+" options:dst_port="+vxlan_udp_port
                #LOG.debug(_("Executing command [%s]"), vsctl_cmd)
                utils.execute_command(vsctl_cmd)
            elif data_ip == '0':
                vsctl_cmd = "ovs-vsctl --db=tcp:"+ip_address+":"+ovs_port+" --may-exist add-port "+integration_bridge+" "+name+" -- set Interface "+name+" type="+network_type+" options:remote_ip=flow options:key=flow options:dst_port="+vxlan_udp_port
                #LOG.debug(_("Executing command [%s]"), vsctl_cmd)
                utils.execute_command(vsctl_cmd)
            v = self.novadb.create_nwport(context, nwport)
            data = v
            
            v.update({'operation' : 'create'})
            delta={}
            delta.update({'nwport_delta':v})
            portdelta = self.cnsdelta.create_nwport_delta(context,delta)
            fanoutmsg = {}
            fanoutmsg.update({'method':'create_nwport','payload':portdelta})
            delta={}
            version = portdelta['version_id']
            delta[version] = fanoutmsg
            self.send_fanout(context,'call_consumer',delta)
            
            return data
Example #8
0
 def create_network(self, context, network):
     segments = network['network']['segments']
     if segments:
         network_type = segments[0]['network_type']
         physical_network = segments[0]['physical_network']
         segmentation_id = segments[0]['segmentation_id']
         network['network']['network_type'] = network_type
         network['network']['physical_network'] = physical_network
         network['network']['segmentation_id'] = segmentation_id
         network['network']['segments'] = ''
     v = self.networkdb.create_network(context, network)
     data = v
     v.update({'operation' : 'create'})
     delta={}
     delta.update({'network_delta':v})
     networkdelta = self.cnsdelta.create_network_delta(context,delta)
     fanoutmsg = {}
     fanoutmsg.update({'method':'create_virtual_network','payload':networkdelta})
     delta={}
     version = networkdelta['version_id']
     delta[version] = fanoutmsg
     self.send_fanout(context,'call_consumer',delta)
     return data