Spec-Zone.ru › Ansible 2.6

vyos_command - Запуск одной или нескольких команд на устройствах VyOS

Новая версия 2.2.

  • Обзор
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
  • Техническое обслуживание
    • Поддержка
    • Автор

Обзор

  • Модуль команды позволяет запускать одну или несколько команд на удаленных устройствах, работающих под управлением VyOS. Этот модуль также можно использовать для проверки параметров перед успешным возвратом. Если условия не выполняются в течение заданного времени ожидания, задача завершается неудачно.
  • Определенные show команды в VyOS генерируют большое количество строк вывода и используют пользовательскую страницу вывода, что может привести к зависанию данного модуля. Если переменная среды ANSIBLE_VYOS_TERMINAL_LENGTH не задана, используется значение по умолчанию 10000.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
commands
обязательно
Упорядоченный набор команд для выполнения на удаленном устройстве, работающем под управлением VyOS. Вывод выполнения команды возвращается в playbook. Если указан аргумент wait_for, модуль не возвращает результат, пока условие не выполнится или не будет превышено количество попыток.
interval Значение по умолчанию:
1
Настраивает интервал в секундах ожидания между повторными попытками выполнения команды. Если команда не удовлетворяет указанным условиям, интервал указывает время ожидания перед повторной попыткой выполнения команды.
match
    Варианты:
  • any
  • all ←
Аргумент match используется совместно с аргументом wait_for для определения политики соответствия. Допустимые значения — all или any. Если значение установлено в all, то должны выполняться все условия в wait_for. Если значение установлено в any, то должно выполняться хотя бы одно из условий.
provider
Устаревший
Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli.
Для получения дополнительной информации см. Руководство по сети.
Объект типа dict, содержащий данные подключения.
host
обязательно
Указывает имя хоста DNS или адрес для подключения к удаленному устройству по указанному транспорту. Значение host используется в качестве адреса назначения для транспорта.
port Значение по умолчанию:
22
Указывает порт для подключения к удаленному устройству.
username
Указывает имя пользователя для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_USERNAME.
password
Указывает пароль для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_PASSWORD.
timeout Значение по умолчанию:
10
Указывает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут истекает до завершения операции, модуль выдаст ошибку.
ssh_keyfile
Указывает SSH-ключ для аутентификации подключения к удаленному устройству. Это значение — путь к ключу, используемому для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_SSH_KEYFILE.
retries Значение по умолчанию:
10
Указывает количество попыток выполнения команды, после чего она считается неудачной. Команда выполняется на целевом устройстве при каждой повторной попытке и оценивается по условиям wait_for.
wait_for
Указывает, что следует оценивать из вывода команды и какие условия применять. Этот аргумент заставит задачу ожидать выполнения определенного условия, прежде чем продолжить. Если условие не выполняется в течение заданного количества retries, задача завершается неудачно. См. примеры.

Псевдонимы: waitfor

Примечания

Примечание

  • Тестировалось на VYOS 1.1.7
  • Запуск show system boot-messages all приведет к зависанию модуля, так как VyOS использует пользовательскую настройку вывода для отображения результата этой команды.
  • Если отправленная на устройство команда требует ввода ответа, можно передать словарь, содержащий command, answer и prompt. См. примеры.
  • Для получения дополнительной информации об использовании Ansible для управления сетевыми устройствами см. Руководство по сети Ansible

Примеры

tasks:
  - name: show configuration on ethernet devices eth0 and eth1
    vyos_command:
      commands:
        - show interfaces ethernet {{ item }}
    with_items:
      - eth0
      - eth1

  - name: run multiple commands and check if version output contains specific version string
    vyos_command:
      commands:
        - show version
        - show hardware cpu
      wait_for:
        - "result[0] contains 'VyOS 1.1.7'"

  - name: run command that requires answering a prompt
    vyos_command:
      commands:
        - command: 'rollback 1'
          prompt: 'Proceed with reboot? [confirm][y]'
          answer: y

Возвращаемые значения

Общие возвращаемые значения описаны в здесь, следующие поля уникальны для этого модуля:

Ключ Возвращаемое значение Описание
failed_conditions
список
неудача
Список условий, которые не выполнены

Пример:
['...', '...']
stdout
список
всегда, кроме ошибок низкого уровня (например, плагин действия)
Набор ответов от команд

Пример:
['...', '...']
stdout_lines
список
всегда
Значение stdout, разделенное на список

Пример:
[['...', '...'], ['...'], ['...']]
warnings
список
всегда
Список предупреждений (если есть), сгенерированных модулем на основе аргументов

Пример:
['...', '...']


Статус

Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется как обратная совместимость.

Техническое обслуживание

Этот модуль помечен как сетевой, что означает, что его поддерживает Ansible Network Team. Подробности см. в Техническом обслуживании модулей и поддержке.

Список других модулей, также поддерживаемых Ansible Network Team, см. в здесь.

Поддержка

Дополнительную информацию о поддержке этого модуля компанией Red Hat см. в этой статье базы знаний

Автор

  • Nathaniel Case (@qalthos)

Подсказка

Если вы обнаружите какие-либо проблемы в этом документе, вы можете изменить его, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/vyos_command_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API