diff --git a/manifests/params.pp b/manifests/params.pp index 0730b36..bc2eca8 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -3,9 +3,15 @@ class freezer::params { include ::openstacklib::defaults + if ($::os_package_type == 'debian') { + $pyvers = '3' + } else { + $pyvers = '' + } + $api_deploy_method = 'apache' $api_bind_port = '9090' - $client_package = 'python-freezerclient' + $client_package = "python${pyvers}-freezerclient" $freezer_db_backend = 'elasticsearch' $db_sync_command = 'freezer-manage db sync' $group = 'freezer' diff --git a/spec/classes/freezer_client_spec.rb b/spec/classes/freezer_client_spec.rb index 598ccfd..3c8d167 100644 --- a/spec/classes/freezer_client_spec.rb +++ b/spec/classes/freezer_client_spec.rb @@ -5,7 +5,7 @@ describe 'freezer::client' do shared_examples 'freezer client' do it { is_expected.to contain_class('freezer::params') } it { is_expected.to contain_package('python-freezerclient').with( - :name => 'python-freezerclient', + :name => platform_params[:client_package_name], :ensure => 'present', :tag => ['openstack', 'freezer-support-package'], :provider => 'pip', @@ -21,6 +21,19 @@ describe 'freezer::client' do facts.merge!(OSDefaults.get_facts()) end + let(:platform_params) do + case facts[:osfamily] + when 'Debian' + if facts[:os_package_type] == 'debian' + { :client_package_name => 'python3-freezerclient' } + else + { :client_package_name => 'python-freezerclient' } + end + when 'RedHat' + { :client_package_name => 'python-freezerclient' } + end + end + it_configures 'freezer client' end end