aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--all-nodes-config.yaml2
-rw-r--r--cinder-storage.yaml10
-rw-r--r--compute.yaml10
-rw-r--r--overcloud-without-mergepy.yaml11
-rw-r--r--puppet/all-nodes-config.yaml14
-rw-r--r--puppet/ceph-storage-puppet.yaml1
-rw-r--r--puppet/cinder-storage-puppet.yaml21
-rw-r--r--puppet/compute-puppet.yaml49
-rw-r--r--puppet/controller-puppet.yaml52
-rw-r--r--puppet/hieradata/RedHat.yaml2
-rw-r--r--puppet/manifests/overcloud_compute.pp7
-rw-r--r--puppet/manifests/overcloud_controller.pp56
-rw-r--r--puppet/swift-storage-puppet.yaml1
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: