diff --git a/deployment/puppet/osnailyfacter/manifests/database/database.pp b/deployment/puppet/osnailyfacter/manifests/database/database.pp index 4ae136d7a9..f8160fc5c7 100644 --- a/deployment/puppet/osnailyfacter/manifests/database/database.pp +++ b/deployment/puppet/osnailyfacter/manifests/database/database.pp @@ -295,6 +295,12 @@ class osnailyfacter::database::database { override_options => $override_options, } + # LP 1651182 + # Ensure that client library replacement is installed before we try + # to install additional packages + + Class["mysql::client"] -> Package[$::galera::params::additional_packages] + # Make sure the mysql service is stopped with upstart as we will be starting # it with pacemaker Exec <| title == 'clean_up_ubuntu' |> { diff --git a/tests/noop/spec/hosts/database/database_spec.rb b/tests/noop/spec/hosts/database/database_spec.rb index 0c31c98d36..cfaf398e10 100644 --- a/tests/noop/spec/hosts/database/database_spec.rb +++ b/tests/noop/spec/hosts/database/database_spec.rb @@ -174,6 +174,10 @@ describe manifest do expect(graph).to ensure_transitive_dependency("Class[cluster::galera_status]", "Haproxy_backend_status[mysql]") end + it 'should have explicit ordering between the client binary and additional packages' do + expect(graph).to ensure_transitive_dependency("Class[mysql::client]", "Package[percona-xtrabackup]") + end + it 'should setup the /root/.my.cnf' do should contain_class('osnailyfacter::mysql_access').with( :db_password => mysql_database_password