From 713cc9b8f1ad18660d61f84cbd2838cf84450af2 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Thu, 3 Aug 2023 22:58:31 +0900 Subject: [PATCH] Enable caching in some services This enables caching using memcached in a few services(Nova, Keystone and Heat) to improve API performance. Depends-on: https://review.opendev.org/890421 Change-Id: I0ba4fea15d4858968815c1fd92c5ebbaf5fdc47b --- manifests/config.pp | 2 ++ manifests/heat.pp | 5 +++++ manifests/keystone.pp | 6 +++++- manifests/nova.pp | 5 +++++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/manifests/config.pp b/manifests/config.pp index c25261c8e..0b720da81 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -62,12 +62,14 @@ class openstack_integration::config ( # Note (dmsimard): ipv6 parsing in Swift and keystone_authtoken are # different: https://bugs.launchpad.net/swift/+bug/1610064 $memcached_servers = ["inet6:[${host}]:11211"] + $memcache_servers = ["[${host}]:11211"] $swift_memcached_servers = ["[${host}]:11211"] } else { $host = '127.0.0.1' $hostname = 'localhost' $ip_version = '4' $memcached_servers = ["${host}:11211"] + $memcache_servers = $memcached_servers $swift_memcached_servers = $memcached_servers } diff --git a/manifests/heat.pp b/manifests/heat.pp index 022426c60..222d0db06 100644 --- a/manifests/heat.pp +++ b/manifests/heat.pp @@ -46,6 +46,11 @@ class openstack_integration::heat ( class { 'heat::logging': debug => true, } + class { 'heat::cache': + backend => 'dogpile.cache.pymemcache', + enabled => true, + memcache_servers => $::openstack_integration::config::memcache_servers, + } class { 'heat::db': database_connection => os_database_connection({ 'dialect' => 'mysql+pymysql', diff --git a/manifests/keystone.pp b/manifests/keystone.pp index a81d2b7fc..9b27f3241 100644 --- a/manifests/keystone.pp +++ b/manifests/keystone.pp @@ -63,7 +63,11 @@ class openstack_integration::keystone ( class { 'keystone::logging': debug => true, } - include keystone::cache + class { 'keystone::cache': + backend => 'dogpile.cache.pymemcache', + enabled => true, + memcache_servers => $::openstack_integration::config::memcache_servers, + } class { 'keystone': enabled => true, service_name => 'httpd', diff --git a/manifests/nova.pp b/manifests/nova.pp index 2f6a01a92..f4c499c3b 100644 --- a/manifests/nova.pp +++ b/manifests/nova.pp @@ -159,6 +159,11 @@ class openstack_integration::nova ( service_name => 'httpd', nova_metadata_wsgi_enabled => true, } + class { 'nova::cache': + backend => 'dogpile.cache.pymemcache', + enabled => true, + memcache_servers => $::openstack_integration::config::memcache_servers, + } class { 'nova::db::sync': extra_params => '--debug', db_sync_timeout => 600,