Files
062f6d57218b7b2363488eb230e4be96da90feb4
puppet-openstack-integration /manifests /config.pp
Takashi Kajinami a3afedaf81 Prepare for voxpupuli-puppet-lint-plugins
Fix new lint errors detected when full of the voxpupili lint plugins
are enabled.
Depends-on: https://review.opendev.org/958040
Change-Id: I17970da9dd2878eafe268be10cf7e913b35cbdb1
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
2025年08月20日 20:41:17 +09:00

127 lines
3.3 KiB
Puppet

# Configure some common parameters
#
# [*ssl*]
# (optional) Boolean to enable or not SSL.
# Defaults to false.
#
# [*ipv6*]
# (optional) Boolean to enable or not IPv6.
# Defaults to false.
#
# [*rpc_backend*]
# (optional) The oslo.messaging backend to configure for rpc.
# Defaults to 'rabbit'.
#
# [*notify_backend*]
# (optional) The oslo.messaging backend to configure for notify.
# Defaults to 'rabbit'.
#
# [*cache_backend*]
# (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
$messaging_default_proto = $rpc_backend
$messaging_notify_proto = $notify_backend
if $ssl {
$proto = 'https'
$messaging_default_port = '5671'
$messaging_notify_port = '5671'
$db_extra = {
'ssl_ca' => $openstack_integration::params::ca_bundle_cert_path,
}
$ovn_proto = 'ssl'
} else {
$proto = 'http'
$messaging_default_port = '5672'
$messaging_notify_port = '5672'
$db_extra = {}
$ovn_proto = 'tcp'
}
$rabbit_port = $messaging_notify_port
if $ipv6 {
$host = '::1'
$hostname = 'localhost6'
$ip_version = '6'
# 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
}
# in URL, brackets are needed
$ip_for_url = normalize_ip_for_uri($host)
$base_url = "${proto}://${ip_for_url}"
$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,
}
$redis_url = os_url({
'scheme' => 'redis',
'password' => 'a_big_secret',
'host' => $ip_for_url,
'port' => '6379',
'query' => {
'ssl' => $ssl,
},
})
$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"
}