diff options
-rw-r--r-- | all-nodes-config.yaml | 2 | ||||
-rw-r--r-- | compute.yaml | 2 | ||||
-rw-r--r-- | overcloud-without-mergepy.yaml | 2 | ||||
-rw-r--r-- | puppet/all-nodes-config.yaml | 14 | ||||
-rw-r--r-- | puppet/compute-puppet.yaml | 7 | ||||
-rw-r--r-- | puppet/controller-puppet.yaml | 11 | ||||
-rw-r--r-- | puppet/manifests/overcloud_compute.pp | 7 | ||||
-rw-r--r-- | puppet/manifests/overcloud_controller.pp | 9 |
8 files changed, 42 insertions, 12 deletions
diff --git a/all-nodes-config.yaml b/all-nodes-config.yaml index 677c12d6..7fa27c5d 100644 --- a/all-nodes-config.yaml +++ b/all-nodes-config.yaml @@ -6,6 +6,8 @@ parameters: type: comma_delimited_list controller_hosts: type: comma_delimited_list + controller_ips: + type: comma_delimited_list block_storage_hosts: type: comma_delimited_list object_storage_hosts: diff --git a/compute.yaml b/compute.yaml index 1bc59e14..3723169c 100644 --- a/compute.yaml +++ b/compute.yaml @@ -168,10 +168,12 @@ parameters: The mechanism drivers for the Neutron tenant network. To specify multiple values, use a comma separated string, like so: 'openvswitch,l2_population' type: string + # Not relevant for Computes, should be removed NeutronAllowL3AgentFailover: default: 'True' description: Allow automatic l3-agent failover type: string + # Not relevant for Computes, should be removed NeutronL3HA: default: 'False' description: Whether to enable l3-agent HA diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml index 7d484f83..3db4fe1a 100644 --- a/overcloud-without-mergepy.yaml +++ b/overcloud-without-mergepy.yaml @@ -626,6 +626,7 @@ resources: NeutronAgentMode: {get_param: NeutronComputeAgentMode} NeutronPublicInterfaceRawDevice: {get_param: NeutronPublicInterfaceRawDevice} NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers} + # L3 HA and Failover is not relevant for Computes, should be removed NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover} NeutronL3HA: {get_param: NeutronL3HA} NovaApiHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} @@ -699,6 +700,7 @@ resources: properties: compute_hosts: {get_attr: [Compute, hosts_entry]} controller_hosts: {get_attr: [Controller, hosts_entry]} + controller_ips: {get_attr: [Controller, ip_address]} block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]} object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]} ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]} diff --git a/puppet/all-nodes-config.yaml b/puppet/all-nodes-config.yaml index c5193e71..4d7af033 100644 --- a/puppet/all-nodes-config.yaml +++ b/puppet/all-nodes-config.yaml @@ -6,6 +6,8 @@ parameters: type: comma_delimited_list controller_hosts: type: comma_delimited_list + controller_ips: + type: comma_delimited_list block_storage_hosts: type: comma_delimited_list object_storage_hosts: @@ -46,12 +48,20 @@ resources: net.ipv4.tcp_keepalive_intvl: 1 hiera: datafiles: - rabbit: + all_nodes: mapped_data: - rabbit_nodes: + controller_node_ips: + list_join: + - ',' + - {get_param: controller_ips} + rabbit_node_names: list_join: - ',' - {get_param: controller_names} + mongo_node_ips: + list_join: + - ',' + - {get_param: controller_ips} outputs: config_id: diff --git a/puppet/compute-puppet.yaml b/puppet/compute-puppet.yaml index 874afd75..a481a2e1 100644 --- a/puppet/compute-puppet.yaml +++ b/puppet/compute-puppet.yaml @@ -168,11 +168,13 @@ parameters: The mechanism drivers for the Neutron tenant network. To specify multiple values, use a comma separated string, like so: 'openvswitch,l2_population' type: string + # Not relevant for Computes, should be removed NeutronAllowL3AgentFailover: default: 'True' description: Allow automatic l3-agent failover type: string - NeutronL3HA: #FIXME this isn't wired in + # Not relevant for Computes, should be removed + NeutronL3HA: default: 'False' description: Whether to enable l3-agent HA type: string @@ -344,8 +346,6 @@ resources: neutron_agent_mode: {get_input: neutron_agent_mode} neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret} neutron_mechanism_drivers: {get_input: neutron_mechanism_drivers} - neutron_allow_l3agent_failover: {get_input: neutron_allow_l3agent_failover} - neutron_allow_l3agent_failover: {get_input: neutron_allow_l3agent_failover} neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device} admin_password: {get_input: admin_password} ntp::servers: {get_input: ntp_servers} @@ -399,7 +399,6 @@ resources: neutron_router_distributed: {get_param: NeutronDVR} neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret} neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers} - neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover} neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice} neutron_url: list_join: diff --git a/puppet/controller-puppet.yaml b/puppet/controller-puppet.yaml index a2377db3..295cb328 100644 --- a/puppet/controller-puppet.yaml +++ b/puppet/controller-puppet.yaml @@ -242,6 +242,10 @@ parameters: type: string default: '' description: If set, flat networks to configure in neutron plugins. + NeutronL3HA: + default: 'False' + description: Whether to enable l3-agent HA + type: string NeutronNetworkType: default: 'gre' description: The tenant network type for Neutron, either gre or vxlan. @@ -516,6 +520,7 @@ resources: neutron_router_distributed: {get_param: NeutronDVR} neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers} neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover} + neutron_l3_ha: {get_param: NeutronL3HA} neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges} neutron_bridge_mappings: {get_param: NeutronBridgeMappings} neutron_public_interface: {get_param: NeutronPublicInterface} @@ -599,10 +604,10 @@ resources: - controller - object - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig - - rabbit # provided by allNodesConfig - ceph_cluster # provided by CephClusterConfig - ceph - bootstrap_node # provided by BootstrapNodeConfig + - all_nodes # provided by allNodesConfig - common datafiles: common: @@ -705,7 +710,7 @@ resources: # MySQL admin_password: {get_input: admin_password} mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size} - mysql_root_password: {get_input: mysql_root_password} + mysql::server::root_password: {get_input: mysql_root_password} mysql_cluster_name: {get_input: mysql_cluster_name} # Neutron neutron::bind_host: {get_input: controller_host} @@ -727,6 +732,7 @@ resources: neutron_router_distributed: {get_input: neutron_router_distributed} neutron_mechanism_drivers: {get_input: neutron_mechanism_drivers} neutron_allow_l3agent_failover: {get_input: neutron_allow_l3agent_failover} + neutron::server::l3_ha: {get_input: neutron_l3_ha} neutron::plugins::ml2::network_vlan_ranges: {get_input: neutron_network_vlan_ranges} neutron_bridge_mappings: {get_input: neutron_bridge_mappings} neutron_public_interface: {get_input: neutron_public_interface} @@ -779,7 +785,6 @@ resources: controller_virtual_ip: {get_input: controller_virtual_ip} public_virtual_interface: {get_input: public_virtual_interface} public_virtual_ip: {get_input: public_virtual_ip} - tripleo::loadbalancer::controller_host: {get_input: controller_host} tripleo::loadbalancer::control_virtual_interface: {get_input: control_virtual_interface} tripleo::loadbalancer::controller_virtual_ip: {get_input: controller_virtual_ip} tripleo::loadbalancer::public_virtual_interface: {get_input: public_virtual_interface} diff --git a/puppet/manifests/overcloud_compute.pp b/puppet/manifests/overcloud_compute.pp index eef468da..d02725ab 100644 --- a/puppet/manifests/overcloud_compute.pp +++ b/puppet/manifests/overcloud_compute.pp @@ -33,6 +33,13 @@ file { ['/etc/libvirt/qemu/networks/autostart/default.xml', ensure => absent, before => Service['libvirt'] } +# in case libvirt has been already running before the Puppet run, make +# sure the default network is destroyed +exec { 'libvirt-default-net-destroy': + command => '/usr/bin/virsh net-destroy default', + onlyif => '/usr/bin/virsh net-info default | /bin/grep -i "^active:\s*yes"', + before => Service['libvirt'], +} include ::nova include ::nova::compute diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp index 577f5052..66eb0c1b 100644 --- a/puppet/manifests/overcloud_controller.pp +++ b/puppet/manifests/overcloud_controller.pp @@ -26,7 +26,10 @@ if !str2bool(hiera('enable_package_install', 'false')) { if hiera('step') >= 1 { - include ::tripleo::loadbalancer + $controller_node_ips = split(downcase(hiera('controller_node_ips')), ',') + class { '::tripleo::loadbalancer' : + controller_hosts => $controller_node_ips, + } } @@ -116,7 +119,7 @@ if hiera('step') >= 2 { Class['rabbitmq'] -> Rabbitmq_user <| |> Class['rabbitmq'] -> Rabbitmq_user_permissions <| |> - $rabbit_nodes = split(downcase(hiera('rabbit_nodes', $::hostname)), ',') + $rabbit_nodes = split(downcase(hiera('rabbit_node_names', $::hostname)), ',') if count($rabbit_nodes) > 1 { $rabbit_cluster = true } @@ -290,7 +293,7 @@ if hiera('step') >= 3 { } } - $cinder_enabled_backends = concat(any2array($cinder_iscsi_backend), $cinder_rbd_backend) + $cinder_enabled_backends = delete_undef_values([$cinder_iscsi_backend, $cinder_rbd_backend]) class { '::cinder::backends' : enabled_backends => $cinder_enabled_backends, } |