From 397d315af7d3e9aedce95610aca5f1eb8d77cbd2 Mon Sep 17 00:00:00 2001 From: Alex Kavanagh Date: Wed, 20 Jan 2021 12:19:32 +0000 Subject: [PATCH] Hotfix charmhelpers sync for local_address() fix The network-get --primary-address juju-info fails on pre-2.8.? versions of juju. This results in a NoNetworkBinding error. Fallback to unit_get() if that occurs for local_address(). Change-Id: Id064f767cb896e55c6b59f47ff2f22b09e7eee1e --- charmhelpers/contrib/openstack/ip.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/charmhelpers/contrib/openstack/ip.py b/charmhelpers/contrib/openstack/ip.py index 6557330..b8c94c5 100644 --- a/charmhelpers/contrib/openstack/ip.py +++ b/charmhelpers/contrib/openstack/ip.py @@ -130,6 +130,9 @@ def local_address(unit_get_fallback='public-address'): from network-get. If this is running with an old version of Juju then fallback to unit_get. + Note on juju < 2.9 the binding to juju-info may not exist, so fall back to + the unit-get. + :param unit_get_fallback: Either 'public-address' or 'private-address'. Only used with old versions of Juju. :type unit_get_fallback: str @@ -138,7 +141,7 @@ def local_address(unit_get_fallback='public-address'): """ try: return network_get_primary_address('juju-info') - except NotImplementedError: + except (NotImplementedError, NoNetworkBinding): return unit_get(unit_get_fallback)