ahuffman.sat6_create_hosts

Ansible Rolle

ahuffman.sat6_create_hosts

Eine Ansible-Rolle zum Erstellen neuer virtueller und physischer Hosts in Satellite 6.x. Version 2 der Satellite6 API ist erforderlich.

Rollenvariablen

Variablenname Erforderlich Beschreibung Typ Standard
sat6_fqdn ja Vollqualifizierter Domänenname des Satellite 6 Hosts. string ""
sat6_user ja Benutzername des Satellite 6 Benutzers, der Zugriff hat, um neue Hosts zu erstellen. string ""
sat6_pass ja Passwort des Satellite 6 Benutzers, der Zugriff hat, um neue Hosts zu erstellen. Dies sollte zur Sicherheit verschlüsselt werden. string ""
sat6_organization ja Satellite6-Organisation, in der die Hosts erstellt werden, die in sat6_hosts definiert sind. string ""
sat6_fail_on_existing nein Fehler bei der Playbook-Ausführung, wenn einer der in sat6_hosts definierten Hosts bereits in Satellite6 existiert. Nützlich, wenn Benachrichtigungen in Ansible Tower verwendet werden und man im Falle eines Fehlers benachrichtigt werden möchte. Wahr bedeutet Fehler, wenn ein Host existiert, Falsch bedeutet nur eine Zusammenfassung ausgeben und ermöglicht ein idempotentes Ausführen. (d.h. man kann das Playbook immer wieder ausführen und es werden nur Hosts erstellt, die nicht existieren) boolean Falsch
sat6_power_on_delay nein Sekunden, um die Erstellungsaktion einer neuen virtuellen Maschine und das Einschalten zu verzögern (um potenzielle Rennbedingungen zu vermeiden, während die VM im externen System erstellt wird) integer 30
sat6_hosts ja Satellite 6 Hosts, die erstellt werden sollen Liste von Wörterbüchern []

sat6_hosts Wörterbuchfelder - Allgemein

Felder, die für die Erstellung physischer oder virtueller Hosts verwendet werden können.

Feldname Erforderlich Beschreibung Typ
name ja Hostname des zu erstellenden Hosts string
comment nein Ein Kommentar, der in den zusätzlichen Informationen des Hosts angezeigt wird. Eine kurze Beschreibung, wofür der Host dient. string
domain nein Name der Satellite6-Domain, mit der der Host erstellt werden soll. Nicht erforderlich, wenn die Standard-Domain der Host-Gruppe verwendet werden soll; andernfalls überschreibt dies die Standard-Domain der Host-Gruppe. string
host_group ja Name der Satellite6 Host-Gruppe, mit der der neue Host erstellt werden soll. Wenn Host-Gruppen geschachtelt werden, wäre dies der Hostgruppenname in der Form hostgroup1/hostgroup2/hostgroup3, auch bekannt als title in der API. string
ipv4 nein IPv4-Adresse, die dem Host zugewiesen werden soll. Nicht erforderlich, wenn die Host-Gruppe so konfiguriert ist, dass sie eine IPv4-Adresse über ipam oder dhcp vorschlägt. string
location ja Name des Standorts in Satellite6, an dem der Host bereitgestellt wird. string
partition_table nein Name der Satellite6-Partitionstabelle, mit der der Host erstellt werden soll. Nicht erforderlich, wenn die Standardpartitionstabelle der Host-Gruppe übernommen werden soll. string
subnet nein Name des Satellite6-Subnets, mit dem der Host erstellt werden soll. Nicht erforderlich, wenn die Standard-Subnet der Host-Gruppe übernommen werden soll. string
parameters nein Liste zusätzlicher, hostspezifischer Parameter von Satellite6, die für den Host festgelegt werden sollen. Dies ist nützlich bei nachträglichen Bereitstellungsaufgaben und wenn man bedingte Werte basierend auf diesen Werten verwenden möchte. Liste von Wörterbüchern
register_only nein Ob nur der Host-Eintrag in Satellite6 erstellt werden soll (im Gegensatz zu tatsächlicher Bereitstellung und Einschalten) (Standard ist Falsch). Funktionalität hinzugefügt für andere Anwendungsfälle als die Bereitstellung (z.B. Client-Registrierung mit angegebenem Standort). Wenn diese Methode zur Host-Erstellung verwendet wird, müssen Rechenressourcen und Profile angegeben werden, da sie nicht von der Host-Gruppe abgefragt werden. boolean
manage_host nein Wenn register_only: True und force_host_update: True verwendet werden, wird der Build-Zyklus des Hosts von Satellite6 verwaltet. Standard ist Falsch.
force_host_update nein Wenn register_only: True verwendet wird, wird der Satellite6-Host auf die angegebenen Optionen aktualisiert. Standard ist Falsch. boolean
provision_method nein Bereitstellungsmethode build oder image. Standard ist build string

sat6_hosts Wörterbuchfelder - Virtual

Feldname Erforderlich Beschreibung Typ
compute_profile nein Name des Satellite6-Rechenprofils, mit dem der Host bereitgestellt werden soll. Wenn nicht angegeben, wird das Standardprofil der Host-Gruppe verwendet. string
compute_resource ja Name der Satellite6-Rechenressource, auf der der Host bereitgestellt werden soll. string

sat6_hosts Wörterbuchfelder - Physisch

Feldname Erforderlich Beschreibung Typ
mac ja MAC-Adresse des physischen Hosts, den Sie bereitstellen möchten. string

sat6_hosts.parameters Wörterbuchfelder

Feldname Erforderlich Beschreibung Typ
name ja Name des zu erstellenden Parameters string
value ja Wert des zu erstellenden Parameters string

Debugging

Um die vollständige Debugging-Ausgabe anzuzeigen, erhöhen Sie die Detailgenauigkeit auf 1 (ausführlich) in Ansible Tower oder fügen Sie ein einzelnes -v in Ansible Core/Engine hinzu.

Beispiel-Playbook

    ---
    - name: "ahuffman.sat6_create_hosts Beispiel-Playbook"
      hosts: "localhost"
      vars_files:
        - "vars/myvaultedsecrets.yml"
      tasks:
        - name: "Bereitstellung von Satellite 6 Hosts"
          include_role:
            name: "ahuffman.sat6_create_hosts"
          vars:
            sat6_fqdn: "mysat6server.mydomain.com"
            sat6_user: "mysat6admin"
            #sat6_pass: "dies wird in der vars/myvaultedsecrets.yml-Datei festgelegt"
            sat6_organization: "meine Organisation"
            sat6_fail_on_existing: True
            #Es wird empfohlen, sat6_hosts als extra_variable zu übergeben, aber Sie können 
            #sat6_fail_on_existing: False festlegen, um das Playbook idempotenter auszuführen, falls Sie
            #alle sat6 Hosts, die Sie in der Quellkontrolle erstellen, verfolgen möchten.
            sat6_hosts:
              #VM
              - name: "meine-neue-vm"
                host_group: "RHEL7-Virtual"
                location: "Raleigh"
                ipv4: "192.168.122.24"
                domain: "redhat.com"
                comment: "Webserver für die coole neue Webseite"
                compute_resource: "vsphere.vmware.com" #Dies ist der Name Ihrer Rechenressource
                compute_profile: "3-Groß"
                parameters:
                  - name: "build_type"
                    value: "httpd"
              #Bare-metal
              - name: "meine-neue-bare-metal"
                host_group: "RHEL7-Physical"
                location: "Raleigh"
                ipv4: "192.168.122.25"
                domain: "redhat.com"
                comment: "Datenbankserver"
                mac: "12:34:56:78:91:23"
              #Nur registrieren (d.h. nur erstellen)
              - name: "host1"
                host_group: "RHEL7-Virtual"
                location: "Raleigh"
                ipv4: "192.168.122.26"
                domain: "redhat.com"
                comment: "Vorregistrierung des Host-Eintrags"
                register_only: True
              #Aktualisierung eines bestehenden Hosts (entschuldigen Sie den schwachen Witz)
              - name: "meine-neue-vm"
                host_group: "RHEL7-Virtual"
                location: "Armonk"
                ipv4: "192.168.122.24"
                comment: "Migrierte Q3"
                domain: "ibm.com"
                parameters:
                  - name: "build_type"
                    value: "ihs"
                register_only: True # bedeutet, dass keine Bereitstellung versucht wird
                force_host_update: True # Host aktualisieren, wenn er existiert
              #Verwalten von Host-Bauten (Bereitstellung) bei derzeit nicht verwalteten vorhandenen Hosts
              - name: "irgendeinalterserver"
                host_group: "RHEL7-Physical"
                mac: "32:34:56:78:91:23"
                domain: "redhat.com"
                location: "Raleigh"
                register_only: True
                force_host_update: True
                manage_host: True

Lizenz

MIT

Autor Informationen

Andrew J. Huffman

Über das Projekt

An Ansible role to create new virtual and bare-metal hosts in Satellite 6.x.

Installieren
ansible-galaxy install ahuffman.sat6_create_hosts
GitHub Repository
Lizenz
mit
Downloads
5.1k