线程插件执行模型
你可以通过带有参数 (默认值是 ) 的 对象运行任务以达到并行的目的;
并行执行任务时,nornir 会为每个主机使用不同的线程。
Nornir 也支持创建包含其他任务的任务,即 任务组(Grouping tasks) 。当运行任务组时,同一个子任务在所有主机上并行执行,子任务之间按顺序执行,这样就可以按照特定的需求来控制执行流程。
例如,可以编写如下工作流:
为什么要编写这样的工作流?大多数情况下,我们会尽可能多的将任务拆分进而形成不同的任务组,这样就可以保证脚本运行的更快,尤其是有很多主机的时候。 但是,某些任务可能需要在确保其他一些任务完成后才能运行。例如如下场景:
并行进行配置验证及测试