OpenStackRelationAdapter support for Endpoint based interfaces

Bug #1798335 reported by Frode Nordahl
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
charms.openstack
Fix Released
High
Frode Nordahl

Bug Description

When using charms.openstack in conjunction with charms.reactive.Endpoint-based interfaces you run into two issues:

1)
2018-10-17 09:29:40 INFO juju-log amqp:9: about to call the render_configs with (<relations.rabbitmq.requires.RabbitMQRequires object at 0x7f5df408be80>, <relations.keystone.requires.KeystoneRequires object at 0x7f5df408bf98>, <relations.mysql-shared.requires.MySQLSharedRequires object at 0x7f5df408ba20>)
2018-10-17 09:29:40 ERROR juju-log amqp:9: Hook error:
Traceback (most recent call last):
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms/reactive/__init__.py", line 73, in main
    bus.dispatch(restricted=restricted_mode)
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms/reactive/bus.py", line 390, in dispatch
    _invoke(other_handlers)
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms/reactive/bus.py", line 359, in _invoke
    handler.invoke()
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms/reactive/bus.py", line 181, in invoke
    self._action(*args)
  File "/var/lib/juju/agents/unit-barbican-0/charm/reactive/barbican_handlers.py", line 58, in render_stuff
    'secrets.available'))
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms_openstack/charm/core.py", line 795, in render_with_interfaces
    charm_instance=self))
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms_openstack/adapters.py", line 1139, in __init__
    charm_instance=charm_instance)
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms_openstack/adapters.py", line 1068, in __init__
    self.add_relations(relations)
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms_openstack/adapters.py", line 1090, in add_relations
    self.add_relation(relation)
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms_openstack/adapters.py", line 1097, in add_relation
    adapter_name, adapter = self.make_adapter(relation)
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms_openstack/adapters.py", line 1110, in make_adapter
    relation_name = relation.relation_name.replace('-', '_')
AttributeError: 'BarbicanSecretsRequires' object has no attribute 'relation_name'

2)
Traceback (most recent call last):
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms/reactive/__init__.py", line 73, in main
    bus.dispatch(restricted=restricted_mode)
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms/reactive/bus.py", line 390, in dispatch
    _invoke(other_handlers)
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms/reactive/bus.py", line 359, in _invoke
    handler.invoke()
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms/reactive/bus.py", line 181, in invoke
    self._action(*args)
  File "/var/lib/juju/agents/unit-barbican-0/charm/reactive/barbican_handlers.py", line 58, in render_stuff
    'secrets.available'))
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms_openstack/charm/core.py", line 795, in render_with_interfaces
    charm_instance=self))
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms_openstack/adapters.py", line 1142, in __init__
    charm_instance=charm_instance)
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms_openstack/adapters.py", line 1068, in __init__
    self.add_relations(relations)
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms_openstack/adapters.py", line 1090, in add_relations
    self.add_relation(relation)
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms_openstack/adapters.py", line 1097, in add_relation
    adapter_name, adapter = self.make_adapter(relation)
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms_openstack/adapters.py", line 1117, in make_adapter
    adapter = OpenStackRelationAdapter(relation)
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms_openstack/adapters.py", line 111, in __init__
    self._setup_properties()
  File "/var/lib/juju/agents/unit-barbican-0/.venv/lib/python3.6/site-packages/charms_openstack/adapters.py", line 133, in _setup_properties
    self.accessors.extend(self.relation.auto_accessors)
AttributeError: 'BarbicanSecretsRequires' object has no attribute 'auto_accessors'

Revision history for this message
Frode Nordahl (fnordahl) wrote :
Changed in charms.openstack:
status: New → Triaged
status: Triaged → In Progress
importance: Undecided → High
assignee: nobody → Frode Nordahl (fnordahl)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to charms.openstack (master)

Reviewed: https://review.openstack.org/611287
Committed: https://git.openstack.org/cgit/openstack/charms.openstack/commit/?id=39fc35b68dcabeae64525d93db956c0684b32d2e
Submitter: Zuul
Branch: master

commit 39fc35b68dcabeae64525d93db956c0684b32d2e
Author: Frode Nordahl <email address hidden>
Date: Wed Oct 17 12:28:37 2018 +0200

    Allow OpenStackRelationAdapter to work with Endpoint-based interfaces

    Change-Id: I9d52243ab0ccc60eade6c8023d9c5831a1637338
    Closes-Bug: #1798335

Changed in charms.openstack:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.