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_list_vifinfos(self):
     interface_ida = "interface_lista"
     datapath_ida = "datapath_lista"
     port_noa = 2
     vlan_ida = 102
     interface_idb = "interface_listb"
     datapath_idb = "datapath_listb"
     port_nob = 3
     vlan_idb = 103
     ret = ndb.list_vifinfos()
     self.assertTrue(len(ret) == 0)
     ndb.add_vifinfo(interface_ida, datapath_ida, port_noa, vlan_ida)
     ret = ndb.list_vifinfos()
     self.assertTrue(len(ret) == 1)
     ndb.add_vifinfo(interface_idb, datapath_idb, port_nob, vlan_idb)
     ret = ndb.list_vifinfos()
     self.assertTrue(len(ret) == 2)
     for vifinfo in ret:
         if vifinfo.interface_id == interface_ida:
             self.assertTrue(vifinfo.datapath_id == datapath_ida)
             self.assertTrue(vifinfo.port_no == port_noa)
             self.assertTrue(vifinfo.vlan_id == vlan_ida)
         elif vifinfo.interface_id == interface_idb:
             self.assertTrue(vifinfo.datapath_id == datapath_idb)
             self.assertTrue(vifinfo.port_no == port_nob)
             self.assertTrue(vifinfo.vlan_id == vlan_idb)
         else:
             self.fail("returned list includes unknown interface_id.")
     ndb.del_vifinfo(interface_ida)
     ndb.del_vifinfo(interface_idb)
 def delete_vifinfo(self, interface_id):
     LOG.debug("delete_vifinfo() called")
     port = dbe.get_plugged_port(interface_id)
     if self._port_attachable(port):
         network = db.network_get(port.network_id)
         self._detach(network.tenant_id, network.uuid, port.uuid)
     ndb.del_vifinfo(interface_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 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 __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'])