Merge "Format [oslo_cache] memcache_server when IPv6 is used" into stable/victoria
This commit is contained in:
commit
e3016859b2
|
@ -87,6 +87,14 @@
|
|||
# (Optional) Memcached port to use.
|
||||
# Defaults to hiera('memcached_port', 11211)
|
||||
#
|
||||
# [*memcached_ipv6*]
|
||||
# (Optional) Whether Memcached uses IPv6 network instead of IPv4 network.
|
||||
# Defauls to hiera('memcached_ipv6', false)
|
||||
#
|
||||
# [*cache_backend*]
|
||||
# (Optional) oslo.cache backend used for caching.
|
||||
# Defaults to hiera('heat::cache::backend', false)
|
||||
#
|
||||
# DEPRECATED PARAMETERS
|
||||
#
|
||||
# [*memcached_ips*]
|
||||
|
@ -111,10 +119,12 @@ class tripleo::profile::base::heat (
|
|||
$oslomsg_notify_use_ssl = hiera('oslo_messaging_notify_use_ssl', '0'),
|
||||
$memcached_hosts = hiera('memcached_node_names', []),
|
||||
$memcached_port = hiera('memcached_port', 11211),
|
||||
$memcached_ipv6 = hiera('memcached_ipv6', false),
|
||||
$cache_backend = hiera('heat::cache::backend', false),
|
||||
# DEPRECATED PARAMETERS
|
||||
$memcached_ips = undef
|
||||
) {
|
||||
$memcached_hosts_real = pick($memcached_ips, $memcached_hosts)
|
||||
$memcached_hosts_real = any2array(pick($memcached_ips, $memcached_hosts))
|
||||
|
||||
include tripleo::profile::base::heat::authtoken
|
||||
|
||||
|
@ -152,14 +162,22 @@ class tripleo::profile::base::heat (
|
|||
include heat::cors
|
||||
include heat::logging
|
||||
|
||||
if is_ipv6_address($memcached_hosts_real[0]) {
|
||||
$memcache_servers = prefix(suffix(any2array(normalize_ip_for_uri($memcached_hosts_real)), ":${memcached_port}"), 'inet6:')
|
||||
if $memcached_ipv6 or is_ipv6_address($memcached_hosts_real[0]) {
|
||||
if $cache_backend in ['oslo_cache.memcache_pool', 'dogpile.cache.memcached'] {
|
||||
# NOTE(tkajinm): The inet6 prefix is required for backends using
|
||||
# python-memcached
|
||||
$cache_memcache_servers = $memcached_hosts_real.map |$server| { "inet6:[${server}]:${memcached_port}" }
|
||||
} else {
|
||||
# NOTE(tkajinam): The other backends like pymemcache don't require
|
||||
# the inet6 prefix
|
||||
$cache_memcache_servers = suffix(any2array(normalize_ip_for_uri($memcached_hosts_real)), ":${memcached_port}")
|
||||
}
|
||||
} else {
|
||||
$memcache_servers = suffix(any2array(normalize_ip_for_uri($memcached_hosts_real)), ":${memcached_port}")
|
||||
$cache_memcache_servers = suffix(any2array(normalize_ip_for_uri($memcached_hosts_real)), ":${memcached_port}")
|
||||
}
|
||||
|
||||
class { 'heat::cache':
|
||||
memcache_servers => $memcache_servers
|
||||
memcache_servers => $cache_memcache_servers
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -162,6 +162,14 @@
|
|||
# (Optional) Memcached port to use.
|
||||
# Defaults to hiera('memcached_port', 11211)
|
||||
#
|
||||
# [*memcached_ipv6*]
|
||||
# (Optional) Whether Memcached uses IPv6 network instead of IPv4 network.
|
||||
# Defauls to hiera('memcached_ipv6', false)
|
||||
#
|
||||
# [*cache_backend*]
|
||||
# (Optional) oslo.cache backend used for caching.
|
||||
# Defaults to hiera('keystone::cache::backend', false)
|
||||
#
|
||||
# DEPRECATED PARAMETERS
|
||||
#
|
||||
# [*memcached_ips*]
|
||||
|
@ -202,10 +210,12 @@ class tripleo::profile::base::keystone (
|
|||
$keystone_openidc_enabled = hiera('keystone_openidc_enabled', false),
|
||||
$memcached_hosts = hiera('memcached_node_names', []),
|
||||
$memcached_port = hiera('memcached_port', 11211),
|
||||
$memcached_ipv6 = hiera('memcached_ipv6', false),
|
||||
$cache_backend = hiera('keystone::cache::backend', false),
|
||||
# DEPRECATED PARAMETERS
|
||||
$memcached_ips = undef
|
||||
) {
|
||||
$memcached_hosts_real = pick($memcached_ips, $memcached_hosts)
|
||||
$memcached_hosts_real = any2array(pick($memcached_ips, $memcached_hosts))
|
||||
|
||||
if $bootstrap_node and $::hostname == downcase($bootstrap_node) {
|
||||
$sync_db = true
|
||||
|
@ -231,10 +241,23 @@ class tripleo::profile::base::keystone (
|
|||
if $step >= 4 or ( $step >= 3 and $sync_db ) {
|
||||
$oslomsg_rpc_use_ssl_real = sprintf('%s', bool2num(str2bool($oslomsg_rpc_use_ssl)))
|
||||
$oslomsg_notify_use_ssl_real = sprintf('%s', bool2num(str2bool($oslomsg_notify_use_ssl)))
|
||||
$memcached_servers = suffix(any2array(normalize_ip_for_uri($memcached_hosts_real)), ":${memcached_port}")
|
||||
|
||||
if $memcached_ipv6 or is_ipv6_address($memcached_hosts_real[0]) {
|
||||
if $cache_backend in ['oslo_cache.memcache_pool', 'dogpile.cache.memcached'] {
|
||||
# NOTE(tkajinm): The inet6 prefix is required for backends using
|
||||
# python-memcached
|
||||
$cache_memcache_servers = $memcached_hosts_real.map |$server| { "inet6:[${server}]:${memcached_port}" }
|
||||
} else {
|
||||
# NOTE(tkajinam): The other backends like pymemcache don't require
|
||||
# the inet6 prefix
|
||||
$cache_memcache_servers = suffix(any2array(normalize_ip_for_uri($memcached_hosts_real)), ":${memcached_port}")
|
||||
}
|
||||
} else {
|
||||
$cache_memcache_servers = suffix(any2array(normalize_ip_for_uri($memcached_hosts_real)), ":${memcached_port}")
|
||||
}
|
||||
|
||||
class { 'keystone::cache':
|
||||
memcache_servers => $memcached_servers,
|
||||
memcache_servers => $cache_memcache_servers
|
||||
}
|
||||
|
||||
class { 'keystone':
|
||||
|
@ -290,7 +313,7 @@ class tripleo::profile::base::keystone (
|
|||
}
|
||||
|
||||
if $keystone_openidc_enabled {
|
||||
|
||||
$memcached_servers = suffix(any2array(normalize_ip_for_uri($memcached_hosts_real)), ":${memcached_port}")
|
||||
class { 'keystone::federation::openidc':
|
||||
memcached_servers => $memcached_servers,
|
||||
}
|
||||
|
|
|
@ -82,6 +82,14 @@
|
|||
# (Optional) Memcached port to use.
|
||||
# Defaults to hiera('memcached_port', 11211)
|
||||
#
|
||||
# [*memcached_ipv6*]
|
||||
# (Optional) Whether Memcached uses IPv6 network instead of IPv4 network.
|
||||
# Defauls to hiera('memcached_ipv6', false)
|
||||
#
|
||||
# [*cache_backend*]
|
||||
# (Optional) oslo.cache backend used for caching.
|
||||
# Defaults to hiera('nova::cache::backend', false)
|
||||
#
|
||||
# DEPRECATED PARAMETERS
|
||||
#
|
||||
# [*memcached_ips*]
|
||||
|
@ -105,10 +113,12 @@ class tripleo::profile::base::nova (
|
|||
$step = Integer(hiera('step')),
|
||||
$memcached_hosts = hiera('memcached_node_names', []),
|
||||
$memcached_port = hiera('memcached_port', 11211),
|
||||
$memcached_ipv6 = hiera('memcached_ipv6', false),
|
||||
$cache_backend = hiera('nova::cache::backend', false),
|
||||
# DEPRECATED PARAMETERS
|
||||
$memcached_ips = undef
|
||||
) {
|
||||
$memcached_hosts_real = pick($memcached_ips, $memcached_hosts)
|
||||
$memcached_hosts_real = any2array(pick($memcached_ips, $memcached_hosts))
|
||||
|
||||
if $bootstrap_node and $::hostname == downcase($bootstrap_node) {
|
||||
$sync_db = true
|
||||
|
@ -116,12 +126,6 @@ class tripleo::profile::base::nova (
|
|||
$sync_db = false
|
||||
}
|
||||
|
||||
if is_ipv6_address($memcached_hosts_real[0]) {
|
||||
$memcache_servers = prefix(suffix(any2array(normalize_ip_for_uri($memcached_hosts_real)), ":${memcached_port}"), 'inet6:')
|
||||
} else {
|
||||
$memcache_servers = suffix(any2array(normalize_ip_for_uri($memcached_hosts_real)), ":${memcached_port}")
|
||||
}
|
||||
|
||||
if $step >= 4 or ($step >= 3 and $sync_db) {
|
||||
$oslomsg_rpc_use_ssl_real = sprintf('%s', bool2num(str2bool($oslomsg_rpc_use_ssl)))
|
||||
$oslomsg_notify_use_ssl_real = sprintf('%s', bool2num(str2bool($oslomsg_notify_use_ssl)))
|
||||
|
@ -130,10 +134,25 @@ class tripleo::profile::base::nova (
|
|||
} else {
|
||||
$oslomsg_rpc_hosts_real = $oslomsg_rpc_hosts
|
||||
}
|
||||
|
||||
if $memcached_ipv6 or is_ipv6_address($memcached_hosts_real[0]) {
|
||||
if $cache_backend in ['oslo_cache.memcache_pool', 'dogpile.cache.memcached'] {
|
||||
# NOTE(tkajinm): The inet6 prefix is required for backends using
|
||||
# python-memcached
|
||||
$cache_memcache_servers = $memcached_hosts_real.map |$server| { "inet6:[${server}]:${memcached_port}" }
|
||||
} else {
|
||||
# NOTE(tkajinam): The other backends like pymemcache don't require
|
||||
# the inet6 prefix
|
||||
$cache_memcache_servers = suffix(any2array(normalize_ip_for_uri($memcached_hosts_real)), ":${memcached_port}")
|
||||
}
|
||||
} else {
|
||||
$cache_memcache_servers = suffix(any2array(normalize_ip_for_uri($memcached_hosts_real)), ":${memcached_port}")
|
||||
}
|
||||
|
||||
include nova::config
|
||||
include nova::logging
|
||||
class { 'nova::cache':
|
||||
memcache_servers => $memcache_servers,
|
||||
memcache_servers => $cache_memcache_servers
|
||||
}
|
||||
class { 'nova':
|
||||
default_transport_url => os_transport_url({
|
||||
|
|
|
@ -152,6 +152,62 @@ eos
|
|||
is_expected.to_not contain_class('heat::cron::purge_deleted')
|
||||
end
|
||||
end
|
||||
|
||||
context 'with step 4 and memcache ipv6' do
|
||||
let(:params) { {
|
||||
:step => 4,
|
||||
:memcached_hosts => '::1',
|
||||
} }
|
||||
|
||||
it 'should format the memcache_server parameter' do
|
||||
is_expected.to contain_class('heat::cache').with(
|
||||
:memcache_servers => ['[::1]:11211']
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
context 'with step 4, memcache ipv6 and memcached backend' do
|
||||
let(:params) { {
|
||||
:step => 4,
|
||||
:memcached_hosts => '::1',
|
||||
:cache_backend => 'dogpile.cache.memcached',
|
||||
} }
|
||||
|
||||
it 'should format the memcache_server parameter' do
|
||||
is_expected.to contain_class('heat::cache').with(
|
||||
:memcache_servers => ['inet6:[::1]:11211']
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
context 'with step 4 and the ipv6 parameter' do
|
||||
let(:params) { {
|
||||
:step => 4,
|
||||
:memcached_hosts => 'node.example.com',
|
||||
:memcached_ipv6 => true,
|
||||
} }
|
||||
|
||||
it 'should format the memcache_server parameter' do
|
||||
is_expected.to contain_class('heat::cache').with(
|
||||
:memcache_servers => ['node.example.com:11211']
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
context 'with step 4, the ipv6 parameter and memcached backend' do
|
||||
let(:params) { {
|
||||
:step => 4,
|
||||
:memcached_hosts => 'node.example.com',
|
||||
:memcached_ipv6 => true,
|
||||
:cache_backend => 'dogpile.cache.memcached',
|
||||
} }
|
||||
|
||||
it 'should format the memcache_server parameter' do
|
||||
is_expected.to contain_class('heat::cache').with(
|
||||
:memcache_servers => ['inet6:[node.example.com]:11211']
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
on_supported_os.each do |os, facts|
|
||||
|
|
|
@ -187,6 +187,62 @@ describe 'tripleo::profile::base::keystone' do
|
|||
is_expected.to contain_class('keystone::cron::trust_flush')
|
||||
end
|
||||
end
|
||||
|
||||
context 'with step 4 and memcache ipv6' do
|
||||
let(:params) { {
|
||||
:step => 4,
|
||||
:memcached_hosts => '::1',
|
||||
} }
|
||||
|
||||
it 'should format the memcache_server parameter' do
|
||||
is_expected.to contain_class('keystone::cache').with(
|
||||
:memcache_servers => ['[::1]:11211']
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
context 'with step 4, memcache ipv6 and memcached backend' do
|
||||
let(:params) { {
|
||||
:step => 4,
|
||||
:memcached_hosts => '::1',
|
||||
:cache_backend => 'dogpile.cache.memcached',
|
||||
} }
|
||||
|
||||
it 'should format the memcache_server parameter' do
|
||||
is_expected.to contain_class('keystone::cache').with(
|
||||
:memcache_servers => ['inet6:[::1]:11211']
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
context 'with step 4 and the ipv6 parameter' do
|
||||
let(:params) { {
|
||||
:step => 4,
|
||||
:memcached_hosts => 'node.example.com',
|
||||
:memcached_ipv6 => true,
|
||||
} }
|
||||
|
||||
it 'should format the memcache_server parameter' do
|
||||
is_expected.to contain_class('keystone::cache').with(
|
||||
:memcache_servers => ['node.example.com:11211']
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
context 'with step 4, the ipv6 parameter and memcached backend' do
|
||||
let(:params) { {
|
||||
:step => 4,
|
||||
:memcached_hosts => 'node.example.com',
|
||||
:memcached_ipv6 => true,
|
||||
:cache_backend => 'dogpile.cache.memcached',
|
||||
} }
|
||||
|
||||
it 'should format the memcache_server parameter' do
|
||||
is_expected.to contain_class('keystone::cache').with(
|
||||
:memcache_servers => ['inet6:[node.example.com]:11211']
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
on_supported_os.each do |os, facts|
|
||||
|
|
|
@ -107,6 +107,61 @@ describe 'tripleo::profile::base::nova' do
|
|||
}
|
||||
end
|
||||
|
||||
context 'with step 4 and memcache ipv6' do
|
||||
let(:params) { {
|
||||
:step => 4,
|
||||
:memcached_hosts => '::1',
|
||||
} }
|
||||
|
||||
it 'should format the memcache_server parameter' do
|
||||
is_expected.to contain_class('nova::cache').with(
|
||||
:memcache_servers => ['[::1]:11211']
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
context 'with step 4, memcache ipv6 and memcached backend' do
|
||||
let(:params) { {
|
||||
:step => 4,
|
||||
:memcached_hosts => '::1',
|
||||
:cache_backend => 'dogpile.cache.memcached',
|
||||
} }
|
||||
|
||||
it 'should format the memcache_server parameter' do
|
||||
is_expected.to contain_class('nova::cache').with(
|
||||
:memcache_servers => ['inet6:[::1]:11211']
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
context 'with step 4 and the ipv6 parameter' do
|
||||
let(:params) { {
|
||||
:step => 4,
|
||||
:memcached_hosts => 'node.example.com',
|
||||
:memcached_ipv6 => true,
|
||||
} }
|
||||
|
||||
it 'should format the memcache_server parameter' do
|
||||
is_expected.to contain_class('nova::cache').with(
|
||||
:memcache_servers => ['node.example.com:11211']
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
context 'with step 4, the ipv6 parameter and memcached backend' do
|
||||
let(:params) { {
|
||||
:step => 4,
|
||||
:memcached_hosts => 'node.example.com',
|
||||
:memcached_ipv6 => true,
|
||||
:cache_backend => 'dogpile.cache.memcached',
|
||||
} }
|
||||
|
||||
it 'should format the memcache_server parameter' do
|
||||
is_expected.to contain_class('nova::cache').with(
|
||||
:memcache_servers => ['inet6:[node.example.com]:11211']
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue