nl2go.hetzner_vswitch

Travis (.org) branch Codecov Ansible Galaxy GitHub tag (latest by date) Ansible Galaxy Downloads

Ansible Rolle: Hetzner vSwitch

Eine Ansible Rolle, die Hetzner Robot vSwitch verwaltet.

Voraussetzungen

Anforderungen

Name Typ Version Ort
ansible-filter Python-Paket 1.0.1 Steuerknoten

Rollenvariablen

Verfügbare Variablen sind unten aufgeführt, zusammen mit den Standardwerten (siehe defaults/main.yml):

hetzner_vswitch_webservice_base_url: https://robot-ws.your-server.de

Basis-URL, die auf die Hetzner Robot API verweist. Diese Variable wird hauptsächlich für Testzwecke verwendet, es ist nicht nötig, den Standardwert zu ändern.

hetzner_vswitch_webservice_username: robot

Webservice-Benutzername. Kann wie im Abschnitt Zugangsdaten ändern (Hetzner Wiki) beschrieben gesetzt/geändert werden.

hetzner_vswitch_webservice_password: geheim

Webservice-Passwort. Kann wie im Abschnitt Zugangsdaten ändern (Hetzner Wiki) beschrieben gesetzt/geändert werden.

hetzner_vswitch_instances:
  - name: Neuer vSwitch
    vlan: 1234

Mehrere vSwitch-Instanzen können mit der Variable hetzner_vswitch_instances verwaltet werden. Ein vSwitch wird durch das Attribut name identifiziert. Der Name muss eindeutig sein, um Kollisionen/unerwartetes Verhalten zu vermeiden. Das Attribut state für einen vSwitch ist standardmäßig auf present gesetzt.

hetzner_vswitch_instances:
  - name: Neuer vSwitch
    interface: vlan1
  

Der virtuelle Schnittstellenname für das vSwitch-basierte Netzwerk kann mit dem Schlüsselwort interface angegeben werden. Bei eth0 als physischer Schnittstelle und 1234 als VLAN-ID wird standardmäßig eth0.1234 verwendet, falls nicht gesetzt.

hetzner_vswitch_instances:
  - name: Neuer vSwitch
    state: absent

Um sicherzustellen, dass der vSwitch entfernt wird, fügen Sie state: absent hinzu. Das Attribut name bleibt erforderlich, um den ursprünglichen Zustand zu identifizieren.

hetzner_vswitch_host:
  - name: Neuer vSwitch

Jeder Host kann an einen oder mehrere vSwitches gebunden werden, die in hetzner_vswitch_instances definiert sind, indem die Variable hetzner_vswitch_host verwendet wird. vSwitches werden durch das Attribut name referenziert.

Hosts ohne definierte hetzner_vswitch_host-Variable werden von der Rolle ignoriert.

hetzner_vswitch_host:
  - name: Neuer vSwitch
    state: absent

Fügen Sie state: absent hinzu, um einen Host von einem vSwitch zu trennen.

hetzner_vswitch_instances:
  - name: Neuer vSwitch
    vlan: 4001
    ipv4_address: 192.168.100.0
    ipv4_netmask: 255.255.255.0
       
hetzner_vswitch_host:
  - name: Neuer vSwitch
    ipv4_address: 192.168.100.1
               

Um die zugrunde liegende Netzwerkkonfiguration zu verwalten, müssen ipv4_address und ipv4_netmask in hetzner_vswitch_instances vorhanden sein. Eine spezielle Host-IP-Adresse muss als ipv4_address in der Variable hetzner_vswitch_host angegeben werden.

hetzner_vswitch_webservice_concurrent_requests: 1
hetzner_vswitch_webservice_concurrent_poll: 1

Um die Ausführung der Rolle zu beschleunigen, während die vSwitch-Konfiguration mit mehreren vSwitches behandelt wird, kann die Anzahl der parallelen Anfragen an die Hetzner Robot API mit der Variable hetzner_vswitch_webservice_concurrent_requests gesteuert werden. Das Polling-Intervall für die Verarbeitung von asynchronen Anfragen wird mit hetzner_vswitch_webservice_concurrent_poll festgelegt. Weitere Informationen finden Sie in der offiziellen Dokumentation zu Asynchronen Aktionen und Polling.

Tags

Tags können verwendet werden, um die Ausführung der Rolle auf eine bestimmte Aufgabenmodul zu beschränken. Die folgenden Tags sind verfügbar:

  • hetzner_vswitch: Deckt den gesamten Lebenszyklus der Rolle ab.
  • hetzner_vswitch_install, install: Installiert erforderliche Pakete.
  • hetzner_vswitch_config, config: Konfiguriert verwandte Pakete und Ressourcen.
  • hetzner_vswitch_vswitch, config: Verwaltet die vSwitch-Konfiguration mit der Hetzner Robot API.
  • hetzner_vswitch_vswitch_server, config: Fügt Server zu/von einem vSwitch mit der Hetzner Robot API hinzu/entfernt.
  • hetzner_vswitch_host, config: Konfiguriert Netzwerkeinstellungen auf den Zielhosts.
  • hetzner_vswitch_handle, handle: Führt Handler bei Bedarf aus.

Abhängigkeiten

Keine.

Beispiel-Playbook

- hosts: alle
  roles:
     - nl2go.hetzner_vswitch

Entwicklung

Verwenden Sie docker-molecule und folgen Sie den Anweisungen, um Molecule auszuführen oder installieren Sie Molecule lokal (nicht empfohlen, es können Versionskonflikte auftreten).

Verwenden Sie Folgendes, um Tests auszuführen:

molecule test --all

Pflege

Lizenz

Siehe die LICENSE.md Datei für Details.

Autoreninformation

Diese Rolle wurde 2019 von Newsletter2Go GmbH erstellt.

Über das Projekt

Manage Hetzner Robot vSwitch (https://wiki.hetzner.de/index.php/Vswitch/en) using Ansible.

Installieren
ansible-galaxy install nl2go.hetzner_vswitch
GitHub Repository
Lizenz
Unknown
Downloads
11.2k