Ansible - Невозможно запустить определенные модули JUNOS

Я пытаюсь запустить модули Ansible junos_cli и junos_rollback и получаю следующую ошибку:

ERROR! no action detected in task. This often indicates a misspelled module name, or incorrect module path.

The error appears to have been in '/home/quake/network-ansible/roles/junos-rollback/tasks/main.yml': line 2, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

---
- name: I've made a huge mistake
  ^ here

Это роль в вопросе:

---
- name: I've made a huge mistake
  junos_rollback:
    host={{ inventory_hostname }}
    user=ansible
    comment={{ comment }}
    confirm={{ confirm }}
    rollback={{ rollback }}
    logfile={{ playbook_dir }}/library/logs/rollback.log
    diffs_file={{ playbook_dir }}/configs/{{ inventory_hostname }}

Вот страница можжевельника: http://junos-ansible-modules.readthedocs.io/en/1.3.1/junos_rollback.html

Синтаксис их примера немного странный. хост использует двоеточие, в то время как остальные используют знаки =. Я пытался смешать оба и только с использованием одного или другого. Я продолжаю получать ошибки.

Я также подтвердил, что моя версия junos-eznc выше, чем 1.2.2 (у меня есть 2.0.1)

Я мог использовать junos_cli раньше, я не знаю, произошло ли несовпадение версий. В официальной документации Ansible нет упоминаний о junos_cli или junos_rollback. Возможно, они больше не поддерживаются?

http://docs.ansible.com/ansible/list_of_network_modules.html

Спасибо,

2 ответа

junos_cli & junos_rollback являются частью Galaxy, а не основными модулями. Вы можете найти их на https://galaxy.ansible.com/Juniper/junos/

Содержит ли контент, размещенный здесь, весь контент вашей пьесы? Если да, Вам нужно определить и другие элементы в своей книге игр, такие как роли, связи, локальные. Например

см. https://github.com/Juniper/ansible-junos-stdlib

`` `

---
- name: rollback example
  hosts: all
  roles:
    - Juniper.junos
  connection: local
  gather_facts: no

  tasks:
    - name: I've made a huge mistake
      junos_rollback:
        host = {{inventory_hostname}}
        ----
        ----

`` `

Где вы сохранили содержимое модулей juniper.junos? Можете ли вы опубликовать содержание вашей пьесы и вывод tree Команда, чтобы увидеть вашу файловую структуру? Это могло бы помочь.

У меня была похожая проблема, когда Ansible не находил мои модули, и я скопировал juniper.junos папку в папку моих ролей, а затем добавил в нее папку задач для выполнения main.yaml оттуда.

Примерно так:/Users/macuared/Ansible_projects/roles/Juniper.junos/tasks

---
- name: "TEST 1 - Gather Facts"
  junos_get_facts:
    host: "{{ inventory_hostname}}"
    user: "uuuuu"
    passwd: "yyyyyy"
    savedir: "/Users/macuared/Ansible_projects/Ouput/Facts"
  ignore_errors: True
  register: junos

- name: Checking Device Version
  debug: msg="{{ junos.facts.serialnumber }}"

Кроме того, я бы добавил "" к строковым значениям в вашем YAML. Что-то вроде этого:

---
- name: I've made a huge mistake
  junos_rollback:
    host="{{ inventory_hostname }}"
    user=ansible
    comment="{{ comment }}"
    confirm={{ confirm }}
    rollback={{ rollback }}
    logfile="{{ playbook_dir }}/library/logs/rollback.log"
    diffs_file="{{ playbook_dir }}/configs/{{ inventory_hostname }}"

Что касается этого, "я пытался смешать оба и только с использованием одного или другого. Я продолжаю получать ошибки".

Я использовал только двоеточие, и мой работает нормально, даже если в документации есть знаки =. Смотрите junos_get_facts

Другие вопросы по тегам