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 | |
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 | |
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. |
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.
Allows declaration to be sent to automation tool chain service (AS3, DO, or TS)
ansible-galaxy install f5devcentral.atc_deploy