Client side of the conductor RPC API.
Bases: object
Client side of the conductor RPC API.
API version history:
Change a node’s power state.
Synchronously, acquire lock and start the conductor background task to change power state of a node.
Parameters: |
|
---|---|
Raises: | NoFreeConductorWorker when there is no free worker to start async task. |
Signal to conductor service to start the next cleaning action.
NOTE(JoshNang) this is an RPC cast, there will be no response or exception raised by the conductor for this RPC.
Parameters: |
|
---|
Delete a node.
Parameters: |
|
---|---|
Raises: | NodeLocked if node is locked by another conductor. |
Raises: | NodeAssociated if the node contains an instance associated with it. |
Raises: | InvalidState if the node is in the wrong provision state to perform deletion. |
Delete a port.
Parameters: |
|
---|---|
Raises: | NodeLocked if node is locked by another conductor. |
Raises: | NodeNotFound if the node associated with the port does not exist. |
Delete a portgroup.
Parameters: |
|
---|---|
Raises: | NodeLocked if node is locked by another conductor. |
Raises: | NodeNotFound if the node associated with the portgroup does not exist. |
Raises: | PortgroupNotEmpty if portgroup is not empty |
Signal to conductor service to perform manual cleaning on a node.
Parameters: |
|
---|---|
Raises: | InvalidParameterValue if validation of power driver interface failed. |
Raises: | InvalidStateRequested if cleaning can not be performed. |
Raises: | NodeInMaintenance if node is in maintenance mode. |
Raises: | NodeLocked if node is locked by another conductor. |
Raises: | NoFreeConductorWorker when there is no free worker to start async task. |
Signal to conductor service to perform a deployment.
Parameters: |
|
---|---|
Raises: | InstanceDeployFailure |
Raises: | InvalidParameterValue if validation fails |
Raises: | MissingParameterValue if a required parameter is missing |
Raises: | NoFreeConductorWorker when there is no free worker to start async task. |
The node must already be configured and in the appropriate undeployed state before this method is called.
Signal to conductor service to tear down a deployment.
Parameters: |
|
---|---|
Raises: | InstanceDeployFailure |
Raises: | InvalidParameterValue if validation fails |
Raises: | MissingParameterValue if a required parameter is missing |
Raises: | NoFreeConductorWorker when there is no free worker to start async task. |
The node must already be configured and in the appropriate deployed state before this method is called.
Signal to conductor service to perform the given action on a node.
Parameters: |
|
---|---|
Raises: | InvalidParameterValue |
Raises: | NoFreeConductorWorker when there is no free worker to start async task. |
Raises: | InvalidStateRequested if the requested action can not be performed. |
This encapsulates some provisioning actions in a single call.
Pass vendor-specific calls which don’t specify a node to a driver.
Handles driver-level vendor passthru calls. These calls don’t require a node UUID and are executed on a random conductor with the specified driver. If the method mode is async the conductor will start background worker to perform vendor action.
Parameters: |
|
||||||
---|---|---|---|---|---|---|---|
Raises: | InvalidParameterValue for parameter errors. |
||||||
Raises: | MissingParameterValue if a required parameter is missing |
||||||
Raises: | UnsupportedDriverExtension if the driver doesn’t have a vendor interface, or if the vendor interface does not support the specified driver_method. |
||||||
Raises: | DriverNotFound if the supplied driver is not loaded. |
||||||
Raises: | NoFreeConductorWorker when there is no free worker to start async task. |
||||||
Returns: | A dictionary containing:
|
Get the current boot device.
Returns the current boot device of a node.
Parameters: |
|
||||
---|---|---|---|---|---|
Raises: | NodeLocked if node is locked by another conductor. |
||||
Raises: | UnsupportedDriverExtension if the node’s driver doesn’t support management. |
||||
Raises: | InvalidParameterValue when the wrong driver info is specified. |
||||
Raises: | MissingParameterValue if missing supplied info. |
||||
Returns: | a dictionary containing:
|
Get connection information about the console.
Parameters: |
|
---|---|
Raises: | UnsupportedDriverExtension if the node’s driver doesn’t support console. |
Raises: | InvalidParameterValue when the wrong driver info is specified. |
Raises: | MissingParameterValue if a required parameter is missing |
Get the properties of the driver.
Parameters: |
|
---|---|
Returns: | a dictionary with <property name>:<property description> entries. |
Raises: | DriverNotFound. |
Retrieve information about vendor methods of the given driver.
Parameters: |
|
---|---|
Returns: | dictionary of <method name>:<method metadata> entries. |
Retrieve information about vendor methods of the given node.
Parameters: |
|
---|---|
Returns: | dictionary of <method name>:<method metadata> entries. |
Get the logical disk properties for RAID configuration.
Gets the information about logical disk properties which can be specified in the input RAID configuration.
Parameters: |
|
---|---|
Raises: | UnsupportedDriverExtension if the driver doesn’t support RAID configuration. |
Returns: | A dictionary containing the properties that can be mentioned for logical disks and a textual description for them. |
Get the list of supported devices.
Returns the list of supported boot devices of a node.
Parameters: |
|
---|---|
Raises: | NodeLocked if node is locked by another conductor. |
Raises: | UnsupportedDriverExtension if the node’s driver doesn’t support management. |
Raises: | InvalidParameterValue when the wrong driver info is specified. |
Raises: | MissingParameterValue if missing supplied info. |
Returns: | A list with the supported boot devices defined in ironic.common.boot_devices. |
Get the RPC topic for the conductor service the node is mapped to.
Parameters: | node – a node object. |
---|---|
Returns: | an RPC topic string. |
Raises: | NoValidHost |
Get RPC topic name for a conductor supporting the given driver.
The topic is used to route messages to the conductor supporting the specified driver. A conductor is selected at random from the set of qualified conductors.
Parameters: | driver_name – the name of the driver to route to. |
---|---|
Returns: | an RPC topic string. |
Raises: | DriverNotFound |
Process a node heartbeat.
Parameters: |
|
---|
Signals the conductor service to perform hardware introspection.
Parameters: |
|
---|---|
Raises: | NodeLocked if node is locked by another conductor. |
Raises: | HardwareInspectionFailure |
Raises: | NoFreeConductorWorker when there is no free worker to start async task. |
Raises: | UnsupportedDriverExtension if the node’s driver doesn’t support inspection. |
Raises: | InvalidStateRequested if ‘inspect’ is not a valid action to do in the current state. |
Perform an action on a VersionedObject instance.
We want any conductor to handle this, so it is intentional that there is no topic argument for this method.
Parameters: |
|
---|---|
Raises: | NotImplementedError when an operator makes an error during upgrade |
Returns: | A tuple with the updates made to the object and the result of the action method |
Perform a backport of an object instance.
The default behavior of the base VersionedObjectSerializer, upon receiving an object with a version newer than what is in the local registry, is to call this method to request a backport of the object.
We want any conductor to handle this, so it is intentional that there is no topic argument for this method.
Parameters: |
|
---|---|
Raises: | NotImplementedError when an operator makes an error during upgrade |
Returns: | The downgraded instance of objinst |
Perform an action on a VersionedObject class.
We want any conductor to handle this, so it is intentional that there is no topic argument for this method.
Parameters: |
|
---|---|
Raises: | NotImplementedError when an operator makes an error during upgrade |
Returns: | The result of the action method, which may (or may not) be an instance of the implementing VersionedObject class. |
Set the boot device for a node.
Set the boot device to use on next reboot of the node. Be aware that not all drivers support this.
Parameters: |
|
---|---|
Raises: | NodeLocked if node is locked by another conductor. |
Raises: | UnsupportedDriverExtension if the node’s driver doesn’t support management. |
Raises: | InvalidParameterValue when the wrong driver info is specified or an invalid boot device is specified. |
Raises: | MissingParameterValue if missing supplied info. |
Enable/Disable the console.
Parameters: |
|
---|---|
Raises: | UnsupportedDriverExtension if the node’s driver doesn’t support console. |
Raises: | InvalidParameterValue when the wrong driver info is specified. |
Raises: | MissingParameterValue if a required parameter is missing |
Raises: | NoFreeConductorWorker when there is no free worker to start async task. |
Stores the target RAID configuration on the node.
Stores the target RAID configuration on node.target_raid_config
Parameters: |
|
---|---|
Raises: | UnsupportedDriverExtension if the node’s driver doesn’t support RAID configuration. |
Raises: | InvalidParameterValue, if validation of target raid config fails. |
Raises: | MissingParameterValue, if some required parameters are missing. |
Raises: | NodeLocked if node is locked by another conductor. |
Synchronously, have a conductor update the node’s information.
Update the node’s information in the database and return a node object. The conductor will lock the node while it validates the supplied information. If driver_info is passed, it will be validated by the core drivers. If instance_uuid is passed, it will be set or unset only if the node is properly configured.
Note that power_state should not be passed via this method. Use change_node_power_state for initiating driver actions.
Parameters: |
|
---|---|
Returns: | updated node object, including all fields. |
Synchronously, have a conductor update the port’s information.
Update the port’s information in the database and return a port object. The conductor will lock related node and trigger specific driver actions if they are needed.
Parameters: |
|
---|---|
Returns: | updated port object, including all fields. |
Synchronously, have a conductor update the portgroup’s information.
Update the portgroup’s information in the database and return a portgroup object. The conductor will lock related node and trigger specific driver actions if they are needed.
Parameters: |
|
---|---|
Returns: | updated portgroup object, including all fields. |
Validate the core and standardized interfaces for drivers.
Parameters: |
|
---|---|
Returns: | a dictionary containing the results of each interface validation. |
Receive requests for vendor-specific actions.
Synchronously validate driver specific info or get driver status, and if successful invokes the vendor method. If the method mode is async the conductor will start background worker to perform vendor action.
Parameters: |
|
||||||
---|---|---|---|---|---|---|---|
Raises: | InvalidParameterValue if supplied info is not valid. |
||||||
Raises: | MissingParameterValue if a required parameter is missing |
||||||
Raises: | UnsupportedDriverExtension if current driver does not have vendor interface. |
||||||
Raises: | NoFreeConductorWorker when there is no free worker to start async task. |
||||||
Raises: | NodeLocked if node is locked by another conductor. |
||||||
Returns: | A dictionary containing:
|