def test_nuage_update_port_with_dhcp_opts_multiple_times_neg(self): # When specifying the the same option multiple times, it should fail extra_dhcp_opts = [{ 'opt_value': '19.20.30.40', 'opt_name': 'router' }, { 'opt_value': '19.20.30.41', 'opt_name': 'router' }, { 'opt_value': '19.20.30.42', 'opt_name': 'router' }, { 'opt_value': '19.20.30.43', 'opt_name': 'router' }, { 'opt_value': '19.20.30.44', 'opt_name': 'router' }] if Topology.from_openstack('Newton') and Topology.is_ml2: self.assertRaises(exceptions.Conflict, self._update_port_with_dhcp_opts, self.os_l2_port['id'], extra_dhcp_opts) else: self.assertRaises(exceptions.BadRequest, self._update_port_with_dhcp_opts, self.os_l2_port['id'], extra_dhcp_opts)
def test_upgrade(self): # ---------------------------------------------------- # # # T H I S I S T H E T E S T # # Mind : there can be only one upgrade test! # ---------------------------------------------------- # # Alembic migration is expected from Ussuri onwards self._test_upgrade(alembic_expected=Topology.from_openstack('Ussuri'))
def setUp(self): super(TestNuageDomainTunnelTypeAsTenantCli, self).setUp() if Topology.from_openstack('liberty'): self.CREATE_POLICY_ERROR = "disallowed by policy" self.UPDATE_POLICY_ERROR = "disallowed by policy" else: self.CREATE_POLICY_ERROR = \ "Policy doesn't allow \(rule:create_router and " \ "rule:create_router:tunnel_type\) to be performed" self.UPDATE_POLICY_ERROR = \ "Policy doesn't allow \(rule:update_router and " \ "rule:update_router:tunnel_type\) to be performed"
def test_cli_create_external_fip_subnet_with_vsd_managed_subnet_neg(self): """test_cli_create_external_fip_subnet_with_vsd_managed_subnet_neg Create external fip subnet using a VSD managed subnet Should fail, as PAT is only for OS managed networks """ self._as_admin() name = data_utils.rand_name('vsd-l2domain-') cidr = IPNetwork('10.10.100.0/24') params = { 'DHCPManaged': True, 'address': str(cidr.ip), 'netmask': str(cidr.netmask), 'gateway': '10.10.100.1' } # Create VSD managed subnet vsd_l2dom_template = self.nuage_client.create_l2domaintemplate( name=name + '-template', extra_params=params) template_id = vsd_l2dom_template[0]['ID'] vsd_l2domain = self.nuage_client.create_l2domain( name=name, templateId=template_id) self.assertEqual(vsd_l2domain[0]['name'], name) # Try to create subnet on OS with nuagenet param set to l2domain UUID # Must fails with message = exp+message network_name = data_utils.rand_name('ext-pat-network') network = self.create_network_with_args(network_name, ' --router:external') if Topology.from_openstack('Newton') and Topology.is_ml2: exp_message = "Bad request: " \ "router:external in network must be False" else: exp_message = "Bad request: " \ "VSD-Managed Subnet create not allowed on " \ "external network" self.assertCommandFailed( exp_message, self.create_subnet_with_args, network['name'], str(cidr.cidr), '--name subnet-VSD-managed ' '--net-partition', Topology.def_netpartition, '--nuagenet', vsd_l2domain[0]['ID'], '--underlay=True') # Delete the VSD manged subnet self.nuage_client.delete_l2domain(vsd_l2domain[0]['ID']) self.nuage_client.delete_l2domaintemplate(vsd_l2dom_template[0]['ID'])
def test_nuage_external_network_update_to_internal(self): """test_nuage_external_network_update_to_internal Releases below Rocky: OPENSTACK-2340 Releases from Rocky: Check that external network with subnets can not be updated to internal """ if Topology.from_openstack('ROCKY'): kwargs = {'router:external': True} n1 = self.create_network(manager=self.admin_manager, **kwargs) self.create_subnet(n1, cidr=data_utils.gimme_a_cidr(), mask_bits=24, manager=self.admin_manager) kwargs = {'router:external': False} msg = ('External network with subnets can not be ' 'changed to non-external network') self.assertRaisesRegex(exceptions.BadRequest, msg, self.update_network, n1['id'], self.admin_manager, **kwargs)
def skip_checks(cls): super(NuageFloatingIPProprietaryQosTest, cls).skip_checks() if Topology.from_openstack('Wallaby'): raise cls.skipException('VRS-54954: FIP rate limiting in VRS seems' ' broken on CentOS 8 Stream')
# Copyright 2020 Nokia # All Rights Reserved. import json import testtools from tempest.common import utils from nuage_tempest_plugin.lib.cli import client_testcase from nuage_tempest_plugin.lib.topology import Topology LOG = Topology.get_logger(__name__) @testtools.skipIf(Topology.from_openstack('stein'), 'Fwaas v1 is removed from stein onwards') class TestNuageFWaaSCli(client_testcase.CLIClientTestCase): @classmethod def resource_setup(cls): super(TestNuageFWaaSCli, cls).resource_setup() if not utils.is_extension_enabled('fwaas', 'network'): msg = "FWaaS Extension not enabled." raise cls.skipException(msg) def test_cli_create_ipv6_icmp_rule(self): self._as_admin() name = utils.data_utils.rand_name('test-create-firwall-rule-') fw_rule = self.create_firewall_rule_cli( '--protocol icmp', '--action deny', '--ip-version 6', '--name ', name, '-f json', '--insecure')