Pulling in changes from Shweta's branch.
This commit is contained in:
@@ -80,7 +80,6 @@ class L2Network(QuantumPluginBase):
|
|||||||
new_net_dict = {const.NET_ID: new_net_id,
|
new_net_dict = {const.NET_ID: new_net_id,
|
||||||
const.NET_NAME: net_name,
|
const.NET_NAME: net_name,
|
||||||
const.NET_PORTS: []}
|
const.NET_PORTS: []}
|
||||||
|
|
||||||
return new_net_dict
|
return new_net_dict
|
||||||
|
|
||||||
def delete_network(self, tenant_id, net_id):
|
def delete_network(self, tenant_id, net_id):
|
||||||
@@ -143,7 +142,7 @@ class L2Network(QuantumPluginBase):
|
|||||||
network = db.network_rename(tenant_id, net_id, new_name)
|
network = db.network_rename(tenant_id, net_id, new_name)
|
||||||
net_dict = self._make_net_dict(network[const.UUID],
|
net_dict = self._make_net_dict(network[const.UUID],
|
||||||
network[const.NETWORKNAME],
|
network[const.NETWORKNAME],
|
||||||
[])
|
None)
|
||||||
return net_dict
|
return net_dict
|
||||||
|
|
||||||
def get_all_ports(self, tenant_id, net_id):
|
def get_all_ports(self, tenant_id, net_id):
|
||||||
@@ -257,7 +256,7 @@ class L2Network(QuantumPluginBase):
|
|||||||
pp[const.UUID],
|
pp[const.UUID],
|
||||||
pp[const.PPNAME],
|
pp[const.PPNAME],
|
||||||
pp[const.PPQOS])
|
pp[const.PPQOS])
|
||||||
new_pplist.append(new_pp)
|
new_pplist.append(pp)
|
||||||
|
|
||||||
return new_pplist
|
return new_pplist
|
||||||
|
|
||||||
@@ -283,12 +282,12 @@ class L2Network(QuantumPluginBase):
|
|||||||
pp = cdb.get_portprofile(profile_id)
|
pp = cdb.get_portprofile(profile_id)
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
raise cexc.PortProfileNotFound(tenant_id=tenant_id,
|
raise cexc.PortProfileNotFound(tenant_id=tenant_id,
|
||||||
profile_id=profile_id)
|
portprofile_id=profile_id)
|
||||||
|
|
||||||
plist = cdb.get_pp_binding(profile_id)
|
plist = cdb.get_pp_binding(profile_id)
|
||||||
if plist:
|
if plist:
|
||||||
raise cexc.PortProfileInvalidDelete(tenant_id=tenant_id,
|
raise cexc.PortProfileInvalidDelete(tenant_id=tenant_id,
|
||||||
portprofile_id=profile_id)
|
profile_id=profile_id)
|
||||||
else:
|
else:
|
||||||
cdb.remove_portprofile(profile_id)
|
cdb.remove_portprofile(profile_id)
|
||||||
|
|
||||||
@@ -297,7 +296,7 @@ class L2Network(QuantumPluginBase):
|
|||||||
pp = cdb.get_portprofile(profile_id)
|
pp = cdb.get_portprofile(profile_id)
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
raise cexc.PortProfileNotFound(tenant_id=tenant_id,
|
raise cexc.PortProfileNotFound(tenant_id=tenant_id,
|
||||||
portprofile_id=profile_id)
|
profile_id=profile_id)
|
||||||
pp = cdb.update_portprofile(profile_id, new_name)
|
pp = cdb.update_portprofile(profile_id, new_name)
|
||||||
new_pp = self._make_portprofile_dict(tenant_id,
|
new_pp = self._make_portprofile_dict(tenant_id,
|
||||||
pp[const.UUID],
|
pp[const.UUID],
|
||||||
@@ -370,12 +369,12 @@ class L2Network(QuantumPluginBase):
|
|||||||
return inspect.stack()[1 + offset][3]
|
return inspect.stack()[1 + offset][3]
|
||||||
|
|
||||||
def _make_net_dict(self, net_id, net_name, ports):
|
def _make_net_dict(self, net_id, net_name, ports):
|
||||||
res = {const.NET_ID: str(net_id), const.NET_NAME: net_name}
|
res = {const.NET_ID: net_id, const.NET_NAME: net_name}
|
||||||
res[const.NET_PORTS] = ports
|
res[const.NET_PORTS] = ports
|
||||||
return res
|
return res
|
||||||
|
|
||||||
def _make_port_dict(self, port_id, port_state, net_id, attachment):
|
def _make_port_dict(self, port_id, port_state, net_id, attachment):
|
||||||
res = {const.PORT_ID: str(port_id), const.PORT_STATE: port_state}
|
res = {const.PORT_ID: port_id, const.PORT_STATE: port_state}
|
||||||
res[const.NET_ID] = net_id
|
res[const.NET_ID] = net_id
|
||||||
res[const.ATTACHMENT] = attachment
|
res[const.ATTACHMENT] = attachment
|
||||||
return res
|
return res
|
||||||
|
|||||||
@@ -19,11 +19,15 @@
|
|||||||
|
|
||||||
import logging
|
import logging
|
||||||
import unittest
|
import unittest
|
||||||
|
import time
|
||||||
from quantum.common import exceptions as exc
|
from quantum.common import exceptions as exc
|
||||||
from quantum.plugins.cisco.common import cisco_constants as const
|
from quantum.plugins.cisco.common import cisco_constants as const
|
||||||
from quantum.plugins.cisco.common import cisco_exceptions as cexc
|
from quantum.plugins.cisco.common import cisco_exceptions as cexc
|
||||||
from quantum.plugins.cisco import l2network_plugin
|
from quantum.plugins.cisco import l2network_plugin
|
||||||
from quantum.plugins.cisco import l2network_plugin_configuration as conf
|
from quantum.plugins.cisco import l2network_plugin_configuration as conf
|
||||||
|
from quantum.plugins.cisco.common import cisco_utils as utils
|
||||||
|
from quantum.plugins.cisco.db import api as db
|
||||||
|
from quantum.plugins.cisco.db import l2network_db as cdb
|
||||||
|
|
||||||
LOG = logging.getLogger('quantum.tests.test_core_api_func')
|
LOG = logging.getLogger('quantum.tests.test_core_api_func')
|
||||||
|
|
||||||
@@ -47,6 +51,8 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
network_name = self.network_name
|
network_name = self.network_name
|
||||||
new_net_dict = self._l2network_plugin.create_network(
|
new_net_dict = self._l2network_plugin.create_network(
|
||||||
tenant_id, network_name)
|
tenant_id, network_name)
|
||||||
|
net = db.network_get(new_net_dict[const.NET_ID])
|
||||||
|
self.assertEqual(net[const.NETWORKNAME], network_name)
|
||||||
self.assertEqual(new_net_dict[const.NET_NAME], network_name)
|
self.assertEqual(new_net_dict[const.NET_NAME], network_name)
|
||||||
self.tearDownNetwork(tenant_id, new_net_dict[const.NET_ID])
|
self.tearDownNetwork(tenant_id, new_net_dict[const.NET_ID])
|
||||||
LOG.debug("test_create_network - END")
|
LOG.debug("test_create_network - END")
|
||||||
@@ -64,6 +70,9 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
tenant_id, self.network_name)
|
tenant_id, self.network_name)
|
||||||
delete_net_dict = self._l2network_plugin.delete_network(
|
delete_net_dict = self._l2network_plugin.delete_network(
|
||||||
tenant_id, new_net_dict[const.NET_ID])
|
tenant_id, new_net_dict[const.NET_ID])
|
||||||
|
self.assertRaises(exc.NetworkNotFound, db.network_get,
|
||||||
|
new_net_dict[const.NET_ID])
|
||||||
|
self.assertEqual(net, None)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
new_net_dict[const.NET_ID], delete_net_dict[const.NET_ID])
|
new_net_dict[const.NET_ID], delete_net_dict[const.NET_ID])
|
||||||
LOG.debug("test_delete_network - END")
|
LOG.debug("test_delete_network - END")
|
||||||
@@ -117,6 +126,8 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
tenant_id, self.network_name)
|
tenant_id, self.network_name)
|
||||||
result_net_dict = self._l2network_plugin.get_network_details(
|
result_net_dict = self._l2network_plugin.get_network_details(
|
||||||
tenant_id, new_net_dict[const.NET_ID])
|
tenant_id, new_net_dict[const.NET_ID])
|
||||||
|
net = db.network_get(new_net_dict[const.NET_ID])
|
||||||
|
self.assertEqual(net[const.UUID], new_net_dict[const.NET_ID])
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
new_net_dict[const.NET_ID], result_net_dict[const.NET_ID])
|
new_net_dict[const.NET_ID], result_net_dict[const.NET_ID])
|
||||||
self.tearDownNetwork(tenant_id, new_net_dict[const.NET_ID])
|
self.tearDownNetwork(tenant_id, new_net_dict[const.NET_ID])
|
||||||
@@ -152,6 +163,8 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
tenant_id, self.network_name)
|
tenant_id, self.network_name)
|
||||||
rename_net_dict = self._l2network_plugin.rename_network(
|
rename_net_dict = self._l2network_plugin.rename_network(
|
||||||
tenant_id, new_net_dict[const.NET_ID], new_name)
|
tenant_id, new_net_dict[const.NET_ID], new_name)
|
||||||
|
net = db.network_get(new_net_dict[const.NET_ID])
|
||||||
|
self.assertEqual(net[const.NETWORKNAME], new_name)
|
||||||
self.assertEqual(new_name, rename_net_dict[const.NET_NAME])
|
self.assertEqual(new_name, rename_net_dict[const.NET_NAME])
|
||||||
self.tearDownNetwork(tenant_id, new_net_dict[const.NET_ID])
|
self.tearDownNetwork(tenant_id, new_net_dict[const.NET_ID])
|
||||||
LOG.debug("test_rename_network - END")
|
LOG.debug("test_rename_network - END")
|
||||||
@@ -184,9 +197,18 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
tenant_id, 'test_net2')
|
tenant_id, 'test_net2')
|
||||||
net_list = self._l2network_plugin.get_all_networks(tenant_id)
|
net_list = self._l2network_plugin.get_all_networks(tenant_id)
|
||||||
net_temp_list = [new_net_dict, new_net_dict2]
|
net_temp_list = [new_net_dict, new_net_dict2]
|
||||||
|
networks_list = db.network_list(tenant_id)
|
||||||
|
new_networks_list = []
|
||||||
|
for network in networks_list:
|
||||||
|
new_network_dict = self._make_net_dict(network[const.UUID],
|
||||||
|
network[const.NETWORKNAME],
|
||||||
|
[])
|
||||||
|
new_networks_list.append(new_network_dict)
|
||||||
self.assertEqual(len(net_list), 2)
|
self.assertEqual(len(net_list), 2)
|
||||||
self.assertTrue(net_list[0] in net_temp_list)
|
self.assertTrue(net_list[0] in net_temp_list)
|
||||||
self.assertTrue(net_list[1] in net_temp_list)
|
self.assertTrue(net_list[1] in net_temp_list)
|
||||||
|
self.assertTrue(new_networks_list[0] in net_temp_list)
|
||||||
|
self.assertTrue(new_networks_list[1] in net_temp_list)
|
||||||
self.tearDownNetwork(tenant_id, new_net_dict[const.NET_ID])
|
self.tearDownNetwork(tenant_id, new_net_dict[const.NET_ID])
|
||||||
self.tearDownNetwork(tenant_id, new_net_dict2[const.NET_ID])
|
self.tearDownNetwork(tenant_id, new_net_dict2[const.NET_ID])
|
||||||
LOG.debug("test_list_networks - END")
|
LOG.debug("test_list_networks - END")
|
||||||
@@ -206,9 +228,20 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
port_list = self._l2network_plugin.get_all_ports(
|
port_list = self._l2network_plugin.get_all_ports(
|
||||||
tenant_id, new_net_dict[const.NET_ID])
|
tenant_id, new_net_dict[const.NET_ID])
|
||||||
port_temp_list = [port_dict, port_dict2]
|
port_temp_list = [port_dict, port_dict2]
|
||||||
|
network = db.network_get(new_net_dict[const.NET_ID])
|
||||||
|
ports_list = network[const.NETWORKPORTS]
|
||||||
|
ports_on_net = []
|
||||||
|
for port in ports_list:
|
||||||
|
new_port = self._make_port_dict(port[const.UUID],
|
||||||
|
port[const.PORTSTATE],
|
||||||
|
port[const.NETWORKID],
|
||||||
|
port[const.INTERFACEID])
|
||||||
|
ports_on_net.append(new_port)
|
||||||
self.assertEqual(len(port_list), 2)
|
self.assertEqual(len(port_list), 2)
|
||||||
self.assertTrue(port_list[0] in port_temp_list)
|
self.assertTrue(port_list[0] in port_temp_list)
|
||||||
self.assertTrue(port_list[1] in port_temp_list)
|
self.assertTrue(port_list[1] in port_temp_list)
|
||||||
|
self.assertTrue(ports_on_net[0] in port_temp_list)
|
||||||
|
self.assertTrue(ports_on_net[1] in port_temp_list)
|
||||||
|
|
||||||
self.tearDownPortOnly(tenant_id, new_net_dict[const.NET_ID],
|
self.tearDownPortOnly(tenant_id, new_net_dict[const.NET_ID],
|
||||||
port_dict[const.PORT_ID])
|
port_dict[const.PORT_ID])
|
||||||
@@ -227,7 +260,12 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
tenant_id, self.network_name)
|
tenant_id, self.network_name)
|
||||||
port_dict = self._l2network_plugin.create_port(
|
port_dict = self._l2network_plugin.create_port(
|
||||||
tenant_id, new_net_dict[const.NET_ID], port_state)
|
tenant_id, new_net_dict[const.NET_ID], port_state)
|
||||||
|
port = db.port_get(new_net_dict[const.NET_ID],
|
||||||
|
port_dict[const.PORT_ID])
|
||||||
self.assertEqual(port_dict[const.PORT_STATE], port_state)
|
self.assertEqual(port_dict[const.PORT_STATE], port_state)
|
||||||
|
self.assertEqual(port_dict[const.NET_ID], new_net_dict[const.NET_ID])
|
||||||
|
self.assertEqual(port[const.PORTSTATE], port_state)
|
||||||
|
self.assertEqual(port[const.NETWORKID], new_net_dict[const.NET_ID])
|
||||||
self.tearDownNetworkPort(tenant_id, new_net_dict[const.NET_ID],
|
self.tearDownNetworkPort(tenant_id, new_net_dict[const.NET_ID],
|
||||||
port_dict[const.PORT_ID])
|
port_dict[const.PORT_ID])
|
||||||
LOG.debug("test_create_port - END")
|
LOG.debug("test_create_port - END")
|
||||||
@@ -263,8 +301,16 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
delete_port_dict = self._l2network_plugin.delete_port(
|
delete_port_dict = self._l2network_plugin.delete_port(
|
||||||
tenant_id, new_net_dict[const.NET_ID],
|
tenant_id, new_net_dict[const.NET_ID],
|
||||||
port_dict[const.PORT_ID])
|
port_dict[const.PORT_ID])
|
||||||
|
self.assertRaises(exc.PortNotFound, db.port_get,
|
||||||
|
new_net_dict[const.NET_ID], port_dict[const.PORT_ID])
|
||||||
|
#self.assertEqual(port, None)
|
||||||
|
# self.assertEqual(delete_port_dict[const.PORT_STATE], port_state)
|
||||||
|
# self.assertEqual(delete_port_dict[const.NET_ID], new_net_dict[NET_ID])
|
||||||
|
# self.assertEqual(delete_port_dict[const.PORT_ID],
|
||||||
|
# new_net_dict[PORT_ID])
|
||||||
self.tearDownNetwork(tenant_id, new_net_dict[const.NET_ID])
|
self.tearDownNetwork(tenant_id, new_net_dict[const.NET_ID])
|
||||||
self.assertEqual(delete_port_dict, None)
|
self.assertEqual(delete_port_dict[const.PORT_ID],
|
||||||
|
port_dict[const.PORT_ID])
|
||||||
LOG.debug("test_delete_port - END")
|
LOG.debug("test_delete_port - END")
|
||||||
|
|
||||||
def test_delete_port_networkDNE(self, tenant_id='test_tenant',
|
def test_delete_port_networkDNE(self, tenant_id='test_tenant',
|
||||||
@@ -327,6 +373,9 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
update_port_dict = self._l2network_plugin.update_port(
|
update_port_dict = self._l2network_plugin.update_port(
|
||||||
tenant_id, new_net_dict[const.NET_ID],
|
tenant_id, new_net_dict[const.NET_ID],
|
||||||
port_dict[const.PORT_ID], port_state)
|
port_dict[const.PORT_ID], port_state)
|
||||||
|
new_port = db.port_get(new_net_dict[const.NET_ID],
|
||||||
|
port_dict[const.PORT_ID])
|
||||||
|
self.assertEqual(new_port[const.PORTSTATE], port_state)
|
||||||
self.assertEqual(update_port_dict[const.PORT_STATE], port_state)
|
self.assertEqual(update_port_dict[const.PORT_STATE], port_state)
|
||||||
self.tearDownNetworkPort(tenant_id, new_net_dict[const.NET_ID],
|
self.tearDownNetworkPort(tenant_id, new_net_dict[const.NET_ID],
|
||||||
port_dict[const.PORT_ID])
|
port_dict[const.PORT_ID])
|
||||||
@@ -341,7 +390,7 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
LOG.debug("test_update_port_networkDNE - START")
|
LOG.debug("test_update_port_networkDNE - START")
|
||||||
self.assertRaises(exc.NetworkNotFound,
|
self.assertRaises(exc.NetworkNotFound,
|
||||||
self._l2network_plugin.update_port, tenant_id,
|
self._l2network_plugin.update_port, tenant_id,
|
||||||
net_id, port_id, self.port_state)
|
net_id, port_id, 'ACTIVE')
|
||||||
LOG.debug("test_update_port_networkDNE - END")
|
LOG.debug("test_update_port_networkDNE - END")
|
||||||
|
|
||||||
def test_update_portDNE(self, tenant_id='test_tenant', port_id='p0005'):
|
def test_update_portDNE(self, tenant_id='test_tenant', port_id='p0005'):
|
||||||
@@ -371,6 +420,9 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
get_port_dict = self._l2network_plugin.get_port_details(
|
get_port_dict = self._l2network_plugin.get_port_details(
|
||||||
tenant_id, new_net_dict[const.NET_ID],
|
tenant_id, new_net_dict[const.NET_ID],
|
||||||
port_dict[const.PORT_ID])
|
port_dict[const.PORT_ID])
|
||||||
|
port = db.port_get(new_net_dict[const.NET_ID],
|
||||||
|
port_dict[const.PORT_ID])
|
||||||
|
self.assertEqual(port[const.PORTSTATE], self.port_state)
|
||||||
self.assertEqual(get_port_dict[const.PORT_STATE], self.port_state)
|
self.assertEqual(get_port_dict[const.PORT_STATE], self.port_state)
|
||||||
self.tearDownNetworkPort(tenant_id, new_net_dict[const.NET_ID],
|
self.tearDownNetworkPort(tenant_id, new_net_dict[const.NET_ID],
|
||||||
port_dict[const.PORT_ID])
|
port_dict[const.PORT_ID])
|
||||||
@@ -416,10 +468,13 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
self._l2network_plugin.plug_interface(
|
self._l2network_plugin.plug_interface(
|
||||||
tenant_id, new_net_dict[const.NET_ID],
|
tenant_id, new_net_dict[const.NET_ID],
|
||||||
port_dict[const.PORT_ID], remote_interface)
|
port_dict[const.PORT_ID], remote_interface)
|
||||||
self.assertEqual(
|
port = db.port_get(new_net_dict[const.NET_ID],
|
||||||
self._l2network_plugin._networks[new_net_dict[const.NET_ID]]
|
port_dict[const.PORT_ID])
|
||||||
[const.NET_PORTS][port_dict[const.PORT_ID]]
|
# self.assertEqual(
|
||||||
[const.ATTACHMENT], remote_interface)
|
# self._l2network_plugin._networks[new_net_dict[const.NET_ID]]
|
||||||
|
# [const.NET_PORTS][port_dict[const.PORT_ID]]
|
||||||
|
# [const.ATTACHMENT], remote_interface)
|
||||||
|
self.assertEqual(port[const.INTERFACEID], remote_interface)
|
||||||
self.tearDownNetworkPortInterface(
|
self.tearDownNetworkPortInterface(
|
||||||
tenant_id, new_net_dict[const.NET_ID],
|
tenant_id, new_net_dict[const.NET_ID],
|
||||||
port_dict[const.PORT_ID])
|
port_dict[const.PORT_ID])
|
||||||
@@ -470,7 +525,7 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
self._l2network_plugin.plug_interface(
|
self._l2network_plugin.plug_interface(
|
||||||
tenant_id, new_net_dict[const.NET_ID],
|
tenant_id, new_net_dict[const.NET_ID],
|
||||||
port_dict[const.PORT_ID], remote_interface)
|
port_dict[const.PORT_ID], remote_interface)
|
||||||
self.assertRaises(exc.AlreadyAttached,
|
self.assertRaises(exc.PortInUse,
|
||||||
self._l2network_plugin.plug_interface, tenant_id,
|
self._l2network_plugin.plug_interface, tenant_id,
|
||||||
new_net_dict[const.NET_ID],
|
new_net_dict[const.NET_ID],
|
||||||
port_dict[const.PORT_ID], remote_interface)
|
port_dict[const.PORT_ID], remote_interface)
|
||||||
@@ -496,9 +551,12 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
self._l2network_plugin.unplug_interface(
|
self._l2network_plugin.unplug_interface(
|
||||||
tenant_id, new_net_dict[const.NET_ID],
|
tenant_id, new_net_dict[const.NET_ID],
|
||||||
port_dict[const.PORT_ID])
|
port_dict[const.PORT_ID])
|
||||||
self.assertEqual(self._l2network_plugin._networks
|
port = db.port_get(new_net_dict[const.NET_ID],
|
||||||
[new_net_dict[const.NET_ID]][const.NET_PORTS]
|
port_dict[const.PORT_ID])
|
||||||
[port_dict[const.PORT_ID]][const.ATTACHMENT], None)
|
# self.assertEqual(self._l2network_plugin._networks
|
||||||
|
# [new_net_dict[const.NET_ID]][const.NET_PORTS]
|
||||||
|
# [port_dict[const.PORT_ID]][const.ATTACHMENT], None)
|
||||||
|
self.assertEqual(port[const.INTERFACEID], None)
|
||||||
self.tearDownNetworkPort(tenant_id, new_net_dict[const.NET_ID],
|
self.tearDownNetworkPort(tenant_id, new_net_dict[const.NET_ID],
|
||||||
port_dict[const.PORT_ID])
|
port_dict[const.PORT_ID])
|
||||||
LOG.debug("test_unplug_interface - END")
|
LOG.debug("test_unplug_interface - END")
|
||||||
@@ -533,7 +591,7 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
LOG.debug("test_unplug_interface_portDNE - END")
|
LOG.debug("test_unplug_interface_portDNE - END")
|
||||||
|
|
||||||
def test_create_portprofile(self, net_tenant_id=None,
|
def test_create_portprofile(self, net_tenant_id=None,
|
||||||
net_profile_name=None, net_vlan_id=None):
|
net_profile_name=None, net_qos=None):
|
||||||
"""
|
"""
|
||||||
Tests creation of a port-profile
|
Tests creation of a port-profile
|
||||||
"""
|
"""
|
||||||
@@ -548,19 +606,22 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
profile_name = net_profile_name
|
profile_name = net_profile_name
|
||||||
else:
|
else:
|
||||||
profile_name = self.profile_name
|
profile_name = self.profile_name
|
||||||
if net_vlan_id:
|
if net_qos:
|
||||||
vlan_id = net_vlan_id
|
qos = net_qos
|
||||||
else:
|
else:
|
||||||
vlan_id = self.vlan_id
|
qos = self.qos
|
||||||
port_profile_dict = self._l2network_plugin.create_portprofile(
|
port_profile_dict = self._l2network_plugin.create_portprofile(
|
||||||
tenant_id, profile_name, vlan_id)
|
tenant_id, profile_name, qos)
|
||||||
port_profile_id = port_profile_dict['profile-id']
|
port_profile_id = port_profile_dict['profile-id']
|
||||||
self.assertEqual(
|
port_profile = cdb.get_portprofile(port_profile_id)
|
||||||
self._l2network_plugin._portprofiles[port_profile_id]['vlan-id'],
|
self.assertEqual(port_profile[const.PPNAME], profile_name)
|
||||||
vlan_id)
|
self.assertEqual(port_profile[const.PPQOS], qos)
|
||||||
self.assertEqual(
|
# self.assertEqual(
|
||||||
self._l2network_plugin._portprofiles[port_profile_id]
|
# self._l2network_plugin._portprofiles[port_profile_id]['vlan-id'],
|
||||||
['profile-name'], profile_name)
|
# vlan_id)
|
||||||
|
#self.assertEqual(
|
||||||
|
# self._l2network_plugin._portprofiles[port_profile_id]
|
||||||
|
# ['profile-name'], profile_name)
|
||||||
self.tearDownPortProfile(tenant_id, port_profile_id)
|
self.tearDownPortProfile(tenant_id, port_profile_id)
|
||||||
LOG.debug("test_create_portprofile - tenant id: %s - END",
|
LOG.debug("test_create_portprofile - tenant id: %s - END",
|
||||||
net_tenant_id)
|
net_tenant_id)
|
||||||
@@ -577,10 +638,13 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
else:
|
else:
|
||||||
tenant_id = self.tenant_id
|
tenant_id = self.tenant_id
|
||||||
port_profile_dict = self._l2network_plugin.create_portprofile(
|
port_profile_dict = self._l2network_plugin.create_portprofile(
|
||||||
tenant_id, self.profile_name, self.vlan_id)
|
tenant_id, self.profile_name, self.qos)
|
||||||
port_profile_id = port_profile_dict['profile-id']
|
port_profile_id = port_profile_dict['profile-id']
|
||||||
self._l2network_plugin.delete_portprofile(tenant_id, port_profile_id)
|
self._l2network_plugin.delete_portprofile(tenant_id, port_profile_id)
|
||||||
self.assertEqual(self._l2network_plugin._portprofiles, {})
|
# port_profile = cdb.get_portprofile(port_profile_id)
|
||||||
|
self.assertRaises(Exception, cdb.get_portprofile, port_profile_id)
|
||||||
|
# self.assertEqual(port_profile, {})
|
||||||
|
# self.assertEqual(self._l2network_plugin._portprofiles, {})
|
||||||
LOG.debug("test_delete_portprofile - tenant id: %s - END",
|
LOG.debug("test_delete_portprofile - tenant id: %s - END",
|
||||||
net_tenant_id)
|
net_tenant_id)
|
||||||
|
|
||||||
@@ -604,7 +668,7 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
|
|
||||||
LOG.debug("test_delete_portprofileAssociated - START")
|
LOG.debug("test_delete_portprofileAssociated - START")
|
||||||
port_profile_dict = self._l2network_plugin.create_portprofile(
|
port_profile_dict = self._l2network_plugin.create_portprofile(
|
||||||
tenant_id, self.profile_name, self.vlan_id)
|
tenant_id, self.profile_name, self.qos)
|
||||||
port_profile_id = port_profile_dict['profile-id']
|
port_profile_id = port_profile_dict['profile-id']
|
||||||
self._l2network_plugin.associate_portprofile(
|
self._l2network_plugin.associate_portprofile(
|
||||||
tenant_id, self.net_id, self.port_id, port_profile_id)
|
tenant_id, self.net_id, self.port_id, port_profile_id)
|
||||||
@@ -622,23 +686,34 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
|
|
||||||
LOG.debug("test_list_portprofile - tenant id: %s - START", tenant_id)
|
LOG.debug("test_list_portprofile - tenant id: %s - START", tenant_id)
|
||||||
profile_name2 = tenant_id + '_port_profile2'
|
profile_name2 = tenant_id + '_port_profile2'
|
||||||
vlan_id2 = tenant_id + '201'
|
qos2 = tenant_id + 'qos2'
|
||||||
port_profile_dict1 = self._l2network_plugin.create_portprofile(
|
port_profile_dict1 = self._l2network_plugin.create_portprofile(
|
||||||
tenant_id, self.profile_name, self.vlan_id)
|
tenant_id, self.profile_name, self.qos)
|
||||||
port_profile_dict2 = self._l2network_plugin.create_portprofile(
|
port_profile_dict2 = self._l2network_plugin.create_portprofile(
|
||||||
tenant_id, profile_name2, vlan_id2)
|
tenant_id, profile_name2, qos2)
|
||||||
port_profile_id1 = port_profile_dict1['profile-id']
|
port_profile_id1 = port_profile_dict1['profile-id']
|
||||||
port_profile_id2 = port_profile_dict2['profile-id']
|
port_profile_id2 = port_profile_dict2['profile-id']
|
||||||
list_all_portprofiles = self._l2network_plugin.get_all_portprofiles(
|
list_all_portprofiles = self._l2network_plugin.get_all_portprofiles(
|
||||||
tenant_id)
|
tenant_id)
|
||||||
self.assertEqual(self._l2network_plugin._portprofiles
|
port_profile_list = [port_profile_dict1, port_profile_dict2]
|
||||||
[port_profile_id1]['vlan-id'], self.vlan_id)
|
pplist = cdb.get_all_portprofiles()
|
||||||
self.assertEqual(self._l2network_plugin._portprofiles
|
new_pplist = []
|
||||||
[port_profile_id1]['profile-name'], self.profile_name)
|
for pp in pplist:
|
||||||
self.assertEqual(self._l2network_plugin._portprofiles
|
new_pp = self._make_portprofile_dict(tenant_id,
|
||||||
[port_profile_id2]['vlan-id'], vlan_id2)
|
pp[const.UUID],
|
||||||
self.assertEqual(self._l2network_plugin._portprofiles
|
pp[const.PPNAME],
|
||||||
[port_profile_id2]['profile-name'], profile_name2)
|
pp[const.PPQOS])
|
||||||
|
new_pplist.append(new_pp)
|
||||||
|
self.assertTrue(new_pplist[0] in port_profile_list)
|
||||||
|
self.assertTrue(new_pplist[1] in port_profile_list)
|
||||||
|
# self.assertEqual(self._l2network_plugin._portprofiles
|
||||||
|
# [port_profile_id1]['vlan-id'], self.vlan_id)
|
||||||
|
# self.assertEqual(self._l2network_plugin._portprofiles
|
||||||
|
# [port_profile_id1]['profile-name'], self.profile_name)
|
||||||
|
# self.assertEqual(self._l2network_plugin._portprofiles
|
||||||
|
# [port_profile_id2]['vlan-id'], vlan_id2)
|
||||||
|
# self.assertEqual(self._l2network_plugin._portprofiles
|
||||||
|
# [port_profile_id2]['profile-name'], profile_name2)
|
||||||
LOG.debug("test_create_portprofile - tenant id: %s - END", tenant_id)
|
LOG.debug("test_create_portprofile - tenant id: %s - END", tenant_id)
|
||||||
|
|
||||||
def test_show_portprofile(self, net_tenant_id=None):
|
def test_show_portprofile(self, net_tenant_id=None):
|
||||||
@@ -652,12 +727,15 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
else:
|
else:
|
||||||
tenant_id = self.tenant_id
|
tenant_id = self.tenant_id
|
||||||
port_profile_dict = self._l2network_plugin.create_portprofile(
|
port_profile_dict = self._l2network_plugin.create_portprofile(
|
||||||
tenant_id, self.profile_name, self.vlan_id)
|
tenant_id, self.profile_name, self.qos)
|
||||||
port_profile_id = port_profile_dict['profile-id']
|
port_profile_id = port_profile_dict['profile-id']
|
||||||
result_port_profile = self._l2network_plugin.get_portprofile_details(
|
result_port_profile = self._l2network_plugin.get_portprofile_details(
|
||||||
tenant_id, port_profile_id)
|
tenant_id, port_profile_id)
|
||||||
self.assertEqual(result_port_profile[const.PROFILE_VLAN_ID],
|
port_profile = cdb.get_portprofile(port_profile_id)
|
||||||
self.vlan_id)
|
self.assertEqual(port_profile[const.PPQOS], self.qos)
|
||||||
|
self.assertEqual(port_profile[const.PPNAME], self.profile_name)
|
||||||
|
self.assertEqual(result_port_profile[const.PROFILE_QOS],
|
||||||
|
self.qos)
|
||||||
self.assertEqual(result_port_profile[const.PROFILE_NAME],
|
self.assertEqual(result_port_profile[const.PROFILE_NAME],
|
||||||
self.profile_name)
|
self.profile_name)
|
||||||
self.tearDownPortProfile(tenant_id, port_profile_id)
|
self.tearDownPortProfile(tenant_id, port_profile_id)
|
||||||
@@ -670,7 +748,7 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
LOG.debug("test_show_portprofileDNE - START")
|
LOG.debug("test_show_portprofileDNE - START")
|
||||||
self.assertRaises(cexc.PortProfileNotFound,
|
self.assertRaises(Exception,
|
||||||
self._l2network_plugin.get_portprofile_details,
|
self._l2network_plugin.get_portprofile_details,
|
||||||
tenant_id, profile_id)
|
tenant_id, profile_id)
|
||||||
LOG.debug("test_show_portprofileDNE - END")
|
LOG.debug("test_show_portprofileDNE - END")
|
||||||
@@ -683,10 +761,12 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
|
|
||||||
LOG.debug("test_rename_portprofile - START")
|
LOG.debug("test_rename_portprofile - START")
|
||||||
port_profile_dict = self._l2network_plugin.create_portprofile(
|
port_profile_dict = self._l2network_plugin.create_portprofile(
|
||||||
tenant_id, self.profile_name, self.vlan_id)
|
tenant_id, self.profile_name, self.qos)
|
||||||
port_profile_id = port_profile_dict['profile-id']
|
port_profile_id = port_profile_dict['profile-id']
|
||||||
result_port_profile_dict = self._l2network_plugin.rename_portprofile(
|
result_port_profile_dict = self._l2network_plugin.rename_portprofile(
|
||||||
tenant_id, port_profile_id, new_profile_name)
|
tenant_id, port_profile_id, new_profile_name)
|
||||||
|
port_profile = cdb.get_portprofile(port_profile_id)
|
||||||
|
self.assertEqual(port_profile[const.PPNAME], new_profile_name)
|
||||||
self.assertEqual(result_port_profile_dict[const.PROFILE_NAME],
|
self.assertEqual(result_port_profile_dict[const.PROFILE_NAME],
|
||||||
new_profile_name)
|
new_profile_name)
|
||||||
self.tearDownPortProfile(tenant_id, port_profile_id)
|
self.tearDownPortProfile(tenant_id, port_profile_id)
|
||||||
@@ -712,16 +792,29 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
LOG.debug("test_associate_portprofile - START")
|
LOG.debug("test_associate_portprofile - START")
|
||||||
|
new_net_dict = self._l2network_plugin.create_network(
|
||||||
|
tenant_id, self.network_name)
|
||||||
|
port_dict = self._l2network_plugin.create_port(
|
||||||
|
tenant_id, new_net_dict[const.NET_ID],
|
||||||
|
self.port_state)
|
||||||
port_profile_dict = self._l2network_plugin.create_portprofile(
|
port_profile_dict = self._l2network_plugin.create_portprofile(
|
||||||
tenant_id, self.profile_name, self.vlan_id)
|
tenant_id, self.profile_name, self.qos)
|
||||||
port_profile_id = port_profile_dict['profile-id']
|
port_profile_id = port_profile_dict['profile-id']
|
||||||
self._l2network_plugin.associate_portprofile(
|
self._l2network_plugin.associate_portprofile(
|
||||||
tenant_id, net_id, port_id, port_profile_id)
|
tenant_id, net_id, port_dict[const.PORT_ID],
|
||||||
self.assertEqual(
|
port_profile_id)
|
||||||
self._l2network_plugin._portprofiles[port_profile_id]
|
port_profile_associate = cdb.get_pp_binding(port_profile_id)
|
||||||
[const.PROFILE_ASSOCIATIONS][0], port_id)
|
self.assertEqual(port_profile_associate[const.PORTID],
|
||||||
|
port_dict[const.PORT_ID])
|
||||||
|
#self.assertEqual(
|
||||||
|
# self._l2network_plugin._portprofiles[port_profile_id]
|
||||||
|
# [const.PROFILE_ASSOCIATIONS][0], port_id)
|
||||||
self.tearDownAssociatePortProfile(tenant_id, net_id,
|
self.tearDownAssociatePortProfile(tenant_id, net_id,
|
||||||
port_id, port_profile_id)
|
port_dict[const.PORT_ID],
|
||||||
|
port_profile_id)
|
||||||
|
self.tearDownNetworkPortInterface(
|
||||||
|
tenant_id, new_net_dict[const.NET_ID],
|
||||||
|
port_dict[const.PORT_ID])
|
||||||
LOG.debug("test_associate_portprofile - END")
|
LOG.debug("test_associate_portprofile - END")
|
||||||
|
|
||||||
def test_associate_portprofileDNE(self, tenant_id='test_tenant',
|
def test_associate_portprofileDNE(self, tenant_id='test_tenant',
|
||||||
@@ -744,16 +837,28 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
LOG.debug("test_disassociate_portprofile - START")
|
LOG.debug("test_disassociate_portprofile - START")
|
||||||
|
new_net_dict = self._l2network_plugin.create_network(
|
||||||
|
tenant_id, self.network_name)
|
||||||
|
port_dict = self._l2network_plugin.create_port(
|
||||||
|
tenant_id, new_net_dict[const.NET_ID],
|
||||||
|
self.port_state)
|
||||||
port_profile_dict = self._l2network_plugin.create_portprofile(
|
port_profile_dict = self._l2network_plugin.create_portprofile(
|
||||||
tenant_id, self.profile_name, self.vlan_id)
|
tenant_id, self.profile_name, self.qos)
|
||||||
port_profile_id = port_profile_dict['profile-id']
|
port_profile_id = port_profile_dict['profile-id']
|
||||||
self._l2network_plugin.associate_portprofile(tenant_id, net_id,
|
self._l2network_plugin.associate_portprofile(
|
||||||
port_id, port_profile_id)
|
tenant_id, new_net_dict[const.NET_ID],
|
||||||
|
port_dict[const.PORT_ID], port_profile_id)
|
||||||
self._l2network_plugin.disassociate_portprofile(
|
self._l2network_plugin.disassociate_portprofile(
|
||||||
tenant_id, net_id, port_id, port_profile_id)
|
tenant_id, new_net_dict[const.NET_ID],
|
||||||
self.assertEqual(self._l2network_plugin._portprofiles
|
port_dict[const.PORT_ID], port_profile_id)
|
||||||
[port_profile_id][const.PROFILE_ASSOCIATIONS], [])
|
port_profile_associate = cdb.get_pp_binding(port_profile_id)
|
||||||
|
self.assertEqual(port_profile_associate, [])
|
||||||
|
# self.assertEqual(self._l2network_plugin._portprofiles
|
||||||
|
# [port_profile_id][const.PROFILE_ASSOCIATIONS], [])
|
||||||
self.tearDownPortProfile(tenant_id, port_profile_id)
|
self.tearDownPortProfile(tenant_id, port_profile_id)
|
||||||
|
self.tearDownNetworkPortInterface(
|
||||||
|
tenant_id, new_net_dict[const.NET_ID],
|
||||||
|
port_dict[const.PORT_ID])
|
||||||
LOG.debug("test_disassociate_portprofile - END")
|
LOG.debug("test_disassociate_portprofile - END")
|
||||||
|
|
||||||
def test_disassociate_portprofileDNE(self, tenant_id='test_tenant',
|
def test_disassociate_portprofileDNE(self, tenant_id='test_tenant',
|
||||||
@@ -769,23 +874,7 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
LOG.debug("test_disassociate_portprofileDNE - END")
|
LOG.debug("test_disassociate_portprofileDNE - END")
|
||||||
|
|
||||||
# def test_disassociate_portprofile_Unassociated
|
# def test_disassociate_portprofile_Unassociated
|
||||||
|
def test_get_vlan_name(self, net_tenant_id=None, vlan_id="NewVlan",
|
||||||
def test_get_tenant(self, net_tenant_id=None):
|
|
||||||
"""
|
|
||||||
Tests get tenant
|
|
||||||
"""
|
|
||||||
|
|
||||||
LOG.debug("test_get_tenant - START")
|
|
||||||
if net_tenant_id:
|
|
||||||
tenant_id = net_tenant_id
|
|
||||||
else:
|
|
||||||
tenant_id = self.tenant_id
|
|
||||||
tenant_dict = self._l2network_plugin._get_tenant(tenant_id)
|
|
||||||
self.assertEqual(tenant_dict[const.TENANT_ID], tenant_id)
|
|
||||||
self.assertEqual(tenant_dict[const.TENANT_NAME], tenant_id)
|
|
||||||
LOG.debug("test_get_tenant - END")
|
|
||||||
|
|
||||||
def test_get_vlan_name(self, net_tenant_id=None, vlan_name="NewVlan",
|
|
||||||
vlan_prefix=conf.VLAN_NAME_PREFIX):
|
vlan_prefix=conf.VLAN_NAME_PREFIX):
|
||||||
"""
|
"""
|
||||||
Tests get vlan name
|
Tests get vlan name
|
||||||
@@ -797,8 +886,8 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
else:
|
else:
|
||||||
tenant_id = self.tenant_id
|
tenant_id = self.tenant_id
|
||||||
result_vlan_name = self._l2network_plugin._get_vlan_name(tenant_id,
|
result_vlan_name = self._l2network_plugin._get_vlan_name(tenant_id,
|
||||||
vlan_name)
|
vlan_id)
|
||||||
expected_output = vlan_prefix + tenant_id + "-" + vlan_name
|
expected_output = vlan_prefix + vlan_id
|
||||||
self.assertEqual(result_vlan_name, expected_output)
|
self.assertEqual(result_vlan_name, expected_output)
|
||||||
LOG.debug("test_get_vlan_name - END")
|
LOG.debug("test_get_vlan_name - END")
|
||||||
|
|
||||||
@@ -823,43 +912,23 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
port_state)
|
port_state)
|
||||||
LOG.debug("test_validate_port_state - END")
|
LOG.debug("test_validate_port_state - END")
|
||||||
|
|
||||||
def test_validate_attachment(self, net_tenant_id=None,
|
|
||||||
remote_interface_id="new_interface"):
|
|
||||||
"""
|
|
||||||
Tests validate attachment
|
|
||||||
"""
|
|
||||||
|
|
||||||
LOG.debug("test_validate_attachment - START")
|
|
||||||
if net_tenant_id:
|
|
||||||
tenant_id = net_tenant_id
|
|
||||||
else:
|
|
||||||
tenant_id = self.tenant_id
|
|
||||||
net_name = self.network_name
|
|
||||||
new_network_dict = self._l2network_plugin.create_network(tenant_id,
|
|
||||||
net_name)
|
|
||||||
network_id = new_network_dict[const.NET_ID]
|
|
||||||
new_port_dict = self._l2network_plugin.create_port(tenant_id,
|
|
||||||
network_id)
|
|
||||||
port_id = new_port_dict[const.PORT_ID]
|
|
||||||
self._l2network_plugin.plug_interface(
|
|
||||||
tenant_id, new_network_dict[const.NET_ID], port_id,
|
|
||||||
remote_interface_id)
|
|
||||||
self.assertRaises(exc.AlreadyAttached,
|
|
||||||
self._l2network_plugin._validate_attachment,
|
|
||||||
tenant_id, network_id, port_id, remote_interface_id)
|
|
||||||
self.tearDownNetworkPortInterface(
|
|
||||||
tenant_id, new_network_dict[const.NET_ID], port_id)
|
|
||||||
LOG.debug("test_validate_attachment - END")
|
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.tenant_id = "test_tenant"
|
self.tenant_id = "test_tenant"
|
||||||
self.network_name = "test_network"
|
self.network_name = "test_network"
|
||||||
self.profile_name = "test_tenant_port_profile"
|
self.profile_name = "test_tenant_port_profile"
|
||||||
self.vlan_id = "test_tenant_vlanid300"
|
# self.vlan_id = "test_tenant_vlanid300"
|
||||||
|
self.qos = "test_qos"
|
||||||
self.port_state = const.PORT_UP
|
self.port_state = const.PORT_UP
|
||||||
self.net_id = '00005'
|
self.net_id = '00005'
|
||||||
self.port_id = 'p0005'
|
self.port_id = 'p0005'
|
||||||
self.remote_interface = 'new_interface'
|
self.remote_interface = 'new_interface'
|
||||||
|
#sql_query = "drop database quantum_l2network"
|
||||||
|
#sql_query_2 = "create database quantum_l2network"
|
||||||
|
#self._utils = utils.DBUtils()
|
||||||
|
#self._utils.execute_db_query(sql_query)
|
||||||
|
#time.sleep(10)
|
||||||
|
#self._utils.execute_db_query(sql_query_2)
|
||||||
|
#time.sleep(10)
|
||||||
self._l2network_plugin = l2network_plugin.L2Network()
|
self._l2network_plugin = l2network_plugin.L2Network()
|
||||||
|
|
||||||
"""
|
"""
|
||||||
@@ -890,3 +959,32 @@ class CoreAPITestFunc(unittest.TestCase):
|
|||||||
self._l2network_plugin.disassociate_portprofile(
|
self._l2network_plugin.disassociate_portprofile(
|
||||||
tenant_id, net_id, port_id, port_profile_id)
|
tenant_id, net_id, port_id, port_profile_id)
|
||||||
self.tearDownPortProfile(tenant_id, port_profile_id)
|
self.tearDownPortProfile(tenant_id, port_profile_id)
|
||||||
|
|
||||||
|
def _make_net_dict(self, net_id, net_name, ports):
|
||||||
|
res = {const.NET_ID: net_id, const.NET_NAME: net_name}
|
||||||
|
res[const.NET_PORTS] = ports
|
||||||
|
return res
|
||||||
|
|
||||||
|
def _make_port_dict(self, port_id, port_state, net_id, attachment):
|
||||||
|
res = {const.PORT_ID: port_id, const.PORT_STATE: port_state}
|
||||||
|
res[const.NET_ID] = net_id
|
||||||
|
res[const.ATTACHMENT] = attachment
|
||||||
|
return res
|
||||||
|
|
||||||
|
def _make_portprofile_dict(self, tenant_id, profile_id, profile_name,
|
||||||
|
qos):
|
||||||
|
profile_associations = self._make_portprofile_assc_list(profile_id)
|
||||||
|
res = {const.PROFILE_ID: str(profile_id),
|
||||||
|
const.PROFILE_NAME: profile_name,
|
||||||
|
const.PROFILE_ASSOCIATIONS: profile_associations,
|
||||||
|
const.PROFILE_VLAN_ID: None,
|
||||||
|
const.PROFILE_QOS: qos}
|
||||||
|
return res
|
||||||
|
|
||||||
|
def _make_portprofile_assc_list(self, profile_id):
|
||||||
|
plist = cdb.get_pp_binding(profile_id)
|
||||||
|
assc_list = []
|
||||||
|
for port in plist:
|
||||||
|
assc_list.append(port[const.PORTID])
|
||||||
|
|
||||||
|
return assc_list
|
||||||
|
|||||||
Reference in New Issue
Block a user