From 1dfb0d428bae80f8b71a5eade2ddbc8aa0dbfa23 Mon Sep 17 00:00:00 2001 From: zhubingbing Date: Thu, 12 Apr 2018 11:42:33 +0800 Subject: [PATCH] Debian is using python3-troveclient Change-Id: Ie5c525b42ff29f212d9e0b2de43c9a8dc93b2232 --- manifests/params.pp | 8 +++++++- spec/classes/trove_client_spec.rb | 23 +++++++++++++++++++++-- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/manifests/params.pp b/manifests/params.pp index 2022f4ec..0e51f284 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -5,7 +5,13 @@ class trove::params { include ::openstacklib::defaults - $client_package_name = 'python-troveclient' + if ($::os_package_type == 'debian') { + $pyvers = '3' + } else { + $pyvers = '' + } + + $client_package_name = "python${pyvers}-troveclient" $group = 'trove' case $::osfamily { diff --git a/spec/classes/trove_client_spec.rb b/spec/classes/trove_client_spec.rb index f204c106..814d523f 100644 --- a/spec/classes/trove_client_spec.rb +++ b/spec/classes/trove_client_spec.rb @@ -25,14 +25,20 @@ describe 'trove::client' do shared_examples_for 'trove client' do context 'with default parameters' do - it { is_expected.to contain_package('python-troveclient').with_ensure('present') } + it { is_expected.to contain_package('python-troveclient').with( + 'ensure' => 'present', + 'name' => platform_params[:client_package_name], + )} end context 'with package_ensure parameter provided' do let :params do { :package_ensure => false } end - it { is_expected.to contain_package('python-troveclient').with_ensure('false') } + it { is_expected.to contain_package('python-troveclient').with( + 'ensure' => false, + 'name' => platform_params[:client_package_name], + )} end end @@ -45,6 +51,19 @@ describe 'trove::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-troveclient' } + else + { :client_package_name => 'python-troveclient' } + end + when 'RedHat' + { :client_package_name => 'python-troveclient' } + end + end + it_configures 'trove client' end end