Я пытаюсь использовать ansible для подключения по telnet к коммутаторам cisco и применяю команду copy startup-config disk0.
Кажется, что Ansible никогда не сможет передать (? I) "Имя файла назначения": "работайте, пожалуйста"через команду ожидаемого
---
- hosts: all
gather_facts: false
connection: local
tasks:
- name: telnet,login and execute command
ignore_errors: true
expect:
command: telnet "{{ inventory_hostname }}"
responses:
(?i)password: "{{ password}}"
(?i)#: copy startup-config disk0
(?i)"Destination filename": "{{ lookup('pipe','date') }"
echo: yes
register: telnet_output
Что я получаю в качестве вывода
ansible-playbook 2.7.6
файл конфигурации = /etc/ansible/ansible.cfg настроенный путь поиска модуля = [u '/root / .ansible / plugins / modules ', u' / usr / share / ansible / plugins / modules '] местоположение модуля ansible python = /usr/lib/python2.7/site-packages/ansible местоположение исполняемого файла = / usr / bin/ ansible-playbook python версия = 2.7.5 (по умолчанию, 30 октября 2018 г., 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] Использование /etc/ansible/ansible.cfg в качестве конфигурацииФайл / var / lib / awx / projects / 6500 / hosts не соответствует требованиям host_list, проверьте документацию плагина, если это неожиданно / var / lib / awx / projects / 6500 / hosts не соответствует требованиям скрипта, проверьте документацию плагина, если этонеожиданный
PLAYBOOK: copy-startup.yml ************************************************************************************************************************************************************************************************************* 1 воспроизведение в copy-startup.yml
ИГРАТЬ [все] ***************************************************************************************************************************************************************************************************************************** META: обработчики запуска
TASK [telnet, войти и выполнить команду] ************************************************************************************************************************************************************************************************ путь к задаче: / var / lib / awx / projects /6500 / copy-startup.yml: 6 фатально: [66.90.19.18]: СБОЙ!=> {"updated": true, "cmd": "telnet \" 66.90.19.18 \ "", "delta": "0: 00: 30.370396", "end": "2019-02-12 10:09:41.473716 "," msg ":" превышен тайм-аут команды "," rc ": null," start ":" 2019-02-12 10: 09: 11.103320 "," stdout ":" Trying 66.90.19.18 ... \ r\ r \ nПодключено к 66.90.19.18. \ r \ r \ nСохранительный символ '^]'. \ r \ r \ n \ r \ n \ r \ nПроверка доступа пользователя \ r \ n \ r \ nПароль: \ r \nLAB-6500-SUP2T # копировать startup-config disk0 \ r \ nНаправление файла [disk0]? "," stdout_lines ": [" Попытка 66.90.19.18 ... "," "," Подключено к 66.90.19.18. ",""," Escape-символ: '^]'. "," "," "," "," Проверка доступа пользователя "," "," Пароль: "," LAB-6500-SUP2T # copy startup-config disk0 ","Имя файла назначения [disk0]?"]} ... игнорирование
PLAY RECAP ************************************************************************************************************************************************************************************************************************************ 66.90.19.18: ok = 2изменено = 1 недоступно = 0 не удалось = 0
Кажется, никогда не хочется писать имя файла назначения [disk0]?Любые идеи