예제 #1
0
    def create_network(self, context, network):
        new_network = super(LinuxBridgePluginV2, self).create_network(context,
                                                                      network)
        try:
            vlan_id = cdb.reserve_vlanid()
            cdb.add_vlan_binding(vlan_id, new_network['id'])
        except:
            super(LinuxBridgePluginV2, self).delete_network(context,
                                                            new_network['id'])
            raise

        return new_network
예제 #2
0
 def create_network(self, tenant_id, net_name, **kwargs):
     """
     Creates a new Virtual Network, and assigns it
     a symbolic name.
     """
     LOG.debug("LinuxBridgePlugin.create_network() called")
     new_network = db.network_create(tenant_id, net_name,
                                     op_status=OperationalStatus.UP)
     new_net_id = new_network[const.UUID]
     vlan_id = self._get_vlan_for_tenant(tenant_id)
     cdb.add_vlan_binding(vlan_id, new_net_id)
     new_net_dict = {const.NET_ID: new_net_id,
                     const.NET_NAME: net_name,
                     const.NET_PORTS: [],
                     const.NET_OP_STATUS: new_network[const.OPSTATUS]}
     return new_net_dict
예제 #3
0
    def create_network(self, context, network):
        net = super(LinuxBridgePluginV2, self).create_network(context, network)
        try:
            vlan_id = network["network"].get("provider:vlan_id")
            if vlan_id not in (None, attributes.ATTR_NOT_SPECIFIED):
                self._enforce_provider_set_auth(context, net)
                cdb.reserve_specific_vlanid(int(vlan_id))
            else:
                vlan_id = cdb.reserve_vlanid()
            cdb.add_vlan_binding(vlan_id, net["id"])
            self._extend_network_dict(context, net)
        except:
            super(LinuxBridgePluginV2, self).delete_network(context, net["id"])
            raise

        return net
예제 #4
0
 def create_network(self, tenant_id, net_name, **kwargs):
     """
     Creates a new Virtual Network, and assigns it
     a symbolic name.
     """
     LOG.debug("LinuxBridgePlugin.create_network() called")
     new_network = db.network_create(tenant_id,
                                     net_name,
                                     op_status=OperationalStatus.UP)
     new_net_id = new_network[const.UUID]
     vlan_id = self._get_vlan_for_tenant(tenant_id)
     cdb.add_vlan_binding(vlan_id, new_net_id)
     new_net_dict = {
         const.NET_ID: new_net_id,
         const.NET_NAME: net_name,
         const.NET_PORTS: [],
         const.NET_OP_STATUS: new_network[const.OPSTATUS],
     }
     return new_net_dict
예제 #5
0
 def create_vlan_binding(self, vlan_id, network_id):
     """Create a vlan binding"""
     vlan_dict = {}
     try:
         res = l2network_db.add_vlan_binding(vlan_id, network_id)
         LOG.debug("Created vlan binding for vlan: %s" % res.vlan_id)
         vlan_dict["vlan-id"] = str(res.vlan_id)
         vlan_dict["net-id"] = str(res.network_id)
         return vlan_dict
     except Exception, exc:
         LOG.error("Failed to create vlan binding: %s" % str(exc))
예제 #6
0
 def create_vlan_binding(self, vlan_id, network_id):
     """Create a vlan binding"""
     vlan_dict = {}
     try:
         res = l2network_db.add_vlan_binding(vlan_id, network_id)
         LOG.debug("Created vlan binding for vlan: %s" % res.vlan_id)
         vlan_dict["vlan-id"] = str(res.vlan_id)
         vlan_dict["net-id"] = str(res.network_id)
         return vlan_dict
     except Exception, exc:
         LOG.error("Failed to create vlan binding: %s" % str(exc))