Nornir 配置

配置由一组部分和这些部分的参数组成。您可以使用nornir以编程方式设置配置,方法是传递每个部分的选项字典,使用YAML文件,设置相应的环境变量或将这三个参数组合使用。从低到高的优先顺序是“配置文件”->“环境变量”->“代码”。

使用的示例InitNornir是:

nr = InitNornir(
    core={"num_workers": 20},
    logging={"file": "mylogs", "level": "debug"}
)

使用yaml文件的类似示例:

---
inventory:
    plugin: SimpleInventory
    options:
        host_file: "advanced_filtering/inventory/hosts.yaml"
        group_file: "advanced_filtering/inventory/groups.yaml"

Logging日志

默认情况下,Nornir在InitNornir调用时自动配置日志记录。日志配置可以修改,可用的选项在下面的部分中介绍。如果要使用Python日志记录模块来配置日志记录,请确保将logging.enabled参数设置False为以避免潜在的问题。在某些情况下,Nornir将检测到先前的日志记录配置并发出 nornir.core.exceptions.ConflictingConfigurationWarning

接下来,您可以找到每个部分及其相应的选项。

core

raise_on_error

描述如果设置为True,则至少在host发生故障时,的(nornir.core.Nornir.run)方法将引发异常nornir.core.exceptions.NornirExecutionError
类型boolean
默认False
需要False
环境变量NORNIR_CORE_RAISE_ON_ERROR

runner

plugin

描述用作Runner的插件。必须注册
类型string
默认Threaded
需要False
环境变量NORNIR_RUNNER_PLUGIN

options

描述kwargs传递给插件
类型object
默认{}
需要False
环境变量NORNIR_RUNNER_OPTIONS

inventory

plugin

描述使用插件。必须注册
类型string
默认SimpleInventory
需要False
环境变量NORNIR_INVENTORY_PLUGIN

options

描述kwargs传递给插件
类型object
默认{}
需要False
环境变量NORNIR_INVENTORY_OPTIONS

transform_function

描述使用插件。必须注册
类型string
默认 
需要False
环境变量NORNIR_INVENTORY_TRANSFORM_FUNCTION

transform_function_options

描述kwargs传递给transform_function
类型object
默认{}
需要False
环境变量NORNIR_INVENTORY_TRANSFORM_FUNCTION_OPTIONS

ssh

config_file

描述ssh配置文件的路径
类型string
默认~/.ssh/config
需要False
环境变量NORNIR_SSH_CONFIG_FILE

logging

enabled

描述是否配置日志记录
类型boolean
默认None
需要False
环境变量NORNIR_LOGGING_ENABLED

level

描述记录级别
类型string
默认INFO
需要False
环境变量NORNIR_LOGGING_LEVEL

log_file

描述记录文件
类型string
默认nornir.log
需要False
环境变量NORNIR_LOGGING_FILE

format

描述记录格式
类型string
默认%(asctime)s - %(name)12s - %(levelname)8s - %(funcName)10s() - %(message)s
需要False
环境变量NORNIR_LOGGING_FORMAT

to_console

描述是否登录控制台
类型boolean
默认False
需要False
环境变量NORNIR_LOGGING_TO_CONSOLE

loggers

描述记录仪配置
类型array
默认['nornir']
需要False
环境变量NORNIR_LOGGING_LOGGERS

用户自定义

您可以在此处设置任何对,然后在您的配置对象下即可使用它。<k, v>nr.config.user_defined.my_app_option

觉得文章有用?

点个广告表达一下你的爱意吧 !😁