Generic ceilometer notification listener module

Change-Id: I00be2bf7eb07d1352b4cc2e28e384736e1b363b4
diff --git a/xos/test/monitoring_test_exampleservicemetrics.yaml b/xos/test/monitoring_test_exampleservicemetrics.yaml
new file mode 100644
index 0000000..ee7fed1
--- /dev/null
+++ b/xos/test/monitoring_test_exampleservicemetrics.yaml
@@ -0,0 +1,9 @@
+---
+- hosts: localhost
+
+  vars_files:
+    - vars/defaults.yml
+
+  roles:
+    - common
+    - test-exampleservicemonitoring
diff --git a/xos/test/roles/common/tasks/main.yml b/xos/test/roles/common/tasks/main.yml
index 32c9613..6a9bbe6 100644
--- a/xos/test/roles/common/tasks/main.yml
+++ b/xos/test/roles/common/tasks/main.yml
@@ -13,5 +13,5 @@
   retries: 5
   delay: 60
   with_items:
-    - http://localhost:8888/api/service/monitoring/
-    - http://localhost:8888/api/tenant/monitoring/monitoringchannel/
+    - http://localhost:9000/api/service/monitoring/
+    - http://localhost:9000/api/tenant/monitoring/monitoringchannel/
diff --git a/xos/test/roles/test-exampleservicemonitoring/tasks/main.yml b/xos/test/roles/test-exampleservicemonitoring/tasks/main.yml
new file mode 100644
index 0000000..0190d80
--- /dev/null
+++ b/xos/test/roles/test-exampleservicemonitoring/tasks/main.yml
@@ -0,0 +1,28 @@
+---
+- name: Validate Monitoring URL is completely UP and metrics contain vSG related metrics
+  uri:
+    url: "{{monitoringservice.results[1].json[0].ceilometer_url}}v2/meters"
+    status_code: 200
+    return_content: yes
+    body_format: json
+    HEADER_Content-Type: "application/json"
+  register: metrics
+  until: "(metrics.status == 200) and (metrics.content|from_json|length>0) and ('exampleservice' in metrics.content)"
+  retries: 5
+  delay: 10
+
+- name: assert exampleservice metrics exampleservice.apache.total.accesses are present
+  assert:
+    that: "'exampleservice.apache.total.accesses' in metrics.content"
+    msg: "Metrics does not contains exampleservice.apache.total.accesses related statistics"
+
+- name: assert exampleservice metrics exampleservice.apache.uptime are present
+  assert:
+    that: "'exampleservice.apache.uptime' in metrics.content"
+    msg: "Metrics does not contains exampleservice.apache.uptime related statistics"
+
+- name: assert exampleservice metrics exampleservice.apache.reqpersec are present
+  assert:
+    that: "'exampleservice.apache.reqpersec' in metrics.content"
+    msg: "Metrics does not contains exampleservice.apache.reqpersec related statistics"
+