#ansible #cisco #asa
#ansible #cisco #asa
Вопрос:
Я пытаюсь отправить команду «показать версию» на мой Cisco ASA с помощью Ansible, но я сталкиваюсь со следующими ошибками, и я не знаю почему. То же самое работает и для моего маршрутизатора Cisco. Ниже приведены некоторые детали, которые могут быть полезны.
Cisco Asa version -> 9.12(2)9
Ansible version -> 2.9.13
Python version -> 2.7.17
Хосты Ansible:
#This is a group of remote servers with GUI
[gui]
ubuntu ansible_user=admin
#These are global variables for the group Cisco
[cisco:vars]
ansible_connection=local
ansible_network_os=ios
#This is a group of remote servers for Cisco devices
[cisco]
cisco_router ansible_user=admin
[firewall:vars]
ansible_connection=local
[firewall]
cisco_asa ansible_user=admin
Asa playbook:
- name: "Connecting to Cisco ASA"
hosts: firewall
gather_facts: no
tasks:
- name: run show version on remote devices
cisco.asa.asa_command:
commands:
- show version
Сообщение об ошибке:
fatal: [cisco_asa]: FAILED! => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "msg": "Unsupported parameters for (cisco.asa.asa_command) module: context, passwords found in provider. Supported parameters include: auth_pass, authorize, host, password, port, ssh_keyfile, timeout, username"}
Полная ошибка с -vvv:
fatal: [cisco_asa]: FAILED! => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"invocation": {
"module_args": {
"authorize": null,
"commands": [
"show version"
],
"context": null,
"interval": 1,
"match": "all",
"passwords": null,
"provider": {
"auth_pass": null,
"authorize": false,
"context": null,
"host": null,
"password": null,
"passwords": null,
"port": null,
"ssh_keyfile": null,
"timeout": null,
"username": null
},
"retries": 10,
"wait_for": null
}
},
"msg": "Unsupported parameters for (cisco.asa.asa_command) module: context, passwords found in provider. Supported parameters include: auth_pass, authorize, host, password, port, ssh_keyfile, timeout, username"
}
Может кто-нибудь мне помочь?
Комментарии:
1. Я предлагаю вам перейти на ansible 2.10.x, убедиться, что вы установили последнюю коллекцию cisco.asa и повторите попытку.
2. Что означает использование
asa_command
в качестве задачи, а неcisco.asa.asa_command
? Модульcisco.asa.asa_command
— это имя только с версии Ansible 2.10, которая вводит концепцию сбора.3. Вы действительно пробовали какие-либо из приведенных выше рекомендаций? Каков был результат ?
4. Ни один из них не работал для меня. Я обновился до 2.10.X, проблема все еще существовала. Я использовал cisco.asa.asa_command, но все равно не смог подключиться.
Ответ №1:
Использование приведенных ниже переменных в моем файле хоста и установка paramiko с помощью команды pip устранили проблему для меня:
ansible_user=admin
ansible_ssh_pass=*****
ansible_become_method=enable
ansible_become_pass=*****
ansible_connection=ansible.netcommon.network_cli
ansible_network_os=cisco.asa.asa
ansible_python_interpreter=python
Ответ №2:
Следующая ошибка указывает на то, что во время выполнения модуля ios_command был обнаружен неподдерживаемый параметр ‘command’. Проверьте документ Ansible [1] для параметров поддержки в модуле ios_command.
--------------------------------------
"msg": "Unsupported parameters for (ios_command) module: command Supported parameters include: auth_pass, authorize, commands, host, interval, match, password, port, provider, retries, ssh_keyfile, timeout, username, wait_for"
--------------------------------------
После просмотра вашей книги «command» не поддерживается в модуле ios_command «commands» является правильным параметром.
. Лучше обратиться к стандартной документации ansible .