diff options
-rw-r--r-- | controller.yaml | 4 | ||||
-rw-r--r-- | overcloud-without-mergepy.yaml | 7 | ||||
-rw-r--r-- | puppet/controller-puppet.yaml | 10 | ||||
-rw-r--r-- | puppet/hieradata/controller.yaml | 2 | ||||
-rw-r--r-- | puppet/manifests/overcloud_compute.pp | 6 | ||||
-rw-r--r-- | puppet/manifests/overcloud_controller.pp | 22 | ||||
-rw-r--r-- | puppet/swift-devices-and-proxy-config.yaml | 9 |
7 files changed, 56 insertions, 4 deletions
diff --git a/controller.yaml b/controller.yaml index 33286d19..9c0fa0cd 100644 --- a/controller.yaml +++ b/controller.yaml @@ -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: | diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml index cd684579..d8c84bc0 100644 --- a/overcloud-without-mergepy.yaml +++ b/overcloud-without-mergepy.yaml @@ -259,6 +259,10 @@ parameters: default: 'br-ex' description: Interface where virtual ip will be assigned. type: string + EnableGalera: + default: true + description: Whether to use Galera instead of regular MariaDB. + type: boolean ExtraConfig: default: {} description: | @@ -532,6 +536,7 @@ resources: ControlVirtualInterface: {get_param: ControlVirtualInterface} ControllerExtraConfig: {get_param: controllerExtraConfig} Debug: {get_param: Debug} + EnableGalera: {get_param: EnableGalera} ExtraConfig: {get_param: ExtraConfig} Flavor: {get_param: OvercloudControlFlavor} GlancePort: {get_param: GlancePort} @@ -863,7 +868,7 @@ resources: ComputeNodesPostDeployment: type: OS::TripleO::ComputePostDeployment - depends_on: ComputeAllNodesDeployment + depends_on: [ComputeAllNodesDeployment, ComputeCephDeployment] properties: servers: {get_attr: [Compute, attributes, nova_server_resource]} diff --git a/puppet/controller-puppet.yaml b/puppet/controller-puppet.yaml index c7c5e49b..305c3dc4 100644 --- a/puppet/controller-puppet.yaml +++ b/puppet/controller-puppet.yaml @@ -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: @@ -714,9 +719,11 @@ resources: keystone::public_bind_host: {get_input: controller_host} keystone::admin_bind_host: {get_input: controller_host} keystone::debug: {get_input: debug} - + # MongoDB + mongodb::server::bind_ip: {get_input: controller_host} # 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} @@ -791,6 +798,7 @@ resources: nova::network::neutron::neutron_admin_auth_url: {get_input: neutron_admin_auth_url} # Rabbit + rabbitmq::node_ip_address: {get_input: controller_host} rabbitmq::erlang_cookie: {get_input: rabbit_cookie} # Misc diff --git a/puppet/hieradata/controller.yaml b/puppet/hieradata/controller.yaml index 47f358a9..523e9dbe 100644 --- a/puppet/hieradata/controller.yaml +++ b/puppet/hieradata/controller.yaml @@ -11,6 +11,8 @@ rabbitmq::port: '5672' rabbitmq::package_source: undef rabbitmq::repos_ensure: false +mongodb::server::replset: tripleo + # service tenant nova::api::admin_tenant_name: 'service' glance::api::keystone_tenant: 'service' diff --git a/puppet/manifests/overcloud_compute.pp b/puppet/manifests/overcloud_compute.pp index 58834039..ffa55cdb 100644 --- a/puppet/manifests/overcloud_compute.pp +++ b/puppet/manifests/overcloud_compute.pp @@ -52,7 +52,11 @@ nova_config { $nova_enable_rbd_backend = hiera('nova_enable_rbd_backend', false) if $nova_enable_rbd_backend { include ::ceph::profile::client - include ::nova::compute::rbd + + $client_keys = hiera('ceph::profile::params::client_keys') + class { '::nova::compute::rbd': + libvirt_rbd_secret_key => $client_keys['client.openstack']['secret'], + } } include ::nova::compute::libvirt diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp index 2b637b37..0541fa4e 100644 --- a/puppet/manifests/overcloud_controller.pp +++ b/puppet/manifests/overcloud_controller.pp @@ -39,8 +39,30 @@ if hiera('step') >= 2 { include ::ntp } + # MongoDB + include ::mongodb::globals + include ::mongodb::server + $mongo_node_ips = split(downcase(hiera('mongo_node_ips')), ',') + $mongo_node_ips_with_port = suffix($mongo_node_ips, ':27017') + + if count($mongo_node_ips) > 1 { + if downcase($::hostname) == hiera('bootstrap_nodeid') { + $mongodb_replset = hiera('mongodb::server::replset') + mongodb_replset { $mongodb_replset : + members => $mongo_node_ips_with_port, + } + } + } + + if str2bool(hiera('enable_galera', 'true')) { + $mysql_config_file = '/etc/my.cnf.d/galera.cnf' + } else { + $mysql_config_file = '/etc/my.cnf.d/server.cnf' + } + # TODO Galara class { 'mysql::server': + config_file => $mysql_config_file, override_options => { 'mysqld' => { 'bind-address' => hiera('controller_host') diff --git a/puppet/swift-devices-and-proxy-config.yaml b/puppet/swift-devices-and-proxy-config.yaml index 1cb897ee..731f69a1 100644 --- a/puppet/swift-devices-and-proxy-config.yaml +++ b/puppet/swift-devices-and-proxy-config.yaml @@ -6,7 +6,6 @@ parameters: type: comma_delimited_list object_store_swift_devices: type: comma_delimited_list - # TODO: add support for puppet swift proxy memcache configuration controller_swift_proxy_memcaches: type: comma_delimited_list @@ -30,6 +29,14 @@ resources: - list_join: - ", " - {get_param: object_store_swift_devices} + swift::proxy::cache::memcache_servers: + str_replace: + template: "['SERVERS_LIST']" + params: + SERVERS_LIST: + list_join: + - "','" + - {get_param: controller_swift_proxy_memcaches} outputs: config_id: |