Неподдерживаемые параметры для модуля (cisco.asa.asa_command): контекст, пароли, найденные у поставщика

#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 .