f5devcentral.atc_deploy

Rol de Ansible: Declaración de despliegue de la cadena de herramientas de automatización (ATC) de F5

Este rol despliega declaraciones a los servicios de la cadena de herramientas de automatización instalados (AS3, DO, TS) en tu BIG-IP o (AS3, DO) en tu BIG-IQ. Utilizarás este rol para enviar declaraciones a los siguientes servicios de cadena de herramientas de automatización de BIG-IP o BIG-IQ: extensión de servicios de aplicaciones 3, incorporación declarativa o transmisión de telemetría (solo BIG-IP). La información sobre estos servicios, junto con ejemplos de declaraciones, está disponible en f5-cloud-docs.

  • Nota: este rol determina qué servicio utilizar por la declaración referenciada, que debe contener la clase del servicio. Por ejemplo, las declaraciones AS3 contendrán un puntero de servicio usando la clave "class": con el valor "AS3" en un archivo json declarado Ejemplo. Asegúrate de definir los punteros de servicio al inicio de tu declaración.

Requisitos

El servicio ATC correspondiente debe estar instalado en BIG-IP o BIG-IQ antes de desplegar la declaración.

Variables del Rol

Las variables disponibles se enumeran a continuación. Para sus valores predeterminados, consulta defaults/main.yml:

Variable Requerida Predeterminado Ejemplo Información
provider - provider: "{{ provider }}" El diccionario provider se utiliza en el rol para definir detalles de conexión al BIG-IP de la misma manera que funcionan los Módulos de F5.
atc_method no GET atc_method: GET
  • Los valores aceptados para atc_method incluyen [POST, GET] para todos los servicios, y [DELETE] solo para AS3.
  • El rol atc_deploy actualmente no soporta el método PATCH de AS3.
  • atc_declaration - atc_declaration: "{{ lookup('template', 'decl.json') }}" Exclusivo con atc_declaration_file y atc_declaration_url
    atc_declaration_file - atc_declaration_file: "files/decl.json" Exclusivo con atc_declaration y atc_declaration_url
    atc_declaration_url - atc_declaration_url: "https://testurl/as3.json" Exclusivo con atc_declaration y atc_declaration_file
    atc_service no - atc_service: AS3
  • Si se proporciona una declaración, esto seleccionará automáticamente según el contenido
  • AS3
  • Dispositivo
  • Telemetría
  • atc_delay 30 atc_delay: 30 Segundos entre reintentos al verificar si una llamada asíncrona está completa
    atc_retries 10 atc_retries: 10 Número de veces que el rol verificará si una tarea ha terminado antes de fallar
    as3_tenant no - as3_tenant: Tenant1 A partir de AS3 3.14.0, tienes la opción de usar POST en el punto final /declare con un inquilino específico en la URI (por ejemplo …/declare/tenant1). Esto solo actualiza el inquilino que especificaste, incluso si hay otros inquilinos en la declaración. Esto puede ser útil en algunos escenarios de automatización que involucran AS3.
    as3_show base as3_show: base Puedes usar los siguientes parámetros de consulta de URL para POST, GET o DELETE. Se requiere base significa que el sistema devuelve la declaración tal como se implementó originalmente (pero con secretos como frases de contraseña encriptadas), full devuelve la declaración con todas las propiedades del esquema predeterminado pobladas, expanded incluye todas las URL, base64 y otras referencias ampliadas a sus valores estáticos finales.
  • Los valores aceptables incluyen: base, full, expanded
  • as3_showhash no - as3_showhash: true Puedes usar los siguientes parámetros de consulta de URL para POST (Nota: showHash para POST fue introducido en AS3 3.14.0 y solo funcionará en 3.14.0 y versiones posteriores): Esto se introdujo como un mecanismo de protección para inquilinos en una declaración (anteriormente tenías que usar una solicitud GET separada para recuperar el bloqueo optimista). Si configuras “showHash=true”, los resultados incluyen una clave optimisticLockKey para cada inquilino. Los intentos de cambiar/actualizar cualquiera de los inquilinos sin la clave optimisticLockKey correcta fallarán.
    check_teem true check_teem: true Actualiza la declaración de AS3 para incluir la versión de Ansible para telemetría.

    Dependencias

    Ninguna.

    Ejemplos

    Obtener Declaración AT

    - name: Obtener Declaración AT
      hosts: bigip
    
      tasks:
    
        - name: ATC GET
          include_role:
            name: atc_deploy
          vars:
            atc_method: GET
            # Selecciona el servicio como AS3, Dispositivo o Telemetría
            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
    

    Publicar Declaración AT

    - name: Publicar Declaración 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
    

    Licencia

    Apache

    Información del Autor

    Este rol fue creado en 2019 por Greg Crosby.

    Agradecimientos

    Un agradecimiento especial a Vinnie Mazza (@vinnie357) por los ejemplos de playbook de ansible.

    Acerca del proyecto

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

    Instalar
    ansible-galaxy install f5devcentral.atc_deploy
    Licencia
    apache-2.0
    Descargas
    21.2k
    Propietario
    Community Supported Repos