diff options
-rw-r--r-- | all-nodes-config.yaml | 2 | ||||
-rw-r--r-- | cinder-storage.yaml | 10 | ||||
-rw-r--r-- | compute.yaml | 10 | ||||
-rw-r--r-- | overcloud-without-mergepy.yaml | 11 | ||||
-rw-r--r-- | puppet/all-nodes-config.yaml | 14 | ||||
-rw-r--r-- | puppet/ceph-storage-puppet.yaml | 1 | ||||
-rw-r--r-- | puppet/cinder-storage-puppet.yaml | 21 | ||||
-rw-r--r-- | puppet/compute-puppet.yaml | 49 | ||||
-rw-r--r-- | puppet/controller-puppet.yaml | 52 | ||||
-rw-r--r-- | puppet/hieradata/RedHat.yaml | 2 | ||||
-rw-r--r-- | puppet/manifests/overcloud_compute.pp | 7 | ||||
-rw-r--r-- | puppet/manifests/overcloud_controller.pp | 56 | ||||
-rw-r--r-- | puppet/swift-storage-puppet.yaml | 1 |
13 files changed, 168 insertions, 68 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/cinder-storage.yaml b/cinder-storage.yaml index 895b9d5c..7eab89a6 100644 --- a/cinder-storage.yaml +++ b/cinder-storage.yaml @@ -76,6 +76,16 @@ parameters: RabbitUserName: default: '' type: string + RabbitClientUseSSL: + default: false + description: > + Rabbit client subscriber parameter to specify + an SSL connection to the RabbitMQ host. + type: string + RabbitClientPort: + default: 5672 + description: Set rabbit subscriber port, change this if using SSL + type: number SnmpdReadonlyUserName: default: ro_snmp_user description: The user name for SNMPd with readonly rights running on all Overcloud nodes diff --git a/compute.yaml b/compute.yaml index 46938ec2..3723169c 100644 --- a/compute.yaml +++ b/compute.yaml @@ -224,6 +224,16 @@ parameters: default: guest description: The username for RabbitMQ type: string + RabbitClientUseSSL: + default: false + description: > + Rabbit client subscriber parameter to specify + an SSL connection to the RabbitMQ host. + type: string + RabbitClientPort: + default: 5672 + description: Set rabbit subscriber port, change this if using SSL + type: number SnmpdReadonlyUserName: default: ro_snmp_user description: The user name for SNMPd with readonly rights running on all Overcloud nodes diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml index 3bc969e2..c5bc08ad 100644 --- a/overcloud-without-mergepy.yaml +++ b/overcloud-without-mergepy.yaml @@ -183,6 +183,7 @@ parameters: type: string default: unset description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change. + # FIXME: 'guest' is provisioned in RabbitMQ by default, we should create a user if these are changed RabbitUserName: default: guest description: The username for RabbitMQ @@ -530,6 +531,7 @@ resources: CloudName: {get_param: CloudName} ControlVirtualInterface: {get_param: ControlVirtualInterface} ControllerExtraConfig: {get_param: controllerExtraConfig} + Debug: {get_param: Debug} ExtraConfig: {get_param: ExtraConfig} Flavor: {get_param: OvercloudControlFlavor} GlancePort: {get_param: GlancePort} @@ -571,8 +573,8 @@ resources: NovaPassword: {get_param: NovaPassword} NtpServer: {get_param: NtpServer} PublicVirtualInterface: {get_param: PublicVirtualInterface} - RabbitUserName: {get_param: RabbitUserName} RabbitPassword: {get_param: RabbitPassword} + RabbitUserName: {get_param: RabbitUserName} RabbitCookie: {get_attr: [RabbitCookie, value]} RabbitClientUseSSL: {get_param: RabbitClientUseSSL} RabbitClientPort: {get_param: RabbitClientPort} @@ -601,6 +603,7 @@ resources: CeilometerComputeAgent: {get_param: CeilometerComputeAgent} CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret} CeilometerPassword: {get_param: CeilometerPassword} + Debug: {get_param: Debug} ExtraConfig: {get_param: ExtraConfig} Flavor: {get_param: OvercloudComputeFlavor} GlanceHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} @@ -639,6 +642,8 @@ resources: RabbitHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} RabbitPassword: {get_param: RabbitPassword} RabbitUserName: {get_param: RabbitUserName} + RabbitClientUseSSL: {get_param: RabbitClientUseSSL} + RabbitClientPort: {get_param: RabbitClientPort} SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName} SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword} @@ -649,6 +654,7 @@ resources: resource_def: type: OS::TripleO::BlockStorage properties: + Debug: {get_param: Debug} Image: {get_param: BlockStorageImage} CinderISCSIHelper: {get_param: CinderISCSIHelper} CinderLVMLoopDeviceSize: {get_param: CinderLVMLoopDeviceSize} @@ -659,6 +665,8 @@ resources: Flavor: {get_param: OvercloudBlockStorageFlavor} RabbitPassword: {get_param: RabbitPassword} RabbitUserName: {get_param: RabbitUserName} + RabbitClientUseSSL: {get_param: RabbitClientUseSSL} + RabbitClientPort: {get_param: RabbitClientPort} NtpServer: {get_param: NtpServer} ObjectStorage: @@ -695,6 +703,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/ceph-storage-puppet.yaml b/puppet/ceph-storage-puppet.yaml index 4a78da80..1599a323 100644 --- a/puppet/ceph-storage-puppet.yaml +++ b/puppet/ceph-storage-puppet.yaml @@ -63,6 +63,7 @@ resources: - cephstorage - ceph_cluster # provided by CephClusterConfig - ceph + - '"%{::osfamily}"' - common datafiles: common: diff --git a/puppet/cinder-storage-puppet.yaml b/puppet/cinder-storage-puppet.yaml index 2f7a04c8..c7fd2ca0 100644 --- a/puppet/cinder-storage-puppet.yaml +++ b/puppet/cinder-storage-puppet.yaml @@ -16,6 +16,10 @@ parameters: default: 5000 description: The size of the loopback file used by the cinder LVM driver. type: number + Debug: + default: '' + description: Set to True to enable debugging on all services. + type: string VirtualIP: default: '' type: string @@ -76,6 +80,16 @@ parameters: RabbitUserName: default: '' type: string + RabbitClientUseSSL: + default: false + description: > + Rabbit client subscriber parameter to specify + an SSL connection to the RabbitMQ host. + type: string + RabbitClientPort: + default: 5672 + description: Set rabbit subscriber port, change this if using SSL + type: number SnmpdReadonlyUserName: default: ro_snmp_user description: The user name for SNMPd with readonly rights running on all Overcloud nodes @@ -111,6 +125,7 @@ resources: server: {get_resource: BlockStorage} config: {get_resource: BlockStorageConfig} input_values: + debug: {get_param: Debug} cinder_dsn: {list_join: ['', ['mysql://cinder:unset@', {get_param: VirtualIP} , '/cinder']]} snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName} snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword} @@ -128,6 +143,8 @@ resources: host: {get_param: VirtualIP} rabbit_username: {get_param: RabbitUserName} rabbit_password: {get_param: RabbitPassword} + rabbit_client_use_ssl: {get_param: RabbitClientUseSSL} + rabbit_client_port: {get_param: RabbitClientPort} ntp_servers: str_replace: template: '["server"]' @@ -146,6 +163,7 @@ resources: hierarchy: - heat_config_%{::deploy_config_name} - volume + - '"%{::osfamily}"' - common datafiles: common: @@ -156,12 +174,15 @@ resources: cinder_iscsi_ip_address: local-ipv4 mapped_data: # Cinder + cinder::debug: {get_input: debug} cinder::setup_test_volume::size: {get_input: cinder_lvm_loop_device_size} cinder_iscsi_helper: {get_input: cinder_iscsi_helper} cinder::database_connection: {get_input: cinder_dsn} cinder::rabbit_hosts: {get_input: rabbit_hosts} cinder::rabbit_userid: {get_input: rabbit_username} cinder::rabbit_password: {get_input: rabbit_password} + cinder::rabbit_use_ssl: {get_input: rabbit_client_use_ssl} + cinder::rabbit_port: {get_input: rabbit_client_port} cinder_enable_iscsi_backend: {get_input: cinder_enable_iscsi_backend} ntp::servers: {get_input: ntp_servers} enable_package_install: {get_input: enable_package_install} diff --git a/puppet/compute-puppet.yaml b/puppet/compute-puppet.yaml index bc0e4b24..382a6b53 100644 --- a/puppet/compute-puppet.yaml +++ b/puppet/compute-puppet.yaml @@ -224,6 +224,16 @@ parameters: default: guest description: The username for RabbitMQ type: string + RabbitClientUseSSL: + default: false + description: > + Rabbit client subscriber parameter to specify + an SSL connection to the RabbitMQ host. + type: string + RabbitClientPort: + default: 5672 + description: Set rabbit subscriber port, change this if using SSL + type: number SnmpdReadonlyUserName: default: ro_snmp_user description: The user name for SNMPd with readonly rights running on all Overcloud nodes @@ -277,6 +287,7 @@ resources: - compute - ceph_cluster # provided by CephClusterConfig - ceph + - '"%{::osfamily}"' - common datafiles: common: @@ -288,14 +299,24 @@ resources: oac_data: nova::compute::vncserver_proxyclient_address: local-ipv4 mapped_data: - #nova::debug: {get_input: debug} + nova::debug: {get_input: debug} + nova::rabbit_hosts: {get_input: rabbit_hosts} + nova::rabbit_userid: {get_input: rabbit_username} + nova::rabbit_password: {get_input: rabbit_password} + nova::rabbit_use_ssl: {get_input: rabbit_client_use_ssl} + nova::rabbit_port: {get_input: rabbit_client_port} nova_compute_driver: {get_input: nova_compute_driver} nova::compute::libvirt::libvirt_virt_type: {get_input: nova_compute_libvirt_type} nova_api_host: {get_input: nova_api_host} nova::compute::vncproxy_host: {get_input: nova_public_ip} nova_enable_rbd_backend: {get_input: nova_enable_rbd_backend} nova_password: {get_input: nova_password} - #ceilometer::debug: {get_input: debug} + ceilometer::debug: {get_input: debug} + ceilometer::rabbit_hosts: {get_input: rabbit_hosts} + ceilometer::rabbit_userid: {get_input: rabbit_username} + ceilometer::rabbit_password: {get_input: rabbit_password} + ceilometer::rabbit_use_ssl: {get_input: rabbit_client_use_ssl} + ceilometer::rabbit_port: {get_input: rabbit_client_port} ceilometer::metering_secret: {get_input: ceilometer_metering_secret} ceilometer::agent::auth::auth_password: {get_input: ceilometer_password} ceilometer::agent::auth::auth_url: {get_input: ceilometer_agent_auth_url} @@ -303,7 +324,12 @@ resources: snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name} snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password} nova::glance_api_servers: {get_input: glance_api_servers} - #neutron::debug: {get_input: debug} + neutron::debug: {get_input: debug} + neutron::rabbit_hosts: {get_input: rabbit_hosts} + neutron::rabbit_password: {get_input: rabbit_password} + neutron::rabbit_user: {get_input: rabbit_user} + neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl} + neutron::rabbit_port: {get_input: rabbit_client_port} neutron_flat_networks: {get_input: neutron_flat_networks} neutron_host: {get_input: neutron_host} neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip} @@ -323,15 +349,6 @@ resources: neutron_mechanism_drivers: {get_input: neutron_mechanism_drivers} neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device} admin_password: {get_input: admin_password} - nova::rabbit_host: {get_input: rabbit_host} - neutron::rabbit_host: {get_input: rabbit_host} - ceilometer::rabbit_host: {get_input: rabbit_host} - nova::rabbit_userid: {get_input: rabbit_username} - neutron::rabbit_user: {get_input: rabbit_username} - ceilometer::rabbit_userid: {get_input: rabbit_username} - nova::rabbit_password: {get_input: rabbit_password} - neutron::rabbit_password: {get_input: rabbit_password} - ceilometer::rabbit_password: {get_input: rabbit_password} ntp::servers: {get_input: ntp_servers} enable_package_install: {get_input: enable_package_install} @@ -397,9 +414,15 @@ resources: - {get_param: NeutronHost} - ':35357/v2.0' admin_password: {get_param: AdminPassword} - rabbit_host: {get_param: RabbitHost} + rabbit_hosts: + str_replace: + template: '["host"]' + params: + host: {get_param: RabbitHost} rabbit_username: {get_param: RabbitUserName} rabbit_password: {get_param: RabbitPassword} + rabbit_client_use_ssl: {get_param: RabbitClientUseSSL} + rabbit_client_port: {get_param: RabbitClientPort} ntp_servers: str_replace: template: '["server"]' diff --git a/puppet/controller-puppet.yaml b/puppet/controller-puppet.yaml index 8b576bfe..3c299895 100644 --- a/puppet/controller-puppet.yaml +++ b/puppet/controller-puppet.yaml @@ -566,6 +566,11 @@ resources: - - 'mysql://nova:unset@' - {get_param: VirtualIP} - '/nova' + rabbit_hosts: + str_replace: + template: '["host"]' + params: + host: {get_param: VirtualIP} rabbit_username: {get_param: RabbitUserName} rabbit_password: {get_param: RabbitPassword} rabbit_cookie: {get_param: RabbitCookie} @@ -599,10 +604,11 @@ 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 + - '"%{::osfamily}"' - common datafiles: common: @@ -614,9 +620,9 @@ resources: controller: raw_data: {get_file: hieradata/controller.yaml} mapped_data: # data supplied directly to this deployment configuration, etc - debug: {get_input: debug} bootstack_nodeid: {get_input: bootstack_nodeid} controller_host: {get_input: controller_host} #local-ipv4 + # Swift swift::proxy::proxy_local_net_ip: {get_input: controller_host} swift::proxy::authtoken::auth_uri: {get_input: keystone_auth_uri} @@ -632,6 +638,7 @@ resources: # NOTE(dprince): build_ring support is currently not wired in. # See: https://review.openstack.org/#/c/109225/ tripleo::ringbuilder::build_ring: True + # Cinder cinder_enable_rbd_backend: {get_input: cinder_enable_rbd_backend} cinder_lvm_loop_device_size: {get_input: cinder_lvm_loop_device_size} @@ -642,10 +649,14 @@ resources: cinder::api::auth_uri: {get_input: keystone_auth_uri} cinder::api::identity_uri: {get_input: keystone_identity_uri} cinder::api::bind_host: {get_input: controller_host} + cinder::rabbit_hosts: {get_input: rabbit_hosts} cinder::rabbit_userid: {get_input: rabbit_username} cinder::rabbit_password: {get_input: rabbit_password} + cinder::rabbit_use_ssl: {get_input: rabbit_client_use_ssl} + cinder::rabbit_port: {get_input: rabbit_client_port} + cinder::debug: {get_input: debug} cinder_enable_iscsi_backend: {get_input: cinder_enable_iscsi_backend} - #cinder::debug: {get_input: debug} + # Glance glance::api::bind_port: {get_input: glance_port} glance::api::bind_host: {get_input: controller_host} @@ -653,6 +664,7 @@ resources: glance::api::identity_uri: {get_input: keystone_identity_uri} glance::api::registry_host: {get_input: controller_host} glance::api::keystone_password: {get_input: glance_password} + glance::api::debug: {get_input: debug} # used to construct glance_api_servers glance_port: {get_input: glance_port} glance_protocol: {get_input: glance_protocol} @@ -665,18 +677,22 @@ resources: glance::registry::bind_host: {get_input: controller_host} glance::registry::auth_uri: {get_input: keystone_auth_uri} glance::registry::identity_uri: {get_input: keystone_identity_uri} + glance::registry::debug: {get_input: debug} glance::backend::swift::swift_store_auth_address: {get_input: glance_swift_store_auth_address} glance::backend::swift::swift_store_user: service:glance glance::backend::swift::swift_store_key: {get_input: glance_password} + # Heat heat_stack_domain_admin_password: {get_input: heat_stack_domain_admin_password} heat::engine::heat_watch_server_url: {get_input: heat.watch_server_url} heat::engine::heat_metadata_server_url: {get_input: heat.metadata_server_url} heat::engine::heat_waitcondition_server_url: {get_input: heat.waitcondition_server_url} heat::engine::auth_encryption_key: {get_input: heat_auth_encryption_key} + heat::rabbit_hosts: {get_input: rabbit_hosts} heat::rabbit_userid: {get_input: rabbit_username} heat::rabbit_password: {get_input: rabbit_password} - heat::rabbit_host: {get_input: controller_virtual_ip} + heat::rabbit_use_ssl: {get_input: rabbit_client_use_ssl} + heat::rabbit_port: {get_input: rabbit_client_port} heat::auth_uri: {get_input: keystone_auth_uri} heat::identity_uri: {get_input: keystone_identity_uri} heat::keystone_password: {get_input: heat_password} @@ -685,6 +701,7 @@ resources: heat::api_cfn::bind_host: {get_input: controller_host} heat::database_connection: {get_input: heat_dsn} heat::instance_user: heat-admin + heat::debug: {get_input: debug} # Keystone keystone::admin_token: {get_input: admin_token} @@ -696,17 +713,22 @@ resources: keystone::database_connection: {get_input: keystone_dsn} keystone::public_bind_host: {get_input: controller_host} keystone::admin_bind_host: {get_input: controller_host} - #keystone::debug: {get_input: debug} + keystone::debug: {get_input: debug} + # MySQL admin_password: {get_input: admin_password} mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size} 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} + neutron::rabbit_hosts: {get_input: rabbit_hosts} neutron::rabbit_password: {get_input: rabbit_password} neutron::rabbit_user: {get_input: rabbit_user} - #neutron::debug: {get_input: debug} + neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl} + neutron::rabbit_port: {get_input: rabbit_client_port} + neutron::debug: {get_input: debug} neutron::server::auth_uri: {get_input: keystone_auth_uri} neutron::server::identity_uri: {get_input: keystone_identity_uri} neutron::server::database_connection: {get_input: neutron_dsn} @@ -732,11 +754,15 @@ resources: neutron::agents::metadata::auth_password: {get_input: neutron_password} neutron_dnsmasq_options: {get_input: neutron_dnsmasq_options} neutron_dsn: {get_input: neutron_dsn} + # Ceilometer ceilometer::metering_secret: {get_input: ceilometer_metering_secret} + ceilometer::rabbit_hosts: {get_input: rabbit_hosts} ceilometer::rabbit_userid: {get_input: rabbit_username} ceilometer::rabbit_password: {get_input: rabbit_password} - ceilometer::rabbit_host: {get_input: controller_virtual_ip} + ceilometer::rabbit_use_ssl: {get_input: rabbit_client_use_ssl} + ceilometer::rabbit_port: {get_input: rabbit_client_port} + ceilometer::debug: {get_input: debug} ceilometer::api::host: {get_input: controller_host} ceilometer::api::keystone_password: {get_input: ceilometer_password} ceilometer::api::keystone_auth_uri: {get_input: keystone_auth_uri} @@ -745,9 +771,14 @@ resources: ceilometer::agent::auth::auth_password: {get_input: ceilometer_password} snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name} snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password} + # Nova + nova::rabbit_hosts: {get_input: rabbit_hosts} nova::rabbit_userid: {get_input: rabbit_username} nova::rabbit_password: {get_input: rabbit_password} + nova::rabbit_use_ssl: {get_input: rabbit_client_use_ssl} + nova::rabbit_port: {get_input: rabbit_client_port} + nova::debug: {get_input: debug} nova::api::auth_uri: {get_input: keystone_auth_uri} nova::api::identity_uri: {get_input: keystone_identity_uri} nova::api::api_bind_address: {get_input: controller_host} @@ -758,13 +789,9 @@ resources: nova::network::neutron::neutron_admin_password: {get_input: neutron_password} nova::network::neutron::neutron_url: {get_input: neutron_url} nova::network::neutron::neutron_admin_auth_url: {get_input: neutron_admin_auth_url} - # Rabbit - rabbit_username: {get_input: rabbit_username} - rabbit_password: {get_input: rabbit_password} - rabbit_client_use_ssl: {get_input: rabbit_client_use_ssl} - rabbit_client_port: {get_input: rabbit_client_port} rabbitmq::erlang_cookie: {get_input: rabbit_cookie} + # Misc neutron_public_interface_ip: {get_input: neutron_public_interface_ip} ntp::servers: {get_input: ntp_servers} @@ -772,7 +799,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/hieradata/RedHat.yaml b/puppet/hieradata/RedHat.yaml new file mode 100644 index 00000000..f42c7159 --- /dev/null +++ b/puppet/hieradata/RedHat.yaml @@ -0,0 +1,2 @@ +# RedHat specific overrides go here +rabbitmq::package_provider: 'yum' diff --git a/puppet/manifests/overcloud_compute.pp b/puppet/manifests/overcloud_compute.pp index c9c87848..58834039 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 1c88bae3..08f06a98 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, + } } @@ -106,17 +109,11 @@ if hiera('step') >= 2 { allowed_hosts => $allowed_hosts, } - if $::osfamily == 'RedHat' { - $rabbit_provider = 'yum' - } else { - $rabbit_provider = undef - } - Class['rabbitmq'] -> Rabbitmq_vhost <| |> 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 } @@ -124,35 +121,23 @@ if hiera('step') >= 2 { $rabbit_cluster = false } class { 'rabbitmq': - package_provider => $rabbit_provider, config_cluster => $rabbit_cluster, cluster_nodes => $rabbit_nodes, node_ip_address => hiera('controller_host'), } - - rabbitmq_vhost { '/': - provider => 'rabbitmqctl', + if $rabbit_cluster { + rabbitmq_policy { 'ha-all@/': + pattern => '^(?!amq\.).*', + definition => { + 'ha-mode' => 'all', + 'ha-sync-mode' => 'automatic', + }, + } } - rabbitmq_user { ['nova','glance','neutron','cinder','ceilometer','heat']: - admin => true, - password => hiera('rabbit_password'), + rabbitmq_vhost { '/': provider => 'rabbitmqctl', } - rabbitmq_user_permissions {[ - 'nova@/', - 'glance@/', - 'neutron@/', - 'cinder@/', - 'ceilometer@/', - 'heat@/', - ]: - configure_permission => '.*', - write_permission => '.*', - read_permission => '.*', - provider => 'rabbitmqctl', - } - # pre-install swift here so we can build rings include ::swift @@ -210,7 +195,6 @@ if hiera('step') >= 3 { include ::glance::backend::swift class { 'nova': - rabbit_hosts => [hiera('controller_virtual_ip')], glance_api_servers => join([hiera('glance_protocol'), '://', hiera('controller_virtual_ip'), ':', hiera('glance_port')]), } @@ -222,10 +206,7 @@ if hiera('step') >= 3 { include ::nova::vncproxy include ::nova::scheduler - class {'neutron': - rabbit_hosts => [hiera('controller_virtual_ip')], - } - + include ::neutron include ::neutron::server include ::neutron::agents::dhcp include ::neutron::agents::l3 @@ -258,10 +239,7 @@ if hiera('step') >= 3 { Service['neutron-server'] -> Service['neutron-ovs-agent-service'] Service['neutron-server'] -> Service['neutron-metadata'] - class {'cinder': - rabbit_hosts => [hiera('controller_virtual_ip')], - } - + include ::cinder include ::cinder::api include ::cinder::glance include ::cinder::scheduler @@ -307,7 +285,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, } diff --git a/puppet/swift-storage-puppet.yaml b/puppet/swift-storage-puppet.yaml index 9caa8485..6d446b00 100644 --- a/puppet/swift-storage-puppet.yaml +++ b/puppet/swift-storage-puppet.yaml @@ -73,6 +73,7 @@ resources: hierarchy: - heat_config_%{::deploy_config_name} - object + - '"%{::osfamily}"' - common datafiles: common: |