Fix SSL errors from Neutron
diff --git a/xos/configurations/common/Dockerfile.common b/xos/configurations/common/Dockerfile.common
index 1f42c34..5329142 100644
--- a/xos/configurations/common/Dockerfile.common
+++ b/xos/configurations/common/Dockerfile.common
@@ -4,8 +4,8 @@
# XXX Workaround for docker bug:
# https://github.com/docker/docker/issues/6345
# Kernel 3.15 breaks docker, uss the line below as a workaround
-# until there is a fix
-RUN ln -s -f /bin/true /usr/bin/chfn
+# until there is a fix
+RUN ln -s -f /bin/true /usr/bin/chfn
# XXX End workaround
# Install.
@@ -23,12 +23,12 @@
python-httplib2 \
geoip-database \
libgeoip1 \
- wget \
- curl \
+ wget \
+ curl \
python-dev \
- libyaml-dev \
- pkg-config \
- python-pycurl
+ libyaml-dev \
+ pkg-config \
+ python-pycurl
RUN pip install django==1.7
RUN pip install djangorestframework==2.4.4
@@ -64,6 +64,7 @@
RUN easy_install python_gflags
RUN easy_install --upgrade httplib2
RUN easy_install google_api_python_client
+RUN easy_install httplib2.ca_certs_locater
# Install custom Ansible
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-crypto
@@ -97,7 +98,7 @@
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y supervisor
ADD observer.conf /etc/supervisor/conf.d/
-# Get XOS
+# Get XOS
ADD xos /opt/xos
# Initscript is broken in Ubuntu
diff --git a/xos/openstack/client.py b/xos/openstack/client.py
index 4962e06..c500204 100644
--- a/xos/openstack/client.py
+++ b/xos/openstack/client.py
@@ -36,7 +36,7 @@
return opts
class Client:
- def __init__(self, username=None, password=None, tenant=None, url=None, token=None, endpoint=None, controller=None, admin=True, *args, **kwds):
+ def __init__(self, username=None, password=None, tenant=None, url=None, token=None, endpoint=None, controller=None, cacert=None, admin=True, *args, **kwds):
self.has_openstack = has_openstack
self.url = controller.auth_url
@@ -62,6 +62,8 @@
if endpoint:
self.endpoint = endpoint
+ self.cacert = cacert
+
#if '@' in self.username:
# self.username = self.username[:self.username.index('@')]
@@ -157,7 +159,8 @@
self.client = quantum_client.Client(username=self.username,
password=self.password,
tenant_name=self.tenant,
- auth_url=self.url)
+ auth_url=self.url,
+ ca_cert=self.cacert)
@require_enabled
def connect(self, *args, **kwds):
self.__init__(*args, **kwds)