MariaDB bind on correct address
[apex-tripleo-heat-templates.git] / puppet / controller-puppet.yaml
index 0fd4e7a..780c8cf 100644 (file)
@@ -63,6 +63,10 @@ parameters:
     default: ''
     description: Set to True to enable debugging on all services.
     type: string
+  EnableGalera:
+    default: true
+    description: Whether to use Galera instead of regular MariaDB.
+    type: boolean
   ExtraConfig:
     default: {}
     description: |
@@ -507,6 +511,7 @@ resources:
             - - 'http://'
               - {get_param: VirtualIP}
               - ':5000/v2.0/'
+        enable_galera: {get_param: EnableGalera}
         mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
         mysql_root_password: {get_param: MysqlRootPassword}
         mysql_cluster_name:
@@ -566,6 +571,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}
@@ -603,6 +613,7 @@ resources:
             - ceph
             - bootstrap_node # provided by BootstrapNodeConfig
             - all_nodes # provided by allNodesConfig
+            - '"%{::osfamily}"'
             - common
           datafiles:
             common:
@@ -614,9 +625,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 +643,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 +654,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 +669,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 +682,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 +706,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 +718,23 @@ 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}
+                enable_galera: {get_input: enable_galera}
                 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 +760,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 +777,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 +795,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}