Add memcached_addresses variable to hiera
Introduce new variable to have an ability for easy override memcache servers addresses. Closes-Bug: #1524275 Change-Id: I96c8e38e6be2fa865c870908cbbaf0d95034a952
This commit is contained in:
parent
9dd5dbdf9c
commit
a0792cfc77
|
@ -338,6 +338,15 @@ if $public_ssl_hash['services'] {
|
|||
$nova_hash['vncproxy_protocol'] = 'http'
|
||||
}
|
||||
|
||||
# Define how we should get memcache addresses
|
||||
if hiera('memcached_addresses', false) {
|
||||
# need this to successful lookup from template
|
||||
$memcached_addresses = hiera('memcached_addresses')
|
||||
} else {
|
||||
$memcache_nodes = get_nodes_hash_by_roles(hiera_hash('network_metadata'), $memcache_roles)
|
||||
$memcached_addresses = ipsort(values(get_node_to_ipaddr_map_by_network_role($memcache_nodes, 'mgmt/memcache')))
|
||||
}
|
||||
|
||||
# save all these global variables into hiera yaml file for later use
|
||||
# by other manifests with hiera function
|
||||
file { $globals_yaml_file :
|
||||
|
|
|
@ -3,8 +3,7 @@ notice('MODULAR: horizon.pp')
|
|||
prepare_network_config(hiera('network_scheme', {}))
|
||||
$horizon_hash = hiera_hash('horizon', {})
|
||||
$service_endpoint = hiera('service_endpoint')
|
||||
$memcache_nodes = get_nodes_hash_by_roles(hiera_hash('network_metadata'), hiera('memcache_roles'))
|
||||
$memcache_address_map = get_node_to_ipaddr_map_by_network_role($memcache_nodes, 'mgmt/memcache')
|
||||
$memcached_server = hiera('memcached_addresses')
|
||||
$bind_address = get_network_role_property('horizon', 'ipaddr')
|
||||
$neutron_advanced_config = hiera_hash('neutron_advanced_configuration', {})
|
||||
$public_ssl = hiera('public_ssl')
|
||||
|
@ -30,7 +29,7 @@ $hypervisor_options = {'enable_quotas' => hiera('nova_quota')}
|
|||
|
||||
class { 'openstack::horizon':
|
||||
secret_key => $secret_key,
|
||||
cache_server_ip => ipsort(values($memcache_address_map)),
|
||||
cache_server_ip => $memcached_server,
|
||||
package_ensure => hiera('horizon_package_ensure', 'installed'),
|
||||
bind_address => $bind_address,
|
||||
cache_server_port => hiera('memcache_server_port', '11211'),
|
||||
|
|
|
@ -57,8 +57,7 @@ $local_address_for_bind = get_network_role_property('keystone/api', 'ipaddr')
|
|||
|
||||
$memcache_server_port = hiera('memcache_server_port', '11211')
|
||||
$memcache_pool_maxsize = '100'
|
||||
$memcache_nodes = get_nodes_hash_by_roles(hiera_hash('network_metadata'), hiera('memcache_roles'))
|
||||
$memcache_address_map = get_node_to_ipaddr_map_by_network_role($memcache_nodes, 'mgmt/memcache')
|
||||
$memcached_server = hiera('memcached_addresses')
|
||||
|
||||
$public_port = '5000'
|
||||
$admin_port = '35357'
|
||||
|
@ -123,7 +122,7 @@ class { 'openstack::keystone':
|
|||
use_stderr => $use_stderr,
|
||||
syslog_log_facility => $syslog_log_facility,
|
||||
region => $region,
|
||||
memcache_servers => values($memcache_address_map),
|
||||
memcache_servers => $memcached_server,
|
||||
memcache_server_port => $memcache_server_port,
|
||||
memcache_pool_maxsize => $memcache_pool_maxsize,
|
||||
max_retries => $max_retries,
|
||||
|
|
|
@ -56,8 +56,8 @@ $service_workers = pick($nova_hash['workers'],
|
|||
min(max($::processorcount, 2), 16))
|
||||
$ironic_hash = hiera_hash('ironic', {})
|
||||
|
||||
$memcache_nodes = get_nodes_hash_by_roles(hiera_hash('network_metadata'), hiera('memcache_roles'))
|
||||
$memcache_ipaddrs = ipsort(values(get_node_to_ipaddr_map_by_network_role($memcache_nodes,'mgmt/memcache')))
|
||||
$memcached_server = hiera('memcached_addresses')
|
||||
$memcached_port = hiera('memcache_server_port', '11211')
|
||||
$roles = node_roles($nodes_hash, hiera('uid'))
|
||||
$openstack_controller_hash = hiera_hash('openstack_controller', {})
|
||||
|
||||
|
@ -134,7 +134,8 @@ class { '::openstack::controller':
|
|||
amqp_user => $rabbit_hash['user'],
|
||||
amqp_password => $rabbit_hash['password'],
|
||||
rabbit_ha_queues => true,
|
||||
cache_server_ip => $memcache_ipaddrs,
|
||||
cache_server_ip => $memcached_server,
|
||||
cache_server_port => $memcached_port,
|
||||
api_bind_address => $api_bind_address,
|
||||
db_host => $db_host,
|
||||
service_endpoint => $service_endpoint,
|
||||
|
|
|
@ -127,9 +127,9 @@ $floating_hash = {}
|
|||
|
||||
##CALCULATED PARAMETERS
|
||||
|
||||
$memcached_server = hiera('memcached_addresses')
|
||||
$memcached_port = hiera('memcache_server_port', '11211')
|
||||
##TODO: simply parse nodes array
|
||||
$memcache_nodes = get_nodes_hash_by_roles(hiera_hash('network_metadata'), hiera('memcache_roles'))
|
||||
$memcache_ipaddrs = ipsort(values(get_node_to_ipaddr_map_by_network_role($memcache_nodes,'mgmt/memcache')))
|
||||
$roles = $network_metadata['nodes'][$node_name]['node_roles']
|
||||
$mountpoints = filter_hash($mp_hash,'point')
|
||||
|
||||
|
@ -271,7 +271,8 @@ class { 'openstack::compute':
|
|||
manage_volumes => $manage_volumes,
|
||||
nova_user_password => $nova_hash[user_password],
|
||||
nova_hash => merge({'reserved_host_memory' => $r_hostmem}, $nova_hash),
|
||||
cache_server_ip => $memcache_ipaddrs,
|
||||
cache_server_ip => $memcached_server,
|
||||
cache_server_port => $memcached_port,
|
||||
service_endpoint => $service_endpoint,
|
||||
cinder => true,
|
||||
cinder_iscsi_bind_addr => get_network_role_property('cinder/iscsi', 'ipaddr'),
|
||||
|
|
|
@ -35,9 +35,9 @@ $db_name = pick($nova_hash['db_name'], 'nova')
|
|||
$db_password = pick($nova_hash['db_password'], 'nova')
|
||||
$database_connection = "mysql://${db_name}:${db_password}@${db_host}/${db_name}?read_timeout=60"
|
||||
|
||||
$memcache_nodes = get_nodes_hash_by_roles(hiera_hash('network_metadata'), hiera('memcache_roles'))
|
||||
$cache_server_ip = ipsort(values(get_node_to_ipaddr_map_by_network_role($memcache_nodes,'mgmt/memcache')))
|
||||
$memcached_addresses = suffix($cache_server_ip, inline_template(":<%= @cache_server_port %>"))
|
||||
$memcached_servers = hiera('memcached_addresses')
|
||||
$memcached_port = hiera('memcache_server_port', '11211')
|
||||
$memcached_addresses = suffix($memcached_servers, ":${memcached_port}")
|
||||
$notify_on_state_change = 'vm_and_task_state'
|
||||
|
||||
|
||||
|
|
|
@ -103,6 +103,7 @@
|
|||
<% globals.store "management_vrouter_vip", @management_vrouter_vip -%>
|
||||
<% globals.store "public_vrouter_vip", @public_vrouter_vip -%>
|
||||
<% globals.store "memcache_roles", @memcache_roles -%>
|
||||
<% globals.store "memcached_addresses", @memcached_addresses -%>
|
||||
<% globals.store "swift_master_role", @swift_master_role -%>
|
||||
<% globals.store "swift_nodes", @swift_nodes -%>
|
||||
<% globals.store "swift_proxies", @swift_proxies -%>
|
||||
|
|
|
@ -405,6 +405,8 @@ metadata:
|
|||
status: discover
|
||||
swift:
|
||||
user_password: zr0zBVgi
|
||||
memcached_addresses: [10.20.30.40, 10.20.30.41]
|
||||
memcache_server_port: 11212
|
||||
repo_setup:
|
||||
installer_kernel:
|
||||
local: "/var/www/nailgun/ubuntu/x86_64/images/linux"
|
||||
|
|
|
@ -694,6 +694,8 @@ storage:
|
|||
storage_network_range: 192.168.1.0/24
|
||||
swift:
|
||||
user_password: BP92J6tg
|
||||
memcached_addresses: [10.20.30.40, 10.20.30.41]
|
||||
memcache_server_port: '11212'
|
||||
syslog:
|
||||
metadata:
|
||||
label: Syslog
|
||||
|
|
|
@ -38,6 +38,25 @@ describe manifest do
|
|||
}
|
||||
end
|
||||
|
||||
memcache_addresses = Noop.hiera 'memcached_addresses', false
|
||||
memcache_server_port = Noop.hiera 'memcache_server_port', '11211'
|
||||
|
||||
let(:memcache_nodes) do
|
||||
Noop.puppet_function 'get_nodes_hash_by_roles', network_metadata, memcache_roles
|
||||
end
|
||||
|
||||
let(:memcache_address_map) do
|
||||
Noop.puppet_function 'get_node_to_ipaddr_map_by_network_role', memcache_nodes, 'mgmt/memcache'
|
||||
end
|
||||
|
||||
let (:memcache_servers) do
|
||||
if not memcache_addresses
|
||||
memcache_address_map.values
|
||||
else
|
||||
memcache_addresses
|
||||
end
|
||||
end
|
||||
|
||||
###########################################################################
|
||||
|
||||
it 'should declare openstack::horizon class' do
|
||||
|
@ -49,7 +68,9 @@ describe manifest do
|
|||
|
||||
it 'should declare openstack::horizon class with keystone_url' do
|
||||
should contain_class('openstack::horizon').with(
|
||||
'keystone_url' => keystone_url
|
||||
'keystone_url' => keystone_url,
|
||||
'cache_server_ip' => memcache_servers,
|
||||
'cache_server_port' => memcache_server_port
|
||||
)
|
||||
end
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ describe manifest do
|
|||
|
||||
network_metadata = Noop.hiera 'network_metadata'
|
||||
memcache_roles = Noop.hiera 'memcache_roles'
|
||||
memcache_addresses = Noop.hiera 'memcached_addresses', false
|
||||
memcache_server_port = Noop.hiera 'memcache_server_port', '11211'
|
||||
|
||||
let(:memcache_nodes) do
|
||||
|
@ -20,7 +21,11 @@ describe manifest do
|
|||
end
|
||||
|
||||
let (:memcache_servers) do
|
||||
if not memcache_addresses
|
||||
memcache_address_map.values.map { |server| "#{server}:#{memcache_server_port}" }.join(",")
|
||||
else
|
||||
memcache_addresses.map { |server| "#{server}:#{memcache_server_port}" }.join(",")
|
||||
end
|
||||
end
|
||||
|
||||
let(:configuration_override) do
|
||||
|
|
|
@ -17,6 +17,27 @@ describe manifest do
|
|||
configuration_override.fetch('nova_paste_api_ini', {})
|
||||
end
|
||||
|
||||
network_metadata = Noop.hiera 'network_metadata'
|
||||
memcache_roles = Noop.hiera 'memcache_roles'
|
||||
memcache_addresses = Noop.hiera 'memcached_addresses', false
|
||||
memcache_server_port = Noop.hiera 'memcache_server_port', '11211'
|
||||
|
||||
let(:memcache_nodes) do
|
||||
Noop.puppet_function 'get_nodes_hash_by_roles', network_metadata, memcache_roles
|
||||
end
|
||||
|
||||
let(:memcache_address_map) do
|
||||
Noop.puppet_function 'get_node_to_ipaddr_map_by_network_role', memcache_nodes, 'mgmt/memcache'
|
||||
end
|
||||
|
||||
let (:memcache_servers) do
|
||||
if not memcache_addresses
|
||||
memcache_address_map.values.map { |server| "#{server}:#{memcache_server_port}" }.join(",")
|
||||
else
|
||||
memcache_addresses.map { |server| "#{server}:#{memcache_server_port}" }.join(",")
|
||||
end
|
||||
end
|
||||
|
||||
use_neutron = Noop.hiera 'use_neutron'
|
||||
primary_controller = Noop.hiera 'primary_controller'
|
||||
if !use_neutron && primary_controller
|
||||
|
@ -51,12 +72,19 @@ describe manifest do
|
|||
'value' => '60',
|
||||
)
|
||||
end
|
||||
|
||||
it 'nova config should have service_down_time set to 180' do
|
||||
should contain_nova_config('DEFAULT/service_down_time').with(
|
||||
'value' => '180',
|
||||
)
|
||||
end
|
||||
|
||||
it 'nova config should contain right memcached servers list' do
|
||||
should contain_nova_config('DEFAULT/memcached_servers').with(
|
||||
'value' => memcache_servers,
|
||||
)
|
||||
end
|
||||
|
||||
keystone_ec2_url = "http://#{keystone_host}:5000/v2.0/ec2tokens"
|
||||
it 'should declare class nova::api with keystone_ec2_url' do
|
||||
should contain_class('nova::api').with(
|
||||
|
|
|
@ -7,6 +7,27 @@ describe manifest do
|
|||
|
||||
host_uuid = Noop.hiera 'host_uuid'
|
||||
|
||||
network_metadata = Noop.hiera 'network_metadata'
|
||||
memcache_roles = Noop.hiera 'memcache_roles'
|
||||
memcache_addresses = Noop.hiera 'memcached_addresses', false
|
||||
memcache_server_port = Noop.hiera 'memcache_server_port', '11211'
|
||||
|
||||
let(:memcache_nodes) do
|
||||
Noop.puppet_function 'get_nodes_hash_by_roles', network_metadata, memcache_roles
|
||||
end
|
||||
|
||||
let(:memcache_address_map) do
|
||||
Noop.puppet_function 'get_node_to_ipaddr_map_by_network_role', memcache_nodes, 'mgmt/memcache'
|
||||
end
|
||||
|
||||
let (:memcache_servers) do
|
||||
if not memcache_addresses
|
||||
memcache_address_map.values.map { |server| "#{server}:#{memcache_server_port}" }.join(",")
|
||||
else
|
||||
memcache_addresses.map { |server| "#{server}:#{memcache_server_port}" }.join(",")
|
||||
end
|
||||
end
|
||||
|
||||
let(:nova_hash) do
|
||||
Noop.hiera_structure 'nova'
|
||||
end
|
||||
|
@ -112,6 +133,11 @@ describe manifest do
|
|||
'value' => 'false',
|
||||
)
|
||||
end
|
||||
it 'nova config should contain right memcached servers list' do
|
||||
should contain_nova_config('DEFAULT/memcached_servers').with(
|
||||
'value' => memcache_servers,
|
||||
)
|
||||
end
|
||||
|
||||
it 'should install fping for nova API extension' do
|
||||
should contain_package('fping').with('ensure' => 'present')
|
||||
|
|
|
@ -7,6 +7,27 @@ describe manifest do
|
|||
ironic_user_password = Noop.hiera_structure 'ironic/user_password'
|
||||
ironic_enabled = Noop.hiera_structure 'ironic/enabled'
|
||||
|
||||
network_metadata = Noop.hiera 'network_metadata'
|
||||
memcache_roles = Noop.hiera 'memcache_roles'
|
||||
memcache_addresses = Noop.hiera 'memcached_addresses', false
|
||||
memcache_server_port = Noop.hiera 'memcache_server_port', '11211'
|
||||
|
||||
let(:memcache_nodes) do
|
||||
Noop.puppet_function 'get_nodes_hash_by_roles', network_metadata, memcache_roles
|
||||
end
|
||||
|
||||
let(:memcache_address_map) do
|
||||
Noop.puppet_function 'get_node_to_ipaddr_map_by_network_role', memcache_nodes, 'mgmt/memcache'
|
||||
end
|
||||
|
||||
let (:memcache_servers) do
|
||||
if not memcache_addresses
|
||||
memcache_address_map.values.map { |server| "#{server}:#{memcache_server_port}" }.join(",")
|
||||
else
|
||||
memcache_addresses.map { |server| "#{server}:#{memcache_server_port}" }.join(",")
|
||||
end
|
||||
end
|
||||
|
||||
if ironic_enabled
|
||||
it 'nova config should have correct nova_user_password' do
|
||||
should contain_nova_config('ironic/admin_password').with(:value => ironic_user_password)
|
||||
|
@ -16,6 +37,12 @@ describe manifest do
|
|||
it 'nova config should have reserved_host_memory_mb set to 0' do
|
||||
should contain_nova_config('DEFAULT/reserved_host_memory_mb').with(:value => '0')
|
||||
end
|
||||
|
||||
it 'nova config should contain right memcached servers list' do
|
||||
should contain_nova_config('DEFAULT/memcached_servers').with(
|
||||
'value' => memcache_servers,
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue