Scaling down from 3 nodes in cluster, the designate charm fails with the following error (running the first cluster-relation-broken hook):
2017-06-19 13:51:38 INFO cluster-relation-broken Traceback (most recent call last):
2017-06-19 13:51:38 INFO cluster-relation-broken File "/var/lib/juju/agents/unit-designate-15/.venv/lib/python3.4/site-packages/charms_openstack/charm/core.py", line 569, in render_with_interfaces
2017-06-19 13:51:38 INFO cluster-relation-broken charm_instance=self))
2017-06-19 13:51:38 INFO cluster-relation-broken TypeError: __init__() got an unexpected keyword argument 'charm_instance'
2017-06-19 13:51:38 INFO cluster-relation-broken
2017-06-19 13:51:38 INFO cluster-relation-broken During handling of the above exception, another exception occurred:
2017-06-19 13:51:38 INFO cluster-relation-broken
2017-06-19 13:51:38 INFO cluster-relation-broken Traceback (most recent call last):
2017-06-19 13:51:38 INFO cluster-relation-broken File "/var/lib/juju/agents/unit-designate-15/charm/hooks/cluster-relation-broken", line 19, in <module>
2017-06-19 13:51:38 INFO cluster-relation-broken main()
2017-06-19 13:51:38 INFO cluster-relation-broken File "/var/lib/juju/agents/unit-designate-15/.venv/lib/python3.4/site-packages/charms/reactive/__init__.py", line 78, in main
2017-06-19 13:51:38 INFO cluster-relation-broken bus.dispatch()
2017-06-19 13:51:38 INFO cluster-relation-broken File "/var/lib/juju/agents/unit-designate-15/.venv/lib/python3.4/site-packages/charms/reactive/bus.py", line 423, in dispatch
2017-06-19 13:51:38 INFO cluster-relation-broken _invoke(other_handlers)
2017-06-19 13:51:38 INFO cluster-relation-broken File "/var/lib/juju/agents/unit-designate-15/.venv/lib/python3.4/site-packages/charms/reactive/bus.py", line 406, in _invoke
2017-06-19 13:51:38 INFO cluster-relation-broken handler.invoke()
2017-06-19 13:51:38 INFO cluster-relation-broken File "/var/lib/juju/agents/unit-designate-15/.venv/lib/python3.4/site-packages/charms/reactive/bus.py", line 280, in invoke
2017-06-19 13:51:38 INFO cluster-relation-broken self._action(*args)
2017-06-19 13:51:38 INFO cluster-relation-broken File "/var/lib/juju/agents/unit-designate-15/charm/reactive/designate_handlers.py", line 135, in configure_designate_full
2017-06-19 13:51:38 INFO cluster-relation-broken designate.render_full_config(args)
2017-06-19 13:51:38 INFO cluster-relation-broken File "lib/charm/openstack/designate.py", line 98, in render_full_config
2017-06-19 13:51:38 INFO cluster-relation-broken DesignateCharm.singleton.render_full_config(interfaces_list)
2017-06-19 13:51:38 INFO cluster-relation-broken File "lib/charm/openstack/designate.py", line 515, in render_full_config
2017-06-19 13:51:38 INFO cluster-relation-broken self.render_with_interfaces(interfaces_list)
2017-06-19 13:51:38 INFO cluster-relation-broken File "/var/lib/juju/agents/unit-designate-15/.venv/lib/python3.4/site-packages/charms_openstack/charm/core.py", line 573, in render_with_interfaces
2017-06-19 13:51:38 INFO cluster-relation-broken adapters_instance=self.adapters_class(interfaces))
2017-06-19 13:51:38 INFO cluster-relation-broken File "/var/lib/juju/agents/unit-designate-15/.venv/lib/python3.4/site-packages/charms_openstack/charm/core.py", line 553, in render_configs
2017-06-19 13:51:38 INFO cluster-relation-broken context=adapters_instance)
2017-06-19 13:51:38 INFO cluster-relation-broken File "/var/lib/juju/agents/unit-designate-15/.venv/lib/python3.4/site-packages/charmhelpers/core/templating.py", line 76, in render
2017-06-19 13:51:38 INFO cluster-relation-broken content = template.render(context)
2017-06-19 13:51:38 INFO cluster-relation-broken File "/usr/local/lib/python3.4/dist-packages/jinja2/environment.py", line 1008, in render
2017-06-19 13:51:38 INFO cluster-relation-broken return self.environment.handle_exception(exc_info, True)
2017-06-19 13:51:38 INFO cluster-relation-broken File "/usr/local/lib/python3.4/dist-packages/jinja2/environment.py", line 780, in handle_exception
2017-06-19 13:51:38 INFO cluster-relation-broken reraise(exc_type, exc_value, tb)
2017-06-19 13:51:38 INFO cluster-relation-broken File "/usr/local/lib/python3.4/dist-packages/jinja2/_compat.py", line 37, in reraise
2017-06-19 13:51:38 INFO cluster-relation-broken raise value.with_traceback(tb)
2017-06-19 13:51:38 INFO cluster-relation-broken File "templates/mitaka/pools.yaml", line 30, in top-level template code
2017-06-19 13:51:38 INFO cluster-relation-broken {% for rndc_master_ip in cluster.internal_addresses %}
2017-06-19 13:51:38 INFO cluster-relation-broken File "/usr/local/lib/python3.4/dist-packages/jinja2/environment.py", line 430, in getattr
2017-06-19 13:51:38 INFO cluster-relation-broken return getattr(obj, attribute)
2017-06-19 13:51:38 INFO cluster-relation-broken File "/var/lib/juju/agents/unit-designate-15/.venv/lib/python3.4/site-packages/charms_openstack/adapters.py", line 244, in internal_addresses
2017-06-19 13:51:38 INFO cluster-relation-broken list(self.cluster_hosts[laddr]['backends'].values()))
2017-06-19 13:51:38 INFO cluster-relation-broken TypeError: unorderable types: str() < NoneType()
2017-06-19 13:51:38 ERROR juju.worker.uniter.operation runhook.go:107 hook "cluster-relation-broken" failed: exit status 1
So, with the latest (at the time of this comment) designate development charm, I can't reproduce this problem. I've tried with and without designate-bind, scaling from 3 -> 2, 4 -> 3, etc. The system always settles to idle and doesn't exhibit this problem.
There have been a number of changes to designate this cycle, so it's possible another change has fortuitously fixed this bug.
Setting to incomplete in case the original bug submitter has any further information; otherwise this bug will time-out.