aboutsummaryrefslogtreecommitdiffstats
path: root/charms/trusty/ceilometer-contrail/hooks/ceilometer_contrail_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'charms/trusty/ceilometer-contrail/hooks/ceilometer_contrail_utils.py')
-rw-r--r--charms/trusty/ceilometer-contrail/hooks/ceilometer_contrail_utils.py25
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) ]