From 884942128a4c0d45588be9dc6518b0d8e0c6b2c2 Mon Sep 17 00:00:00 2001 From: Liam Young Date: Thu, 21 Jul 2016 14:19:10 +0000 Subject: [PATCH] Pre 1607 release charm-helpers sync Sync charmhelpers to pick up bug fixes for 1607 release Change-Id: Ib526deed892f5bf53f2c9f61e7d28285a84782f9 --- charmhelpers/contrib/hahelpers/apache.py | 23 +++++++++++++++---- charmhelpers/contrib/openstack/utils.py | 8 +++++++ .../charmhelpers/contrib/amulet/deployment.py | 10 +++++--- 3 files changed, 34 insertions(+), 7 deletions(-) diff --git a/charmhelpers/contrib/hahelpers/apache.py b/charmhelpers/contrib/hahelpers/apache.py index 3313abac..d0c69942 100644 --- a/charmhelpers/contrib/hahelpers/apache.py +++ b/charmhelpers/contrib/hahelpers/apache.py @@ -22,6 +22,7 @@ # Adam Gandelman # +import os import subprocess from charmhelpers.core.hookenv import ( @@ -72,9 +73,23 @@ def get_ca_cert(): return ca_cert +def retrieve_ca_cert(cert_file): + cert = None + if os.path.isfile(cert_file): + with open(cert_file, 'r') as crt: + cert = crt.read() + return cert + + def install_ca_cert(ca_cert): if ca_cert: - with open('/usr/local/share/ca-certificates/keystone_juju_ca_cert.crt', - 'w') as crt: - crt.write(ca_cert) - subprocess.check_call(['update-ca-certificates', '--fresh']) + cert_file = ('/usr/local/share/ca-certificates/' + 'keystone_juju_ca_cert.crt') + old_cert = retrieve_ca_cert(cert_file) + if old_cert and old_cert == ca_cert: + log("CA cert is the same as installed version", level=INFO) + else: + log("Installing new CA cert", level=INFO) + with open(cert_file, 'w') as crt: + crt.write(ca_cert) + subprocess.check_call(['update-ca-certificates', '--fresh']) diff --git a/charmhelpers/contrib/openstack/utils.py b/charmhelpers/contrib/openstack/utils.py index 889ac044..9d3e3d89 100644 --- a/charmhelpers/contrib/openstack/utils.py +++ b/charmhelpers/contrib/openstack/utils.py @@ -212,6 +212,7 @@ GIT_DEFAULT_REPOS = { 'glance': 'git://github.com/openstack/glance', 'horizon': 'git://github.com/openstack/horizon', 'keystone': 'git://github.com/openstack/keystone', + 'networking-hyperv': 'git://github.com/openstack/networking-hyperv', 'neutron': 'git://github.com/openstack/neutron', 'neutron-fwaas': 'git://github.com/openstack/neutron-fwaas', 'neutron-lbaas': 'git://github.com/openstack/neutron-lbaas', @@ -761,6 +762,13 @@ def git_default_repos(projects_yaml): if service in ['neutron-api', 'neutron-gateway', 'neutron-openvswitch']: core_project = 'neutron' + if service == 'neutron-api': + repo = { + 'name': 'networking-hyperv', + 'repository': GIT_DEFAULT_REPOS['networking-hyperv'], + 'branch': branch, + } + repos.append(repo) for project in ['neutron-fwaas', 'neutron-lbaas', 'neutron-vpnaas', 'nova']: repo = { diff --git a/tests/charmhelpers/contrib/amulet/deployment.py b/tests/charmhelpers/contrib/amulet/deployment.py index 0146236d..9c65518e 100644 --- a/tests/charmhelpers/contrib/amulet/deployment.py +++ b/tests/charmhelpers/contrib/amulet/deployment.py @@ -78,11 +78,15 @@ class AmuletDeployment(object): def _deploy(self): """Deploy environment and wait for all hooks to finish executing.""" + timeout = int(os.environ.get('AMULET_SETUP_TIMEOUT', 900)) try: - self.d.setup(timeout=900) - self.d.sentry.wait(timeout=900) + self.d.setup(timeout=timeout) + self.d.sentry.wait(timeout=timeout) except amulet.helpers.TimeoutError: - amulet.raise_status(amulet.FAIL, msg="Deployment timed out") + amulet.raise_status( + amulet.FAIL, + msg="Deployment timed out ({}s)".format(timeout) + ) except Exception: raise