Open rhxto opened 6 months ago
I'm running into this issue with the openstack-loadbalancer charm as well. Copied the patched ip.py file and that charms works as well.
unit-openstack-loadbalancer-hacluster-0: 13:06:37 WARNING unit.openstack-loadbalancer-hacluster/0.install Traceback (most recent call last):
unit-openstack-loadbalancer-hacluster-0: 13:06:37 WARNING unit.openstack-loadbalancer-hacluster/0.install File "/var/lib/juju/agents/unit-openstack-loadbalancer-hacluster-0/charm/hooks/install.real", line 767, in <module>
unit-openstack-loadbalancer-hacluster-0: 13:06:37 WARNING unit.openstack-loadbalancer-hacluster/0.install hooks.execute(sys.argv)
unit-openstack-loadbalancer-hacluster-0: 13:06:37 WARNING unit.openstack-loadbalancer-hacluster/0.install File "/var/lib/juju/agents/unit-openstack-loadbalancer-hacluster-0/charm/charmhelpers/core/hookenv.py", line 963, in execute
unit-openstack-loadbalancer-hacluster-0: 13:06:37 WARNING unit.openstack-loadbalancer-hacluster/0.install self._hooks[hook_name]()
unit-openstack-loadbalancer-hacluster-0: 13:06:37 WARNING unit.openstack-loadbalancer-hacluster/0.install File "/var/lib/juju/agents/unit-openstack-loadbalancer-hacluster-0/charm/hooks/install.real", line 160, in install
unit-openstack-loadbalancer-hacluster-0: 13:06:37 WARNING unit.openstack-loadbalancer-hacluster/0.install if emit_corosync_conf():
unit-openstack-loadbalancer-hacluster-0: 13:06:37 WARNING unit.openstack-loadbalancer-hacluster/0.install File "/var/lib/juju/agents/unit-openstack-loadbalancer-hacluster-0/charm/hooks/utils.py", line 362, in emit_corosync_conf
unit-openstack-loadbalancer-hacluster-0: 13:06:37 WARNING unit.openstack-loadbalancer-hacluster/0.install corosync_conf_context = get_corosync_conf()
unit-openstack-loadbalancer-hacluster-0: 13:06:37 WARNING unit.openstack-loadbalancer-hacluster/0.install File "/var/lib/juju/agents/unit-openstack-loadbalancer-hacluster-0/charm/hooks/utils.py", line 258, in get_corosync_conf
unit-openstack-loadbalancer-hacluster-0: 13:06:37 WARNING unit.openstack-loadbalancer-hacluster/0.install 'ha_nodes': get_ha_nodes(),
unit-openstack-loadbalancer-hacluster-0: 13:06:37 WARNING unit.openstack-loadbalancer-hacluster/0.install File "/var/lib/juju/agents/unit-openstack-loadbalancer-hacluster-0/charm/hooks/utils.py", line 476, in get_ha_nodes
unit-openstack-loadbalancer-hacluster-0: 13:06:37 WARNING unit.openstack-loadbalancer-hacluster/0.install addr = get_ipv6_addr()
unit-openstack-loadbalancer-hacluster-0: 13:06:37 WARNING unit.openstack-loadbalancer-hacluster/0.install File "/var/lib/juju/agents/unit-openstack-loadbalancer-hacluster-0/charm/hooks/utils.py", line 454, in get_ipv6_addr
unit-openstack-loadbalancer-hacluster-0: 13:06:37 WARNING unit.openstack-loadbalancer-hacluster/0.install return utils.get_ipv6_addr(exc_list=excludes)[0]
unit-openstack-loadbalancer-hacluster-0: 13:06:37 WARNING unit.openstack-loadbalancer-hacluster/0.install File "/var/lib/juju/agents/unit-openstack-loadbalancer-hacluster-0/charm/charmhelpers/contrib/network/ip.py", line 347, in iface_sniffer
unit-openstack-loadbalancer-hacluster-0: 13:06:37 WARNING unit.openstack-loadbalancer-hacluster/0.install return f(*args, **kwargs)
unit-openstack-loadbalancer-hacluster-0: 13:06:37 WARNING unit.openstack-loadbalancer-hacluster/0.install File "/var/lib/juju/agents/unit-openstack-loadbalancer-hacluster-0/charm/charmhelpers/contrib/network/ip.py", line 415, in get_ipv6_addr
unit-openstack-loadbalancer-hacluster-0: 13:06:37 WARNING unit.openstack-loadbalancer-hacluster/0.install raise Exception("Interface '%s' does not have a scope global "
unit-openstack-loadbalancer-hacluster-0: 13:06:37 WARNING unit.openstack-loadbalancer-hacluster/0.install Exception: Interface 'eth1' does not have a scope global non-temporary ipv6 address.
mysql-innodb-cluster is also affected. Can anyone have a look at the pull request?
I think this if condition is not correct. I'm using the
ceph-osd
charm which fails themon-relation-changed
hook saying that there is no valid address. Here's the logs:The interface the logs refer to, has a
global dynamic
, aglobal
and alink-local
address.get_ipv6_addr
was correctly excluding the link-local one; the condition dynamic_only is weirdly defaulted toTrue
(which I agree with #554 should not be) and the function should've returned theglobal dynamic
one. The original conditions allows the address only if either we're getting dynamic and non-dynamic addresses, or if we're only getting dynamic ones they must have the eui 64 mac at the end which should only be in some SLAAC assigned ones, while it breaks DHCPv6.