f5networks.f5_modules.bigip_command – Выполнение команд TMSH и BASH на устройствах F5
Примечание
Этот плагин входит в состав коллекции f5networks.f5_modules (версия 1.7.1).
Для его установки используйте: ansible-galaxy collection install f5networks.f5_modules.
Для использования в плейбуке укажите: f5networks.f5_modules.bigip_command.
Новое в версии 1.0.0: модуля f5networks.f5_modules
Описание
- Отправляет команду TMSH или BASH на узел BIG-IP и возвращает результаты, считанные с устройства. Этот модуль включает аргумент, который заставит модуль подождать выполнения определенного условия перед возвратом или истечением времени ожидания, если условие не выполнено.
- Этот модуль не является идемпотентным и никогда им не будет. Он предназначен как временная мера для удовлетворения потребностей автоматизации до тех пор, пока не будет разработан настоящий модуль для конфигурации нужным образом.
- Если вы используете этот модуль, рекомендуется также создать вопрос о создании действительного модуля для ваших потребностей.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| chdir строка | Перейти в этот каталог перед выполнением команды. | ||
| commands сырые данные / обязательный | Команды для отправки на удалённое устройство BIG-IP через настроенный провайдер. Результирующий вывод команды возвращается. Если указан аргумент wait_for, модуль не возвращается, пока условие не будет выполнено или не истечёт время ожидания. Поддерживаются только tmsh команды. Если вы используете перенаправление или добавляете дополнительную логику, которая выходит за рамки tmsh (например, grep, awk или другая логика оболочки, не являющаяся tmsh), эта функциональность не поддерживается. | ||
| interval целое число | Значение по умолчанию: 1 | Настраивает интервал ожидания в секундах между попытками выполнения команды. Если команда не удовлетворяет указанному условию, интервал указывает время ожидания перед повторной попыткой выполнения команды. | |
| match строка |
| Аргумент match используется совместно с аргументом wait_for для указания политики сопоставления. Допустимые значения — all или any. Если значение установлено на all, то все условия в wait_for должны быть выполнены. Если значение установлено на any, то должно быть выполнено только одно из условий. | |
| provider словарь добавлено в 1.0.0 f5networks.f5_modules | Объект dict, содержащий данные подключения. | ||
| auth_provider строка | Настраивает провайдер аутентификации для получения токенов аутентификации с удалённого устройства. Этот параметр используется при работе с устройствами BIG-IQ. | ||
| no_f5_teem логическое значение |
| Если yes, данные телеметрии TEEM не отправляются на F5.Вы можете опустить этот параметр, установив переменную среды F5_TEEM. | |
| 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 целое число | Указывает время ожидания в секундах для связи с сетевым устройством для подключения или отправки команд. Если время ожидания истекает до завершения операции, модуль выдаст ошибку. | ||
| transport строка |
| Настраивает транспортное соединение для подключения к удалённому устройству. | |
| user строка / обязательный | Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные привилегии на устройстве. Вы можете опустить этот параметр, установив переменную среды F5_USER. | ||
| validate_certs логическое значение |
| Если no, сертификаты SSL не проверяются. Используйте только на контролируемых вами сайтах с самозаверяемыми сертификатами.Вы можете опустить этот параметр, установив переменную среды F5_VALIDATE_CERTS. | |
| retries целое число | Значение по умолчанию: 10 | Указывает количество попыток выполнения команды перед признанием её неудачной. Команда выполняется на целевом устройстве при каждой попытке и проверяется по условиям wait_for. | |
| wait_for список / элементы=строка | Указывает, что следует оценить из вывода команды и какие условия применить. Этот аргумент заставит задачу подождать, пока определённое условие не станет истинным, прежде чем продолжить. Если условие не станет истинным до наступления числа попыток, задача завершается с ошибкой. См. примеры. псевдонимы: waitfor | ||
| warn логическое значение |
| Указывает, следует ли модулю выдавать предупреждения, связанные с идемпотентностью команд, или нет. Обратите внимание, что разработчики F5 Ansible специально оставляют это значение включённым, чтобы предупредить вас о том, что использование этого модуля может быть более целесообразно при использовании официальных F5 Ansible модулей. Этот модуль следует использовать в крайнем случае. | |
Примечания
Примечание
- При запуске этого модуля в среде HA через SSH-соединение и использовании роли, отличной от
adminилиroot, вы можете увидеть состояниеChange Pending, даже если вы не внесли никаких изменений. Это отслеживается с помощью ID429869. - При использовании модуля bigip_command с REST API в ряде мест используется регулярное выражение для экранирования символов, таких как кавычки. Если ваша команда TMSH содержит символы регулярных выражений, такие как подстановочные знаки datagroup
*, то может потребоваться большое количество символов экранирования. - Дополнительную информацию об использовании Ansible для управления устройствами F5 Networks см. на https://www.ansible.com/integrations/networks/f5.
- Требуется версия ПО BIG-IP ≥ 12.
- Модули F5 манипулируют только текущей конфигурацией продукта F5. Чтобы гарантировать сохранение конфигурации BIG-IP на диске, убедитесь, что вы включили как минимум одну задачу, использующую модуль f5networks.f5_modules.bigip_config, для сохранения текущей конфигурации. Обратитесь к документации модуля для правильного использования модуля для сохранения текущей конфигурации.
Примеры
- name: run show version on remote devices
bigip_command:
commands: show sys version
provider:
server: lb.mydomain.com
password: secret
user: admin
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
provider:
server: lb.mydomain.com
password: secret
user: admin
register: result
delegate_to: localhost
- name: run multiple commands on remote nodes
bigip_command:
commands:
- show sys version
- list ltm virtual
provider:
server: lb.mydomain.com
password: secret
user: admin
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
provider:
server: lb.mydomain.com
password: secret
user: admin
register: result
delegate_to: localhost
- name: tmsh prefixes will automatically be handled
bigip_command:
commands:
- show sys version
- tmsh list ltm virtual
provider:
server: lb.mydomain.com
password: secret
user: admin
delegate_to: localhost
- name: Delete all LTM nodes in Partition1, assuming no dependencies exist
bigip_command:
commands:
- delete ltm node all
chdir: Partition1
provider:
server: lb.mydomain.com
password: secret
user: admin
delegate_to: localhost
- name: Command that contains wildcard character to be passed to tmsh
bigip_command:
commands:
- modify ltm data-group internal dg_string records add { "my test\\\\\\\*string" { data "value" }}
provider:
server: lb.mydomain.com
password: secret
user: admin
delegate_to: localhost
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| failed_conditions список / элементы=строка | failed | Список условий, которые не были выполнены. Пример: ['...', '...'] |
| stdout список / элементы=строка | всегда | Набор ответов от команд. Пример: ['...', '...'] |
| stdout_lines список / элементы=строка | всегда | Значение stdout разбито на список. Пример: [['...', '...'], ['...'], ['...']] |
| warn логическое значение | changed | Указывает, следует ли выводить предупреждения о командах изменения. Пример: True |
Авторы
- Тим Рупп (@caphrim007)
- Войцех Выпиор (@wojtek0806)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/f5networks/f5_modules/bigip_command_module.html