ironic.conductor.base_manager module¶
Base conductor manager functionality.
-
class
ironic.conductor.base_manager.
BaseConductorManager
(host, topic)[source]¶ Bases:
object
-
init_host
(admin_context=None)[source]¶ Initialize the conductor host.
- Parameters
admin_context – the admin context to pass to periodic tasks.
- Raises
RuntimeError when conductor is already running.
- Raises
NoDriversLoaded when no drivers are enabled on the conductor.
- Raises
DriverNotFound if a driver is enabled that does not exist.
- Raises
DriverLoadError if an enabled driver cannot be loaded.
- Raises
DriverNameConflict if a classic driver and a dynamic driver are both enabled and have the same name.
-
iter_nodes
(fields=None, **kwargs)[source]¶ Iterate over nodes mapped to this conductor.
Requests node set from and filters out nodes that are not mapped to this conductor.
Yields tuples (node_uuid, driver, conductor_group, …) where … is derived from fields argument, e.g.: fields=None means yielding (‘uuid’, ‘driver’, ‘conductor_group’), fields=[‘foo’] means yielding (‘uuid’, ‘driver’, ‘conductor_group’, ‘foo’).
- Parameters
fields – list of fields to fetch in addition to uuid, driver, and conductor_group
kwargs – additional arguments to pass to dbapi when looking for nodes
- Returns
generator yielding tuples of requested fields
-
prepare_host
()[source]¶ Prepares host for initialization
Removes existing database entries involved with node locking for nodes in a transitory power state and nodes that are presently locked by the hostname of this conductor.
Under normal operation, this is also when the initial database connectivity is established for the conductor’s normal operation.
-