Test redis sentinel coordination backend

tooz 6.1.0 introduced support for authentication and SSL for Redis
Sentinel connections. Switch the coordination backend to Sentinel to
test this deployment pattern.

Note that redis storage driver in gnocchi does not yet support SSL and
authentication for Sentinel so it still continues using Redis.

Change-Id: Ie429773523280aa15d2da3eec9bd775364b44333
This commit is contained in:
Takashi Kajinami 2024-04-02 23:45:11 +09:00
parent 646eeea9d5
commit cf24cb24a2
4 changed files with 30 additions and 3 deletions

View File

@ -52,7 +52,7 @@ scenario](#all-in-one).
| nova | rbd | X | X | rbd | X | X |
| placement | X | X | X | X | X | X |
| neutron | ovs | ovs | ovn | ovs | ovn | ovs |
| cinder | rbd | iscsi | | | iscsi | iscsi |
| cinder | rbd | iscsi | | | iscsi | iscsi |
| manila | | | | cephfs | lvm | |
| ceilometer | X | X | | | | |
| aodh | X | X | | | | |
@ -84,6 +84,7 @@ scenario](#all-in-one).
| om rpc | rabbit | rabbit | rabbit | rabbit | rabbit | rabbit |
| om notify | rabbit | rabbit | rabbit | rabbit | rabbit | rabbit |
| oslo.cache | redis | sentinel | memcache | memcache | memcache | memcache |
| tooz | redis | sentinel | redis | redis | redis | (redis) |
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

@ -24,10 +24,12 @@ case $facts['os']['family'] {
'Debian': {
$ipv6 = false
$cache_backend = 'memcached'
$tooz_backend = 'redis'
}
'RedHat': {
$ipv6 = false
$cache_backend = 'redis_sentinel'
$tooz_backend = 'redis_sentinel'
}
default: {
fail("Unsupported osfamily (${facts['os']['family']})")
@ -39,6 +41,7 @@ class { 'openstack_integration::config':
ssl => $ssl,
ipv6 => $ipv6,
cache_backend => $cache_backend,
tooz_backend => $tooz_backend,
}
if $ssl {
include openstack_integration::cacert

View File

@ -20,12 +20,17 @@
# (optional) The oslo.cache backend
# Defaults to 'memcached'.
#
# [*tooz_backend*]
# (optional) The tooz backend
# Defaults to 'redis'
#
class openstack_integration::config (
$ssl = false,
$ipv6 = false,
$rpc_backend = 'rabbit',
$notify_backend = 'rabbit',
$cache_backend = 'memcached',
$tooz_backend = 'redis',
) {
include openstack_integration::params
@ -89,7 +94,7 @@ class openstack_integration::config (
default => false,
}
$tooz_url = os_url({
$redis_url = os_url({
'scheme' => 'redis',
'password' => 'a_big_secret',
'host' => $ip_for_url,
@ -99,6 +104,24 @@ class openstack_integration::config (
}
})
$sentinel_url = os_url({
'scheme' => 'redis',
'password' => 'a_big_secret',
'host' => $ip_for_url,
'port' => '26379',
'query' => {
'sentinel' => 'mymaster',
'sentinel_password' => 'a_big_secret',
'ssl' => $ssl,
'sentinel_ssl' => $ssl,
}
})
$tooz_url = $tooz_backend ? {
'redis_sentinel' => $sentinel_url,
default => $redis_url,
}
$ovn_nb_connection = "${ovn_proto}:${ip_for_url}:6641"
$ovn_sb_connection = "${ovn_proto}:${ip_for_url}:6642"
}

View File

@ -118,7 +118,7 @@ class openstack_integration::gnocchi (
swift_key => 'a_big_secret',
}
class { 'gnocchi::storage::incoming::redis':
redis_url => $::openstack_integration::config::tooz_url,
redis_url => $::openstack_integration::config::redis_url,
}
}
'file': {