The ironic.api.controllers.v1.driver Module

class ironic.api.controllers.v1.driver.Driver(**kw)[source]

Bases: ironic.api.controllers.base.APIBase

API representation of a driver.

Convert driver/hardware type info to an API-serializable object.

Parameters:
  • name – name of driver or hardware type.
  • hosts – list of conductor hostnames driver is active on.
  • driver_type – ‘classic’ for classic drivers, ‘dynamic’ for hardware types.
  • detail – boolean, whether to include detailed info, such as the ‘type’ field and default/enabled interfaces fields.
  • interface_info – optional list of dicts of hardware interface info.
Returns:

API-serializable driver object.

classmethod sample()[source]
class ironic.api.controllers.v1.driver.DriverList(**kw)[source]

Bases: ironic.api.controllers.base.APIBase

API representation of a list of drivers.

Convert drivers and hardware types to an API-serializable object.

Parameters:
  • drivers – dict mapping driver names to conductor hostnames.
  • hardware_types – dict mapping hardware type names to conductor hostnames.
  • detail – boolean, whether to include detailed info, such as the ‘type’ field and default/enabled interfaces fields.
Returns:

an API-serializable driver collection object.

classmethod sample()[source]
class ironic.api.controllers.v1.driver.DriverPassthruController[source]

Bases: pecan.rest.RestController

REST controller for driver passthru.

This controller allow vendors to expose cross-node functionality in the Ironic API. Ironic will merely relay the message from here to the specified driver, no introspection will be made in the message body.

methods(*args, **kwargs)[source]

Retrieve information about vendor methods of the given driver.

Parameters:driver_name – name of the driver.
Returns:dictionary with <vendor method name>:<method metadata> entries.
Raises:DriverNotFound if the driver name is invalid or the driver cannot be loaded.
class ironic.api.controllers.v1.driver.DriverRaidController[source]

Bases: pecan.rest.RestController

logical_disk_properties(*args, **kwargs)[source]

Returns the logical disk properties for the driver.

Parameters:driver_name – Name of the driver.
Returns:A dictionary containing the properties that can be mentioned for logical disks and a textual description for them.
Raises:UnsupportedDriverExtension if the driver doesn’t support RAID configuration.
Raises:NotAcceptable, if requested version of the API is less than 1.12.
Raises:DriverNotFound, if driver is not loaded on any of the conductors.
class ironic.api.controllers.v1.driver.DriversController[source]

Bases: pecan.rest.RestController

REST controller for Drivers.

get_all(*args, **kwargs)[source]

Retrieve a list of drivers.

get_one(*args, **kwargs)[source]

Retrieve a single driver.

properties(*args, **kwargs)[source]

Retrieve property information of the given driver.

Parameters:driver_name – name of the driver.
Returns:dictionary with <property name>:<property description> entries.
Raises:DriverNotFound (HTTP 404) if the driver name is invalid or the driver cannot be loaded.