atc_deploy

Ansible Роль: Декларация развертывания инструмента автоматизации F5 (ATC)

Эта роль развертывает декларации на установленные службы цепочки инструментов автоматизации (AS3, DO, TS) на вашем BIG-IP или (AS3, DO) на вашем BIG-IQ. Вы будете использовать эту роль для отправки деклараций следующим службам цепочки автоматизации BIG-IP или BIG-IQ: расширение сервисов приложений 3, декларативная интеграция или потоковая телеметрия (только BIG-IP). Информация об этих службах и примеры деклараций доступны на f5-cloud-docs.

  • Примечание: эта роль определяет, какую службу использовать, по указанной декларации, которая должна содержать класс службы. Например, декларации AS3 будут содержать указатель на службу с использованием ключа "class" со значением "AS3" в файле json Пример. Обязательно определите указатели на службу в начале вашей декларации.

Требования

Соответствующая служба ATC должна быть установлена на BIG-IP или BIG-IQ перед развертыванием декларации.

Переменные роли

Доступные переменные перечислены ниже. Для их значений по умолчанию смотрите defaults/main.yml:

Переменная Обязательно По умолчанию Пример Информация
provider да - provider: "{{ provider }}" Словарь provider используется в роли для определения данных подключения к BIG-IP так же, как работают модули F5.
atc_method нет GET atc_method: GET
  • допустимые значения atc_method включают [POST, GET] для всех служб и [DELETE] только для AS3.
  • роль atc_deploy в настоящее время не поддерживает метод AS3 PATCH.
  • atc_declaration да - atc_declaration: "{{ lookup('template', 'decl.json') }}" Взаимоисключает с atc_declaration_file и atc_declaration_url
    atc_declaration_file да - atc_declaration_file: "files/decl.json" Взаимоисключает с atc_declaration и atc_declaration_url
    atc_declaration_url да - atc_declaration_url: "https://testurl/as3.json" Взаимоисключает с atc_declaration и atc_declaration_file
    atc_service нет - atc_service: AS3
  • Если предоставлена декларация, это автоматически выберет на основе содержимого
  • AS3
  • Устройство
  • Телеметрия
  • atc_delay да 30 atc_delay: 30 Количество секунд между повторными попытками при проверке, завершен ли асинхронный вызов
    atc_retries да 10 atc_retries: 10 Количество попыток, которое роль будет проверять, завершена ли задача, прежде чем завершится с ошибкой
    as3_tenant нет - as3_tenant: Tenant1 Начиная с AS3 3.14.0, вы можете использовать POST к endpoint /declare с конкретным арендатором в URI (например, …/declare/tenant1). Это обновляет только арендатора, которого вы указали, даже если в декларации есть другие арендаторы. Это может быть полезно в некоторых сценариях автоматизации с AS3.
    as3_show да base as3_show: base Вы можете использовать следующие параметры запросов URL для POST, GET или DELETE. Обязательные base означает система возвращает декларацию в первоначальном виде (но с зашифрованными секретами, такими как пароли), full возвращает декларацию со всеми свойствами схемы по умолчанию, expanded включает все URL, base64 и другие ссылки, развернутые до их окончательных статических значений.
  • Допустимые значения: base, full, expanded
  • as3_showhash нет - as3_showhash: true Вы можете использовать следующие параметры запросов URL для POST (Примечание: showHash для POST был введен в AS3 3.14.0 и будет работать только на 3.14.0 и более поздних версиях): это было введено как механизм защиты для арендаторов в декларации (ранее необходимо было использовать отдельный GET-запрос для получения оптимистичного замка). Если вы установите “showHash=true”, результаты включают optimisticLockKey для каждого арендатора. Попытки изменить/обновить любого из арендаторов без правильного optimisticLockKey не удастся.
    check_teem да true check_teem: true Обновляет декларацию AS3, чтобы включить версию Ansible для телеметрии.

    Зависимости

    Отсутствуют.

    Примеры

    GET AT Декларация

    - name: GET AT Декларация
      hosts: bigip
    
      tasks:
    
        - name: ATC GET
          include_role:
            name: atc_deploy
          vars:
            atc_method: GET
            # Выберите службу AS3, Устройство или Телеметрию
            atc_service: AS3
            provider:
              server: 192.168.1.245
              server_port: "443"
              user: admin
              password: admin
              validate_certs: "false"
              auth_provider: tmos
    
    - debug: var=atc_GET_status
    

    POST AT Декларация

    - name: POST AT Декларация
      hosts: bigip
    
      tasks:
    
        - name: ATC POST
          include_role:
            name: atc_deploy
          vars:
            atc_method: POST
            atc_declaration: "{{ lookup('template', 'decl.json') }}"
            # atc_declaration_file: files/as3.json
            # atc_declaration_url: "https://testurl/as3.json"
            atc_declaration_file: "files/as3.json"
            atc_delay: 10
            atc_retries: 5
            provider:
              server: 192.168.1.245
              server_port: "443"
              user: admin
              password: admin
              validate_certs: "false"
              auth_provider: tmos
    
        # atc_AS3_status, atc_DO_status , atc_TS_status
        - debug: var=atc_AS3_status
    

    Лицензия

    Apache

    Информация об авторе

    Эта роль была создана в 2019 году Greg Crosby.

    Благодарности

    Особая благодарность Винни Мацца (@vinnie357) за примеры плейбука ansible.

    О проекте

    Allows declaration to be sent to automation tool chain service (AS3, DO, or TS)

    Установить
    ansible-galaxy install f5devcentral/ansible-role-f5_atc_deploy_declaration
    Лицензия
    apache-2.0
    Загрузки
    21142
    Владелец
    Community Supported Repos