Debian is using Python 3

This patch fixes numerous issues with puppet-ironic assuming that Debian
uses Python 2.7.

Change-Id: I166ebf38df22f4f819303c60fff93e77c260fd1e
This commit is contained in:
Thomas Goirand 2018-05-09 09:52:22 +02:00
parent 06c01b006d
commit 6699a82259
7 changed files with 59 additions and 9 deletions

View File

@ -24,10 +24,12 @@ class ironic::drivers::drac (
) {
include ::ironic::deps
include ::ironic::params
ensure_packages('python-dracclient',
{
ensure => $package_ensure,
name => $::ironic::params::dracclient_package_name,
tag => ['openstack', 'ironic-package'],
}
)

View File

@ -47,6 +47,7 @@ class ironic::drivers::ilo (
) {
include ::ironic::deps
include ::ironic::params
# Configure ironic.conf
ironic_config {
@ -59,6 +60,7 @@ class ironic::drivers::ilo (
ensure_packages('python-proliantutils',
{
ensure => $package_ensure,
name => $::ironic::params::proliantutils_package_name,
tag => ['openstack', 'ironic-package'],
}
)

View File

@ -35,6 +35,7 @@ class ironic::drivers::redfish (
) {
include ::ironic::deps
include ::ironic::params
ironic_config {
'redfish/connection_attempts': value => $connection_attempts;
@ -44,6 +45,7 @@ class ironic::drivers::redfish (
ensure_packages('python-sushy',
{
ensure => $package_ensure,
name => $::ironic::params::sushy_package_name,
tag => ['openstack', 'ironic-package'],
}
)

View File

@ -30,14 +30,17 @@ class ironic::params {
$pyver3 = '2.7'
}
$dbsync_command =
$dbsync_command =
'ironic-dbsync --config-file /etc/ironic/ironic.conf'
$inspector_dbsync_command =
$inspector_dbsync_command =
'ironic-inspector-dbsync --config-file /etc/ironic-inspector/inspector.conf upgrade'
$client_package = "python${pyvers}-ironicclient"
$inspector_client_package = 'python-ironic-inspector-client'
$lib_package_name = 'python-ironic-lib'
$group = 'ironic'
$client_package = "python${pyvers}-ironicclient"
$inspector_client_package = "python${pyvers}-ironic-inspector-client"
$lib_package_name = "python${pyvers}-ironic-lib"
$group = 'ironic'
$sushy_package_name = "python${pyvers}-sushy"
$proliantutils_package_name = "python${pyvers}-proliantutils"
$dracclient_package_name = "python${pyvers}-dracclient"
case $::osfamily {
'RedHat': {

View File

@ -94,7 +94,7 @@ describe 'ironic::db' do
it 'install the proper backend package' do
is_expected.to contain_package('python-pymysql').with(
:ensure => 'present',
:name => 'python-pymysql',
:name => platform_params[:pymysql_package_name],
:tag => ['openstack'],
)
end
@ -137,6 +137,24 @@ describe 'ironic::db' do
}))
end
let(:platform_params) do
case facts[:osfamily]
when 'Debian'
if facts[:os_package_type] == 'debian' then
pymysql_pkgname = 'python3-pymysql'
else
pymysql_pkgname = 'python-pymysql'
end
{
:pymysql_package_name => pymysql_pkgname,
}
when 'RedHat'
{
:pymysql_package_name => 'python-pymysql',
}
end
end
case facts[:osfamily]
when 'Debian'
it_behaves_like 'ironic::db on Debian platforms'

View File

@ -259,8 +259,13 @@ describe 'ironic' do
let :platform_params do
case facts[:osfamily]
when 'Debian'
if facts[:os_package_type] == 'debian' then
ironic_lib_pkgname = 'python3-ironic-lib'
else
ironic_lib_pkgname = 'python-ironic-lib'
end
{ :common_package_name => 'ironic-common',
:lib_package_name => 'python-ironic-lib' }
:lib_package_name => ironic_lib_pkgname }
when 'RedHat'
{ :common_package_name => 'openstack-ironic-common',
:lib_package_name => 'python-ironic-lib' }

View File

@ -84,7 +84,7 @@ describe 'ironic::inspector::db' do
it 'install the proper backend package' do
is_expected.to contain_package('python-pymysql').with(
:ensure => 'present',
:name => 'python-pymysql',
:name => platform_params[:pymysql_package_name],
:tag => ['openstack'],
)
end
@ -127,6 +127,24 @@ describe 'ironic::inspector::db' do
}))
end
let(:platform_params) do
case facts[:osfamily]
when 'Debian'
if facts[:os_package_type] == 'debian' then
pymysql_pkgname = 'python3-pymysql'
else
pymysql_pkgname = 'python-pymysql'
end
{
:pymysql_package_name => pymysql_pkgname,
}
when 'RedHat'
{
:pymysql_package_name => 'python-pymysql',
}
end
end
case facts[:osfamily]
when 'Debian'
it_behaves_like 'ironic::inspector::db on Debian platforms'