ironic.objects.conductor module

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

Bases: IronicObject, VersionedObjectDictCompat

VERSION = '1.4'
property conductor_group
property created_at
dbapi = <oslo_db.api.DBAPI object>
property drivers
fields = {'conductor_group': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'created_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'drivers': List(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'hostname': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'id': Integer(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'online': Boolean(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'updated_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True)}
classmethod get_by_hostname(context, hostname, online=True)[source]

Get a Conductor record by its hostname.

Parameters:
  • cls – the Conductor

  • context – Security context

  • hostname – the hostname on which a Conductor is running

  • online – Specify the expected online field value for the conductor to be retrieved. The online field is ignored if this value is set to None.

Returns:

a Conductor object.

property hostname
property id
classmethod list(context, limit=None, marker=None, sort_key=None, sort_dir=None)[source]

Return a list of Conductor objects.

Parameters:
  • cls – the Conductor

  • context – Security context.

  • limit – maximum number of resources to return in a single result.

  • marker – pagination marker for large data sets.

  • sort_key – column to sort results by.

  • sort_dir – direction to sort. “asc” or “desc”.

Returns:

a list of Conductor object.

property online
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, conductor_group, 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

  • conductor_group – conductor group to join, used for node:conductor affinity.

  • 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(interfaces)[source]

Register hardware interfaces with the conductor.

Parameters:

interfaces – List of interface to register, each entry should be a dictionary containing “hardware_type”, “interface_type”, “interface_name” and “default”, e.g. {‘hardware_type’: ‘hardware-type’, ‘interface_type’: ‘deploy’, ‘interface_name’: ‘direct’, ‘default’: True}

save(context)[source]

Save is not supported by Conductor objects.

touch(context=None, online=True)[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.

property updated_at