Browse code

Merge "Add options to configure cache in nova"

Zuul authored on 2019/08/03 02:38:42
Showing 3 changed files
... ...
@@ -131,6 +131,9 @@ KEYSTONE_UNIQUE_LAST_PASSWORD_COUNT=${KEYSTONE_UNIQUE_LAST_PASSWORD_COUNT:-2}
131 131
 # however may not be suitable for real production.
132 132
 KEYSTONE_PASSWORD_HASH_ROUNDS=${KEYSTONE_PASSWORD_HASH_ROUNDS:-4}
133 133
 
134
+# Cache settings
135
+KEYSTONE_ENABLE_CACHE=${KEYSTONE_ENABLE_CACHE:-True}
136
+
134 137
 # Functions
135 138
 # ---------
136 139
 
... ...
@@ -213,9 +216,9 @@ function configure_keystone {
213 213
     iniset $KEYSTONE_CONF resource driver "$KEYSTONE_RESOURCE_BACKEND"
214 214
 
215 215
     # Enable caching
216
-    iniset $KEYSTONE_CONF cache enabled "True"
217
-    iniset $KEYSTONE_CONF cache backend "dogpile.cache.memcached"
218
-    iniset $KEYSTONE_CONF cache memcache_servers localhost:11211
216
+    iniset $KEYSTONE_CONF cache enabled $KEYSTONE_ENABLE_CACHE
217
+    iniset $KEYSTONE_CONF cache backend $CACHE_BACKEND
218
+    iniset $KEYSTONE_CONF cache memcache_servers $MEMCACHE_SERVERS
219 219
 
220 220
     iniset_rpc_backend keystone $KEYSTONE_CONF oslo_messaging_notifications
221 221
 
... ...
@@ -91,6 +91,7 @@ NOVA_SERVICE_PROTOCOL=${NOVA_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL}
91 91
 NOVA_SERVICE_LOCAL_HOST=${NOVA_SERVICE_LOCAL_HOST:-$SERVICE_LOCAL_HOST}
92 92
 NOVA_SERVICE_LISTEN_ADDRESS=${NOVA_SERVICE_LISTEN_ADDRESS:-$(ipv6_unquote $SERVICE_LISTEN_ADDRESS)}
93 93
 METADATA_SERVICE_PORT=${METADATA_SERVICE_PORT:-8775}
94
+NOVA_ENABLE_CACHE=${NOVA_ENABLE_CACHE:-True}
94 95
 
95 96
 # Option to enable/disable config drive
96 97
 # NOTE: Set ``FORCE_CONFIG_DRIVE="False"`` to turn OFF config drive
... ...
@@ -416,8 +417,8 @@ function create_nova_conf {
416 416
         iniset $NOVA_CONF DEFAULT bindir "/usr/bin"
417 417
     fi
418 418
 
419
-    # only setup database connections if there are services that
420
-    # require them running on the host. The ensures that n-cpu doesn't
419
+    # only setup database connections and cache backend if there are services
420
+    # that require them running on the host. The ensures that n-cpu doesn't
421 421
     # leak a need to use the db in a multinode scenario.
422 422
     if is_service_enabled n-api n-cond n-sched; then
423 423
         # If we're in multi-tier cells mode, we want our control services pointing
... ...
@@ -434,6 +435,13 @@ function create_nova_conf {
434 434
 
435 435
         iniset $NOVA_CONF database connection `database_connection_url $db`
436 436
         iniset $NOVA_CONF api_database connection `database_connection_url nova_api`
437
+
438
+        # Cache related settings
439
+        # Those settings aren't really needed in n-cpu thus it is configured
440
+        # only on nodes which runs controller services
441
+        iniset $NOVA_CONF cache enabled $NOVA_ENABLE_CACHE
442
+        iniset $NOVA_CONF cache backend $CACHE_BACKEND
443
+        iniset $NOVA_CONF cache memcache_servers $MEMCACHE_SERVERS
437 444
     fi
438 445
 
439 446
     if is_service_enabled n-api; then
... ...
@@ -770,6 +770,10 @@ ETCD_DOWNLOAD_LOCATION=$ETCD_DOWNLOAD_URL/$ETCD_VERSION/$ETCD_DOWNLOAD_FILE
770 770
 # etcd is always required, so place it into list of pre-cached downloads
771 771
 EXTRA_CACHE_URLS+=",$ETCD_DOWNLOAD_LOCATION"
772 772
 
773
+# Cache settings
774
+CACHE_BACKEND=${CACHE_BACKEND:-"dogpile.cache.memcached"}
775
+MEMCACHE_SERVERS=${MEMCACHE_SERVERS:-"localhost:11211"}
776
+
773 777
 # Detect duplicate values in IMAGE_URLS
774 778
 for image_url in ${IMAGE_URLS//,/ }; do
775 779
     if [ $(echo "$IMAGE_URLS" | grep -o -F "$image_url" | wc -l) -gt 1 ]; then