f5devcentral.atc_deploy

Rola Ansible: Deklaracja wdrożenia narzędzi automatyzacji F5 (ATC)

Ta rola wdraża deklaracje do zainstalowanych usług narzędzi automatyzacji (AS3, DO, TS) na Twoim BIG-IP lub (AS3, DO) na Twoim BIG-IQ. Użyjesz tej roli do wysyłania deklaracji do następujących usług narzędzi automatyzacji BIG-IP lub BIG-IQ: rozszerzenie usług aplikacyjnych 3, deklaratywne wprowadzenie lub strumieniowanie telemetryczne (tylko BIG-IP). Informacje dotyczące tych usług oraz przykłady deklaracji są dostępne na stronie f5-cloud-docs.

  • uwaga: ta rola decyduje, którą usługę użyć na podstawie podanej deklaracji, która powinna zawierać klasę usługi. Na przykład, deklaracje AS3 będą zawierać wskaźnik usługi używając klucza "class": z wartością "AS3" w pliku json Przykład. Upewnij się, że zdefiniujesz wskaźniki usług na początku swojej deklaracji.

Wymagania

Odpowiednia usługa ATC musi być zainstalowana na BIG-IP lub BIG-IQ przed wdrożeniem deklaracji.

Zmienne roli

Dostępne zmienne są wymienione poniżej. Ich domyślne wartości można znaleźć w defaults/main.yml:

Zmienna Wymagana Domyślna Przykład Informacje
provider tak - provider: "{{ provider }}" Słownik provider jest używany w roli do definiowania szczegółów połączenia z BIG-IP w taki sam sposób, jak działają moduły F5.
atc_method nie GET atc_method: GET
  • Akceptowane wartości atc_method to [POST, GET] dla wszystkich usług oraz [DELETE] tylko dla AS3.
  • Rola atc_deploy obecnie nie obsługuje metody AS3 PATCH.
  • atc_declaration tak - atc_declaration: "{{ lookup('template', 'decl.json') }}" Wzajemnie wykluczające się z atc_declaration_file i atc_declaration_url
    atc_declaration_file tak - atc_declaration_file: "files/decl.json" Wzajemnie wykluczające się z atc_declaration i atc_declaration_url
    atc_declaration_url tak - atc_declaration_url: "https://testurl/as3.json" Wzajemnie wykluczające się z atc_declaration i atc_declaration_file
    atc_service nie - atc_service: AS3
  • Jeśli podano deklarację, to automatycznie wybierze na podstawie ładunku
  • AS3
  • Urządzenie
  • Telemetria
  • atc_delay tak 30 atc_delay: 30 Sekundy między próbami, gdy sprawdzane jest, czy wywołanie asynchroniczne jest zakończone
    atc_retries tak 10 atc_retries: 10 Liczba razy, kiedy rola sprawdzi, czy zadanie zostało zakończone przed wystąpieniem błędu
    as3_tenant nie - as3_tenant: Tenant1 Zaczynając od AS3 3.14.0, masz opcję użycia POST do punktu końcowego /declare z określonym najemcą w URI (na przykład …/declare/tenant1). To aktualizuje tylko wybranego najemcę, nawet jeśli w deklaracji są inni najemcy. Może to być użyteczne w niektórych scenariuszach automatyzacji związanych z AS3.
    as3_show tak base as3_show: base Możesz użyć następujących parametrów zapytań URL dla POST, GET lub DELETE. Wymagane base oznacza że system zwraca deklarację tak, jak została pierwotnie wdrożona (ale z sekretami, takimi jak hasła, zaszyfrowanymi), full zwraca deklarację ze wszystkimi domyślnymi właściwościami schematu, expanded zawiera wszystkie adresy URL, base64 i inne odniesienia rozszerzone do ich ostatecznych statycznych wartości.
  • Akceptowalne wartości to: base, full, expanded
  • as3_showhash nie - as3_showhash: true Możesz użyć następujących parametrów zapytań URL dla POST (Uwaga: showHash dla POST został wprowadzony w AS3 3.14.0 i będzie działał tylko w wersji 3.14.0 i późniejszych): zostało to wprowadzone jako mechanizm ochronny dla najemców w deklaracji (wcześniej musiałeś użyć osobnego zapytania GET, aby uzyskać klucz blokady optymistycznej). Jeśli ustawisz “showHash=true”, wyniki zawierają klucz optymistycznej blokady dla każdego najemcy. Próby zmiany/aktualizacji jakichkolwiek najemców bez poprawnego klucza blokady optymistycznej zakończą się niepowodzeniem.
    check_teem tak true check_teem: true Aktualizuje deklarację AS3, aby zawierała wersję Ansible do telemetrii.

    Zależności

    Brak.

    Przykłady

    Pobranie deklaracji AT

    - name: Pobierz deklarację AT
      hosts: bigip
    
      tasks:
    
        - name: ATC GET
          include_role:
            name: atc_deploy
          vars:
            atc_method: GET
            # Wybierz usługę jako AS3, Urządzenie lub Telemetria
            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
    

    Wysłanie deklaracji AT

    - name: Wyślij deklarację 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
    

    Licencja

    Apache

    Informacje o autorze

    Ta rola została stworzona w 2019 roku przez Greg Crosby.

    Podziękowania

    Specjalne podziękowania dla Vinnie Mazza (@vinnie357) za przykłady skryptów ansible.

    O projekcie

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

    Zainstaluj
    ansible-galaxy install f5devcentral.atc_deploy
    Licencja
    apache-2.0
    Pobrania
    21.2k
    Właściciel
    Community Supported Repos