Add new service level classes

Since Pike default ceilometer backend is gnocchi and database publishers
are deprecated, this commit create classes for ceilometer non-database
setup. This will allow to smoothly switch to Gnocchi as publisher. Also
if publisher isn't set in pillar, default publisher notifier will be used.

Change-Id: I78cf9e12591c474738c0bc14b1c1777974e876e0
Related-Prod: https://mirantis.jira.com/browse/PROD-20813
diff --git a/metadata/service/server/cluster.yml b/metadata/service/server/cluster/common.yml
similarity index 72%
rename from metadata/service/server/cluster.yml
rename to metadata/service/server/cluster/common.yml
index 933b488..d8ffb2e 100644
--- a/metadata/service/server/cluster.yml
+++ b/metadata/service/server/cluster/common.yml
@@ -15,11 +15,6 @@
       cluster: true
       secret: ${_param:ceilometer_secret_key}
       ttl: 86400
-      publisher:
-        default:
-          enabled: true
-          publish_event: true
-          publish_metric: true
       bind:
         host: ${_param:cluster_local_address}
         port: 8777
@@ -47,15 +42,3 @@
         user: openstack
         password: ${_param:rabbitmq_openstack_password}
         virtual_host: '/openstack'
-      database:
-        engine: mongodb
-        members:
-        - host: ${_param:cluster_node01_address}
-          port: 27017
-        - host: ${_param:cluster_node02_address}
-          port: 27017
-        - host: ${_param:cluster_node03_address}
-          port: 27017
-        name: ceilometer
-        user: ceilometer
-        password: ${_param:mongodb_ceilometer_password}
diff --git a/metadata/service/server/cluster/init.yml b/metadata/service/server/cluster/init.yml
new file mode 100644
index 0000000..a530b0f
--- /dev/null
+++ b/metadata/service/server/cluster/init.yml
@@ -0,0 +1,24 @@
+applications:
+- ceilometer
+classes:
+- service.ceilometer.server.cluster.common
+parameters:
+  ceilometer:
+    server:
+      publisher:
+        default:
+          enabled: true
+          publish_event: true
+          publish_metric: true
+      database:
+        engine: mongodb
+        members:
+        - host: ${_param:cluster_node01_address}
+          port: 27017
+        - host: ${_param:cluster_node02_address}
+          port: 27017
+        - host: ${_param:cluster_node03_address}
+          port: 27017
+        name: ceilometer
+        user: ceilometer
+        password: ${_param:mongodb_ceilometer_password}
diff --git a/metadata/service/server/single.yml b/metadata/service/server/single/common.yml
similarity index 79%
rename from metadata/service/server/single.yml
rename to metadata/service/server/single/common.yml
index e0366eb..bb60d05 100644
--- a/metadata/service/server/single.yml
+++ b/metadata/service/server/single/common.yml
@@ -14,11 +14,6 @@
       version: ${_param:ceilometer_version}
       secret: ${_param:ceilometer_secret_key}
       ttl: 86400
-      publisher:
-        default:
-          enabled: true
-          publish_event: true
-          publish_metric: true
       bind:
         host: ${_param:single_address}
         port: 8777
@@ -47,10 +42,3 @@
         password: ${_param:rabbitmq_openstack_password}
         virtual_host: '/openstack'
         ha_queues: true
-      database:
-        engine: mongodb
-        host: ${_param:ceilometer_database_host}
-        port: 27017
-        name: ceilometer
-        user: ceilometer
-        password: ${_param:mongodb_ceilometer_password}
diff --git a/metadata/service/server/single/init.yml b/metadata/service/server/single/init.yml
new file mode 100644
index 0000000..95f193e
--- /dev/null
+++ b/metadata/service/server/single/init.yml
@@ -0,0 +1,19 @@
+applications:
+- ceilometer
+classes:
+- service.ceilometer.server.single.common
+parameters:
+  ceilometer:
+    server:
+      publisher:
+        default:
+          enabled: true
+          publish_event: true
+          publish_metric: true
+      database:
+        engine: mongodb
+        host: ${_param:ceilometer_database_host}
+        port: 27017
+        name: ceilometer
+        user: ceilometer
+        password: ${_param:mongodb_ceilometer_password}