From 39fc35b68dcabeae64525d93db956c0684b32d2e Mon Sep 17 00:00:00 2001 From: Frode Nordahl Date: Wed, 17 Oct 2018 12:28:37 +0200 Subject: [PATCH] Allow OpenStackRelationAdapter to work with Endpoint-based interfaces Change-Id: I9d52243ab0ccc60eade6c8023d9c5831a1637338 Closes-Bug: #1798335 --- charms_openstack/adapters.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/charms_openstack/adapters.py b/charms_openstack/adapters.py index 8991a88..777af77 100644 --- a/charms_openstack/adapters.py +++ b/charms_openstack/adapters.py @@ -130,7 +130,10 @@ class OpenStackRelationAdapter(object): Note that the accessor is dynamic as each access calls the underlying getattr() for each property access. """ - self.accessors.extend(self.relation.auto_accessors) + try: + self.accessors.extend(self.relation.auto_accessors) + except AttributeError: + self.accessors = [] for field in self.accessors: meth_name = field.replace('-', '_') # Get the relation property dynamically @@ -1107,7 +1110,10 @@ class OpenStackRelationAdapters(object): :param relation: a RelationBase derived reactive relation :returns (string, OpenstackRelationAdapter-derived): see above. """ - relation_name = relation.relation_name.replace('-', '_') + try: + relation_name = relation.endpoint_name.replace('-', '_') + except AttributeError: + relation_name = relation.relation_name.replace('-', '_') try: adapter = self._adapters[relation_name](relation) except KeyError: