def test_add_vifinfo(self): interface_id = "interface_add" datapath_id = "datapath_add" port_no = 4 vlan_id = 104 ret = ndb.add_vifinfo(interface_id, datapath_id, port_no) self.assertTrue(ret.interface_id == interface_id) self.assertTrue(ret.datapath_id == datapath_id) self.assertTrue(ret.port_no == port_no) self.assertTrue(ret.vlan_id == 65535) ret = ndb.get_vifinfo(interface_id) self.assertTrue(ret.interface_id == interface_id) self.assertTrue(ret.datapath_id == datapath_id) self.assertTrue(ret.port_no == port_no) self.assertTrue(ret.vlan_id == 65535) ndb.del_vifinfo(interface_id) ret = ndb.add_vifinfo(interface_id, datapath_id, port_no, vlan_id) self.assertTrue(ret.interface_id == interface_id) self.assertTrue(ret.datapath_id == datapath_id) self.assertTrue(ret.port_no == port_no) self.assertTrue(ret.vlan_id == vlan_id) ret = ndb.get_vifinfo(interface_id) self.assertTrue(ret.interface_id == interface_id) self.assertTrue(ret.datapath_id == datapath_id) self.assertTrue(ret.port_no == port_no) self.assertTrue(ret.vlan_id == vlan_id) ndb.del_vifinfo(interface_id)
def test_get_vifinfo(self): interface_id = "interface_get" datapath_id = "datapath_get" port_no = 1 vlan_id = 101 ret = ndb.get_vifinfo(interface_id) self.assertTrue(ret == None) ndb.add_vifinfo(interface_id, datapath_id, port_no, vlan_id) ret = ndb.get_vifinfo(interface_id) self.assertTrue(ret.interface_id == interface_id) self.assertTrue(ret.datapath_id == datapath_id) self.assertTrue(ret.port_no == port_no) self.assertTrue(ret.vlan_id == vlan_id) ndb.del_vifinfo(interface_id)
def _attach(self, tenant_id, network_id, port_id, interface_id): LOG.debug("_attach(): called") ofn_tenant_id = self._get_ofn_tenant_id(tenant_id) ofn_network_id = self._get_ofn_network_id(network_id) vifinfo = ndb.get_vifinfo(interface_id) if self.conf.auto_id_port: """id include response.""" res = self.ofn.ofn_create_port(ofn_tenant_id, ofn_network_id, vifinfo.datapath_id, str(vifinfo.port_no), str(vifinfo.vlan_id)) ofn_port_id = res['id'] else: """use uuid for ofn_network.""" ofn_port_id = port_id res = self.ofn.ofn_create_port(ofn_tenant_id, ofn_network_id, vifinfo.datapath_id, str(vifinfo.port_no), str(vifinfo.vlan_id), ofn_port_id) LOG.debug("_attach(): ofn_create_port() return '%s'" % res) LOG.debug("_attach(): ofn_port_id = %s" % ofn_port_id) ndb.add_ofn_port(ofn_port_id, port_id)
def test_del_vifinfo(self): interface_id = "interface_del" datapath_id = "datapath_del" port_no = 5 vlan_id = 105 ndb.add_vifinfo(interface_id, datapath_id, port_no) ndb.del_vifinfo(interface_id) ret = ndb.get_vifinfo(interface_id) self.assertTrue(ret == None)
def get_vifinfo(self, interface_id): LOG.debug("get_vifinfo() called") vifinfo = ndb.get_vifinfo(interface_id) if not vifinfo: return None return {'vifinfo': { 'interface_id': vifinfo.interface_id, 'ofs_port': {'datapath_id': vifinfo.datapath_id, 'port_no': str(vifinfo.port_no)}}}
def _port_attachable(self, port): if not port: return False if not port.interface_id: return False if not port.state.upper() in "ACTIVE": return False if not ndb.get_vifinfo(port.interface_id): return False return True
def __init__(self, config_file=None): self.conf = NECConfig(config_file) self.ofn = OFNetwork(self.conf.OFC_HOST, self.conf.OFC_PORT) ndb.initialize(self.conf) if self.conf.vif_file: vifinfo_list = self.conf.load_vifinfo(self.conf.vif_file) for vifinfo in vifinfo_list: old_vifinfo = ndb.get_vifinfo(vifinfo['interface_id']) if old_vifinfo: LOG.info("Delete old vifinfo %s." % old_vifinfo) ndb.del_vifinfo(vifinfo['interface_id']) ndb.add_vifinfo(vifinfo['interface_id'], vifinfo['datapath_id'], vifinfo['port_no'], vifinfo['vlan_id'])