Не работают резервные копии fortios_config - PullRequest
0 голосов
/ 16 октября 2018

Я использую Fortinet для автоматизации брандмауэра, но я получаю сообщение об ошибке «Ошибка чтения запущенного конфига».Я уже следил за этим сайтом: https://github.com/ansible/ansible/issues/33392

Но не нашел никакого решения.Скажите, пожалуйста, что я делаю не так?

  • Доступная версия: 2.7.0
  • Версия Python: 2.7.5
  • Fortinet: 60E
  • FortiOS версия: 6.0.2

Вот что я пытаюсь: FortiOS.yml playbook:

---
- name: FortiOS Firewall Settings
  hosts: fortiFW
  connection: local
  vars_files:
  - /etc/ansible/vars/FortiOS_Settings_vars.yml
  tasks:
    - name: Backup current config
      fortios_config:
        host: 192.168.1.99
        username: admin
        password: Password@123
        backup: yes
        backup_path: /etc/ansible/forti_backup

Вот что я получаю как ошибку:

ok: [192.168.1.99] META: обработчики запуска. Читать vars_file '/etc/ansible/vars/FortiOS_Settings_vars.yml'

TASK [Резервное копирование текущей конфигурации] **************************************************************************************************************************************************************************************************************** задачапуть: /etc/ansible/FortiOS_Settings_test.yml:8 <192.168.1.99> УСТАНОВИТЬ ЛОКАЛЬНОЕ СОЕДИНЕНИЕ ДЛЯ ПОЛЬЗОВАТЕЛЯ: root <192.168.1.99> EXEC / bin / sh -c 'echo ~ root && sleep 0' <192.168.1.99> EXEC/ bin / sh -c '(umask 77 && mkdir -p "echo /root/.ansible/tmp/ansible-tmp-1539674386.05-16470854685226" && echo ansible-tmp-1539674386.05-16470854685226 = "echo /root/.ansible/tmp/ansible-tmp-1539674386.05-16470854685226") && sleep 0' Использование файла модуля /usr/lib/python2.7/сидетьЭлектронные пакеты / ansible / modules / network / fortios / fortios_config.py <192.168.1.99> PUT /root/.ansible/tmp/ansible-local-6154Uq5Dmw/tmpt6JukB TO /root/.ansible/tmp/ansible-tmp-1539674386.05-16470854685226 / AnsiballZ_fortios_config.py <192.168.1.99> EXEC / bin / sh -c 'chmod u + x /root/.ansible/tmp/ansible-tmp-1539674386.05-16470854685226/ /root/.ansible/tmp/ansiblet-1539674386.05-16470854685226 / AnsiballZ_fortios_config.py && sleep 0 '<192.168.1.99> EXEC / bin / sh -c' / usr / bin / python /root/.ansible/tmp/ansible-tmp-1539674386.05-1647085468allconforti_ti_ti_60/64/1&& sleep 0 '<192.168.1.99> EXEC / bin / sh -c' rm -f -r /root/.ansible/tmp/ansible-tmp-1539674386.05-16470854685226/> / dev / null 2> & 1 && sleep 0 'Полный возврат: ПРЕДУПРЕЖДЕНИЕ: приведенный ниже возврат может не быть связан с фактическим отказом.Файл "/tmp/ansible_fortios_config_payload_b6IQmy/main.py", строка 132, в основном файле f.load_config (path = module.params ['filter']) Файл "/usr/lib/python2.7/site-packages / pyFG / fortios.py ", строка 212, в файле load_config config_text = self.execute_command (команда) Файл" /usr/lib/python2.7/site-packages/pyFG/fortios.py ", строка 154, в файле execute_commandoutput = output + self._read_wrapper (o) Файл "/usr/lib/python2.7/site-packages/pyFG/fortios.py", строка 120, в _read_wrapper return py23_compat.text_type (data)

фатальный: [192.168.1.99]: СБОЙ!=> {"изменено": ложно, "вызов": {"module_args": {"резервное копирование": истина, "имя_бэка_пакета": null, "путь_пакета_пакета": "/ etc / ansible / forti_backup", "файл_конфигурации": ноль,"file_mode": false, "filter": "", "host": "192.168.1.99", "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "src": null, "timeout": 60, "username": "admin", "vdom": null}}, "msg": "Ошибка чтения запущенной конфигурации"}

1 Ответ

0 голосов
/ 14 декабря 2018

При работе с этим модулем у меня была такая же проблема.Я просмотрел исходный код модуля и обнаружил, что эта ошибка возникает, когда для фильтра установлено значение «» -> пустая строка.Вы можете получить информацию об устройстве, изменив фильтр на что-то вроде «адрес брандмауэра».Но тогда вы получите только те параметры, которые были введены, как если бы вы набрали «show firewall address» в CLI устройства.В настоящее время я работаю над решением использовать Ansible для автоматизации FortiGate, но оно выглядит не очень хорошо.Например, FortiGates дополнительно не поддерживают Netconf, поэтому вы не можете использовать Netconf для отправки команд на устройство.Поэтому вы не делаете ничего плохого, но модули либо не оптимизированы, либо я догадался, что, возможно, полная конфигурация слишком велика, чтобы ее можно было прочитать модулем, поэтому вам нужно использовать опцию фильтра, чтобы уменьшить ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...