Initial commit

Adding salt-formula for gnocchi 4.0. Two main roles are supported:
- server
- statsd
They could be installed on different nodes (and on same node too)
gnocchi:common class is used to provide common options for both.

Change-Id: I0e0c9dd4f6d0a1539b9e9aef0084282867012852
Related-Prod: https://mirantis.jira.com/browse/PROD-17704
diff --git a/metadata/service/common/cluster.yml b/metadata/service/common/cluster.yml
new file mode 100644
index 0000000..51fde8a
--- /dev/null
+++ b/metadata/service/common/cluster.yml
@@ -0,0 +1,10 @@
+parameters:
+  gnocchi:
+    common:
+      version: ${_param:gnocchi_version}
+      database:
+        engine: mysql
+        host: ${_param:cluster_vip_address}
+        name: gnocchi
+        password: ${_param:mysql_gnocchi_password}
+        user: gnocchi
\ No newline at end of file
diff --git a/metadata/service/common/single.yml b/metadata/service/common/single.yml
new file mode 100644
index 0000000..cd892a6
--- /dev/null
+++ b/metadata/service/common/single.yml
@@ -0,0 +1,10 @@
+parameters:
+  gnocchi:
+    common:
+      version: ${_param:gnocchi_version}
+      database:
+        engine: mysql
+        host: ${_param:single_address}
+        name: gnocchi
+        password: ${_param:mysql_gnocchi_password}
+        user: gnocchi
\ No newline at end of file
diff --git a/metadata/service/server/cluster.yml b/metadata/service/server/cluster.yml
new file mode 100644
index 0000000..4b95b57
--- /dev/null
+++ b/metadata/service/server/cluster.yml
@@ -0,0 +1,31 @@
+applications:
+- gnocchi
+classes:
+- service.gnocchi.common.cluster
+- service.gnocchi.support
+parameters:
+  gnocchi:
+    server:
+      enabled: true
+      debug: false
+      api:
+        auth_mode: keystone
+      identity:
+        engine: keystone
+        region: RegionOne
+        protocol: http
+        host: ${_param:cluster_vip_address}
+        port: 35357
+        private_port: 5000
+        user: gnocchi
+        password: ${_param:keystone_gnocchi_password}
+        tenant: service
+      cache:
+        engine: memcached
+        members:
+        - host: ${_param:cluster_node01_address}
+          port: 11211
+        - host: ${_param:cluster_node02_address}
+          port: 11211
+        - host: ${_param:cluster_node03_address}
+          port: 11211
\ No newline at end of file
diff --git a/metadata/service/server/single.yml b/metadata/service/server/single.yml
new file mode 100644
index 0000000..fb9bf26
--- /dev/null
+++ b/metadata/service/server/single.yml
@@ -0,0 +1,29 @@
+applications:
+- gnocchi
+classes:
+- service.gnocchi.common.single
+- service.gnocchi.support
+parameters:
+  gnocchi:
+    server:
+      enabled: true
+      debug: false
+      enable_proxy_headers_parsing: true
+      api:
+        auth_mode: keystone
+      identity:
+        engine: keystone
+        region: RegionOne
+        protocol: http
+        host: ${_param:single_address}
+        port: 35357
+        private_port: 5000
+        user: gnocchi
+        password: ${_param:keystone_gnocchi_password}
+        tenant: service
+        auth_type: password
+      cache:
+        engine: memcached
+        members:
+        - host: ${_param:single_address}
+          port: 11211
\ No newline at end of file
diff --git a/metadata/service/statsd/cluster.yml b/metadata/service/statsd/cluster.yml
new file mode 100644
index 0000000..723acfa
--- /dev/null
+++ b/metadata/service/statsd/cluster.yml
@@ -0,0 +1,13 @@
+applications:
+- gnocchi
+classes:
+- service.gnocchi.common.cluster
+- service.gnocchi.support
+parameters:
+  gnocchi:
+    statsd:
+      enabled: true
+      resource_id: ${_param:gnocchi_statsd_resource_id}
+      bind:
+        address: ${_param:cluster_local_address}
+        port: 8125
diff --git a/metadata/service/statsd/single.yml b/metadata/service/statsd/single.yml
new file mode 100644
index 0000000..67bf0a5
--- /dev/null
+++ b/metadata/service/statsd/single.yml
@@ -0,0 +1,13 @@
+applications:
+- gnocchi
+classes:
+- service.gnocchi.common.single
+- service.gnocchi.support
+parameters:
+  gnocchi:
+    statsd:
+      enabled: true
+      resource_id: ${_param:gnocchi_statsd_resource_id}
+      bind:
+        address: ${_param:single_address}
+        port: 8125
diff --git a/metadata/service/support.yml b/metadata/service/support.yml
new file mode 100644
index 0000000..002c442
--- /dev/null
+++ b/metadata/service/support.yml
@@ -0,0 +1,11 @@
+parameters:
+  gnocchi:
+    _support:
+      collectd:
+        enabled: false
+      heka:
+        enabled: false
+      sensu:
+        enabled: false
+      sphinx:
+        enabled: true