【问题标题】:Ansible IP Adress from Host to Variable and use in Playbook - Save Switch Config with Ansible从主机到变量的 Ansible IP 地址并在 Playbook 中使用 - 使用 Ansible 保存交换机配置
【发布时间】:2021-04-08 16:32:27
【问题描述】:

我想用 ansible 保存启动和运行配置。我的脚本有效,但仅在一台主机上有效。我需要从保存文件中更改名称,否则它将覆盖旧的配置。

---
- hosts: switches
  gather_facts: yes
  vars:
    ansible_network_os: icx
    ansible_become: True
    ansible_become_method: enable


  tasks:
  - name: Backup Config Files
    icx_command:
      commands:
         - copy startup-config tftp 192.168.10.5 Ansible-startup-config.cfg
         - copy running-config tftp 192.168.10.5 Ansible-running-config.cfg

现在我想在名称中包含 IP 地址、时间和日期,这样当我再次启动脚本时它们不会被覆盖。

我认为文件名是这样的:

192.168.9.13-2021-04-08-18:25-startup-config.cfg
或一个连续的数字

我该怎么做?

【问题讨论】:

    标签: date time ansible yaml switching


    【解决方案1】:

    下面的粗略想法。

    我不是 100% 确定在 ios 上收集到的事实会填充 ansible_default_ipv4。如果需要,您必须检查该点并找到正确的变量。另请注意,您可能必须显式运行 icx_facts module 才能从您的设备中获取所有信息。

    您可以运行以下临时命令来浏览所有可用的事实并选择正确的事实:

    ansible -i your_inventory some_host -m setup
    ansible -i your_inventory some_host -m icx_facts
    

    您可以调试ansible_date_time 变量以查看其他密钥是否比以下更适合您的需求,以创建时间戳。我准确地重构了你问题中的模式。

    当然,您需要收集事实以使这些变量可用(您的游戏中的gather_facts: true 满足该要求)。

    这是示例任务(未经测试,我没有可用的 ios 设备)

      - name: Backup Config Files
        vars:
          ip: "{{ ansible_default_ipv4.address }}"
          stamp: "{{ ansible_date_time.date }}-{{ ansible_date_time.hour }}:{{ ansible_date_time.minute }}"
          prefix: "{{ ip }}-{{ stamp }}"
        icx_command:
          commands:
             - "copy startup-config tftp 192.168.10.5 {{ prefix }}-startup-config.cfg"
             - "copy running-config tftp 192.168.10.5 {{ prefix }}-running-config.cfg"
    

    【讨论】:

    • 效果很好。对于所有 ecxept IP 地址。我做了一些研究,但很难得到这个愚蠢的交换机 IP 地址。当我连接到 Ubuntu 服务器时,前缀设置为正确的 ip 地址,但我没有找到获取 Swtich ip 地址的解决方案。为什么 Ansible 不知道他是什么东西?理论上这应该很容易
    猜你喜欢
    • 2022-06-28
    • 1970-01-01
    • 2016-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-18
    • 1970-01-01
    • 2020-09-07
    相关资源
    最近更新 更多