Add a TLS scenario using Barbican

This patch adds a TLS load balancer scenario test using Barbican.

Story: 1627383
Task: 5149

Change-Id: I7013888f94261d94e1cd4c3167dc84da7125d1da
diff --git a/octavia_tempest_plugin/config.py b/octavia_tempest_plugin/config.py
index 1d874a6..1bc4a63 100644
--- a/octavia_tempest_plugin/config.py
+++ b/octavia_tempest_plugin/config.py
@@ -14,9 +14,13 @@
 
 
 from oslo_config import cfg
+from oslo_log import log as logging
 
 from octavia_tempest_plugin.common import constants as const
 
+
+LOG = logging.getLogger(__name__)
+
 service_available_group = cfg.OptGroup(name='service_available',
                                        title='Available OpenStack Services')
 
@@ -27,6 +31,19 @@
                      "to be available."),
 ]
 
+# Pull in the service_available for barbican if it is not defined.
+# If the barbican tempest plugin isn't loaded, this won't load from
+# tempest.conf.
+try:
+    if cfg.CONF.service_available.barbican is not None:
+        LOG.info('Barbican service_available state: {}'.format(
+            cfg.CONF.service_available.barbican))
+except cfg.NoSuchOptError:
+    ServiceAvailableGroup.append(
+        cfg.BoolOpt('barbican', default=False,
+                    help="Whether or not the barbican service is expected to "
+                         "be available."))
+
 octavia_group = cfg.OptGroup(name='load_balancer',
                              title='load-balancer service options')
 
@@ -54,6 +71,9 @@
                default=300,
                help='Timeout in seconds to wait for non-load-balancer '
                     'resources to build'),
+    cfg.StrOpt('octavia_svc_username', default='admin',
+               help='The service_auth username the Octavia services are using'
+                    'to access other OpenStack services.'),
     # load-balancer specific options
     cfg.IntOpt('check_interval',
                default=5,
@@ -152,4 +172,8 @@
                 default=True,
                 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."),
 ]