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.
- property hostname¶
- property id¶
- classmethod list(context, limit=None, marker=None, sort_key=None, sort_dir=None)[source]¶
Return a list of Conductor objects.
- 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}
- touch(context=None, online=True)[source]¶
Touch this conductor’s DB record, marking it as up-to-date.
- unregister_all_hardware_interfaces()[source]¶
Unregister all hardware interfaces for this conductor.
- property updated_at¶