diff --git a/manifests/params.pp b/manifests/params.pp index f9a83e81..584bd58b 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -5,7 +5,13 @@ class swift::params { include ::openstacklib::defaults - $client_package = 'python-swiftclient' + if ($::os_package_type == 'debian') { + $pyvers = '3' + } else { + $pyvers = '' + } + + $client_package = "python${pyvers}-swiftclient" $service_provider = undef case $::osfamily { diff --git a/spec/classes/swift_client_spec.rb b/spec/classes/swift_client_spec.rb index c7b04797..94b95c10 100644 --- a/spec/classes/swift_client_spec.rb +++ b/spec/classes/swift_client_spec.rb @@ -19,7 +19,7 @@ describe 'swift::client' do it 'installs swift client package' do is_expected.to contain_package('swiftclient').with( - :name => 'python-swiftclient', + :name => platform_params[:client_package_name], :ensure => p[:package_ensure], :tag => ['openstack','swift-support-package'], ) @@ -37,6 +37,19 @@ describe 'swift::client' do })) end + let(:platform_params) do + case facts[:osfamily] + when 'Debian' + if facts[:os_package_type] == 'debian' + { :client_package_name => 'python3-swiftclient' } + else + { :client_package_name => 'python-swiftclient' } + end + when 'RedHat' + { :client_package_name => 'python-swiftclient' } + end + end + it_configures 'swift client' end end