0

我刚刚开始接触Nornir,这是一个python网络库,我希望这里的人可能对它有一些经验,因为到目前为止我已经尝试了各种各样的网站来回答这个问题,但没有得到任何回应。我已经创建了 3 个 YAML 文件,这些文件是在 notepad++ 中创建这个库函数所需的,config.yaml、hosts.yaml 和 groups.yaml 文件,并且在 python 中只有这 3 行代码开始:

from nornir import InitNornir
nr = InitNornir(config_file="C:/Users/<REMOVED>/Desktop/config.yaml")
nr.filter(site="uk").inventory.hosts.keys()

我收到这些错误:

Traceback (most recent call last):
  File "C:/Users/<REMOVED>/PycharmProjects/test_project/nornir_test.py", line 7, in <module>
    nr = InitNornir(
  File "C:\Users\<REMOVED>\PycharmProjects\test_project\venv\lib\site-packages\nornir\init_nornir.py", line 66, in InitNornir
    config = Config.from_dict(**kwargs)
  File "C:\Users\<REMOVED>\PycharmProjects\test_project\venv\lib\site-packages\nornir\core\configuration.py", line 279, in from_dict
    core=CoreConfig(**core or {}),
TypeError: __init__() got an unexpected keyword argument 'num_workers'

我的 config.yaml 文件如下所示:

---
core:
  num_workers: 10

inventory:
  plugin: nornir.plugins.inventory.simple.SimpleInventory
  options:
    host_file: "C:/Users/<REMOVED>/Desktop/hosts.yaml"
    groups_file: "C:/Users/<REMOVED>/Desktop/groups.yaml"

我什至尝试在没有配置文件的情况下启动它:

from nornir import InitNornir
nr = InitNornir(
    core={"num_workers": 100},
    inventory={
        "plugin": "nornir.plugins.inventory.simple.SimpleInventory",
        "options": {
            "host_file": "inventory/hosts.yaml",
            "group_file": "inventory/groups.yaml"
        }
    }
)

但仍然没有,这不是愚蠢的“Windows 的事情”,因为坦率地说,我现在很困惑。

对此的任何帮助将不胜感激,放轻松,我只是 Nornir 的新手,但我猜大多数会是。我只是没有收到错误,因为 num_workers 键显然有一个分配给它的值,我也尝试绕过 config.yaml 文件来查看它是否是我的 yaml 文件,以及我是否设置错误但是无论哪种方式,我都会遇到相同的错误,这让我认为它不是 yaml 文件。无论哪种方式,我都很难说实话。

4

0 回答 0