Enable oslo.cache library

    Add gnocchi:server:cache metadata:

          cache:
            engine: memcached
            expiration_time: 600
            backend_argument:
              memcached_expire_time:
                value: 660
            members:
            - host:
              port: 11211
            - host:
              port: 11211
            - host:
              port: 11211

    Enable oslo.cache in the gnocchi.conf file

    Related-Prod: PROD-26960

Change-Id: I1ccde3bd2e0ba907188ac40cb9e5dd45e606ec5b
diff --git a/gnocchi/files/4.2/gnocchi.conf b/gnocchi/files/4.2/gnocchi.conf
index 2c40406..fef9fbd 100644
--- a/gnocchi/files/4.2/gnocchi.conf
+++ b/gnocchi/files/4.2/gnocchi.conf
@@ -250,3 +250,9 @@
 driver = {{ _storage.driver }}
 {% include "gnocchi/files/" + cfg.version|string + "/storage/_" + _storage.driver + ".conf" %}
 {%- endif %}
+
+{%- if server.cache is defined %}
+{%- set _data = server.cache %}
+[cache]
+{%- include "oslo_templates/files/queens/oslo/_cache.conf" %}
+{%- endif %}
diff --git a/gnocchi/files/4.3/gnocchi.conf b/gnocchi/files/4.3/gnocchi.conf
index af2fc9a..c0d8a92 100644
--- a/gnocchi/files/4.3/gnocchi.conf
+++ b/gnocchi/files/4.3/gnocchi.conf
@@ -251,3 +251,9 @@
 {%- endif %}
 
 file_basepath = /var/lib/gnocchi
+
+{%- if server.cache is defined %}
+{%- set _data = server.cache %}
+[cache]
+{%- include "oslo_templates/files/rocky/oslo/_cache.conf" %}
+{%- endif %}
diff --git a/metadata/service/server/cluster.yml b/metadata/service/server/cluster.yml
index a1a058d..82b8957 100644
--- a/metadata/service/server/cluster.yml
+++ b/metadata/service/server/cluster.yml
@@ -21,3 +21,16 @@
         password: ${_param:keystone_gnocchi_password}
         tenant: service
         auth_type: password
+      cache:
+        engine: memcached
+        expiration_time: 600
+        backend_argument:
+          memcached_expire_time:
+            value: 660
+        members:
+        - host: ${_param:openstack_control_node01_address}
+          port: 11211
+        - host: ${_param:openstack_control_node02_address}
+          port: 11211
+        - host: ${_param:openstack_control_node03_address}
+          port: 11211
diff --git a/metadata/service/server/single.yml b/metadata/service/server/single.yml
index fb7da38..6eb5d52 100644
--- a/metadata/service/server/single.yml
+++ b/metadata/service/server/single.yml
@@ -22,3 +22,12 @@
         password: ${_param:keystone_gnocchi_password}
         tenant: service
         auth_type: password
+      cache:
+        engine: memcached
+        expiration_time: 600
+        backend_argument:
+          memcached_expire_time:
+            value: 660
+        members:
+        - host: ${_param:single_address}
+          port: 11211
diff --git a/tests/pillar/server_cluster.sls b/tests/pillar/server_cluster.sls
index b9f1415..ba5ee05 100644
--- a/tests/pillar/server_cluster.sls
+++ b/tests/pillar/server_cluster.sls
@@ -51,6 +51,10 @@
       auth_type: password
     cache:
       engine: memcached
+      expiration_time: 600
+      backend_argument:
+        memcached_expire_time:
+          value: 660
       members:
       - host: 127.0.1.1
         port: 11211