def get_subnet(self, context, id, fields=None, verbose=None): """ Returns a subnet dictionary containing corres subnet info """ subnet = qdb._get_subnet(context, id) vlan = cdb.get_vlan_binding(subnet['network_id']) subnet['vlan_id'] = vlan return subnet
def get_network(self, context, id, fields=None, verbose=None): """ might be a change in last two statements """ # (harspras) Just return from _networks dict network = qdb._get_network(context, id) vlan = cdb.get_vlan_binding(id) return {const.ID: id, const.NAME: network.name, const.NET_PORTS: network.ports, const.NET_VLAN_NAME: vlan.vlan_name, const.NET_VLAN_ID: vlan.vlan_id}
def _get_network(self, tenant_id, network_id): """ Gets the NETWORK ID """ network = db.network_get(network_id) if not network: raise exc.NetworkNotFound(net_id=network_id) vlan = cdb.get_vlan_binding(network_id) return {const.NET_ID: network_id, const.NET_NAME: network.name, const.NET_PORTS: network.ports, const.NET_VLAN_NAME: vlan.vlan_name, const.NET_VLAN_ID: vlan.vlan_id}
def get_vlan_binding(self, network_id): """Get a vlan binding.""" vlan = [] try: for vlan_bind in l2network_db.get_vlan_binding(network_id): LOG.debug("Getting vlan binding for vlan: %s" % vlan_bind.vlan_id) vlan_dict = {} vlan_dict["vlan-id"] = str(vlan_bind.vlan_id) vlan_dict["vlan-name"] = vlan_bind.vlan_name vlan_dict["net-id"] = str(vlan_bind.network_id) vlan.append(vlan_dict) except Exception, exc: LOG.error("Failed to get vlan binding: %s" % str(exc))
def delete_network(self, tenant_id, net_id, **kwargs): """ Deletes the network with the specified network identifier belonging to the specified tenant. """ LOG.debug("UCSVICPlugin:delete_network() called\n") self._set_ucsm(kwargs[const.DEVICE_IP]) net = db.network_get(net_id) vlan_binding = cdb.get_vlan_binding(net[const.UUID]) vlan_name = vlan_binding[const.VLANNAME] self._driver.delete_vlan(vlan_name, self._ucsm_ip, self._ucsm_username, self._ucsm_password) net_dict = cutil.make_net_dict(net[const.UUID], net[const.NETWORKNAME], []) return net_dict
def get_vlan_binding(self, network_id): """Get a vlan binding""" vlan = [] try: for vlan_bind in l2network_db.get_vlan_binding(network_id): LOG.debug("Getting vlan binding for vlan: %s" % vlan_bind.vlan_id) vlan_dict = {} vlan_dict["vlan-id"] = str(vlan_bind.vlan_id) vlan_dict["vlan-name"] = vlan_bind.vlan_name vlan_dict["net-id"] = str(vlan_bind.network_id) vlan.append(vlan_dict) except Exception, exc: LOG.error("Failed to get vlan binding: %s" % str(exc))
def release_segmentation_id(self, tenant_id, net_id, **kwargs): """Release the ID""" vlan_binding = cdb.get_vlan_binding(net_id) return cdb.release_vlanid(vlan_binding[const.VLANID])
def _get_vlan_id_for_network(self, tenant_id, network_id): """Return the VLAN id as set by the L2 network plugin""" vlan_binding = cdb.get_vlan_binding(network_id) return vlan_binding[const.VLANID]