Redfish Plugin
As part of this plugin Redfish discovery procedure for Redfish data from Dell, Intel and HP devices was automated.
Redfish discovery
During the process Redfish client from redfish library
is used to obtain the data present in paths indicated in redfish_keys_tree
(property of every discovery node).
Data Types
-
windriver.types.redfish.ClientConfig
- properties:
- ip - IP address of Redfish server
- username - name of the user to be used for authentication to Redfish server
- password - password to be used for authentication to Redfish server
- auth_type - type of authentication used for RedfishClient (default:
session
, can be changed tobasic
)
- properties:
Node Types
-
windriver.nodes.redfish.Discovery
- properties:
- client_config -
windriver.types.redfish.ClientConfig
data type, needed for initializing Redfish client - graceful_failure - default
false
, iftrue
all occuring RedfishClientErrors are logged as warnings, but do not stop the discovery process - redfish_keys_tree - tree of paths to redish data on server, default value should be used to gather data from Dell (IDRAC) servers
- client_config -
- runtime_properties:
- successful_run - determines if any error occurred during discovery process
- result - data retrived during discovery process
- protocol - protocol name, for IDRAC server should be
redfish
- protocol_version - version of redfish protocol
- properties:
-
windriver.nodes.redfish.IntelDiscovery
- properties:
- client_config -
windriver.types.redfish.ClientConfig
data type, needed for initializing Redfish client - graceful_failure - default
false
, iftrue
all occuring RedfishClientErrors are logged as warnings, but do not stop the discovery process - redfish_keys_tree - tree of paths to redish data on server, default value should be used to gather data from Intel servers
- client_config -
- runtime_properties:
- successful_run - determines if any error occurred during discovery process
- result - data retrived during discovery process
- protocol - protocol name, for Intel server should be
redfish
- protocol_version - version of redfish protocol
- properties:
-
windriver.nodes.redfish.HP_iLO4_Discovery
- properties:
- client_config -
windriver.types.redfish.ClientConfig
data type, needed for initializing Redfish client - graceful_failure - default
false
, iftrue
all occuring RedfishClientErrors are logged as warnings, but do not stop the discovery process - redfish_keys_tree - tree of paths to redish data on server, default value should be used to gather data from HP servers with iLO4
- client_config -
- runtime_properties:
- successful_run - determines if any error occurred during discovery process
- result - data retrived during discovery process
- protocol - protocol name, for HP server should be
iLo
- protocol_version - version of protocol, for
windriver.nodes.redfish.HP_iLO4_Discovery
should be equal to4
- properties:
-
windriver.nodes.redfish.HP_iLO5_Discovery
- properties:
- client_config -
windriver.types.redfish.ClientConfig
data type, needed for initializing Redfish client - graceful_failure - default
false
, iftrue
all occuring RedfishClientErrors are logged as warnings, but do not stop the discovery process - redfish_keys_tree - tree of paths to redish data on server, default value should be used to gather data from HP servers with iLO5
- client_config -
- runtime_properties:
- successful_run - determines if any error occurred during discovery process
- result - data retrived during discovery process
- protocol - protocol name, for HP server should be
iLo
- protocol_version - version of protocol, for
windriver.nodes.redfish.HP_iLO5_Discovery
should be equal to5
- properties:
-
windriver.nodes.redfish.SuccessCheck
Node used as total success indicator for deployment with
graceful_failure
enabled. Runscheck_success
oncreate
.- runtime_properties:
- overall_status - based on
successful_run
property from all target nodes. If error occured during running discovery on any of them, set tofalse
, otherwisetrue
. - success_status_list - list of
successful_run
property from all target nodes.
- overall_status - based on
To retrive
successful_run
property from discovery nodes, the relationshipcloudify.relationships.depends_on
should be defined as in the following example: - runtime_properties:
node_templates:
redfish_discovery_node:
type: windriver.nodes.redfish.Discovery
properties:
graceful_failure: true
client_config:
ip: { get_secret: redfish_address }
username: { get_secret: redfish_username }
password: { get_secret: redfish_password }
auth_type: { get_secret: redfish_auth_type }
success_check:
type: windriver.nodes.redfish.SuccessCheck
relationships:
- type: cloudify.relationships.depends_on
target: redfish_discovery_node