Add skip_if_not_implemented to the service client
This patch adds a decorator that wraps the service client methods adding
the ability to raise a skipException if a call to the API returns a
NotImplementedError or UnsupportedOptionError exception.
This is useful for running the tests against provider drivers that do
not support all of the Octavia API features.
Change-Id: I17d4be65130fadf97d6170d22fb07c72672b7573
diff --git a/octavia_tempest_plugin/config.py b/octavia_tempest_plugin/config.py
index fc04c33..8dd0403 100644
--- a/octavia_tempest_plugin/config.py
+++ b/octavia_tempest_plugin/config.py
@@ -209,6 +209,12 @@
lb_feature_enabled_group = cfg.OptGroup(name='loadbalancer-feature-enabled',
title='Enabled/Disabled LB features')
LBFeatureEnabledGroup = [
+ cfg.BoolOpt('not_implemented_is_error',
+ default=True,
+ help="When True, not-implemented responses from the API are "
+ "considered an error and test failure. This should be "
+ "used when a driver should support all of the Octavia "
+ "API features, such as the reference driver."),
cfg.BoolOpt('health_monitor_enabled',
default=True,
help="Whether Health Monitor is available with provider "