Merge "Use redis sentinel for taskflow backend"

This commit is contained in:
Zuul 2024-07-29 15:42:20 +00:00 committed by Gerrit Code Review
commit 1fbc23840a
3 changed files with 33 additions and 9 deletions

View File

@ -84,7 +84,8 @@ scenario](#all-in-one).
| om rpc | rabbit | rabbit | rabbit | rabbit | rabbit | rabbit | | om rpc | rabbit | rabbit | rabbit | rabbit | rabbit | rabbit |
| om notify | rabbit | rabbit | rabbit | rabbit | rabbit | rabbit | | om notify | rabbit | rabbit | rabbit | rabbit | rabbit | rabbit |
| oslo.cache | redis | sentinel | memcache | memcache | memcache | memcache | | oslo.cache | redis | sentinel | memcache | memcache | memcache | memcache |
| tooz | redis | sentinel | redis | redis | redis | (redis) | | tooz | redis | sentinel | redis | redis | redis | |
| jobboard | | | | redis | sentinel | |
When the Jenkins slave is created, the *run_tests.sh* script will be executed. 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 This script will execute *install_modules.sh* that prepare /etc/puppet/modules

View File

@ -25,11 +25,13 @@ case $facts['os']['family'] {
$ipv6 = false $ipv6 = false
$modular_libvirt = false $modular_libvirt = false
$ovn_metadata_agent_enabled = true $ovn_metadata_agent_enabled = true
$jobboard_backend = 'redis'
} }
'RedHat': { 'RedHat': {
$ipv6 = true $ipv6 = true
$modular_libvirt = true $modular_libvirt = true
$ovn_metadata_agent_enabled = false $ovn_metadata_agent_enabled = false
$jobboard_backend = 'redis_sentinel'
} }
default: { default: {
fail("Unsupported osfamily (${facts['os']['family']})") fail("Unsupported osfamily (${facts['os']['family']})")
@ -66,7 +68,8 @@ class { 'openstack_integration::nova':
libvirt_guests_enabled => true, libvirt_guests_enabled => true,
} }
class { 'openstack_integration::octavia': class { 'openstack_integration::octavia':
provider_driver => 'ovn' provider_driver => 'ovn',
jobboard_backend => $jobboard_backend,
} }
class { 'openstack_integration::horizon': class { 'openstack_integration::horizon':

View File

@ -8,9 +8,14 @@
# (optional) Provider driver used in Octavia. # (optional) Provider driver used in Octavia.
# Defaults to 'amphora'. # Defaults to 'amphora'.
# #
# [*jobboard_backend*]
# (optional) Jobboard backend.
# Defaults to 'redis'.
#
class openstack_integration::octavia ( class openstack_integration::octavia (
$notification_topics = $facts['os_service_default'], $notification_topics = $facts['os_service_default'],
$provider_driver = 'amphora', $provider_driver = 'amphora',
$jobboard_backend = 'redis',
) { ) {
include openstack_integration::config include openstack_integration::config
@ -161,6 +166,15 @@ class openstack_integration::octavia (
heartbeat_key => 'abcdefghijkl', heartbeat_key => 'abcdefghijkl',
} }
$jobboard_redis_sentinel = $jobboard_backend ? {
'redis_sentinel' => 'mymaster',
default => undef
}
$jobboard_backend_port = $jobboard_backend ? {
'redis_sentinel' => 26379,
default => 6379,
}
class { 'octavia::task_flow': class { 'octavia::task_flow':
max_workers => 2, max_workers => 2,
persistence_connection => os_database_connection({ persistence_connection => os_database_connection({
@ -174,12 +188,18 @@ class openstack_integration::octavia (
}), }),
jobboard_enabled => true, jobboard_enabled => true,
jobboard_backend_hosts => $::openstack_integration::config::host, jobboard_backend_hosts => $::openstack_integration::config::host,
jobboard_backend_port => 6379, jobboard_backend_port => $jobboard_backend_port,
jobboard_backend_password => 'a_big_secret', jobboard_backend_password => 'a_big_secret',
jobboard_redis_sentinel => $jobboard_redis_sentinel,
jobboard_redis_sentinel_password => 'a_big_secret',
jobboard_redis_backend_ssl_options => { jobboard_redis_backend_ssl_options => {
'ssl' => $::openstack_integration::config::ssl 'ssl' => $::openstack_integration::config::ssl
}, },
jobboard_redis_sentinel_ssl_options => {
'ssl' => $::openstack_integration::config::ssl
} }
}
class { 'octavia::worker': class { 'octavia::worker':
workers => 2, workers => 2,
} }