Проблема с Ansible Режимом проверки и различения - PullRequest
1 голос
/ 14 июля 2020

Я читал этот пост (https://blog.networktocode.com/post/generating-diff-with-ansible/), где упоминалось, что мы можем использовать режим проверки и сравнения вместе. Я пытаюсь использовать это для аудита золотой конфигурации (аудит предварительно выбранной конфигурации по сравнению с тем, что присутствует на устройстве) для устройств Cisco и Extreme. Ниже мой сценарий -

# task to audit & heal ntp configuration
- name: Set NTP template
  ios_config:
     src: "{{domain}}_{{ansible_network_os}}_ntp.cfg"
     match: line
  register: ntp_result

Ниже мой шаблон -

ntp server 10.19.70.1

Ansible с выделением того, что он собирается изменить конфигурацию. Вот какой результат я получаю. Удивительно, но я не получаю никакой конфигурации config.

"ntp_result": {
        "ansible_facts": {
            "discovered_interpreter_python": "/usr/bin/python"
        },
        "changed": true,
        "commands": [
            "configure ntp server add x.x.x.x"
        ],
        "failed": false,
        "updates": [
            "configure ntp server add x.x.x.x"
        ],
        "warnings": [
            "unable to perform diff against running-config due to check mode"
        ]
    }

Почему я не получаю config config? Есть идеи, что не так?

1 Ответ

1 голос
/ 18 июля 2020

Это ограничение модуля: вы можете комбинировать check с diff, используя параметры diff_against для startup и intended, но не running.

соответствующие Ansible источник здесь :

        if module.params['diff_against'] == 'running':
            if module.check_mode:
                module.warn("unable to perform diff against running-config due to check mode")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...