Модуль f5networks.f5_modules.bigip_command – Выполнение команд TMSH и BASH на устройствах F5
Примечание
Этот модуль входит в коллекцию f5networks.f5_modules (версия 1.31.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install f5networks.f5_modules.
Чтобы использовать её в книге задач, укажите: f5networks.f5_modules.bigip_command.
Добавлена в f5networks.f5_modules 1.0.0
Описание
- Отправляет команду TMSH или BASH на узел BIG-IP и возвращает результаты, считанные с устройства. Этот модуль включает аргумент, который заставит модуль ожидать выполнения определённого условия перед возвратом или выхода по таймауту, если условие не выполнено.
- Этот модуль не является идемпотентным и никогда им не будет. Он предназначен как временная мера для удовлетворения требований автоматизации до тех пор, пока не будет разработан реальный модуль для нужной конфигурации.
- Если вы используете этот модуль, мы рекомендуем также открыть вопрос о создании полноценного модуля для ваших потребностей.
Параметры
Параметр | Комментарии |
|---|---|
chdir строка | Перейти в этот каталог перед выполнением команды. |
commands любой / обязательно | Команды, которые будут отправлены удалённому устройству BIG-IP через настроенного поставщика. Результат выполнения команды возвращается. Если аргумент wait_for указан, модуль не возвращается, пока условие не будет выполнено или не истечёт количество попыток. Поддерживаются только |
interval целое число | Настраивает интервал в секундах ожидания между повторами команды. Если команда не удовлетворяет указанному условию, интервал определяет, как долго ждать, прежде чем попробовать команду снова. По умолчанию: |
match строка | Аргумент match используется совместно с аргументом wait_for для задания политики соответствия. Допустимые значения — Варианты:
|
provider словарь добавлено в f5networks.f5_modules 1.0.0 | Объект типа dict, содержащий данные соединения. |
|
auth_provider строка |
Настраивает поставщика аутентификации для получения маркеров аутентификации с удалённого устройства. Этот параметр действительно используется при работе с устройствами BIG-IQ. |
|
no_f5_teem булево |
Если Вы можете опустить этот параметр, установив переменную среды Предыдущая переменная Варианты:
|
|
password псевдонимы: pass, pwd строка / обязательно |
Пароль для учётной записи пользователя, используемой для подключения к BIG-IP. Вы можете опустить этот параметр, установив переменную среды |
|
server строка / обязательно |
Хост BIG-IP. Вы можете опустить этот параметр, установив переменную среды |
|
server_port целое число |
Порт сервера BIG-IP. Вы можете опустить этот параметр, установив переменную среды По умолчанию: |
|
ssh_keyfile путь |
Указывает файл SSH-ключа для аутентификации подключения к удалённому устройству. Этот аргумент используется только для транспортов cli. Вы можете опустить этот параметр, установив переменную среды |
|
timeout целое число |
Параметр действует, когда Устанавливает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут истечёт до завершения операции, модуль выдаст ошибку. |
|
transport строка |
Настраивает транспортное соединение для использования при подключении к удалённому устройству. Варианты:
|
|
user строка / обязательно |
Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные права на устройстве. Вы можете опустить этот параметр, установив переменную среды |
|
validate_certs булево |
Если Вы можете опустить этот параметр, установив переменную среды Варианты:
|
retries целое число | Устанавливает количество попыток выполнения команды, прежде чем она будет считаться неудачной. Команда выполняется на целевом устройстве в каждой попытке и оценивается по условиям wait_for. По умолчанию: |
wait_for aliases: waitfor список / элементы=строка | Указывает, что нужно оценить из вывода команды и какие условия применить. Этот аргумент заставит задачу дождаться, пока определенное условие не станет истинным, прежде чем продолжить. Если условие не станет истинным к заданному количеству попыток, задача завершится ошибкой. См. примеры. |
warn логическое значение | Указывает, следует ли модулю генерировать предупреждения, связанные с идемпотентностью команды. Обратите внимание, что разработчики Ansible для F5 специально оставляют это включенным, чтобы предупредить вас о том, что ваше использование этого модуля может быть лучше реализовано с помощью официальных модулей Ansible для F5. Этот модуль следует использовать только в крайнем случае. Варианты:
|
Примечания
Примечание
- При запуске этого модуля в среде HA через подключение SSH и использовании роли, отличной от
adminилиroot, вы можете увидеть состояниеChange Pending, даже если вы не внесли никаких изменений. Это отслеживается с помощью идентификатора 429869. - При использовании модуля bigip_command с REST API в нескольких местах используется регулярное выражение для экранирования символов, таких как кавычки. Если ваша команда TMSH содержит символы регулярных выражений, такие как подстановочные знаки в группах данных
*, то может потребоваться большое количество символов экранирования. - При выполнении длительной команды необходимо задать достаточно большое значение для параметра timeout в блоке поставщика.
- Дополнительную информацию об использовании Ansible для управления устройствами F5 Networks см. на странице https://www.ansible.com/integrations/networks/f5.
- Требуется версия ПО BIG-IP >= 12.
- Чтобы указать
timeout, когдаtransportустановлено вcli, используйте переменную окруженияANSIBLE_PERSISTENT_COMMAND_TIMEOUTили укажитеcommand_timeoutв файле ansible.cfg, см. https://docs.ansible.com/ansible/latest/reference_appendices/config.html#persistent-command-timeout - Модули 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: sleep for 200 seconds
bigip_command:
commands: 'run /util bash -c "sleep 200"'
provider:
server: lb.mydomain.com
password: secret
user: admin
timeout: 210
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 Пример: |
Ссылки на сборку
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/f5networks/f5_modules/bigip_command_module.html