Spec-Zone.ru › Ansible 2.7

bigip_command – Выполнение произвольной команды на устройствах F5

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

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Описание

  • Отправляет произвольную команду узлу BIG-IP и возвращает результаты, считанные с устройства. Этот модуль включает аргумент, который заставит модуль подождать определённого условия перед возвратом или при выходе по таймауту, если условие не выполнено.
  • Этот модуль не является идемпотентным и, скорее всего, им и не будет. Он предназначен как временная мера для удовлетворения требований автоматизации до тех пор, пока не будет разработан настоящий модуль для настройки нужным образом.
  • Если вы используете этот модуль, вам, вероятно, также следует создать проблему, чтобы разработать полноценный модуль для ваших нужд.

Требования

Ниже перечислены требования, необходимые на хосте, выполняющем этот модуль.

  • f5-sdk >= 3.0.16

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
chdir
-
добавлено в 2.6
Изменить текущую директорию перед выполнением команды.
commands
- / обязательно
Команды, которые нужно отправить удалённому устройству BIG-IP через настроенный поставщик. Результирующий вывод команды возвращается. Если аргумент wait_for предоставлен, модуль не возвращается до тех пор, пока условие не выполняется или количество попыток не истекло.
Поддерживаются только команды tmsh. Если вы используете перенаправление или добавляете дополнительную логику, которая находится за пределами tmsh (например, grep, awk или другие оболочечные вещи, которые не являются tmsh), это поведение не поддерживается.
interval
-
По умолчанию:
1
Настраивает интервал в секундах ожидания между попытками повторного выполнения команды. Если команда не удовлетворяет указанному условию, интервал указывает, как долго ждать перед повторной попыткой.
match
-
    Варианты:
  • any
  • all ←
Аргумент match используется совместно с аргументом wait_for для указания политики сопоставления. Допустимые значения — all или any. Если значение установлено на all, все условия в wait_for должны быть выполнены. Если значение установлено на any, должно быть выполнено только одно из условий.
password
- / обязательно
Пароль для учетной записи пользователя, используемой для подключения к BIG-IP.
Вы можете опустить этот параметр, установив переменную окружения F5_PASSWORD.

псевдонимы: pass, pwd
provider
-
добавлено в 2.5
По умолчанию:
null
Объект словаря, содержащий данные подключения.
password
- / обязательно
Пароль для учетной записи пользователя, используемой для подключения к BIG-IP.
Вы можете опустить этот параметр, установив переменную окружения F5_PASSWORD.

псевдонимы: pass, pwd
server
- / обязательно
Хост BIG-IP.
Вы можете опустить этот параметр, установив переменную окружения F5_SERVER.
server_port
-
По умолчанию:
443
Порт сервера BIG-IP.
Вы можете опустить этот параметр, установив переменную окружения F5_SERVER_PORT.
ssh_keyfile
-
Указывает файл SSH-ключа для аутентификации подключения к удалённому устройству. Этот аргумент используется только для транспортов cli.
Вы можете опустить этот параметр, установив переменную окружения ANSIBLE_NET_SSH_KEYFILE.
timeout
-
По умолчанию:
10
Устанавливает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут истечёт до завершения операции, модуль выдаст ошибку.
transport
- / обязательно
    Варианты:
  • rest
  • cli ←
Настраивает транспортное соединение для подключения к удалённому устройству.
user
- / обязательно
Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные привилегии на устройстве.
Вы можете опустить этот параметр, установив переменную окружения F5_USER.
validate_certs
boolean
    Варианты:
  • no
  • yes ←
Если no, сертификаты SSL не проверяются. Используйте только на сайтах, контролируемых вами, которые используют самозаверяющие сертификаты.
Вы можете опустить этот параметр, установив переменную окружения F5_VALIDATE_CERTS.
retries
-
По умолчанию:
10
Указывает количество попыток повтора выполнения команды, прежде чем она будет считаться неудачной. Команда выполняется на целевом устройстве при каждой повторной попытке и оценивается по условиям wait_for.
server
- / обязательно
Хост BIG-IP.
Вы можете опустить этот параметр, установив переменную окружения F5_SERVER.
server_port
-
добавлено в 2.2
По умолчанию:
443
Порт сервера BIG-IP.
Вы можете опустить этот параметр, установив переменную окружения F5_SERVER_PORT.
transport
- / обязательно
добавлено в 2.5
    Варианты:
  • rest ←
  • cli
Настраивает транспортное соединение для подключения к удалённому устройству. Аргумент transport поддерживает подключение к устройству через cli (ssh) или rest.
user
- / обязательно
Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные привилегии на устройстве.
Вы можете опустить этот параметр, установив переменную окружения F5_USER.
validate_certs
boolean
добавлено в 2.0
    Варианты:
  • no
  • yes ←
Если no, сертификаты SSL не проверяются. Используйте только на сайтах, контролируемых вами, которые используют самозаверяющие сертификаты.
Вы можете опустить этот параметр, установив переменную окружения F5_VALIDATE_CERTS.
wait_for
-
Указывает, что нужно оценивать из вывода команды и какие условия применять. Этот аргумент заставит задачу подождать, пока определённое условие не станет истинным, прежде чем продолжить. Если условие не становится истинным в течение заданного количества попыток, задача завершается с ошибкой. См. примеры.

псевдонимы: waitfor
warn
boolean
добавлено в 2.6
    Варианты:
  • no
  • yes ←
Выводить ли модулем предупреждения, связанные с идемпотентностью команды.
Обратите внимание, что разработчики F5 Ansible специально оставляют это включённым, чтобы предупредить вас о том, что ваш способ использования этого модуля может быть лучше реализован с помощью официальных модулей F5 Ansible. Этот модуль следует использовать в крайнем случае.

Примечания

Примечание

  • Для получения дополнительной информации об использовании Ansible для управления устройствами F5 Networks см. https://www.ansible.com/integrations/networks/f5.
  • Требуется пакет Python f5-sdk на хосте. Это так же просто, как pip install f5-sdk.
  • Требуется версия ПО BIG-IP >= 12.
  • Модули F5 изменяют только текущую конфигурацию продукта F5. Чтобы убедиться, что специфическая конфигурация BIG-IP сохраняется на диске, обязательно включите по крайней мере одну задачу, использующую модуль bigip_config для сохранения текущей конфигурации. Обратитесь к документации модуля для правильного использования модуля для сохранения текущей конфигурации.

Примеры

- name: run show version on remote devices
  bigip_command:
    commands: show sys version
    server: lb.mydomain.com
    password: secret
    user: admin
    validate_certs: no
  delegate_to: localhost

- name: run show version and check to see if output contains BIG-IP
  bigip_command:
    commands: show sys version
    wait_for: result[0] contains BIG-IP
    server: lb.mydomain.com
    password: secret
    user: admin
    validate_certs: no
  register: result
  delegate_to: localhost

- name: run multiple commands on remote nodes
  bigip_command:
    commands:
      - show sys version
      - list ltm virtual
    server: lb.mydomain.com
    password: secret
    user: admin
    validate_certs: no
  delegate_to: localhost

- name: run multiple commands and evaluate the output
  bigip_command:
    commands:
      - show sys version
      - list ltm virtual
    wait_for:
      - result[0] contains BIG-IP
      - result[1] contains my-vs
    server: lb.mydomain.com
    password: secret
    user: admin
    validate_certs: no
  register: result
  delegate_to: localhost

- name: tmsh prefixes will automatically be handled
  bigip_command:
    commands:
      - show sys version
      - tmsh list ltm virtual
    server: lb.mydomain.com
    password: secret
    user: admin
    validate_certs: no
  delegate_to: localhost

- name: Delete all LTM nodes in Partition1, assuming no dependencies exist
  bigip_command:
    commands:
      - delete ltm node all
    chdir: Partition1
    server: lb.mydomain.com
    password: secret
    user: admin
    validate_certs: no
  delegate_to: localhost

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

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

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

Пример:
['...', '...']
stdout
список
всегда
Набор ответов от команд.

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

Пример:
[['...', '...'], ['...'], ['...']]
warn
логическое значение
изменено
Выводить или нет предупреждения о командах изменения.

Пример:
True


Статус

  • Этот модуль гарантированно не будет содержать обратной несовместимости в будущем. [stableinterface]
  • Этот модуль поддерживается партнером Ansible. [certified]

Авторы

  • Tim Rupp (@caphrim007)

Подсказка

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

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

Spec-Zone.ru

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