f5devcentral.atc_deploy

Ansible Rolle: F5 Automatisierungstool-Kette (ATC) Bereitstellungserklärung

Diese Rolle stellt Deklarationen für installierte Automatisierungstool-Ketten-Dienste (AS3, DO, TS) auf Ihrem BIG-IP oder (AS3, DO) auf Ihrem BIG-IQ bereit. Sie würden diese Rolle nutzen, um Deklarationen an die folgenden BIG-IP oder BIG-IQ Automatisierungstool-Ketten-Dienste zu senden: Application Services 3 Erweiterung, deklaratives Onboarding oder Telemetrie-Streaming (nur BIG-IP). Informationen zu diesen Diensten sowie Beispiel-Deklarationen sind auf f5-cloud-docs verfügbar.

  • Hinweis: Diese Rolle bestimmt, welchen Dienst sie verwenden soll, basierend auf der referenzierten Deklaration, die die Dienstklasse enthalten sollte. Zum Beispiel enthalten AS3-Deklarationen einen Dienstzeiger mit dem Schlüssel "class": mit dem Wert "AS3" in der als JSON deklarierten Datei Beispiel. Stellen Sie sicher, dass Sie die Dienstzeiger zu Beginn Ihrer Deklaration definieren.

Anforderungen

Der entsprechende ATC-Dienst muss auf BIG-IP oder BIG-IQ installiert sein, bevor Sie die Deklaration bereitstellen.

Rollenvariablen

Die verfügbaren Variablen sind unten aufgelistet. Für ihre Standardwerte siehe defaults/main.yml:

Variable Erforderlich Standard Beispiel Info
provider ja - provider: "{{ provider }}" Das provider-Dictionary wird in der Rolle verwendet, um Verbindungsdetails zu BIG-IP auf die gleiche Weise wie bei F5-Modulen zu definieren.
atc_method nein GET atc_method: GET
  • Akzeptierte Werte für atc_method sind [POST, GET] für alle Dienste und [DELETE] nur für AS3.
  • Die Rolle atc_deploy unterstützt derzeit die AS3 PATCH-Methode nicht.
  • atc_declaration ja - atc_declaration: "{{ lookup('template', 'decl.json') }}" Ausschließlich mit atc_declaration_file und atc_declaration_url vereinbar.
    atc_declaration_file ja - atc_declaration_file: "files/decl.json" Ausschließlich mit atc_declaration und atc_declaration_url vereinbar.
    atc_declaration_url ja - atc_declaration_url: "https://testurl/as3.json" Ausschließlich mit atc_declaration und atc_declaration_file vereinbar.
    atc_service nein - atc_service: AS3
  • Wenn eine Deklaration bereitgestellt wird, wird dies automatisch basierend auf dem Payload ausgewählt
  • AS3
  • Gerät
  • Telemetrie
  • atc_delay ja 30 atc_delay: 30 Sekunden zwischen Wiederholungen, wenn überprüft wird, ob ein Async-Aufruf abgeschlossen ist.
    atc_retries ja 10 atc_retries: 10 Anzahl der Male, die die Rolle nach einer abgeschlossenen Aufgabe sucht, bevor sie fehlschlägt.
    as3_tenant nein - as3_tenant: Tenant1 Ab AS3 3.14.0 haben Sie die Möglichkeit, POST an den /declare-Endpunkt mit einem bestimmten Mandanten in der URI zu verwenden (zum Beispiel …/declare/tenant1). Dies aktualisiert nur den angegebenen Mandanten, auch wenn in der Deklaration noch andere Mandanten vorhanden sind. Dies kann in bestimmten Automatisierungsszenarien mit AS3 nützlich sein.
    as3_show ja base as3_show: base Sie können die folgenden URL-Abfrageparameter für POST, GET oder DELETE verwenden. Erforderlich base bedeutet dass das System die Deklaration wie ursprünglich bereitgestellt zurückgibt (aber mit geheimen Passwörtern wie Passphrasen verschlüsselt); "full" gibt die Deklaration mit allen Standard-Schema-Eigenschaften zurück; "expanded" umfasst alle URLs, Base64-Codierungen und andere Referenzen, die auf ihre endgültigen statischen Werte erweitert werden.
  • Akzeptable Werte sind: base, full, expanded
  • as3_showhash nein - as3_showhash: true Sie können die folgenden URL-Abfrageparameter für POST verwenden (Hinweis: showHash für POST wurde in AS3 3.14.0 eingeführt und funktioniert nur auf 3.14.0 und später): Dies wurde als Schutzmechanismus für Mandanten in einer Deklaration eingeführt (früher mussten Sie eine separate GET-Anfrage verwenden, um den optimistischen Lock abzurufen). Wenn Sie „showHash=true“ setzen, sind die Ergebnisse ein optimistischer Lock-Schlüssel für jeden Mandanten. Versuche, einen der Mandanten ohne den richtigen optimistischen Lock-Schlüssel zu ändern oder zu aktualisieren, werden fehlschlagen.
    check_teem ja true check_teem: true Aktualisiert die AS3-Deklaration, um die Ansible-Version für Telemetrie einzuschließen.

    Abhängigkeiten

    Keine.

    Beispiele

    GET AT Erklärung

    - name: GET AT Erklärung
      hosts: bigip
    
      tasks:
    
        - name: ATC GET
          include_role:
            name: atc_deploy
          vars:
            atc_method: GET
            # Wählen Sie den Dienst als AS3, Gerät oder Telemetrie aus
            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 Erklärung

    - name: POST AT Erklärung
      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
    

    Lizenz

    Apache

    Autorinformationen

    Diese Rolle wurde 2019 von Greg Crosby erstellt.

    Dank

    Ein besonderer Dank geht an Vinnie Mazza (@vinnie357) für die Beispiele des Ansible Playbooks.

    Über das Projekt

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

    Installieren
    ansible-galaxy install f5devcentral.atc_deploy
    Lizenz
    apache-2.0
    Downloads
    21.2k
    Besitzer
    Community Supported Repos