Pre 1607 release charm-helpers sync

Sync charmhelpers to pick up bug fixes for 1607 release

Change-Id: I47000c9b8e77a5429c6f972e1fedb42749ef99e0
This commit is contained in:
Liam Young 2016-07-21 14:20:20 +00:00
parent f4bcae8b6b
commit b259a002f2
4 changed files with 37 additions and 10 deletions

View File

@ -22,6 +22,7 @@
# Adam Gandelman <adamg@ubuntu.com>
#
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'])

View File

@ -414,7 +414,7 @@ def ns_query(address):
try:
import dns.resolver
except ImportError:
apt_install('python-dnspython')
apt_install('python-dnspython', fatal=True)
import dns.resolver
if isinstance(address, dns.name.Name):
@ -458,7 +458,7 @@ def get_hostname(address, fqdn=True):
try:
import dns.reversename
except ImportError:
apt_install("python-dnspython")
apt_install("python-dnspython", fatal=True)
import dns.reversename
rev = dns.reversename.from_address(address)

View File

@ -145,7 +145,7 @@ SWIFT_CODENAMES = OrderedDict([
('mitaka',
['2.5.0', '2.6.0', '2.7.0']),
('newton',
['2.8.0']),
['2.8.0', '2.9.0']),
])
# >= Liberty version->codename mapping
@ -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 = {

View File

@ -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