首页 > 解决方案 > 需要有关 ios_facts 模块使用的命令的信息

问题描述

我们计划进行 IOS 升级,我正在使用ios_facts模块来比较/处理信息。

有一个团队,我们授予了对网络设备的有限访问权限,并且需要知道ios_facts模块在 Cisco 设备上执行什么命令来收集它所做的信息?因此,我们将向该团队授予对这些命令的访问权限,以便当该团队使用他们的 id 运行脚本时脚本可以工作。

我浏览了几个关于网络模块的 Ansible 文档,但ios_facts没有提到任何地方执行的确切命令。一些文档给出了关于收集什么类型的信息的想法,但没有给出确切的命令。由于有时可以在 Cisco 设备中使用多个命令收集相同的信息,因此很难猜测。

标签: ansible

解决方案


关于你的问题

模块在 Cisco 设备上执行什么命令ios_facts来收集它所做的信息?

根据ios_facts.py的来源,您可能会在plugins/module_utils/network/ios/facts下找到部分答案。

请注意,根据文档可以gather_facts使用gather_subset和一些过滤器(如hardwareinterfaces等)进行控制config。见facts.py

 91 FACT_LEGACY_SUBSETS = dict(
 92     default=Default, hardware=Hardware, interfaces=Interfaces, config=Config
 93 )
 94 
 95 FACT_RESOURCE_SUBSETS = dict(
    ...
117 )

因此,这将取决于您将访问哪些部分。

例如,如果子集仅为接口,则命令根据interfaces.py

50 def get_interfaces_data(self, connection):
51    return connection.get("sh running-config | section ^interface")

我浏览了几个ansible文档...

由于我们在这里几乎所有部分都是开源的,因此幸运的是,我们只需浏览代码即可。还有一个搜索功能,可以查找所有外观return connection.get(


推荐阅读