f5networks.f5_modules.bigip_command – Выполнение команд TMSH и BASH на устройствах F5
Примечание
Этот плагин входит в коллекцию f5networks.f5_modules (версия 1.6.0).
Для его установки используйте: 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 или другую shell-логику, которая не является tmsh), это поведение не поддерживается. | ||
| interval целое число | По умолчанию: 1 | Настраивает интервал в секундах для ожидания между повторами команды. Если команда не удовлетворяет указанному условию, интервал определяет, сколько времени нужно подождать, прежде чем повторить её выполнение. | |
| match строка |
| Аргумент match используется в сочетании с аргументом wait_for для указания политики соответствия. Допустимые значения — all или any. Если значение установлено на all, все условия в wait_for должны быть выполнены. Если значение установлено на any, должно быть выполнено только одно из условий. | |
| provider словарь добавлен в 1.0.0 f5networks.f5_modules | Объект словаря, содержащий данные подключения. | ||
| 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 булево значение |
| Указывает, следует ли модулю поднимать предупреждения, связанные с идемпотентностью команд, или нет. Обратите внимание, что разработчики Ansible F5 специально оставляют это значение включенным, чтобы сообщить вам, что ваше использование этого модуля может быть лучше реализовано с помощью официальных модулей Ansible F5. Этот модуль следует использовать только в крайних случаях. | |
Примечания
Примечание
- При запуске этого модуля в среде HA через SSH-соединение и использовании роли, отличной от
adminилиroot, вы можете увидеть статусChange Pending, даже если вы не внесли никаких изменений. Это отслеживается с помощью ID429869. - Для получения дополнительной информации об использовании 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
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| failed_conditions список / элементы=строка | неудача | Список условий, которые не были выполнены. Пример: ['...', '...'] |
| stdout список / элементы=строка | всегда | Набор ответов команд. Пример: ['...', '...'] |
| stdout_lines список / элементы=строка | всегда | Значение stdout разделено на список. Пример: [['...', '...'], ['...'], ['...']] |
| warn булево значение | изменилось | Указывает, следует ли поднимать предупреждения о командах изменения. Пример: True |
Авторы
- Tim Rupp (@caphrim007)
- Wojciech Wypior (@wojtek0806)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/f5networks/f5_modules/bigip_command_module.html