Merge "Test redis (sentinel) cache backend"

This commit is contained in:
Zuul 2024-04-17 16:53:07 +00:00 committed by Gerrit Code Review
commit 5115c2a3ba
12 changed files with 72 additions and 12 deletions

View File

@ -77,11 +77,13 @@ scenario](#all-in-one).
| taas | | | | X | | |
| bgpvpn-api | | | | X | | |
| bgp-dr | | | | X | | |
| memcached | X | X | X | X | X | X |
| redis | X | X | X | X | X | |
| l2gw | | | | X | | |
| octavia | | | | X | X | |
| om rpc | rabbit | rabbit | rabbit | rabbit | rabbit | rabbit |
| om notify | rabbit | rabbit | rabbit | rabbit | rabbit | rabbit |
| oslo.cache | redis | sentinel | memcache | memcache | memcache | memcache |
When the Jenkins slave is created, the *run_tests.sh* script will be executed.
This script will execute *install_modules.sh* that prepare /etc/puppet/modules

View File

@ -23,9 +23,11 @@ if $facts['os']['name'] == 'Ubuntu' {
case $facts['os']['family'] {
'Debian': {
$ipv6 = false
$cache_backend = 'memcached'
}
'RedHat': {
$ipv6 = true
$cache_backend = 'redis'
}
default: {
fail("Unsupported osfamily (${facts['os']['family']})")
@ -39,8 +41,9 @@ $notification_topics = ['notifications']
include openstack_integration
class { 'openstack_integration::config':
ssl => $ssl,
ipv6 => $ipv6,
ssl => $ssl,
ipv6 => $ipv6,
cache_backend => $cache_backend,
}
if $ssl {
include openstack_integration::cacert

View File

@ -23,9 +23,11 @@ if $facts['os']['name'] == 'Ubuntu' {
case $facts['os']['family'] {
'Debian': {
$ipv6 = false
$cache_backend = 'memcached'
}
'RedHat': {
$ipv6 = true
$ipv6 = false
$cache_backend = 'redis_sentinel'
}
default: {
fail("Unsupported osfamily (${facts['os']['family']})")
@ -34,8 +36,9 @@ case $facts['os']['family'] {
include openstack_integration
class { 'openstack_integration::config':
ssl => $ssl,
ipv6 => $ipv6,
ssl => $ssl,
ipv6 => $ipv6,
cache_backend => $cache_backend,
}
if $ssl {
include openstack_integration::cacert

View File

@ -30,7 +30,13 @@ class openstack_integration::ceilometer (
debug => true,
}
class { 'ceilometer::cache':
backend => $::openstack_integration::config::cache_driver,
enabled => true,
memcache_servers => $::openstack_integration::config::memcached_servers,
redis_server => $::openstack_integration::config::redis_server,
redis_password => 'a_big_secret',
redis_sentinels => $::openstack_integration::config::redis_sentinel_server,
tls_enabled => $::openstack_integration::config::cache_tls_enabled,
}
class { 'ceilometer':
telemetry_secret => 'secrete',

View File

@ -16,11 +16,16 @@
# (optional) The oslo.messaging backend to configure for notify.
# Defaults to 'rabbit'.
#
# [*cache_backend*]
# (optional) The oslo.cache backend
# Defaults to 'memcached'.
#
class openstack_integration::config (
$ssl = false,
$ipv6 = false,
$rpc_backend = 'rabbit',
$notify_backend = 'rabbit',
$cache_backend = 'memcached',
) {
include openstack_integration::params
@ -71,6 +76,19 @@ class openstack_integration::config (
$keystone_auth_uri = "${base_url}:5000"
$keystone_admin_uri = "${base_url}:5000"
$redis_server = "${ip_for_url}:6379"
$redis_sentinel_server = "${ip_for_url}:26379"
$cache_driver = $cache_backend ? {
'redis' => 'dogpile.cache.redis',
'redis_sentinel' => 'dogpile.cache.redis_sentinel',
default => 'dogpile.cache.pymemcache'
}
$cache_tls_enabled = $cache_backend ? {
'redis' => $ssl,
'redis_sentinel' => $ssl,
default => false,
}
$tooz_url = os_url({
'scheme' => 'redis',
'password' => 'a_big_secret',

View File

@ -47,9 +47,13 @@ class openstack_integration::heat (
debug => true,
}
class { 'heat::cache':
backend => 'dogpile.cache.pymemcache',
backend => $::openstack_integration::config::cache_driver,
enabled => true,
memcache_servers => $::openstack_integration::config::memcache_servers,
redis_server => $::openstack_integration::config::redis_server,
redis_password => 'a_big_secret',
redis_sentinels => $::openstack_integration::config::redis_sentinel_server,
tls_enabled => $::openstack_integration::config::cache_tls_enabled,
}
class { 'heat::db':
database_connection => os_database_connection({

View File

@ -63,9 +63,13 @@ class openstack_integration::keystone (
debug => true,
}
class { 'keystone::cache':
backend => 'dogpile.cache.pymemcache',
backend => $::openstack_integration::config::cache_driver,
enabled => true,
memcache_servers => $::openstack_integration::config::memcache_servers,
redis_server => $::openstack_integration::config::redis_server,
redis_password => 'a_big_secret',
redis_sentinels => $::openstack_integration::config::redis_sentinel_server,
tls_enabled => $::openstack_integration::config::cache_tls_enabled,
}
class { 'keystone':
enabled => true,

View File

@ -260,9 +260,13 @@ class openstack_integration::neutron (
}
class { 'neutron::cache':
backend => 'dogpile.cache.pymemcache',
backend => $::openstack_integration::config::cache_driver,
enabled => true,
memcache_servers => $::openstack_integration::config::memcache_servers,
redis_server => $::openstack_integration::config::redis_server,
redis_password => 'a_big_secret',
redis_sentinels => $::openstack_integration::config::redis_sentinel_server,
tls_enabled => $::openstack_integration::config::cache_tls_enabled,
}
class { 'neutron::db':
database_connection => os_database_connection({

View File

@ -163,9 +163,13 @@ class openstack_integration::nova (
service_name => 'httpd',
}
class { 'nova::cache':
backend => 'dogpile.cache.pymemcache',
backend => $::openstack_integration::config::cache_driver,
enabled => true,
memcache_servers => $::openstack_integration::config::memcache_servers,
redis_server => $::openstack_integration::config::redis_server,
redis_password => 'a_big_secret',
redis_sentinels => $::openstack_integration::config::redis_sentinel_server,
tls_enabled => $::openstack_integration::config::cache_tls_enabled,
}
class { 'nova::db::sync':
extra_params => '--debug',

View File

@ -20,9 +20,13 @@ class openstack_integration::trove {
debug => true,
}
class { 'trove::cache':
backend => 'dogpile.cache.pymemcache',
backend => $::openstack_integration::config::cache_driver,
enabled => true,
memcache_servers => $::openstack_integration::config::memcache_servers,
redis_server => $::openstack_integration::config::redis_server,
redis_password => 'a_big_secret',
redis_sentinels => $::openstack_integration::config::redis_sentinel_server,
tls_enabled => $::openstack_integration::config::cache_tls_enabled,
}
class { 'trove::db':
database_connection => os_database_connection({

View File

@ -22,9 +22,13 @@ class openstack_integration::watcher {
host => $::openstack_integration::config::host,
}
class { 'watcher::cache':
backend => 'dogpile.cache.pymemcache',
backend => $::openstack_integration::config::cache_driver,
enabled => true,
memcache_servers => $::openstack_integration::config::memcache_servers,
redis_server => $::openstack_integration::config::redis_server,
redis_password => 'a_big_secret',
redis_sentinels => $::openstack_integration::config::redis_sentinel_server,
tls_enabled => $::openstack_integration::config::cache_tls_enabled,
}
class { 'watcher::db':
database_connection => os_database_connection({

View File

@ -35,9 +35,13 @@ class openstack_integration::zaqar {
password => 'a_big_secret'
}
class { 'zaqar::cache':
backend => 'dogpile.cache.pymemcache',
backend => $::openstack_integration::config::cache_driver,
enabled => true,
memcache_servers => $::openstack_integration::config::memcache_servers,
redis_server => $::openstack_integration::config::redis_server,
redis_password => 'a_big_secret',
redis_sentinels => $::openstack_integration::config::redis_sentinel_server,
tls_enabled => $::openstack_integration::config::cache_tls_enabled,
}
class { 'zaqar::management::sqlalchemy':
uri => os_database_connection({