The ironic_inspector_client.v1 Module¶
Client for V1 API.
-
class
ironic_inspector_client.v1.ClientV1(**kwargs)[source]¶ Bases:
ironic_inspector_client.common.http.BaseClientClient for API v1.
Create this object to use Python API, for example:
import ironic_inspector_client client = ironic_inspector_client.ClientV1(session=keystone_session)
This code creates a client with API version 1.0 and a given Keystone session. The service URL is fetched from the service catalog in this case. Optional arguments
service_type,interfaceandregion_namecan be provided to modify how the URL is looked up.If the catalog lookup fails, the local host with port 5050 is tried. However, this behaviour is deprecated and should not be relied on. Also an explicit
inspector_urlcan be passed to bypass service catalog.Optional
api_versionargument is a minimum API version that a server must support. It can be a tuple (MAJ, MIN), string “MAJ.MIN” or integer (only major, minimum supported minor version is assumed).Variables: rules – Reference to the introspection rules API. Instance of ironic_inspector_client.v1.RulesAPI.-
abort(uuid)[source]¶ Abort running introspection for a node.
Parameters: uuid – node UUID or name. Raises: ClientErroron error reported from a serverRaises: VersionNotSupportedif requested api_version is not supportedRaises: requests library exception on connection problems. Raises: TypeError if uuid is not a string.
-
get_data(uuid, raw=False)[source]¶ Get introspection data from the last introspection of a node.
Parameters: - uuid – node UUID or name.
- raw – whether to return raw binary data or parsed JSON data
Returns: bytes or a dict depending on the ‘raw’ argument
Raises: ClientErroron error reported from a serverRaises: VersionNotSupportedif requested api_version is not supportedRaises: requests library exception on connection problems.
Raises: TypeError if uuid is not a string
-
get_status(uuid)[source]¶ Get introspection status for a node.
Parameters: uuid – node UUID or name. Raises: ClientErroron error reported from a serverRaises: VersionNotSupportedif requested api_version is not supportedRaises: requests library exception on connection problems. Returns: dictionary with the keys: error an error string or None, finished True/False, finished_at an ISO8601 timestamp or None, links with a self-link URL, started_at an ISO8601 timestamp, uuid the node UUID
-
introspect(uuid, new_ipmi_password=None, new_ipmi_username=None)[source]¶ Start introspection for a node.
Parameters: - uuid – node UUID or name
- new_ipmi_password – if set, Ironic Inspector will update IPMI password to this value. DEPRECATED.
- new_ipmi_username – if new_ipmi_password is set, this values sets new IPMI user name. Defaults to one in driver_info. DEPRECATED.
Raises: ClientErroron error reported from a serverRaises: VersionNotSupportedif requested api_version is not supportedRaises: requests library exception on connection problems.
-
list_statuses(marker=None, limit=None)[source]¶ List introspection statuses.
Supports pagination via the marker and limit params. The items are sorted by the server according to the started_at attribute, newer items first.
Parameters: - marker – pagination maker, UUID or None
- limit – pagination limit, int or None
Raises: ClientErroron error reported from a serverRaises: VersionNotSupportedif requested api_version is not supportedRaises: requests library exception on connection problems.
Returns: a list of status dictionaries with the keys: error an error string or None, finished True/False, finished_at an ISO8601 timestamp or None, links with a self-link URL, started_at an ISO8601 timestamp, uuid the node UUID
-
reprocess(uuid)[source]¶ Reprocess stored introspection data.
Parameters: uuid – node UUID or name. Raises: ClientErroron error reported from a serverRaises: VersionNotSupportedif requested api_version is not supportedRaises: requests library exception on connection problems. Raises: TypeError if uuid is not a string.
-
wait_for_finish(uuids, retry_interval=10, max_retries=3600, sleep_function=<built-in function sleep>)[source]¶ Wait for introspection finishing for given nodes.
Parameters: - uuids – collection of node UUIDs or names.
- retry_interval – sleep interval between retries.
- max_retries – maximum number of retries.
- sleep_function – function used for sleeping between retries.
Raises: WaitTimeoutErroron timeoutRaises: ClientErroron error reported from a serverRaises: VersionNotSupportedif requested api_version is not supportedRaises: requests library exception on connection problems.
Returns: dictionary UUID -> status (the same as in get_status).
-
-
ironic_inspector_client.v1.DEFAULT_API_VERSION= (1, 0)¶ Server API version used by default.
-
ironic_inspector_client.v1.DEFAULT_MAX_RETRIES= 3600¶ Default number of retries when waiting for introspection to finish.
-
ironic_inspector_client.v1.DEFAULT_RETRY_INTERVAL= 10¶ Default interval (in seconds) between retries when waiting for introspection to finish.
-
ironic_inspector_client.v1.MAX_API_VERSION= (1, 8)¶ Maximum API version this client was designed to work with.
This does not mean that other versions won’t work at all - the server might still support them.
-
class
ironic_inspector_client.v1.RulesAPI(requester)[source]¶ Bases:
objectIntrospection rules API.
Do not create instances of this class directly, use
ironic_inspector_client.v1.ClientV1.rulesinstead.-
create(conditions, actions, uuid=None, description=None)[source]¶ Create a new introspection rule.
Conditions: list of rule conditions Actions: list of rule actions Uuid: rule UUID, will be generated if not specified Description: optional rule description Returns: rule representation Raises: ClientErroron error reported from a serverRaises: VersionNotSupportedif requested api_version is not supported
-
delete(uuid)[source]¶ Delete an introspection rule.
Parameters: uuid – rule UUID Raises: ClientErroron error reported from a serverRaises: VersionNotSupportedif requested api_version is not supported
-
delete_all()[source]¶ Delete all introspection rules.
Raises: ClientErroron error reported from a serverRaises: VersionNotSupportedif requested api_version is not supported
-
from_json(json_rule)[source]¶ Import an introspection rule from JSON data.
Parameters: json_rule – rule information as a dict with keys matching arguments of RulesAPI.create().Returns: rule representation Raises: ClientErroron error reported from a serverRaises: VersionNotSupportedif requested api_version is not supported
-
get(uuid)[source]¶ Get detailed information about an introspection rule.
Parameters: uuid – rule UUID Returns: rule representation Raises: ClientErroron error reported from a serverRaises: VersionNotSupportedif requested api_version is not supported
-
get_all()[source]¶ List all introspection rules.
Returns: list of short rule representations (uuid, description and links) Raises: ClientErroron error reported from a serverRaises: VersionNotSupportedif requested api_version is not supported
-