Merge "Rehome api tests for propagate_uplink_status" into stable/stein

This commit is contained in:
Zuul 2020-11-26 18:27:15 +00:00 committed by Gerrit Code Review
commit 10990578ad
3 changed files with 66 additions and 3 deletions

View File

@ -153,9 +153,11 @@ class ML2ConfigFixture(ConfigFixture):
},
})
extension_drivers = ['port_security']
extension_drivers = {'port_security'}
if env_desc.qos:
extension_drivers.append(qos_ext.QOS_EXT_DRIVER_ALIAS)
extension_drivers.add(qos_ext.QOS_EXT_DRIVER_ALIAS)
if env_desc.ml2_extension_drivers:
extension_drivers.update(env_desc.ml2_extension_drivers)
self.config['ml2']['extension_drivers'] = ','.join(extension_drivers)

View File

@ -39,7 +39,8 @@ class EnvironmentDescription(object):
service_plugins='router', arp_responder=False,
agent_down_time=75, router_scheduler=None,
global_mtu=common_const.DEFAULT_NETWORK_MTU,
debug_iptables=False, log=False, report_bandwidths=False):
debug_iptables=False, log=False, report_bandwidths=False,
ml2_extension_drivers=None):
self.network_type = network_type
self.l2_pop = l2_pop
self.qos = qos
@ -57,6 +58,7 @@ class EnvironmentDescription(object):
self.service_plugins += ',qos'
if self.log:
self.service_plugins += ',log'
self.ml2_extension_drivers = ml2_extension_drivers
@property
def tunneling_enabled(self):

View File

@ -0,0 +1,59 @@
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from neutron_lib import constants
from oslo_utils import uuidutils
from neutron.tests.fullstack import base
from neutron.tests.fullstack.resources import environment
from neutron.tests.unit import testlib_api
load_tests = testlib_api.module_load_tests
class TestPortsApi(base.BaseFullStackTestCase):
scenarios = [
('Sriov Agent', {'l2_agent_type': constants.AGENT_TYPE_NIC_SWITCH})]
def setUp(self):
host_descriptions = [
environment.HostDescription(
l2_agent_type=self.l2_agent_type)]
env = environment.Environment(
environment.EnvironmentDescription(
agent_down_time=10,
ml2_extension_drivers=['uplink_status_propagation']),
host_descriptions)
super(TestPortsApi, self).setUp(env)
self.tenant_id = uuidutils.generate_uuid()
self.network = self.safe_client.create_network(self.tenant_id)
self.safe_client.create_subnet(
self.tenant_id, self.network['id'], '20.0.0.0/24')
def test_create_port_with_propagate_uplink_status(self):
body = self.safe_client.create_port(
self.tenant_id, self.network['id'], propagate_uplink_status=False)
self.assertFalse(body['propagate_uplink_status'])
body = self.safe_client.client.list_ports(id=body['id'])['ports'][0]
self.assertFalse(body['propagate_uplink_status'])
body = self.safe_client.client.show_port(body['id'])['port']
self.assertFalse(body['propagate_uplink_status'])
def test_create_port_without_propagate_uplink_status(self):
body = self.safe_client.create_port(self.tenant_id, self.network['id'])
self.assertFalse(body['propagate_uplink_status'])
body = self.safe_client.client.list_ports(id=body['id'])['ports'][0]
self.assertFalse(body['propagate_uplink_status'])
body = self.safe_client.client.show_port(body['id'])['port']
self.assertFalse(body['propagate_uplink_status'])