pbicskei.classify
Rollenname
Eine Rolle, die die einfache Klassifizierung aus ansible_facts vereinfacht.
Die Klassifizierung Proxmox p24.xlarge
steht für einen Proxmox
-Host mit ansible_processor_count
, der 24
entspricht, und ansible_memtotal_mb
, der größer als 32456
ist.
Die Klassifizierung Raspberry a4.large
steht für einen Arm
-Host mit ansible_processor_count
, der 4
entspricht, und ansible_memtotal_mb
, der zwischen 4096
und 8096
liegt.
Die Klassifizierung Generic g4.nano
steht für einen Generic
-Host mit ansible_processor_count
, der 4
entspricht, und ansible_memtotal_mb
, der zwischen 4096
und 8096
liegt.
Im Proxmox-Beispiel ist der führende Buchstabe basierend auf ansible_kernel
wie folgt:
- name: Proxmox Hypervisor
set_fact:
type: p
type_desc: "{{ ansible_distribution }} Proxmox"
when: '"pve" in ansible_kernel'
Diese Karten werden basierend auf 2 Variablen generiert: size_map
und type_map
, die beide in defaults/main.yml zu finden sind.
Anforderungen
Hier sollten alle Voraussetzungen erwähnt werden, die möglicherweise nicht von Ansible selbst oder der Rolle abgedeckt sind. Beispielsweise, wenn die Rolle das EC2-Modul verwendet, wäre es gut zu erwähnen, dass das boto-Paket erforderlich ist.
Rollenvariablen
Hier sollte eine Beschreibung der einstellbaren Variablen für diese Rolle stehen, einschließlich aller Variablen, die in defaults/main.yml, vars/main.yml und aller Variablen, die über Parameter an die Rolle übergeben werden können/sollten. Alle Variablen, die aus anderen Rollen und/oder dem globalen Bereich (d. h. hostvars, group vars usw.) gelesen werden, sollten hier ebenfalls erwähnt werden.
Abhängigkeiten
Hier sollte eine Liste anderer Rollen aufgeführt werden, die auf Galaxy gehostet werden, sowie alle Einzelheiten zu Parametern, die möglicherweise für andere Rollen festgelegt werden müssen, oder Variablen, die aus anderen Rollen verwendet werden.
Beispiel-Playbook
Ein Beispiel, wie man die Rolle verwendet (z. B. mit übergebenen Variablen als Parameter), ist immer hilfreich für die Benutzer:
Verwendung der Standardtabelle:
- hosts: servers
roles:
- pbicskei.classify
Verwendung einer benutzerdefinierten Tabelle:
- hosts: servers
roles:
- pbicskei.classify
vars:
type_map:
- { name: "Hypervisor", letter: "hv", kernel_match: "pve" }
- { name: "Compute(ARM)", letter: "a", kernel_match: "raspi" }
- { name: "Generic", letter: "g", kernel_match: "default" }
size_map:
- { name: "nanite", min: 1, max: 1024 }
- { name: "microbe", min: 1024, max: 2048 }
- { name: "insect", min: 2048, max: 4092 }
- { name: "hamster", min: 4092, max: 8184 }
- { name: "hund", min: 8184, max: 16368 }
- { name: "pferd", min: 16368, max: 32736 }
- { name: "elefant", min: 32736, max: 65472 }
- { name: "wal", min: 65472, max: 130944 }
roles:
- pbicskei.classify
Lizenz
BSD
Autoreninformation
Ein optionaler Abschnitt, in dem die Autoren der Rolle Kontaktinformationen oder eine Website angeben können (HTML ist nicht erlaubt).
ansible-galaxy install pbicskei.classify