ironic_inspector.common.ironic
Module¶ironic_inspector.common.ironic.
NotFound
(node_ident, code=404, *args, **kwargs)[source]¶Bases: ironic_inspector.utils.Error
Node not found in Ironic.
ironic_inspector.common.ironic.
capabilities_to_dict
(caps)[source]¶Convert the Node’s capabilities into a dictionary.
ironic_inspector.common.ironic.
check_provision_state
(node)[source]¶Sanity checks the provision state of the node.
Parameters: | node – An API client returned node object describing the baremetal node according to ironic’s node data model. |
---|---|
Returns: | None if no action is to be taken, True if the power node state should not be modified. |
Raises: | Error on an invalid state being detected. |
ironic_inspector.common.ironic.
dict_to_capabilities
(caps_dict)[source]¶Convert a dictionary into a string with the capabilities syntax.
ironic_inspector.common.ironic.
get_client
(token=None, api_version=['1.38', '1.46', '1.56'])[source]¶Get Ironic client instance.
ironic_inspector.common.ironic.
get_ipmi_address
(node)[source]¶Get the BMC address defined in node.driver_info dictionary
Possible names of BMC address value examined in order of list [‘ipmi_address’] + CONF.ipmi_address_fields. The value could be an IP address or a hostname. DNS lookup performed for the first non empty value.
The first valid BMC address value returned along with it’s v4 and v6 IP addresses.
Parameters: | node – Node object with defined driver_info dictionary |
---|---|
Returns: | tuple (ipmi_address, ipv4_address, ipv6_address) |
ironic_inspector.common.ironic.
get_node
(node_id, ironic=None, **kwargs)[source]¶Get a node from Ironic.
Parameters: |
|
---|---|
Raises: | Error on failure |
ironic_inspector.common.ironic.
lookup_node
(macs=None, bmc_addresses=None, introspection_data=None, ironic=None)[source]¶Lookup a node in the ironic database.
ironic_inspector.common.ironic.
lookup_node_by_bmc_addresses
(addresses, introspection_data=None, ironic=None, fail=False)[source]¶Find a node by its BMC address.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.