diff options
Diffstat (limited to 'charms/trusty/ceilometer-contrail/hooks/ceilometer_contrail_utils.py')
-rw-r--r-- | charms/trusty/ceilometer-contrail/hooks/ceilometer_contrail_utils.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/charms/trusty/ceilometer-contrail/hooks/ceilometer_contrail_utils.py b/charms/trusty/ceilometer-contrail/hooks/ceilometer_contrail_utils.py new file mode 100644 index 0000000..6bab06e --- /dev/null +++ b/charms/trusty/ceilometer-contrail/hooks/ceilometer_contrail_utils.py @@ -0,0 +1,25 @@ +from collections import OrderedDict + +import yaml + +from charmhelpers.core.hookenv import ( + related_units, + relation_get, + relation_ids +) + +def ordereddict_representer(dumper, data): + return dumper.represent_mapping("tag:yaml.org,2002:map", data.items()) + +yaml.add_representer(OrderedDict, ordereddict_representer) + +def contrail_analytics_api_units(): + """Return a list of contrail analytics api units""" + return [ unit for rid in relation_ids("contrail-analytics-api") + for unit in related_units(rid) + if relation_get("port", unit, rid) ] + +def units(relation): + """Return a list of units for the specified relation""" + return [ unit for rid in relation_ids(relation) + for unit in related_units(rid) ] |