The ironic.objects.conductor Module

The ironic.objects.conductor Module

class ironic.objects.conductor.Conductor(context=None, **kwargs)[source]

Bases: ironic.objects.base.IronicObject, oslo_versionedobjects.base.VersionedObjectDictCompat

classmethod get_by_hostname(context, hostname)[source]

Get a Conductor record by its hostname.

Parameters:
  • cls – the Conductor
  • context – Security context
  • hostname – the hostname on which a Conductor is running
Returns:

a Conductor object.

refresh(context=None)[source]

Loads and applies updates for this Conductor.

Loads a Conductor with the same uuid from the database and checks for updated attributes. Updates are applied from the loaded chassis column by column, if there are any updates.

Parameters:context – Security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: Conductor(context)
classmethod register(context, hostname, drivers, update_existing=False)[source]

Register an active conductor with the cluster.

Parameters:
  • cls – the Conductor
  • context – Security context
  • hostname – the hostname on which the conductor will run
  • drivers – the list of drivers enabled in the conductor
  • update_existing – When false, registration will raise an exception when a conflicting online record is found. When true, will overwrite the existing record. Default: False.
Raises:

ConductorAlreadyRegistered

Returns:

a Conductor object.

register_hardware_interfaces(hardware_type, interface_type, interfaces, default_interface)[source]

Register hardware interfaces with the conductor.

Parameters:
  • hardware_type – Name of hardware type for the interfaces.
  • interface_type – Type of interfaces, e.g. ‘deploy’ or ‘boot’.
  • interfaces – List of interface names to register.
  • default_interface – String, the default interface for this hardware type and interface type.
save(context)[source]

Save is not supported by Conductor objects.

touch(context=None)[source]

Touch this conductor’s DB record, marking it as up-to-date.

unregister(context=None)[source]

Remove this conductor from the service registry.

unregister_all_hardware_interfaces()[source]

Unregister all hardware interfaces for this conductor.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.