Merge "Tempest fixes for Policy DHCP cases and mac learning"
This commit is contained in:
commit
0ed26510e3
|
@ -19,6 +19,7 @@ from tempest.lib.common.utils import data_utils
|
|||
from tempest.lib.common.utils import test_utils
|
||||
from tempest.lib import decorators
|
||||
|
||||
from vmware_nsx_tempest_plugin.services import nsxp_client
|
||||
from vmware_nsx_tempest_plugin.services import nsxv3_client
|
||||
|
||||
CONF = config.CONF
|
||||
|
@ -50,6 +51,9 @@ class NSXv3NativeDHCPTest(base.BaseNetworkTest):
|
|||
cls.nsx = nsxv3_client.NSXV3Client(CONF.nsxv3.nsx_manager,
|
||||
CONF.nsxv3.nsx_user,
|
||||
CONF.nsxv3.nsx_password)
|
||||
cls.nsxp = nsxp_client.NSXPClient(CONF.nsxv3.nsx_manager,
|
||||
CONF.nsxv3.nsx_user,
|
||||
CONF.nsxv3.nsx_password)
|
||||
cls._subnet_data = {'gateway': '192.168.100.1',
|
||||
'cidr': '192.168.100.0/24',
|
||||
'ip_version': '4',
|
||||
|
@ -74,9 +78,10 @@ class NSXv3NativeDHCPTest(base.BaseNetworkTest):
|
|||
network_id=net_id, ip_version=self._subnet_data['ip_version'],
|
||||
cidr=self._subnet_data['cidr'], **kwargs)
|
||||
self.assertEqual('ACTIVE', network['status'])
|
||||
nsx_dhcp_server = self.nsx.get_logical_dhcp_server(network['name'],
|
||||
network['id'])
|
||||
dhcp_server = nsx_dhcp_server['ipv4_dhcp_server']
|
||||
if CONF.network.backend != 'nsxp':
|
||||
nsx_dhcp_server = self.nsx.get_logical_dhcp_server(network['name'],
|
||||
network['id'])
|
||||
dhcp_server = nsx_dhcp_server['ipv4_dhcp_server']
|
||||
if 'gateway' in kwargs:
|
||||
self.assertEqual(dhcp_server['gateway_ip'],
|
||||
self._subnet_data['gateway'])
|
||||
|
@ -88,7 +93,12 @@ class NSXv3NativeDHCPTest(base.BaseNetworkTest):
|
|||
if 'dns_nameservers' in kwargs:
|
||||
self.assertEqual(subnet['subnet']['dns_nameservers'],
|
||||
self._subnet_data['dns_nameservers'])
|
||||
if 'host_routes' in kwargs:
|
||||
if 'host_routes' in kwargs and \
|
||||
CONF.network.backend != 'nsxp':
|
||||
# API is not available in Policy to get Host-route
|
||||
nsx_dhcp_server = self.nsx.get_logical_dhcp_server(network['name'],
|
||||
network['id'])
|
||||
dhcp_server = nsx_dhcp_server['ipv4_dhcp_server']
|
||||
host_routes = dhcp_server['options']['option121']['static_routes']
|
||||
route = {'next_hop':
|
||||
self._subnet_data['host_routes'][0]['nexthop'],
|
||||
|
@ -104,14 +114,21 @@ class NSXv3NativeDHCPTest(base.BaseNetworkTest):
|
|||
net_id = network['id']
|
||||
self.addCleanup(test_utils.call_and_ignore_notfound_exc,
|
||||
self.networks_client.delete_network, net_id)
|
||||
self.create_subnet(network)
|
||||
subnet = self.create_subnet(network)
|
||||
self.assertEqual('ACTIVE', network['status'])
|
||||
nsx_network = self.nsx.get_logical_switch(network['name'],
|
||||
network['id'])
|
||||
self.assertIsNotNone(nsx_network)
|
||||
dhcp_server = self.nsx.get_logical_dhcp_server(network['name'],
|
||||
if CONF.network.backend != 'nsxp':
|
||||
nsx_network = self.nsx.get_logical_switch(network['name'],
|
||||
network['id'])
|
||||
self.assertIsNotNone(nsx_network)
|
||||
dhcp_server = self.nsx.get_logical_dhcp_server(network['name'],
|
||||
network['id'])
|
||||
self.assertIsNotNone(dhcp_server)
|
||||
else:
|
||||
nsx_network = self.nsxp.get_logical_switch(network['name'],
|
||||
network['id'])
|
||||
self.assertIsNotNone(dhcp_server)
|
||||
self.assertIsNotNone(nsx_network['subnets'][0]['dhcp_config'])
|
||||
self.assertEqual(nsx_network['subnets'][0]['network'],
|
||||
subnet['cidr'])
|
||||
|
||||
@decorators.attr(type='nsxv3')
|
||||
@decorators.idempotent_id('cc970d9b-786a-49c3-8bfb-2f8bc5580ead')
|
||||
|
@ -129,13 +146,29 @@ class NSXv3NativeDHCPTest(base.BaseNetworkTest):
|
|||
ip_version=self._subnet_data['ip_version'])
|
||||
self.assertEqual(self._subnet_data['cidr'],
|
||||
subnet['subnet']['cidr'])
|
||||
nsx_dhcp_server = self.nsx.get_logical_dhcp_server(network['name'],
|
||||
network['id'])
|
||||
dhcp_server = nsx_dhcp_server['ipv4_dhcp_server']
|
||||
self.assertIsNotNone(dhcp_server)
|
||||
self.assertEqual(dhcp_server['dhcp_server_ip'], "192.168.100.2/24")
|
||||
self.assertEqual(dhcp_server['gateway_ip'],
|
||||
self._subnet_data['gateway'])
|
||||
if CONF.network.backend != 'nsxp':
|
||||
nsx_dhcp_server = self.nsx.get_logical_dhcp_server(
|
||||
network['name'], network['id'])
|
||||
dhcp_server = nsx_dhcp_server['ipv4_dhcp_server']
|
||||
self.assertIsNotNone(dhcp_server)
|
||||
self.assertEqual(dhcp_server['dhcp_server_ip'],
|
||||
"192.168.100.2/24")
|
||||
self.assertEqual(dhcp_server['gateway_ip'],
|
||||
self._subnet_data['gateway'])
|
||||
|
||||
else:
|
||||
nsx_network = self.nsxp.get_logical_switch(network['name'],
|
||||
network['id'])
|
||||
self.assertIsNotNone(nsx_network['subnets'][0]['dhcp_config'])
|
||||
self.assertEqual(nsx_network['subnets'][0]['network'],
|
||||
self._subnet_data['cidr'])
|
||||
dhcp_server = nsx_network['subnets'][0]['dhcp_config']
|
||||
self.assertIsNotNone(dhcp_server)
|
||||
self.assertEqual(dhcp_server['server_address'],
|
||||
"192.168.100.2/24")
|
||||
self.assertEqual(
|
||||
nsx_network['subnets'][0]['gateway_address'].split('/')[0],
|
||||
self._subnet_data['gateway'])
|
||||
|
||||
@decorators.attr(type='nsxv3')
|
||||
@decorators.idempotent_id('acee6ccb-92bb-48d8-ae6b-b10783b3791a')
|
||||
|
|
|
@ -13,15 +13,13 @@
|
|||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import time
|
||||
|
||||
from tempest.api.network import base
|
||||
from tempest import config
|
||||
from tempest.lib.common.utils import data_utils
|
||||
from tempest.lib.common.utils import test_utils
|
||||
from tempest.lib import decorators
|
||||
|
||||
from vmware_nsx_tempest_plugin.common import constants
|
||||
from vmware_nsx_tempest_plugin.services import nsxp_client
|
||||
from vmware_nsx_tempest_plugin.services import nsxv3_client
|
||||
|
||||
CONF = config.CONF
|
||||
|
@ -49,6 +47,9 @@ class NSXv3NativeDHCPNegative(base.BaseNetworkTest):
|
|||
cls.nsx = nsxv3_client.NSXV3Client(CONF.nsxv3.nsx_manager,
|
||||
CONF.nsxv3.nsx_user,
|
||||
CONF.nsxv3.nsx_password)
|
||||
cls.nsxp = nsxp_client.NSXPClient(CONF.nsxv3.nsx_manager,
|
||||
CONF.nsxv3.nsx_user,
|
||||
CONF.nsxv3.nsx_password)
|
||||
|
||||
@decorators.attr(type='nsxv3')
|
||||
@decorators.attr(type=['negative'])
|
||||
|
@ -60,14 +61,18 @@ class NSXv3NativeDHCPNegative(base.BaseNetworkTest):
|
|||
self.addCleanup(test_utils.call_and_ignore_notfound_exc,
|
||||
self.networks_client.delete_network, net_id)
|
||||
self.assertTrue('ACTIVE', network['status'])
|
||||
if CONF.network.backend == 'nsxp':
|
||||
time.sleep(constants.NSXP_BACKEND_SMALL_TIME_INTERVAL)
|
||||
nsx_switch = self.nsx.get_logical_switch(network['name'],
|
||||
network['id'])
|
||||
dhcp_server = self.nsx.get_logical_dhcp_server(network['name'],
|
||||
if CONF.network.backend != 'nsxp':
|
||||
nsx_switch = self.nsx.get_logical_switch(network['name'],
|
||||
network['id'])
|
||||
dhcp_server = self.nsx.get_logical_dhcp_server(network['name'],
|
||||
network['id'])
|
||||
self.assertIsNotNone(nsx_switch)
|
||||
self.assertIsNone(dhcp_server)
|
||||
else:
|
||||
nsx_network = self.nsxp.get_logical_switch(network['name'],
|
||||
network['id'])
|
||||
self.assertIsNotNone(nsx_switch)
|
||||
self.assertIsNone(dhcp_server)
|
||||
self.assertIsNotNone(nsx_network)
|
||||
self.assertEqual('subnets' in nsx_network, False)
|
||||
|
||||
@decorators.attr(type='nsxv3')
|
||||
@decorators.attr(type=['negative'])
|
||||
|
@ -80,14 +85,18 @@ class NSXv3NativeDHCPNegative(base.BaseNetworkTest):
|
|||
self.networks_client.delete_network, net_id)
|
||||
self.create_subnet(network, enable_dhcp=False)
|
||||
self.assertTrue('ACTIVE', network['status'])
|
||||
if CONF.network.backend == 'nsxp':
|
||||
time.sleep(constants.NSXP_BACKEND_SMALL_TIME_INTERVAL)
|
||||
nsx_switch = self.nsx.get_logical_switch(network['name'],
|
||||
network['id'])
|
||||
dhcp_server = self.nsx.get_logical_dhcp_server(network['name'],
|
||||
if CONF.network.backend != 'nsxp':
|
||||
nsx_switch = self.nsx.get_logical_switch(network['name'],
|
||||
network['id'])
|
||||
dhcp_server = self.nsx.get_logical_dhcp_server(network['name'],
|
||||
network['id'])
|
||||
self.assertIsNotNone(nsx_switch)
|
||||
self.assertIsNone(dhcp_server)
|
||||
else:
|
||||
nsx_network = self.nsxp.get_logical_switch(network['name'],
|
||||
network['id'])
|
||||
self.assertIsNotNone(nsx_switch)
|
||||
self.assertIsNone(dhcp_server)
|
||||
self.assertIsNotNone(nsx_network)
|
||||
self.assertEqual('subnets' in nsx_network, False)
|
||||
|
||||
@decorators.attr(type='nsxv3')
|
||||
@decorators.attr(type=['negative'])
|
||||
|
@ -100,18 +109,29 @@ class NSXv3NativeDHCPNegative(base.BaseNetworkTest):
|
|||
self.networks_client.delete_network, net_id)
|
||||
subnet = self.create_subnet(network)
|
||||
self.assertTrue('ACTIVE', network['status'])
|
||||
if CONF.network.backend == 'nsxp':
|
||||
time.sleep(constants.NSXP_BACKEND_SMALL_TIME_INTERVAL)
|
||||
nsx_switch = self.nsx.get_logical_switch(network['name'],
|
||||
network['id'])
|
||||
dhcp_server = self.nsx.get_logical_dhcp_server(network['name'],
|
||||
if CONF.network.backend != 'nsxp':
|
||||
nsx_switch = self.nsx.get_logical_switch(network['name'],
|
||||
network['id'])
|
||||
dhcp_server = self.nsx.get_logical_dhcp_server(network['name'],
|
||||
network['id'])
|
||||
self.assertIsNotNone(nsx_switch)
|
||||
self.assertIsNotNone(dhcp_server)
|
||||
else:
|
||||
nsx_network = self.nsxp.get_logical_switch(network['name'],
|
||||
network['id'])
|
||||
self.assertIsNotNone(nsx_switch)
|
||||
self.assertIsNotNone(dhcp_server)
|
||||
self.assertIsNotNone(nsx_network)
|
||||
self.assertEqual('subnets' in nsx_network, True)
|
||||
# Update subnet to disable DHCP
|
||||
self.subnets_client.update_subnet(subnet['id'], enable_dhcp=False)
|
||||
if CONF.network.backend == 'nsxp':
|
||||
time.sleep(constants.NSXP_BACKEND_SMALL_TIME_INTERVAL)
|
||||
dhcp_server = self.nsx.get_logical_dhcp_server(network['name'],
|
||||
if CONF.network.backend != 'nsxp':
|
||||
nsx_switch = self.nsx.get_logical_switch(network['name'],
|
||||
network['id'])
|
||||
dhcp_server = self.nsx.get_logical_dhcp_server(network['name'],
|
||||
network['id'])
|
||||
self.assertIsNotNone(nsx_switch)
|
||||
self.assertIsNone(dhcp_server)
|
||||
else:
|
||||
nsx_network = self.nsxp.get_logical_switch(network['name'],
|
||||
network['id'])
|
||||
self.assertIsNone(dhcp_server)
|
||||
self.assertIsNotNone(nsx_network)
|
||||
self.assertEqual(nsx_network['subnets'], [])
|
||||
|
|
|
@ -224,9 +224,9 @@ class NSXv3MacLearningTest(base.BaseNetworkTest):
|
|||
update_port_name = data_utils.rand_name('updated_port-')
|
||||
updated_os_port = self.update_port(test_port,
|
||||
name=update_port_name)
|
||||
updated_nsx_port = self.nsx.get_logical_port(updated_os_port['name'])
|
||||
if CONF.network.backend == 'nsxp':
|
||||
time.sleep(constants.NSXP_BACKEND_SMALL_TIME_INTERVAL)
|
||||
updated_nsx_port = self.nsx.get_logical_port(updated_os_port['name'])
|
||||
# Assert if NSXT and OS names do not match
|
||||
self.assertEqual(updated_nsx_port['display_name'],
|
||||
updated_os_port['name'],
|
||||
|
|
Loading…
Reference in New Issue