[MAAS 2 + Juju2.0b11] binding name "public" not defined by the unit's charm

Bug #1603229 reported by Jason Hobbs on 2016-07-14
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Charm Helpers
Undecided
Unassigned
OpenStack Tempest Charm
Medium
Unassigned
charms.openstack
Undecided
Unassigned
Juju Charms Collection
Undecided
Unassigned

Bug Description

I'm trying to use the tempest charm against a xenial based cloud deployed by juju 2.0 beta 11, to bare metal, with the MAAS provider.

The identity-admin-relation-changed hook fails a few times with like this:
identity-admin-relation-changed error: binding name "admin" not defined by the unit's charm

With admin, public, and internal bindings.

Here's my juju status yaml output:
http://paste.ubuntu.com/19421393/

Tags: oil Edit Tag help
Jason Hobbs (jason-hobbs) wrote :

Attached juju log for the tempest unit.

description: updated
Ryan Beisner (1chb1n) wrote :

Thank you for raising this.

The Tempest charm is still very much in a proof-of-concept [1] alpha state, published only to the next/master OpenStack Charm spaces while in initial development. It needs to grow some amulet functional tests and unit tests before we can start to stabilize it and publish it as a released charm under openstack-charmers.

The OpenStack Charms team does intend to continue development of the Tempest Charm, but I do not have a roadmap or timeline at present. It would be worth discussing the next steps in the next meeting [2].

[1] https://git.openstack.org/cgit/openstack/charm-tempest/tree/src/README.md#n10
[2] http://docs.openstack.org/developer/charm-guide/

Jason Hobbs (jason-hobbs) wrote :

Thanks for the response. If it's POC and not supported at all, maybe it should not be in the Recommended state in the charm store.

Ryan Beisner (1chb1n) wrote :

I agree. I wasn't aware that it was showing as recommended. I've just updated its promulgation state and it is no longer listed as recommended in the charm store. Once it qualifies for release, by possessing and passing functional and unit tests, we can re-promulgate it.

Ryan Beisner (1chb1n) on 2016-07-14
summary: tempest charm fails with 'binding name "admin" not defined by the unit's
- charm'
+ charm' on juju2b11

The unit error indicates attempt to use bindings on a charm that does not yet support bindings. The charm will need to grow that feature.

Changed in charms:
status: New → Invalid
Changed in charm-tempest:
importance: Undecided → Medium
status: New → Confirmed
summary: - tempest charm fails with 'binding name "admin" not defined by the unit's
- charm' on juju2b11
+ tempest charm needs binding support for use with juju2.x ('binding name
+ "admin" not defined by the unit's charm')
Download full text (16.5 KiB)

2016-07-14 22:03:38 INFO identity-admin-relation-changed error: binding name "public" not defined by the unit's charm
2016-07-14 22:03:38 INFO identity-admin-relation-changed Traceback (most recent call last):
2016-07-14 22:03:38 INFO identity-admin-relation-changed File "/var/lib/juju/agents/unit-tempest-0/charm/hooks/identity-admin-relation-changed", line 19, in <module>
2016-07-14 22:03:38 INFO identity-admin-relation-changed main()
2016-07-14 22:03:38 INFO identity-admin-relation-changed File "/usr/local/lib/python3.5/dist-packages/charms/reactive/__init__.py", line 78, in main
2016-07-14 22:03:38 INFO identity-admin-relation-changed bus.dispatch()
2016-07-14 22:03:38 INFO identity-admin-relation-changed File "/usr/local/lib/python3.5/dist-packages/charms/reactive/bus.py", line 434, in dispatch
2016-07-14 22:03:38 INFO identity-admin-relation-changed _invoke(other_handlers)
2016-07-14 22:03:38 INFO identity-admin-relation-changed File "/usr/local/lib/python3.5/dist-packages/charms/reactive/bus.py", line 417, in _invoke
2016-07-14 22:03:38 INFO identity-admin-relation-changed handler.invoke()
2016-07-14 22:03:38 INFO identity-admin-relation-changed File "/usr/local/lib/python3.5/dist-packages/charms/reactive/bus.py", line 291, in invoke
2016-07-14 22:03:38 INFO identity-admin-relation-changed self._action(*args)
2016-07-14 22:03:38 INFO identity-admin-relation-changed File "/var/lib/juju/agents/unit-tempest-0/charm/reactive/handlers.py", line 13, in render_tempest_config
2016-07-14 22:03:38 INFO identity-admin-relation-changed tempest.render_configs([keystone])
2016-07-14 22:03:38 INFO identity-admin-relation-changed File "lib/charm/openstack/tempest.py", line 30, in render_configs
2016-07-14 22:03:38 INFO identity-admin-relation-changed TempestCharm.singleton.render_with_interfaces(interfaces_list)
2016-07-14 22:03:38 INFO identity-admin-relation-changed File "/usr/local/lib/python3.5/dist-packages/charms_openstack/charm.py", line 464, in render_with_interfaces
2016-07-14 22:03:38 INFO identity-admin-relation-changed adapters_instance=self.adapters_class(interfaces))
2016-07-14 22:03:38 INFO identity-admin-relation-changed File "lib/charm/openstack/tempest.py", line 234, in __init__
2016-07-14 22:03:38 INFO identity-admin-relation-changed options=TempestConfigurationAdapter)
2016-07-14 22:03:38 INFO identity-admin-relation-changed File "/usr/local/lib/python3.5/dist-packages/charms_openstack/adapters.py", line 650, in __init__
2016-07-14 22:03:38 INFO identity-admin-relation-changed smm = PeerHARelationAdapter(relation_name='cluster').single_mode_map
2016-07-14 22:03:38 INFO identity-admin-relation-changed File "/usr/local/lib/python3.5/dist-packages/charms_openstack/adapters.py", line 156, in __init__
2016-07-14 22:03:38 INFO identity-admin-relation-changed self.api_config_adapter = APIConfigurationAdapter()
2016-07-14 22:03:38 INFO identity-admin-relation-changed File "/usr/local/lib/python3.5/dist-packages/charms_openstack/adapters.py", line 356, in __init__
2016-07-14 22:03:38 INFO identity-admin-relation-changed self.network_addresses = self.get_network_addresses...

summary: - tempest charm needs binding support for use with juju2.x ('binding name
- "admin" not defined by the unit's charm')
+ binding name "public" not defined by the unit's charm
Ryan Beisner (1chb1n) on 2016-07-26
summary: - binding name "public" not defined by the unit's charm
+ [MAAS 2 + Juju2.0b11] binding name "public" not defined by the unit's
+ charm
Changed in charm-helpers:
status: New → Confirmed
David Ames (thedac) wrote :

Both charm helpers and charms.openstack base module are vulnerable to this bug.

When using Juju 2.0 network-get is available. However, bindings must either be defined as extra bindings in metadata.yaml or be defined by using --bind on relation-add.

The code is assuming that the three typical extra bindings public, admin, and internal will be available. This not a safe assumption.

This needs to be fixed in
charms_openstack/ip.y
charmhelpers/contrib/openstack/ip.py

And charms which use these but do not have public, admin or internal extra bindings defined need to be updated.

Ryan Beisner (1chb1n) on 2016-07-26
Changed in charms.openstack:
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers