diff --git a/manifests/aodh.pp b/manifests/aodh.pp index 5fcfae1fd..90f62cb5a 100644 --- a/manifests/aodh.pp +++ b/manifests/aodh.pp @@ -52,6 +52,7 @@ class openstack_integration::aodh ( } class { 'aodh::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'aodh', } class { 'aodh::keystone::auth': diff --git a/manifests/barbican.pp b/manifests/barbican.pp index eceddd7e5..aa8286c84 100644 --- a/manifests/barbican.pp +++ b/manifests/barbican.pp @@ -19,6 +19,7 @@ class openstack_integration::barbican { include barbican class { 'barbican::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'barbican', } class { 'barbican::db': diff --git a/manifests/cinder.pp b/manifests/cinder.pp index 1abd396cc..02b4d584a 100644 --- a/manifests/cinder.pp +++ b/manifests/cinder.pp @@ -43,6 +43,7 @@ class openstack_integration::cinder ( include cinder::client class { 'cinder::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'cinder', } class { 'cinder::keystone::auth': diff --git a/manifests/designate.pp b/manifests/designate.pp index f603c6602..ffa60cdb8 100644 --- a/manifests/designate.pp +++ b/manifests/designate.pp @@ -22,6 +22,7 @@ class openstack_integration::designate { class { 'designate::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'designate', } class { 'designate::logging': diff --git a/manifests/ec2api.pp b/manifests/ec2api.pp index 6b4267f9b..0dc1e18cc 100644 --- a/manifests/ec2api.pp +++ b/manifests/ec2api.pp @@ -13,6 +13,7 @@ class openstack_integration::ec2api { } class { 'ec2api::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'ec2api', } case $::osfamily { diff --git a/manifests/glance.pp b/manifests/glance.pp index e73ee60cc..c53d01a75 100644 --- a/manifests/glance.pp +++ b/manifests/glance.pp @@ -29,6 +29,7 @@ class openstack_integration::glance ( class { 'glance::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'glance', } include glance diff --git a/manifests/gnocchi.pp b/manifests/gnocchi.pp index d8fc0363f..9a22a88e5 100644 --- a/manifests/gnocchi.pp +++ b/manifests/gnocchi.pp @@ -42,6 +42,7 @@ class openstack_integration::gnocchi ( } class { 'gnocchi::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'gnocchi', } diff --git a/manifests/heat.pp b/manifests/heat.pp index fcc6b3382..2e147c60d 100644 --- a/manifests/heat.pp +++ b/manifests/heat.pp @@ -70,6 +70,7 @@ class openstack_integration::heat ( } class { 'heat::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'heat', } class { 'heat::keystone::auth': diff --git a/manifests/ironic.pp b/manifests/ironic.pp index 1b1940eda..6b5e9f3d8 100644 --- a/manifests/ironic.pp +++ b/manifests/ironic.pp @@ -34,6 +34,7 @@ class openstack_integration::ironic { } class { 'ironic::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'ironic', } class { 'ironic::keystone::auth': @@ -80,6 +81,7 @@ class openstack_integration::ironic { # Ironic inspector resources class { 'ironic::inspector::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'a_big_secret', } class { 'ironic::inspector::authtoken': diff --git a/manifests/keystone.pp b/manifests/keystone.pp index 9b95b6066..7bbbbb39e 100644 --- a/manifests/keystone.pp +++ b/manifests/keystone.pp @@ -45,6 +45,7 @@ class openstack_integration::keystone ( } class { 'keystone::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'keystone', } class { 'keystone::db': diff --git a/manifests/magnum.pp b/manifests/magnum.pp index 133ad0052..64f2fcdb7 100644 --- a/manifests/magnum.pp +++ b/manifests/magnum.pp @@ -56,6 +56,7 @@ class openstack_integration::magnum ( class { 'magnum::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'magnum', } diff --git a/manifests/mistral.pp b/manifests/mistral.pp index 6c0b30a94..31f070df6 100644 --- a/manifests/mistral.pp +++ b/manifests/mistral.pp @@ -43,6 +43,7 @@ class openstack_integration::mistral { } class { 'mistral::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'mistral', } class { 'mistral::api': diff --git a/manifests/murano.pp b/manifests/murano.pp index d4044a7d7..77d062ce3 100644 --- a/manifests/murano.pp +++ b/manifests/murano.pp @@ -41,6 +41,7 @@ class openstack_integration::murano { class { 'murano::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'a_big_secret', } class { 'murano::logging': diff --git a/manifests/neutron.pp b/manifests/neutron.pp index d98e94d69..2224d0a0d 100644 --- a/manifests/neutron.pp +++ b/manifests/neutron.pp @@ -116,6 +116,7 @@ class openstack_integration::neutron ( class { 'neutron::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'neutron', } class { 'neutron::keystone::auth': diff --git a/manifests/nova.pp b/manifests/nova.pp index fca3ed54a..07b8c6cac 100644 --- a/manifests/nova.pp +++ b/manifests/nova.pp @@ -64,10 +64,12 @@ class openstack_integration::nova ( class { 'nova::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'nova', } class { 'nova::db::mysql_api': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'nova', } include nova::cell_v2::simple_setup diff --git a/manifests/octavia.pp b/manifests/octavia.pp index 6de24b02d..53b80595b 100644 --- a/manifests/octavia.pp +++ b/manifests/octavia.pp @@ -67,6 +67,7 @@ class openstack_integration::octavia ( } class { 'octavia::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'octavia', } class { 'octavia::keystone::auth': diff --git a/manifests/params.pp b/manifests/params.pp index 59540e138..24da3d2fa 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -6,6 +6,7 @@ class openstack_integration::params { $cert_path = '/etc/pki/ca-trust/source/anchors/puppet_openstack.pem' $update_ca_certs_cmd = '/usr/bin/update-ca-trust force-enable && /usr/bin/update-ca-trust extract' $mysql_charset = 'utf8' + $mysql_collate = 'utf8_general_ci' } 'Debian': { $ca_bundle_cert_path = '/etc/ssl/certs/puppet_openstack.pem' @@ -13,10 +14,12 @@ class openstack_integration::params { $update_ca_certs_cmd = '/usr/sbin/update-ca-certificates -f' if $::operatingsystem == 'Debian' { $mysql_charset = 'utf8' + $mysql_collate = 'utf8_general_ci' } else { # TODO(tkajinam): This is to fix the gate quickly. We should revisit # this later. utf8mb4 would be the preferred option $mysql_charset = 'utf8mb3' + $mysql_collate = 'utf8mb3_general_ci' } } default: { diff --git a/manifests/placement.pp b/manifests/placement.pp index 02b241277..db9f246e4 100644 --- a/manifests/placement.pp +++ b/manifests/placement.pp @@ -17,6 +17,7 @@ class openstack_integration::placement { class { 'placement::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'placement', } diff --git a/manifests/sahara.pp b/manifests/sahara.pp index 88f140167..60aa49789 100644 --- a/manifests/sahara.pp +++ b/manifests/sahara.pp @@ -26,6 +26,7 @@ class openstack_integration::sahara ( class { 'sahara::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'sahara', } diff --git a/manifests/trove.pp b/manifests/trove.pp index 481776080..813175818 100644 --- a/manifests/trove.pp +++ b/manifests/trove.pp @@ -47,6 +47,7 @@ class openstack_integration::trove { } class { 'trove::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'trove', } class { 'trove::keystone::auth': diff --git a/manifests/vitrage.pp b/manifests/vitrage.pp index 138ada2a6..d4d631ae0 100644 --- a/manifests/vitrage.pp +++ b/manifests/vitrage.pp @@ -18,6 +18,7 @@ class openstack_integration::vitrage { class { 'vitrage::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'vitrage', } diff --git a/manifests/watcher.pp b/manifests/watcher.pp index 4e08e9e65..e07849273 100644 --- a/manifests/watcher.pp +++ b/manifests/watcher.pp @@ -17,6 +17,7 @@ class openstack_integration::watcher { } class { 'watcher::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'watcher', } class { 'watcher::db': diff --git a/manifests/zaqar.pp b/manifests/zaqar.pp index 28c0beed7..7aff21690 100644 --- a/manifests/zaqar.pp +++ b/manifests/zaqar.pp @@ -14,6 +14,7 @@ class openstack_integration::zaqar { } class { 'zaqar::db::mysql': charset => $::openstack_integration::params::mysql_charset, + collate => $::openstack_integration::params::mysql_collate, password => 'zaqar', } class { 'zaqar::keystone::auth':