Spec-Zone.ru › Ansible 2.5

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

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

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

Описание

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

Параметры

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

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


Статус

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

Поддержка

Дополнительную информацию о поддержке этого модуля компанией 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.5/modules/vyos_command_module.html

Spec-Zone.ru

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