openstacklib::openstackclient Debian python3

This change adds support for installing the
python3-openstackclient package on Debian.

On Ubuntu and RedHat based the package name
is still python-openstackclient.

Change-Id: I8a0c5dfa9274dca167ad3bb33ab151fb693f5d4d
This commit is contained in:
Tobias Urdin
2018-04-23 23:28:43 +02:00
parent 0db9730c51
commit 709b28006b
2 changed files with 51 additions and 3 deletions

View File

@@ -5,11 +5,20 @@
# == Parameters
#
# [*package_ensure*]
# Ensure state of the openstackclient package.
# Optional. Defaults to 'present'.
# (Optional) Ensure state of the openstackclient package.
# Defaults to 'present'
#
class openstacklib::openstackclient(
$package_ensure = 'present',
){
ensure_packages('python-openstackclient', {'ensure' => $package_ensure, tag => 'openstack'})
$openstackclient_package_name = $::os_package_type ? {
'debian' => 'python3-openstackclient',
default => 'python-openstackclient',
}
ensure_packages($openstackclient_package_name, {
'ensure' => $package_ensure,
'tag' => 'openstack'
})
}

View File

@@ -0,0 +1,39 @@
require 'spec_helper'
describe 'openstacklib::openstackclient' do
shared_examples_for 'openstacklib::openstackclient' do
context 'with default params' do
it 'installs openstackclient' do
is_expected.to contain_package(platform_params[:openstackclient_package_name]).with(
:ensure => 'present',
:tag => 'openstack'
)
end
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
let(:platform_params) do
if facts[:os_package_type] == 'debian' then
openstackclient_package_name = 'python3-openstackclient'
else
openstackclient_package_name = 'python-openstackclient'
end
{
:openstackclient_package_name => openstackclient_package_name
}
end
it_behaves_like 'openstacklib::openstackclient'
end
end
end