diff options
-rw-r--r-- | environments/network-isolation-v6.yaml | 2 | ||||
-rw-r--r-- | overcloud.yaml | 5 | ||||
-rw-r--r-- | puppet/controller.yaml | 6 | ||||
-rw-r--r-- | puppet/manifests/overcloud_controller.pp | 18 | ||||
-rw-r--r-- | puppet/manifests/overcloud_controller_pacemaker.pp | 10 | ||||
-rwxr-xr-x | tools/yaml-validate.py | 11 |
6 files changed, 48 insertions, 4 deletions
diff --git a/environments/network-isolation-v6.yaml b/environments/network-isolation-v6.yaml index 599a08b1..11ca5b31 100644 --- a/environments/network-isolation-v6.yaml +++ b/environments/network-isolation-v6.yaml @@ -53,3 +53,5 @@ parameter_defaults: NovaIPv6: True # Enable IPv6 environment for RabbitMQ. RabbitIPv6: true + # Enable IPv6 environment for Memcached. + MemcachedIPv6: true diff --git a/overcloud.yaml b/overcloud.yaml index 476e82ed..22675210 100644 --- a/overcloud.yaml +++ b/overcloud.yaml @@ -104,6 +104,10 @@ parameters: type: string constraints: - custom_constraint: nova.keypair + MemcachedIPv6: + default: false + description: Enable IPv6 features in Memcached. + type: boolean NeutronExternalNetworkBridge: description: Name of bridge used for external network traffic. type: string @@ -939,6 +943,7 @@ resources: KeystoneSSLCertificateKey: {get_param: KeystoneSSLCertificateKey} KeystoneNotificationDriver: {get_param: KeystoneNotificationDriver} KeystoneNotificationFormat: {get_param: KeystoneNotificationFormat} + MemcachedIPv6: {get_param: MemcachedIPv6} MysqlClusterUniquePart: {get_attr: [MysqlClusterUniquePart, value]} MysqlInnodbBufferPoolSize: {get_param: MysqlInnodbBufferPoolSize} MysqlMaxConnections: {get_param: MysqlMaxConnections} diff --git a/puppet/controller.yaml b/puppet/controller.yaml index 906e35cf..9b960ac7 100644 --- a/puppet/controller.yaml +++ b/puppet/controller.yaml @@ -333,6 +333,10 @@ parameters: default: false description: Whether to manage IPtables rules. type: boolean + MemcachedIPv6: + default: false + description: Enable IPv6 features in Memcached. + type: boolean PurgeFirewallRules: default: false description: Whether IPtables rules should be purged before setting up the new ones. @@ -1181,6 +1185,7 @@ resources: nova_enable_db_purge: {get_param: NovaEnableDBPurge} nova_ipv6: {get_param: NovaIPv6} corosync_ipv6: {get_param: CorosyncIPv6} + memcached_ipv6: {get_param: MemcachedIPv6} nova_password: {get_param: NovaPassword} nova_dsn: list_join: @@ -1631,6 +1636,7 @@ resources: tripleo::firewall::manage_firewall: {get_input: manage_firewall} tripleo::firewall::purge_firewall_rules: {get_input: purge_firewall_rules} # Misc + memcached_ipv6: {get_input: memcached_ipv6} memcached::listen_ip: {get_input: memcached_network} neutron_public_interface_ip: {get_input: neutron_public_interface_ip} ntp::servers: {get_input: ntp_servers} diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp index 5556a40c..a4d4784b 100644 --- a/puppet/manifests/overcloud_controller.pp +++ b/puppet/manifests/overcloud_controller.pp @@ -267,8 +267,15 @@ if hiera('step') >= 3 { include ::glance::notify::rabbitmq include join(['::glance::backend::', $glance_backend]) + $nova_ipv6 = hiera('nova::use_ipv6', false) + if $nova_ipv6 { + $memcached_servers = suffix(hiera('memcache_node_ips_v6'), ':11211') + } else { + $memcached_servers = suffix(hiera('memcache_node_ips'), ':11211') + } + class { '::nova' : - memcached_servers => suffix(hiera('memcache_node_ips'), ':11211'), + memcached_servers => $memcached_servers } include ::nova::config include ::nova::api @@ -626,8 +633,15 @@ if hiera('step') >= 3 { } $neutron_options = {'profile_support' => $_profile_support } + $memcached_ipv6 = hiera('memcached_ipv6', false) + if $memcached_ipv6 { + $horizon_memcached_servers = hiera('memcache_node_ips_v6', '[::1]') + } else { + $horizon_memcached_servers = hiera('memcache_node_ips', '127.0.0.1') + } + class { '::horizon': - cache_server_ip => hiera('memcache_node_ips', '127.0.0.1'), + cache_server_ip => $horizon_memcached_servers, neutron_options => $neutron_options, } diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp index db3d8652..62fb2c5e 100644 --- a/puppet/manifests/overcloud_controller_pacemaker.pp +++ b/puppet/manifests/overcloud_controller_pacemaker.pp @@ -1121,8 +1121,16 @@ if hiera('step') >= 3 { $_profile_support = 'None' } $neutron_options = {'profile_support' => $_profile_support } + + $memcached_ipv6 = hiera('memcached_ipv6', false) + if $memcached_ipv6 { + $horizon_memcached_servers = hiera('memcache_node_ips_v6', '[::1]') + } else { + $horizon_memcached_servers = hiera('memcache_node_ips', '127.0.0.1') + } + class { '::horizon': - cache_server_ip => hiera('memcache_node_ips', '127.0.0.1'), + cache_server_ip => $horizon_memcached_servers, neutron_options => $neutron_options, } diff --git a/tools/yaml-validate.py b/tools/yaml-validate.py index fe690d8c..2da873d0 100755 --- a/tools/yaml-validate.py +++ b/tools/yaml-validate.py @@ -24,10 +24,19 @@ def exit_usage(): def validate(filename): print('Validating %s' % filename) try: - yaml.load(open(filename).read()) + tpl = yaml.load(open(filename).read()) except Exception: print(traceback.format_exc()) return 1 + # yaml is OK, now walk the parameters and output a warning for unused ones + for p in tpl.get('parameters', {}): + str_p = '\'%s\'' % p + in_resources = str_p in str(tpl.get('resources', {})) + in_outputs = str_p in str(tpl.get('outputs', {})) + if not in_resources and not in_outputs: + print('Warning: parameter %s in template %s appears to be unused' + % (p, filename)) + return 0 if len(sys.argv) < 2: |