nornir.core.task

class nornir.core.task.AggregatedResult(name: str, **kwargs: MultiResult)

It basically is a dict-like object that aggregates the results for all devices. You can access each individual result by doing my_aggr_result["hostname_of_device"].

property failed: bool

If True at least a host failed.

property failed_hosts: Dict[str, MultiResult]

Hosts that failed during the execution of the task.

raise_on_error() None
Raises:

nornir.core.exceptions.NornirExecutionError – When at least a task failed

class nornir.core.task.MultiResult(name: str)

It is basically is a list-like object that gives you access to the results of all subtasks for a particular device/task.

property changed: bool

If True at least a task changed the system.

property failed: bool

If True at least a task failed.

raise_on_error() None
Raises:

nornir.core.exceptions.NornirExecutionError – When at least a task failed

class nornir.core.task.Result(host: Host | None, result: Any = None, changed: bool = False, diff: str = '', failed: bool = False, exception: BaseException | None = None, severity_level: int = 20, **kwargs: Any)

Result of running individual tasks.

Parameters:
  • changed (bool) – True if the task is changing the system

  • diff (obj) – Diff between state of the system before/after running this task

  • result (obj) – Result of the task execution, see task’s documentation for details

  • host (nornir.core.inventory.Host) – Reference to the host that lead to this result

  • failed (bool) – Whether the execution failed or not

  • severity_level (logging.LEVEL) – Severity level associated to the result of the excecution

  • exception (Exception) – uncaught exception thrown during the exection of the task (if any)

changed

True if the task is changing the system

Type:

bool

diff

Diff between state of the system before/after running this task

Type:

obj

result

Result of the task execution, see task’s documentation for details

Type:

obj

host

Reference to the host that lead ot this result

Type:

nornir.core.inventory.Host

failed

Whether the execution failed or not

Type:

bool

severity_level

Severity level associated to the result of the excecution

Type:

logging.LEVEL

exception

uncaught exception thrown during the exection of the task (if any)

Type:

Exception

class nornir.core.task.Task(task: Callable[[...], Any], nornir: Nornir, global_dry_run: bool, processors: Processors, name: str | None = None, severity_level: int = 20, parent_task: Task | None = None, **kwargs: str)

A task is basically a wrapper around a function that has to be run against multiple devices. You won’t probably have to deal with this class yourself as nornir.core.Nornir.run() will create it automatically.

Parameters:
  • task (callable) – function or callable we will be calling

  • name (string) – name of task, defaults to task.__name__

  • severity_level (logging.LEVEL) – Severity level associated to the task

  • **kwargs – Parameters that will be passed to the task

task

function or callable we will be calling

Type:

callable

name

name of task, defaults to task.__name__

Type:

string

params

Parameters that will be passed to the task.

self.results

Intermediate results

Type:

nornir.core.task.MultiResult

host

Host we are operating with. Populated right before calling the task

Type:

nornir.core.inventory.Host

nornir

Populated right before calling the task

Type:

nornir.core.Nornir

severity_level

Severity level associated to the task

Type:

logging.LEVEL

copy() Task
is_dry_run(override: bool | None = None) bool

Returns whether current task is a dry_run or not.

run(task: Callable[[...], Any], **kwargs: Any) MultiResult

This is a utility method to call a task from within a task. For instance:

def grouped_tasks(task):

task.run(my_first_task) task.run(my_second_task)

nornir.run(grouped_tasks)

This method will ensure the subtask is run only for the host in the current thread.

start(host: Host) MultiResult

Run the task for the given host.

Parameters:
  • host (nornir.core.inventory.Host) – Host we are operating with. Populated right before calling the task

  • nornir (nornir.core.Nornir) – Populated right before calling the task

Returns:

Results of the task and its subtasks

Return type:

host (nornir.core.task.MultiResult)