У меня проблема с запуском модуля ios_command с Ansible.Я пытаюсь выполнить несколько команд, и выходные данные хранятся в переменной.
Она отлично работает, за исключением случаев, когда одна из команд недоступна на коммутаторе Cisco и возвращает «Обнаружен неверный ввод».Если это произойдет, ни одна из выходных данных какой-либо из команд не будет сохранена в переменной.
Вот очень простой пример:
- name: "Running commands"
ios_command:
commands:
- show version
- show run
register: data_output
ignore_errors: yes
В идеальной ситуации, как show version, так и showrun возвращает пригодный для использования вывод и, таким образом, сохраняется и используется в data_output.stdout [0] и data_output.stdout [1].
Однако, когда «show run» недоступен на коммутаторе, я получаю следующую ошибку иничего не хранится:
TASK [Running commands] *******************************************
fatal: [40.27.254.12]: FAILED! => {"changed": false, "msg": "show run\\r\\n ^\\r\\n% Invalid input detected at '^' marker.\\r\\n\\r\\nR022DC3N5701>"}
...ignoring
TASK [Debug output] ************************************************************
ok: [40.27.254.12] => {
"data_output": {
"changed": false,
"failed": true,
"msg": "show run\\r\\n ^\\r\\n% Invalid input detected at '^' marker.\\r\\n\\r\\nR022DC3N5701>"
}
}
Есть идеи, как это смягчить?Мне нужно выполнить несколько команд IOS на сотнях коммутаторов.Некоторые будут работать нормально, некоторые будут возвращать вывод, как мы видим выше, где команда недоступна для запуска.