我试图了解如何在host_vars文件中定义我的配置。 每个路由器都有单独的文件。
abc_router.yaml:
---
lacp_channel:
- { group: 101, mode: trunk, description: , vpc: , trunk_vlans: "1056", trunk_allowed_vlans: }
- { group: 102, mode: trunk, description: , vpc: , trunk_vlans: "1056", trunk_allowed_vlans: }
- { group: 103, mode: trunk, description: , vpc: , trunk_vlans: "1056", trunk_allowed_vlans: }
- { group: 104, mode: trunk, description: , vpc: , trunk_vlans: "1056", trunk_allowed_vlans: }
interface_port_channel:
- { interface: Ethernet 2/1, channel_group: 125, mode: active }
- { interface: Ethernet 2/2, channel_group: 125, mode: active }
.....
我的问题是,对于不断增长的配置,我们是保留现有配置还是每次应用配置时,我们都要清理并输入新的配置。?有什么建议。我无法在线找到此信息
由于Ansible的工作方式,我问这个问题。 Ansible一一经历。 最初,我们从上面的空文件开始。然后,我们添加了几个lacp_channel和interface_port_channel。现在文件正在增长。假设我们现在有100个lacp_channels。我们只想向interface_port_channel添加一个新接口
我的ansible代码首先检查了具有100行的lacp_channel。这里没有更改,但是可以查看是否需要应用此更改。 然后进入interface_port_channel并应用配置。 因此,我们浪费了很多时间。
答案 0 :(得分:0)
您能否分享一些有关如何引用这些变量的信息?您如何遍历它们?
我已经在1个vars文件中管理了超过1000行的iptables规则集。他们填满了我创建的jinja2模板,引用这些变量的唯一任务是将模板复制到防火墙服务器上的适当位置。它执行得非常快...
如果您正在使用循环或with_items,也许您可以看看并重新组织使用变量的方式?
此外,如果您想拆分配置并将其存储为1个配置文件,请查看https://docs.ansible.com/ansible/latest/modules/assemble_module.html