Bottlenecks Https support 05/38505/1
authorAce Lee <liyin11@huawei.com>
Tue, 1 Aug 2017 03:10:27 +0000 (03:10 +0000)
committerYu Yang (Gabriel) <Gabriel.yuyang@huawei.com>
Tue, 1 Aug 2017 03:55:19 +0000 (03:55 +0000)
JIRA: BOTTLENECK-174

Bottlenecks Https Support
After this patch, you could use https method to run Bottlenecks
Motion that if you want to use https, you need to write down the cacert
at Bottlenecks /tmp/ dir

Change-Id: I86fda57c76179d52e7d4c06c7289e2fcc15a4bc0
Signed-off-by: Ace Lee <liyin11@huawei.com>
(cherry picked from commit 0b47f013a0af6549cee590762bbd979729de0ead)

utils/infra_setup/heat/common.py

index ab0dadf..a0d6d83 100755 (executable)
@@ -54,20 +54,6 @@ def get_credentials():
                 "project_domain_name": os.getenv('OS_PROJECT_DOMAIN_NAME')
             })
 
-    cacert = os.environ.get("OS_CACERT")
-
-    if cacert is not None:
-        # each openstack client uses differnt kwargs for this
-        creds.update({"cacert": cacert,
-                      "ca_cert": cacert,
-                      "https_ca_cert": cacert,
-                      "https_cacert": cacert,
-                      "ca_file": cacert})
-        creds.update({"insecure": "True", "https_insecure": "True"})
-        if not os.path.isfile(cacert):
-            log.info("WARNING: The 'OS_CACERT' environment variable is set\
-                      to %s but the file does not exist." % cacert)
-
     return creds
 
 
@@ -80,7 +66,14 @@ def get_session_auth():
 
 def get_session():
     auth = get_session_auth()
-    return session.Session(auth=auth)
+    try:
+        cacert = os.environ['OS_CACERT']
+    except KeyError:
+        return session.Session(auth=auth)
+    else:
+        insecure = os.getenv('OS_INSECURE', '').lower() == 'true'
+        cacert = False if insecure else cacert
+        return session.Session(auth=auth, verify=cacert)
 
 
 def get_endpoint(service_type, endpoint_type='publicURL'):