From 462f0ee137a5fc9a9b1b63598add5ce42bcdc90b Mon Sep 17 00:00:00 2001 From: Tom Verdaat Date: Wed, 24 May 2017 12:48:54 +0200 Subject: [PATCH] Fix duplicate declarations for db_backend_package The package resource in the oslo::db define uses the fixed name db_backend_package. This is a bad idea because it causes 'duplicate definition' errors on deployments using multiple database backends that require a package install (like mysql and mongodb). In stead, just use the actual package name. This prevents duplicate definitions. Change-Id: I03a5741865a7519506cbd9f567a24ff42e27f39a Signed-off-by: Tom Verdaat --- manifests/db.pp | 2 +- spec/defines/oslo_db_spec.rb | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/manifests/db.pp b/manifests/db.pp index 0793412..172c8ae 100644 --- a/manifests/db.pp +++ b/manifests/db.pp @@ -161,7 +161,7 @@ define oslo::db( } if $backend_package and !defined(Package[$backend_package]) { - package { 'db_backend_package': + package { $backend_package: ensure => $backend_package_ensure, name => $backend_package, tag => 'openstack', diff --git a/spec/defines/oslo_db_spec.rb b/spec/defines/oslo_db_spec.rb index 6daafc4..f106690 100644 --- a/spec/defines/oslo_db_spec.rb +++ b/spec/defines/oslo_db_spec.rb @@ -83,7 +83,7 @@ describe 'oslo::db' do end it 'install the proper backend package' do - is_expected.to contain_package('db_backend_package').with( + is_expected.to contain_package('python-pymongo').with( :ensure => 'present', :name => 'python-pymongo', :tag => 'openstack' @@ -143,7 +143,7 @@ describe 'oslo::db' do end it 'install the proper backend package' do - is_expected.to contain_package('db_backend_package').with( + is_expected.to contain_package('python-pymysql').with( :ensure => 'present', :name => 'python-pymysql', :tag => 'openstack' @@ -157,7 +157,7 @@ describe 'oslo::db' do end it 'install the proper backend package' do - is_expected.to contain_package('db_backend_package').with( + is_expected.to contain_package('python-pysqlite2').with( :ensure => 'present', :name => 'python-pysqlite2', :tag => 'openstack' @@ -171,8 +171,6 @@ describe 'oslo::db' do let :params do { :connection => 'mysql+pymysql:///db:db@localhost/db', } end - - it { is_expected.not_to contain_package('db_backend_package') } end end