Puppet Class: ironic::drivers::redfish

Defined in:
manifests/drivers/redfish.pp

Overview

Configure the Redfish driver in Ironic

Parameters

package_ensure

(optional) The state of the sushy package Defaults to ‘present’

connection_attempts

(optional) Maximum number of attempts to try to connect to Redfish. Should be a positive integer value. Defaults to $facts.

connection_retry_interval

(optional) Number of seconds to wait between attempts to connect to Redfish Should be a positive integer value. Defaults to $facts.

connection_cache_size

(optional) Maximum Redfish client connection cache size. Defaults to $facts.

auth_type

(optional) Redfish HTTP client authentication method. Defaults to $facts.

use_swift

(optional) Upload generated ISO images for virtual media boot to Swift. Defaults to $facts.

swift_container

(optional) The swift container to store Redfish driver data. Defaults to $facts.

swift_object_expiry_timeout

(optional) Amount of time in seconds for Swift objects to auto-expire. Defaults to $facts.

kernel_append_params

(optional) Additional kernel parameters to pass down to the instance kernel Defaults to $facts.

file_permission

(optional) File permission for swift-less image hosting with the octal permission representation of file access permissions. Defaults to $facts.

firmware_update_status_interval

(optional) Number of seconds to wait between checking for completed firmware update tasks. Defaults to $facts

firmware_update_fail_interval

(optional) Number of seconds to wait between checking for failed firmware update tasks. Defaults to $facts

firmware_source

(optional) Specifies how firmware image should be served. Defaults to $facts

Parameters:

  • package_ensure (Any) (defaults to: 'present')
  • connection_attempts (Any) (defaults to: $facts['os_service_default'])
  • connection_retry_interval (Any) (defaults to: $facts['os_service_default'])
  • connection_cache_size (Any) (defaults to: $facts['os_service_default'])
  • auth_type (Any) (defaults to: $facts['os_service_default'])
  • use_swift (Any) (defaults to: $facts['os_service_default'])
  • swift_container (Any) (defaults to: $facts['os_service_default'])
  • swift_object_expiry_timeout (Any) (defaults to: $facts['os_service_default'])
  • kernel_append_params (Any) (defaults to: $facts['os_service_default'])
  • file_permission (Any) (defaults to: $facts['os_service_default'])
  • firmware_update_status_interval (Any) (defaults to: $facts['os_service_default'])
  • firmware_update_fail_interval (Any) (defaults to: $facts['os_service_default'])
  • firmware_source (Any) (defaults to: $facts['os_service_default'])


74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'manifests/drivers/redfish.pp', line 74

class ironic::drivers::redfish (
  $package_ensure                  = 'present',
  $connection_attempts             = $facts['os_service_default'],
  $connection_retry_interval       = $facts['os_service_default'],
  $connection_cache_size           = $facts['os_service_default'],
  $auth_type                       = $facts['os_service_default'],
  $use_swift                       = $facts['os_service_default'],
  $swift_container                 = $facts['os_service_default'],
  $swift_object_expiry_timeout     = $facts['os_service_default'],
  $kernel_append_params            = $facts['os_service_default'],
  $file_permission                 = $facts['os_service_default'],
  $firmware_update_status_interval = $facts['os_service_default'],
  $firmware_update_fail_interval   = $facts['os_service_default'],
  $firmware_source                 = $facts['os_service_default'],
) {

  include ironic::deps
  include ironic::params

  ironic_config {
    'redfish/connection_attempts':             value => $connection_attempts;
    'redfish/connection_retry_interval':       value => $connection_retry_interval;
    'redfish/connection_cache_size':           value => $connection_cache_size;
    'redfish/auth_type':                       value => $auth_type;
    'redfish/use_swift':                       value => $use_swift;
    'redfish/swift_container':                 value => $swift_container;
    'redfish/swift_object_expiry_timeout':     value => $swift_object_expiry_timeout;
    'redfish/kernel_append_params':            value => $kernel_append_params;
    'redfish/file_permission':                 value => $file_permission;
    'redfish/firmware_update_status_interval': value => $firmware_update_status_interval;
    'redfish/firmware_update_fail_interval':   value => $firmware_update_fail_interval;
    'redfish/firmware_source':                 value => $firmware_source;
  }

  ensure_packages('python-sushy',
    {
      ensure => $package_ensure,
      name   => $::ironic::params::sushy_package_name,
      tag    => ['openstack', 'ironic-package'],
    }
  )

}