Merge "Add the provider flavor capabilities service client."
diff --git a/.gitreview b/.gitreview
index a22fc23..9832cf7 100644
--- a/.gitreview
+++ b/.gitreview
@@ -1,4 +1,4 @@
[gerrit]
-host=review.openstack.org
+host=review.opendev.org
port=29418
project=openstack/octavia-tempest-plugin.git
diff --git a/octavia_tempest_plugin/config.py b/octavia_tempest_plugin/config.py
index 701eb8e..425ad60 100644
--- a/octavia_tempest_plugin/config.py
+++ b/octavia_tempest_plugin/config.py
@@ -167,18 +167,22 @@
LBFeatureEnabledGroup = [
cfg.BoolOpt('health_monitor_enabled',
default=True,
- help="Whether Health Monitor is available with provider"
- " driver or not."),
+ help="Whether Health Monitor is available with provider "
+ "driver or not."),
cfg.BoolOpt('terminated_tls_enabled',
default=True,
help="Whether TLS termination is available with provider "
"driver or not."),
cfg.BoolOpt('l7_protocol_enabled',
default=True,
- help="Whether L7 Protocols are available with the provider"
- " driver or not."),
+ help="Whether L7 Protocols are available with the provider "
+ "driver or not."),
+ cfg.BoolOpt('pool_algorithms_enabled',
+ default=True,
+ help="Whether pool algorithms are available with provider"
+ "driver or not."),
cfg.StrOpt('l4_protocol',
default="TCP",
- help="The type of L4 Protocol which is supported with the"
- " provider driver."),
+ help="The type of L4 Protocol which is supported with the "
+ "provider driver."),
]
diff --git a/octavia_tempest_plugin/tests/scenario/v2/test_pool.py b/octavia_tempest_plugin/tests/scenario/v2/test_pool.py
index 1cdd727..d1090c7 100644
--- a/octavia_tempest_plugin/tests/scenario/v2/test_pool.py
+++ b/octavia_tempest_plugin/tests/scenario/v2/test_pool.py
@@ -51,9 +51,9 @@
CONF.load_balancer.lb_build_interval,
CONF.load_balancer.lb_build_timeout)
cls.protocol = const.HTTP
- lb_feature_enabled = CONF.loadbalancer_feature_enabled
- if not lb_feature_enabled.l7_protocol_enabled:
- cls.protocol = lb_feature_enabled.l4_protocol
+ cls.lb_feature_enabled = CONF.loadbalancer_feature_enabled
+ if not cls.lb_feature_enabled.l7_protocol_enabled:
+ cls.protocol = cls.lb_feature_enabled.l4_protocol
listener_name = data_utils.rand_name("lb_member_listener1_pool")
listener_kwargs = {
@@ -161,8 +161,12 @@
const.NAME: new_name,
const.DESCRIPTION: new_description,
const.ADMIN_STATE_UP: True,
- const.LB_ALGORITHM: const.LB_ALGORITHM_LEAST_CONNECTIONS,
}
+
+ if self.lb_feature_enabled.pool_algorithms_enabled:
+ pool_update_kwargs[const.LB_ALGORITHM] = \
+ const.LB_ALGORITHM_LEAST_CONNECTIONS
+
if self.protocol == const.HTTP:
pool_update_kwargs[const.SESSION_PERSISTENCE] = {
const.TYPE: const.SESSION_PERSISTENCE_HTTP_COOKIE}
@@ -184,8 +188,9 @@
self.assertEqual(new_name, pool[const.NAME])
self.assertEqual(new_description, pool[const.DESCRIPTION])
self.assertTrue(pool[const.ADMIN_STATE_UP])
- self.assertEqual(const.LB_ALGORITHM_LEAST_CONNECTIONS,
- pool[const.LB_ALGORITHM])
+ if self.lb_feature_enabled.pool_algorithms_enabled:
+ self.assertEqual(const.LB_ALGORITHM_LEAST_CONNECTIONS,
+ pool[const.LB_ALGORITHM])
self.assertIsNotNone(pool.get(const.SESSION_PERSISTENCE))
if self.protocol == const.HTTP:
self.assertEqual(const.SESSION_PERSISTENCE_HTTP_COOKIE,
diff --git a/octavia_tempest_plugin/tests/scenario/v2/test_traffic_ops.py b/octavia_tempest_plugin/tests/scenario/v2/test_traffic_ops.py
index edc2cbc..eba7e38 100644
--- a/octavia_tempest_plugin/tests/scenario/v2/test_traffic_ops.py
+++ b/octavia_tempest_plugin/tests/scenario/v2/test_traffic_ops.py
@@ -73,10 +73,15 @@
CONF.load_balancer.lb_build_interval,
CONF.load_balancer.lb_build_timeout)
+ protocol = const.HTTP
+ lb_feature_enabled = CONF.loadbalancer_feature_enabled
+ if not lb_feature_enabled.l7_protocol_enabled:
+ protocol = lb_feature_enabled.l4_protocol
+
listener_name = data_utils.rand_name("lb_member_listener1_operations")
listener_kwargs = {
const.NAME: listener_name,
- const.PROTOCOL: const.HTTP,
+ const.PROTOCOL: protocol,
const.PROTOCOL_PORT: '80',
const.LOADBALANCER_ID: cls.lb_id,
}
@@ -96,7 +101,7 @@
pool_name = data_utils.rand_name("lb_member_pool1_operations")
pool_kwargs = {
const.NAME: pool_name,
- const.PROTOCOL: const.HTTP,
+ const.PROTOCOL: protocol,
const.LB_ALGORITHM: const.LB_ALGORITHM_ROUND_ROBIN,
const.LISTENER_ID: cls.listener_id,
}
@@ -173,6 +178,9 @@
# Send some traffic
self.check_members_balanced(self.lb_vip_address)
+ @testtools.skipUnless(
+ CONF.loadbalancer_feature_enabled.health_monitor_enabled,
+ 'Health monitor testing is disabled')
@decorators.idempotent_id('a16f8eb4-a77c-4b0e-8b1b-91c237039713')
def test_healthmonitor_traffic(self):
"""Tests traffic is correctly routed based on healthmonitor status
@@ -385,6 +393,9 @@
# Send some traffic and verify it is balanced again
self.check_members_balanced(self.lb_vip_address)
+ @testtools.skipUnless(
+ CONF.loadbalancer_feature_enabled.l7_protocol_enabled,
+ 'L7 protocol testing is disabled')
@decorators.idempotent_id('3558186d-6dcd-4d9d-b7f7-adc190b66149')
def test_l7policies_and_l7rules(self):
"""Tests sending traffic through a loadbalancer with l7rules
diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml
index 8c8ac73..65903b4 100644
--- a/zuul.d/jobs.yaml
+++ b/zuul.d/jobs.yaml
@@ -81,7 +81,7 @@
s-proxy: false
tempest: true
devstack_plugins:
- octavia: https://git.openstack.org/openstack/octavia.git
+ octavia: https://opendev.org/openstack/octavia.git
- job:
name: octavia-dsvm-live-base
@@ -102,7 +102,7 @@
devstack_services:
neutron-qos: true
devstack_plugins:
- neutron: https://git.openstack.org/openstack/neutron.git
+ neutron: https://opendev.org/openstack/neutron.git
zuul_copy_output:
'/var/log/dib-build' : logs
@@ -145,8 +145,8 @@
OCTAVIA_NODES: "main:{{ hostvars['controller']['nodepool']['private_ipv4'] }},second:{{ hostvars['controller2']['nodepool']['private_ipv4'] }}"
OCTAVIA_USE_PREGENERATED_CERTS: true
devstack_plugins:
- neutron: https://git.openstack.org/openstack/neutron.git
- octavia: https://git.openstack.org/openstack/octavia.git
+ neutron: https://opendev.org/openstack/neutron.git
+ octavia: https://opendev.org/openstack/octavia.git
controller2:
devstack_localrc:
# From devstack "vars:"
@@ -180,7 +180,7 @@
OCTAVIA_USE_PREGENERATED_CERTS: true
OCTAVIA_MGMT_PORT_IP: 192.168.0.4
devstack_plugins:
- octavia: https://git.openstack.org/openstack/octavia.git
+ octavia: https://opendev.org/openstack/octavia.git
group-vars:
controller:
devstack_local_conf:
@@ -287,6 +287,11 @@
USE_PYTHON3: False
- job:
+ name: octavia-v2-dsvm-noop-api-stable-stein
+ parent: octavia-v2-dsvm-noop-api
+ override-checkout: stable/stein
+
+- job:
name: octavia-v2-dsvm-noop-py2-api-stable-rocky
parent: octavia-v2-dsvm-noop-py2-api
override-checkout: stable/rocky
@@ -317,6 +322,11 @@
USE_PYTHON3: False
- job:
+ name: octavia-v2-dsvm-scenario-stable-stein
+ parent: octavia-v2-dsvm-scenario
+ override-checkout: stable/stein
+
+- job:
name: octavia-v2-dsvm-py2-scenario-stable-rocky
parent: octavia-v2-dsvm-py2-scenario
override-checkout: stable/rocky
@@ -376,7 +386,7 @@
devstack_services:
barbican: true
devstack_plugins:
- barbican: https://git.openstack.org/openstack/barbican.git
+ barbican: https://opendev.org/openstack/barbican.git
devstack_localrc:
TEMPEST_PLUGINS: '"/opt/stack/octavia-tempest-plugin /opt/stack/barbican-tempest-plugin"'
diff --git a/zuul.d/projects.yaml b/zuul.d/projects.yaml
index 07ec7ff..387f123 100644
--- a/zuul.d/projects.yaml
+++ b/zuul.d/projects.yaml
@@ -9,10 +9,12 @@
jobs:
- octavia-v2-dsvm-noop-api
- octavia-v2-dsvm-noop-py2-api
+ - octavia-v2-dsvm-noop-api-stable-stein
- octavia-v2-dsvm-noop-py2-api-stable-rocky
- octavia-v2-dsvm-noop-py2-api-stable-queens
- octavia-v2-dsvm-scenario
- octavia-v2-dsvm-py2-scenario
+ - octavia-v2-dsvm-scenario-stable-stein
- octavia-v2-dsvm-py2-scenario-stable-rocky
- octavia-v2-dsvm-py2-scenario-stable-queens
- octavia-v2-dsvm-scenario-centos-7:
@@ -30,9 +32,11 @@
jobs:
- octavia-v2-dsvm-noop-api
- octavia-v2-dsvm-noop-py2-api
+ - octavia-v2-dsvm-noop-api-stable-stein
- octavia-v2-dsvm-noop-py2-api-stable-rocky
- octavia-v2-dsvm-noop-py2-api-stable-queens
- octavia-v2-dsvm-scenario
- octavia-v2-dsvm-py2-scenario
+ - octavia-v2-dsvm-scenario-stable-stein
- octavia-v2-dsvm-py2-scenario-stable-rocky
- octavia-v2-dsvm-py2-scenario-stable-queens