Add support for SSL endpoints in Functest 61/10961/5
authorjose.lausuch <jose.lausuch@ericsson.com>
Fri, 4 Mar 2016 09:49:56 +0000 (10:49 +0100)
committerjose.lausuch <jose.lausuch@ericsson.com>
Fri, 4 Mar 2016 14:50:14 +0000 (15:50 +0100)
JIRA: FUNCTEST-145

Change-Id: I051f1b71fda251e57d70f147433b9f038d30e7f9
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
docs/configguide/configguide.rst
testcases/functest_utils.py

index 7f4ac86..b7a25c7 100644 (file)
@@ -231,6 +231,30 @@ If still the OpenStack command does not show anything or complains about
 connectivity issues, it could be due to an incorrect url given to the OS_AUTH_URL
 environment variable. Check the deployment settings.
 
+SSL Support
+-----------
+
+If the OpenStack deployment is defined to use HTTPS endpoints, a certificate
+will be needed in the container in order to launch any command.
+
+The OS variable will point to that file. For example::
+
+    echo $OS_CACERT
+    /etc/ssl/certs/ca.crt
+
+However, this certificate does not exist in the container by default. It has to
+be copied manually from the OpenStack deployment. This can be done in 2 ways:
+
+    #. Create manually that file and copy the contents from the OpenStack controller.
+
+    #. (recommended) Add the file using a Docker volume when starting the container::
+
+        -v <path_to_your_cert_file>:/etc/ssl/certs/ca.cert
+
+
+
+
+
 Additional Options
 ------------------
 
index 7849782..f7b8327 100644 (file)
@@ -67,6 +67,12 @@ def get_credentials(service):
                                    "http://192.168.20.71:5000/v2.0"),
         tenant: os.environ.get("OS_TENANT_NAME", "admin"),
     })
+    ssl = os.environ.get("OS_CACERT")
+    if ssl != None:
+        creds.update({"ca_cert":ssl})
+        if not os.path.isfile(ssl):
+            print "WARNING: The 'OS_CACERT' environment variable is set to %s "\
+                "but the file does not exist." % ssl
     return creds