Add method for publishing releases packages map

Related-Bug: #1806111
Change-Id: Ice633e5a4011218f20a112968427fbf3fd5a0f7f
This commit is contained in:
Frode Nordahl 2021-03-24 15:30:52 +01:00
parent 9ee61fcfc6
commit 7b76ebb85d
No known key found for this signature in database
GPG Key ID: 6A5D59A3BA48373F
1 changed files with 17 additions and 0 deletions

View File

@ -6,6 +6,8 @@ from charms.reactive import RelationBase
from charms.reactive import hook
from charms.reactive import scopes
import charmhelpers.core.hookenv as hookenv
class CinderBackendProvides(RelationBase):
@ -52,3 +54,18 @@ class CinderBackendProvides(RelationBase):
backend_name=backend_name,
stateless=stateless,
subordinate_configuration=json.dumps(subordinate_configuration))
def publish_releases_packages_map(self, releases_packages_map):
"""Publish releases_packages_map.
:param releases_packages_map: Map of releases and packages
:type releases_packages_map: Dict[str,Dict[str,List[str]]]
"""
# NOTE: To allow relation updates outside of relation hook execution,
# e.g. upgrade-charm hook, we need to revert to classic hookenv tools.
for rid in hookenv.relation_ids(self.relation_name):
relation_info = {
'releases-packages-map': json.dumps(
releases_packages_map, sort_keys=True)
}
hookenv.relation_set(rid, relation_info)