Spec-Zone.ru › Ansible

Модуль f5networks.f5_modules.bigip_command — выполнение команд TMSH и BASH на устройствах F5

Примечание

Этот модуль входит в коллекцию f5networks.f5_modules (версия 1.39.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

string

Перейти в этот каталог перед выполнением команды.

commands

any / обязательный

Команды, отправляемые удалённому устройству BIG-IP через настроенный поставщик. Возвращается результат выполнения команды. Если указан аргумент wait_for, модуль не возвращает результат, пока условие не будет выполнено или не истечёт число повторных попыток.

Поддерживаются только команды tmsh. Если вы используете конвейер или добавляете дополнительную логику за пределами tmsh (например, grep, awk или другую логику оболочки, которая не относится к tmsh), такое поведение не поддерживается.

interval

integer

Задаёт интервал в секундах между повторными попытками выполнения команды. Если команда не соответствует указанному условию, интервал определяет, сколько времени ждать перед повторным запуском команды.

По умолчанию: 1

match

string

Аргумент match используется совместно с аргументом wait_for для задания политики сопоставления. Допустимые значения: all или any. Если задано значение all, должны быть выполнены все условия в wait_for. Если задано значение any, достаточно выполнения только одного из условий.

Варианты:

  • "any"
  • "all" ← (по умолчанию)

provider

dictionary

добавлено в f5networks.f5_modules 1.0.0

Объект dict, содержащий сведения о подключении.

auth_provider

string

Настраивает поставщика аутентификации для получения токенов аутентификации с удалённого устройства.

Этот параметр используется главным образом при работе с устройствами BIG-IQ.

no_f5_teem

boolean

Если задано yes, телеметрические данные TEEM не отправляются в F5.

Этот параметр можно не указывать, задав переменную среды F5_TELEMETRY_OFF.

Ранее использовавшаяся переменная F5_TEEM устарела, поскольку её название вводило в заблуждение.

Варианты:

  • false ← (по умолчанию)
  • true

password

псевдонимы: pass, pwd

string / обязательный

Пароль учётной записи пользователя, используемой для подключения к BIG-IP.

Этот параметр можно не указывать, задав переменную среды F5_PASSWORD.

server

string / обязательный

Узел BIG-IP.

Этот параметр можно не указывать, задав переменную среды F5_SERVER.

server_port

integer

Порт сервера BIG-IP.

Этот параметр можно не указывать, задав переменную среды F5_SERVER_PORT.

По умолчанию: 443

ssh_keyfile

path

Указывает файл ключа SSH для аутентификации при подключении к удалённому устройству. Этот аргумент используется только для транспорта cli.

Этот параметр можно не указывать, задав переменную среды ANSIBLE_NET_SSH_KEYFILE.

timeout

integer

Параметр действует, когда transport имеет значение rest

Задаёт время ожидания в секундах при подключении к сетевому устройству или отправке ему команд. Если время ожидания истекает до завершения операции, модуль выдаёт ошибку.

transport

string

Настраивает транспортное подключение для связи с удалённым устройством.

Варианты:

  • "cli"
  • "rest" ← (по умолчанию)

user

string / обязательный

Имя пользователя для подключения к BIG-IP. У этого пользователя должны быть права администратора на устройстве.

Этот параметр можно не указывать, задав переменную среды F5_USER.

validate_certs

boolean

Если задано no, сертификаты SSL не проверяются. Используйте это только на контролируемых вами сайтах с самоподписанными сертификатами.

Этот параметр можно не указывать, задав переменную среды F5_VALIDATE_CERTS.

Варианты:

  • false
  • true ← (по умолчанию)

retries

integer

Задаёт число попыток выполнения команды, после которого она считается неудачной. При каждой попытке команда выполняется на целевом устройстве и проверяется на соответствие условиям wait_for.

По умолчанию: 10

wait_for

псевдоним: waitfor

list / элементы=string

Задаёт, какие данные из вывода команды проверять и какие условия применять. Этот аргумент заставляет задачу ожидать выполнения определённого условия, прежде чем продолжить работу. Если условие не выполнено за заданное число повторных попыток, задача завершается с ошибкой. См. примеры.

warn

boolean

Следует ли модулю выдавать предупреждения, связанные с идемпотентностью команд.

Разработчики F5 Ansible специально оставляют эту настройку включённой, чтобы обратить ваше внимание на то, что для ваших задач лучше могут подойти официальные модули F5 Ansible. Этот модуль следует использовать только в крайнем случае.

Варианты:

  • false
  • true ← (по умолчанию)

Примечания

Примечание

  • При запуске этого модуля в среде высокой доступности через SSH-подключение с ролью, отличной от admin или root, может отображаться состояние Change Pending, даже если вы не вносили изменений. Эта проблема отслеживается под номером ID429869.
  • При использовании модуля bigip_command с REST API в нескольких местах для экранирования символов, например кавычек, внутри используется регулярное выражение. Если сама ваша команда TMSH содержит символы регулярных выражений, например подстановочные знаки datagroup *, может потребоваться большое количество символов экранирования.
  • При выполнении длительной команды необходимо задать достаточно большое значение параметра timeout в блоке provider.
  • Дополнительные сведения об использовании 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

list / элементы=string

Список условий, которые не были выполнены.

Возвращается: failed

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

stdout

list / элементы=string

Набор ответов на команды.

Возвращается: всегда

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

stdout_lines

list / элементы=string

Значение stdout, разделённое на список.

Возвращается: всегда

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

warn

boolean

Выдавать ли предупреждения о командах изменения конфигурации.

Возвращается: при изменении

Пример: true

Авторы

  • Tim Rupp (@caphrim007)
  • Wojciech Wypior (@wojtek0806)

Ссылки на коллекцию

  • Отслеживание проблем
  • Домашняя страница
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/f5networks/f5_modules/bigip_command_module.html

Spec-Zone.ru

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