drac: Install sushy-oem-idrac

The library is required to use the new redfish interfaces which
replaced the old wsman interfaces.

Closes-Bug: #2082235
Change-Id: I19ba7f96f8201f0a6a615bb6d287883af337bba1
This commit is contained in:
Takashi Kajinami 2024-09-26 22:52:54 +09:00
parent 93d20609ae
commit 1d055f7d00
3 changed files with 36 additions and 25 deletions

View File

@ -15,10 +15,9 @@
# === Parameters
#
# [*package_ensure*]
# (optional) The state of the dracclient package
# (optional) The state of the dracclient/sushy-oem-idrac package
# Defaults to 'present'
#
#
class ironic::drivers::drac (
$package_ensure = 'present',
) {
@ -26,12 +25,14 @@ 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'],
}
)
package { 'python-dracclient':
ensure => $package_ensure,
name => $::ironic::params::dracclient_package_name,
tag => ['openstack', 'ironic-package'],
}
package { 'python-sushy-oem-idrac':
ensure => $package_ensure,
name => $::ironic::params::sushy_oem_idrac_package_name,
tag => ['openstack', 'ironic-package'],
}
}

View File

@ -22,19 +22,20 @@
class ironic::params {
include openstacklib::defaults
$dbsync_command = 'ironic-dbsync'
$inspector_dbsync_command =
$dbsync_command = 'ironic-dbsync'
$inspector_dbsync_command =
'ironic-inspector-dbsync --config-file /etc/ironic-inspector/inspector.conf upgrade'
$client_package = 'python3-ironicclient'
$inspector_client_package = 'python3-ironic-inspector-client'
$lib_package_name = 'python3-ironic-lib'
$user = 'ironic'
$group = 'ironic'
$inspector_user = 'ironic-inspector'
$inspector_group = 'ironic-inspector'
$sushy_package_name = 'python3-sushy'
$proliantutils_package_name = 'python3-proliantutils'
$dracclient_package_name = 'python3-dracclient'
$client_package = 'python3-ironicclient'
$inspector_client_package = 'python3-ironic-inspector-client'
$lib_package_name = 'python3-ironic-lib'
$user = 'ironic'
$group = 'ironic'
$inspector_user = 'ironic-inspector'
$inspector_group = 'ironic-inspector'
$sushy_package_name = 'python3-sushy'
$proliantutils_package_name = 'python3-proliantutils'
$dracclient_package_name = 'python3-dracclient'
$sushy_oem_idrac_package_name = 'python3-sushy-oem-idrac'
case $facts['os']['family'] {
'RedHat': {

View File

@ -25,12 +25,19 @@ describe 'ironic::drivers::drac' do
it 'installs dracclient package' do
is_expected.to contain_package('python-dracclient').with(
:ensure => 'installed',
:ensure => 'present',
:name => platform_params[:dracclient_package_name],
:tag => ['openstack', 'ironic-package'],
)
end
it 'installs sushy-oem-idrac package' do
is_expected.to contain_package('python-sushy-oem-idrac').with(
:ensure => 'present',
:name => platform_params[:sushy_oem_idrac_package_name],
:tag => ['openstack', 'ironic-package'],
)
end
end
on_supported_os({
@ -44,9 +51,11 @@ describe 'ironic::drivers::drac' do
let (:platform_params) do
case facts[:os]['family']
when 'Debian'
{ :dracclient_package_name => 'python3-dracclient' }
{ :dracclient_package_name => 'python3-dracclient',
:sushy_oem_idrac_package_name => 'python3-sushy-oem-idrac' }
when 'RedHat'
{ :dracclient_package_name => 'python3-dracclient' }
{ :dracclient_package_name => 'python3-dracclient',
:sushy_oem_idrac_package_name => 'python3-sushy-oem-idrac' }
end
end