Add coordination for a central agent

Change-Id: I91a8e74431e246ec5450d7eafd2ff995b8d955b5
diff --git a/README.rst b/README.rst
index 5cb7ba3..86c8b78 100644
--- a/README.rst
+++ b/README.rst
@@ -5,8 +5,12 @@
 
 The ceilometer project aims to deliver a unique point of contact for billing
 systems to acquire all of the measurements they need to establish customer
-billing, across all current OpenStack core components with work underway to
+billing, across all current OpenStack components with work underway to
 support future OpenStack components.
+This formula provides different backends for Ceilometer data: MongoDB, InfluxDB. Also,
+Graphite and direct (to Elasticsearch) publishers are available. If InfluxDB is used
+as a backend, heka is configured to consume messages from RabbitMQ and write in to
+InfluxDB, i.e. ceilometer collector service is not used in this configuration.
 
 Sample Pillars
 ==============
@@ -18,7 +22,7 @@
     ceilometer:
       server:
         enabled: true
-        version: havana
+        version: mitaka
         cluster: true
         secret: pwd
         bind:
@@ -38,13 +42,45 @@
           user: openstack
           password: pwd
           virtual_host: '/openstack'
+
+Databases configuration
+
+MongoDB example:
+
+.. code-block:: yaml
+
+    ceilometer:
+      server:
         database:
           engine: mongodb
-          host: 127.0.0.1
-          port: 27017
+          members:
+          - host: 10.0.106.10
+            port: 27017
+          - host: 10.0.106.20
+            port: 27017
+          - host: 10.0.106.30
+            port: 27017
           name: ceilometer
           user: ceilometer
-          password: pwd
+          password: password
+
+InfluxDB/Elasticsearch example:
+
+.. code-block:: yaml
+
+    ceilometer:
+      server:
+        database:
+          influxdb:
+            host: 10.0.106.10
+            port: 8086
+            user: ceilometer
+            password: password
+            database: ceilometer
+          elasticsearch:
+            enabled: true
+            host: 10.0.106.10
+            port: 9200
 
 Client-side RabbitMQ HA setup
 
@@ -56,9 +92,9 @@
         message_queue:
           engine: rabbitmq
           members:
-          - host: 127.0.0.1
-          - host: 127.0.0.1
-          - host: 127.0.0.1
+          - host: 10.0.106.10
+          - host: 10.0.106.20
+          - host: 10.0.106.30
           user: openstack
           password: pwd
           virtual_host: '/openstack'
@@ -85,7 +121,7 @@
     ceilometer:
       agent:
         enabled: true
-        version: havana
+        version: mitaka
         secret: pwd
         identity:
           engine: keystone
diff --git a/ceilometer/files/mitaka/ceilometer-server.conf.Debian b/ceilometer/files/mitaka/ceilometer-server.conf.Debian
index 95c0a9d..2d8f6e0 100644
--- a/ceilometer/files/mitaka/ceilometer-server.conf.Debian
+++ b/ceilometer/files/mitaka/ceilometer-server.conf.Debian
@@ -166,6 +166,28 @@
 # (boolean value)
 #enable_reverse_dns_lookup=false
 
+[coordination]
+
+#
+# From ceilometer
+#
+
+# The backend URL to use for distributed coordination. If left empty, per-
+# deployment central agent and per-host compute agent won't do workload
+# partitioning and will only function correctly if a single instance of that
+# service is running. (string value)
+{%- if server.coordination_backend is defined %}
+backend_url = {{ server.coordination_backend.url }}
+{%-  endif %}
+
+# Number of seconds between heartbeats for distributed coordination. (floating
+# point value)
+#heartbeat = 1.0
+
+# Number of seconds between checks to see if group membership has changed
+# (floating point value)
+#check_watchers = 10.0
+
 [database]
 
 metering_time_to_live = {{ server.ttl }}
diff --git a/ceilometer/map.jinja b/ceilometer/map.jinja
index 34bd97f..b340c78 100644
--- a/ceilometer/map.jinja
+++ b/ceilometer/map.jinja
@@ -51,4 +51,4 @@
 {%- else %}
 {%- do server.update({'pkgs': pkgs.basic + pkgs.db_drivers}) %}
 {%- do server.update({'services': services.basic}) %}
-{%- endif %}
\ No newline at end of file
+{%- endif %}