Fix alphanumeric comparisons for openstack and ubuntu releases

- sync charmhelpers with fix-alpha helpers
- fix up code where the alpha comparisons are done

Change-Id: I904f5faf2bd8fc28204d5e26c94877708cb98d7e
Related-Bug: #1659575
This commit is contained in:
Alex Kavanagh 2017-03-29 14:27:51 +01:00
parent 957ea0ad69
commit 2305eabe27
3 changed files with 23 additions and 11 deletions

View File

@ -19,7 +19,8 @@ from charmhelpers.core.hookenv import (
cached, cached,
config, config,
network_get_primary_address, network_get_primary_address,
log, DEBUG, log,
DEBUG,
status_set, status_set,
) )
from charmhelpers.core import unitdata from charmhelpers.core import unitdata
@ -29,7 +30,8 @@ from charmhelpers.fetch import (
) )
from charmhelpers.core.host import ( from charmhelpers.core.host import (
lsb_release lsb_release,
CompareHostReleases,
) )
from charmhelpers.contrib.network.ip import ( from charmhelpers.contrib.network.ip import (
@ -163,7 +165,8 @@ def get_network_addrs(config_opt):
def assert_charm_supports_ipv6(): def assert_charm_supports_ipv6():
"""Check whether we are able to support charms ipv6.""" """Check whether we are able to support charms ipv6."""
if lsb_release()['DISTRIB_CODENAME'].lower() < "trusty": _release = lsb_release()['DISTRIB_CODENAME'].lower()
if CompareHostReleases(_release) < "trusty":
raise Exception("IPv6 is not supported in the charms for Ubuntu " raise Exception("IPv6 is not supported in the charms for Ubuntu "
"versions less than Trusty 14.04") "versions less than Trusty 14.04")

View File

@ -38,7 +38,9 @@ from charmhelpers.core.host import (
owner, owner,
service_restart, service_restart,
service_start, service_start,
service_stop) service_stop,
CompareHostReleases,
)
from charmhelpers.core.hookenv import ( from charmhelpers.core.hookenv import (
cached, cached,
config, config,
@ -46,21 +48,28 @@ from charmhelpers.core.hookenv import (
status_set, status_set,
DEBUG, DEBUG,
ERROR, ERROR,
WARNING) WARNING,
)
from charmhelpers.fetch import ( from charmhelpers.fetch import (
apt_cache, apt_cache,
add_source, apt_install, apt_update) add_source,
apt_install,
apt_update,
)
from charmhelpers.contrib.storage.linux.ceph import ( from charmhelpers.contrib.storage.linux.ceph import (
monitor_key_set, monitor_key_set,
monitor_key_exists, monitor_key_exists,
monitor_key_get, monitor_key_get,
get_mon_map) get_mon_map,
)
from charmhelpers.contrib.storage.linux.utils import ( from charmhelpers.contrib.storage.linux.utils import (
is_block_device, is_block_device,
zap_disk, zap_disk,
is_device_mounted) is_device_mounted,
)
from charmhelpers.contrib.openstack.utils import ( from charmhelpers.contrib.openstack.utils import (
get_os_codename_install_source) get_os_codename_install_source,
)
from ceph.ceph_helpers import check_output from ceph.ceph_helpers import check_output
@ -1180,7 +1189,7 @@ def upgrade_key_caps(key, caps):
@cached @cached
def systemd(): def systemd():
return (lsb_release()['DISTRIB_CODENAME'] >= 'vivid') return CompareHostReleases(lsb_release()['DISTRIB_CODENAME']) >= 'vivid'
def bootstrap_monitor_cluster(secret): def bootstrap_monitor_cluster(secret):

View File

@ -14,7 +14,7 @@ install_command =
pip install --allow-unverified python-apt {opts} {packages} pip install --allow-unverified python-apt {opts} {packages}
commands = ostestr {posargs} commands = ostestr {posargs}
whitelist_externals = juju whitelist_externals = juju
passenv = HOME TERM AMULET_* CS_API_URL passenv = HOME TERM AMULET_* CS_API_*
[testenv:py27] [testenv:py27]
basepython = python2.7 basepython = python2.7