rockandska.rabbitmq

ansible-role-rabbitmq

Ansible-Rolle zur Installation von RabbitMQ aus dem RabbitMQ-Repository. Verfügbar auf Ansible Galaxy

Ansible Galaxy : Galaxy Score

Travis Build : Build Status

Kompatibilität

RabbitMQ
3.6.x Abgekündigt
3.7.x Abgekündigt
3.8 OK
> 3.8 Nicht getestet
Distribution
CentOS 7 OK
CentOS > 7 Nicht getestet
Debian 9 OK
Debian > 9 Nicht getestet
Ubuntu bionic OK
Ubuntu > bionic Nicht getestet

Anforderungen an Remote-Hosts

Alle Distributionen

  • ansible-role-erlang angewendet (vergessen Sie nicht, eine erlang-Serie zu verwenden, die mit der RabbitMQ-Version kompatibel ist, die installiert wird. Siehe RabbitMQ-Dokumentation)
  • socat
  • logrotate
  • python requests >= 1.0.0 (wenn Bindungen, Exchanges und Queue-Management von dieser Rolle verwendet wird)
  • Für einen Cluster sollten die Hosts, die Teil des Clusters sind, über ihre Hostnamen auflösbar sein.

Debian / Ubuntu

  • apt-transport-https
  • gpg-agent
  • ca-certificates

CentOS / RedHat

  • gnupg2

Variablen der Rolle

Standardeinstellungen befinden sich in defaults/main.yml

---
###########
# Installation #
###########
rabbitmq_series: 3.8
rabbitmq_series_rpm_version:
rabbitmq_series_deb_version:

rabbitmq_rpm_repo_url: https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/rpm/el
rabbitmq_rpm_gpg_url: https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key
rabbitmq_rpm_repo_tpl: etc/yum.repos.d/rabbitmq.repo.j2
rabbitmq_rpm_disable_repo:
rabbitmq_rpm_enable_repo:

rabbitmq_deb_repo_url: https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb
rabbitmq_deb_gpg_url: https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key
rabbitmq_deb_repo_tpl: etc/apt/sources.list.d/rabbitmq.list.j2
rabbitmq_deb_pinning_tpl: etc/apt/preferences.d/rabbitmq.j2

#################
# Benutzerdefinierte Konfiguration #
#################
rabbitmq_vars_files: []

rabbitmq_sysctl_tpl: etc/rabbitmq/sysctl.conf.j2
rabbitmq_sysctl_config: {}

rabbitmq_erlang_tpl: etc/rabbitmq/erlang.config.j2
rabbitmq_erlang_config:

rabbitmq_env_tpl: etc/rabbitmq/rabbitmq-env.conf.j2
rabbitmq_env_config: {}

rabbitmq_node_name:

rabbitmq_systemd_override_tpl: etc/systemd/system/rabbitmq-server.service.d/override.conf.j2
rabbitmq_systemd_override: {}

rabbitmq_custom_logrotate_tpl: etc/logrotate.d/rabbitmq-server.j2
rabbitmq_custom_logrotate:

rabbitmq_users_groups: []

###########
# Cluster #
###########
rabbitmq_is_master:
rabbitmq_slave_of:
rabbitmq_peer_discovery_classic: true
rabbitmq_cluster_node_type: disc
rabbitmq_internode_ssl_config:

###########
# Plugins #
###########
rabbitmq_plugins_to_enable: []
rabbitmq_plugins_to_disable: []

#########
# Benutzer #
#########
rabbitmq_users_to_create: []
rabbitmq_users_to_delete: []

#####################
# Globale Parameter #
#####################
rabbitmq_global_parameters_to_create: []
rabbitmq_global_parameters_to_delete: []

############
# API-Benutzer #
############
rabbitmq_management_user:
rabbitmq_management_password:
rabbitmq_management_host:
rabbitmq_management_port:
rabbitmq_management_protocol:
rabbitmq_management_ca_cert:
rabbitmq_management_client_cert:
rabbitmq_management_client_key:

##########
# Vhosts #
##########
rabbitmq_vhosts_to_create: []
rabbitmq_vhosts_to_delete: []

##########
# Queues #
##########
rabbitmq_queues_to_create: []
rabbitmq_queues_to_delete: []

############
# Exchanges #
############
rabbitmq_exchanges_to_create: []
rabbitmq_exchanges_to_delete: []

############
# Bindings #
############
rabbitmq_bindings_to_create: []
rabbitmq_bindings_to_delete: []

############
# Richtlinien #
############
rabbitmq_policies_to_create: []
rabbitmq_policies_to_delete: []

##############
# Parameter #
##############
rabbitmq_parameters_to_create: []
rabbitmq_parameters_to_delete: []

#########
# Debug #
#########
rabbitmq_hide_log: true

Details

  • rabbitmq_series

    • sollte eine Fließkommazahl sein (3.8 verfügbar am 07.07.2021)
  • rabbitmq_rpm_repo_url

    • Basis-URL des Repositories, das für die yum-Vorlage verwendet wird
  • rabbitmq_rpm_gpg_url

    • gpg-Schlüssel, der für die yum-Vorlage verwendet wird
  • rabbitmq_rpm_repo_tpl

    • Pfad zur yum-Repository-Vorlage
    • Wenn Sie Ihre eigene Vorlage verwenden möchten,
      • fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis templates hinzu
      • verwenden Sie einen anderen Pfad als den Standard
      • behalten Sie den Repositorynamen als rabbitmq
  • rabbitmq_series_rpm_version

    • installieren Sie eine bestimmte Version der rabbitmq_series für Centos / Redhat-Systeme
    • Beispiel:
      3.8.11-1.el7
      3.8.10-1.el7
      3.8.9-1.el7
      3.8.8-1.el7
      
  • rabbitmq_rpm_disable_repo

    • verwendet, wenn Sie die Möglichkeit nutzen möchten, einige Repositories beim Installieren von RabbitMQ zu deaktivieren

    • Standard: ""

    • Beispiel:

      rabbitmq_rpm_disable_repo: "*"
      
  • rabbitmq_rpm_enable_repo

    • verwendet, wenn Sie die Möglichkeit nutzen möchten, nur einige Repositories zu aktivieren, falls Sie rabbitmq_rpm_disable_repo: "*" bei der Installation von RabbitMQ verwenden

    • Standard: ""

    • Beispiel:

      rabbitmq_rpm_enable_repo: "rabbitmq"
      
  • rabbitmq_deb_repo_url

    • Basis-URL des Repositories, das für die apt-Vorlage verwendet wird
  • rabbitmq_deb_gpg_url

    • gpg-Schlüssel, der für die apt-Vorlage verwendet wird
  • rabbitmq_deb_repo_tpl

    • Pfad zur apt-Repository-Vorlage
    • Wenn Sie Ihre eigene Vorlage verwenden möchten,
      • fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis templates hinzu
      • verwenden Sie einen anderen Pfad als den Standard
  • rabbitmq_deb_pinning_tpl

    • Pfad zur apt-Pinning-Vorlage
    • Wenn Sie Ihre eigene Vorlage verwenden möchten,
      • fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis templates hinzu
      • verwenden Sie einen anderen Pfad als den Standard
  • rabbitmq_series_deb_version

    • installieren Sie eine bestimmte Version der rabbitmq_series für Debian-Systeme
    • Beispiel:
      3.8.11-1
      3.8.10-1
      3.8.9-1
      3.8.8-1
      
  • rabbitmq_vars_files

    • Liste von Variablendateien, die verwendet werden, um Standardvariablen bei Bedarf zu überschreiben
    • wenn relative Pfade verwendet werden, legen Sie diese Dateien neben Ihrem Playbook im Verzeichnis vars
    • Beispiel:
      rabbitmq_vars_files:
        - settings.yml
      
  • rabbitmq_sysctl_tpl

    • Pfad zur RabbitMQ-Sysctl-Konfigurationsvorlage
    • gilt nur für Versionen >= 3.7 (Siehe RabbitMQ-Dokumente)
    • Wenn Sie Ihre eigene Vorlage verwenden möchten,
      • fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis templates hinzu
      • verwenden Sie einen anderen Pfad als den Standard
  • rabbitmq_sysctl_config

    • ein Wörterbuch, das die benutzerdefinierte RabbitMQ-Sysctl-Konfiguration darstellt, die angewendet werden soll
    • jede Ebene des Wörterbuchs wird durch einen Punkt verbunden.
    • Stellen Sie spezielle Variablen in doppelte Anführungszeichen (Beispiel: "true")
    • Beispiele:
      rabbitmq_sysctl_config:
        listeners:
          tcp:
            default: 5673
        tcp_listen_options:
          linger:
            on: "true"
       # Resultiert in rabbitmq.conf als:
       # tcp_listen_options.linger.on = true
       # listeners.tcp.default = 5673
      
  • rabbitmq_erlang_tpl

    • Pfad zur RabbitMQ-Erlang-Konfigurationsvorlage
    • Wenn Sie Ihre eigene Vorlage verwenden möchten,
      • fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis templates hinzu
      • verwenden Sie einen anderen Pfad als den Standard
  • rabbitmq_erlang_config

    • ein mehrzeiliger String mit der RabbitMQ-Konfiguration im Erlang-Format, die angewendet werden soll
    • wird als rabbitmq.config für Versionen <=3.6 verwendet
    • wird als advanced.conf für Versionen >=3.7 verwendet
    • umhüllen Sie die Konfiguration nicht mit [ und ]. Das geschieht innerhalb der Vorlage
    • Beispiel:
    rabbitmq_erlang_config: |
      {rabbit, [
          {tcp_listeners, [{"127.0.0.1", 5672}]}
        ]
      }
    
  • rabbitmq_env_tpl

    • Pfad zur RabbitMQ-Umgebungs-Konfigurationsvorlage
    • wenn Sie Ihre eigene Vorlage verwenden möchten,
      • fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis templates hinzu
      • verwenden Sie einen anderen Pfad als den Standard
    • einige Umgebungsvariablen werden automatisch gesetzt, wenn SSL für die Internodes aktiviert ist
      • ERL_SSL_PATH
      • SERVER_ADDITIONAL_ERL_ARGS
      • RABBITMQ_CTL_ERL_ARGS
  • rabbitmq_env_config:

    • ein Wörterbuch, das die Umgebungs-Konfiguration darstellt
    • der Schlüssel sollte der Name der Umgebungsvariablen sein
    • der Wert sollte der Inhalt der Variablen sein
    • Beispiel:
      rabbitmq_env_config:
        NODENAME: "bunny@myhost"
      
  • rabbitmq_node_name:

    • ein String, der den zu verwendenden Knotennamen darstellt
    • verwenden Sie ihn, wenn Sie den Nodename über rabbitmq_env_config ändern
    • Beispiel:
      rabbitmq_node_name: "bunny@myhost"
      
  • rabbitmq_systemd_override_tpl

    • Pfad zur RabbitMQ-Systemd-Überschreibvorlage
    • wenn Sie Ihre eigene Vorlage verwenden möchten,
      • fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis templates hinzu
      • verwenden Sie einen anderen Pfad als den Standard
  • rabbitmq_systemd_override

    • ein Wörterbuch, das die Systemd-Überschreibkonfiguration darstellt
    • die erste Ebene wird für die ini-Sektion verwendet
    • die zweite Ebene wird für den Schlüssel/Wert verwendet
    • Beispiel:
      rabbitmq_systemd_override:
        Service:
          LimitNOFILE: 30000
      # Resultiert in der Systemd-Überschreibdatei als:
      # [Service]
      # LimitNOFILE=30000
      
  • rabbitmq_custom_logrotate_tpl

    • Pfad zur benutzerdefinierten Logrotationsvorlage von RabbitMQ
    • wenn Sie Ihre eigene Vorlage verwenden möchten,
      • fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis templates hinzu
      • verwenden Sie einen anderen Pfad als den Standard
  • rabbitmq_custom_logrotate

    • ein mehrzeiliger String mit den Logrotate-Optionen für RabbitMQ-Logs

    • wird die Standardkonfiguration überschreiben

    • /!\ Seien Sie sich bewusst, dass wenn Sie die Standard-Logrotate-Konfiguration durch eine benutzerdefinierte ersetzen, die angewendete Konfiguration bestehen bleibt, auch wenn Sie diese Variable zurücksetzen

    • Beispiel:

      rabbitmq_custom_logrotate: |
        weekly
        missingok
        rotate 40
        compress
        notifempty
      # Resultiert in der Logrotate-Konfigurationsdatei als:
      # /var/log/rabbitmq/*.log {
      #   weekly
      #   missingok
      #   rotate 40
      #   compress
      #   notifempty
      # }
      
  • rabbitmq_users_groups

    • eine Liste von Benutzern und Benutzermodulargumenten (Name, Gruppen, Anhängen)

    • wird verwendet, um Benutzer nach der RabbitMQ-Installation Gruppen zuzuweisen/hinzufügen

    • Beispiel:

      rabbitmq_users_groups:
        - name: rabbitmq
          groups: ssl-cert
          append: true
      
  • rabbitmq_is_master

    • true / false

    • markiert den Host als Master

    • nicht obligatorisch bei der Standalone-Installation

    • wird nur verwendet, um zu wissen, auf welchem Knoten die API-Aufrufe und Befehle ausgeführt werden und wo das Cookie propagiert wird.

    • Beispiel:

      rabbitmq_is_master: true
      
  • rabbitmq_slave_of

    • Inventarname des Masters, dem beigetreten werden soll

    • markiert den Host als Slave

    • nicht obligatorisch bei der Standalone-Installation

    • muss ein Hostname/IP/Alias sein, der im Inventar existiert

    • Beispiel:

      rabbitmq_slave_of: rabbitmq-master.internal
      
  • rabbitmq_peer_discovery_classic

    • Standard: true
    • die Clusterkonfiguration wird automatisch generiert und zur Konfigurationsdatei hinzugefügt, basierend auf den Inventarnamen (hängt von rabbitmq_is_master, rabbitmq_slave_of Rollenvariablen ab).
  • rabbitmq_cluster_node_type

    • Standard: disc
    • ob der Knoten vom Typ disc oder ram ist
  • rabbitmq_internode_ssl_config

    • verwendet, um dedizierte Internode-Konfigurationen zu schreiben (siehe RabbitMQ-Dokumentation)
    • wenn gesetzt, wird der Teil, der zu /etc/rabbitmq/rabbitmq-env.conf hinzugefügt werden muss, automatisch erledigt.
    • Beispiel:
      rabbitmq_internode_ssl_config: |
        [
          {server, [
            {cacertfile, "/etc/ssl/private/Custom_Bundle-CA.pem"},
            {certfile,   "/usr/local/share/ca-certificates/{{ ansible_hostname }}.crt"},
            {keyfile,    "/etc/ssl/private/{{ ansible_hostname }}.key"},
            {secure_renegotiate, true}
          ]},
          {client, [
            {cacertfile, "/etc/ssl/private/Custom_Bundle-CA.pem"},
            {certfile,   "/usr/local/share/ca-certificates/{{ ansible_hostname }}.crt"},
            {keyfile,    "/etc/ssl/private/{{ ansible_hostname }}.key"},
            {secure_renegotiate, true}
          ]}
        ].
      
  • rabbitmq_users_to_create

    • Liste von Wörterbüchern zur Benutzererstellung

    • verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität

    • Beispiel:

      rabbitmq_users_to_create:
        - user: admin
          password: admin
          vhost: vhost_test
          configure_priv: .*
          read_priv: .*
          write_priv: .*
          tags: administrator
      
  • rabbitmq_users_to_delete

    • Liste der zu löschenden Benutzer

    • Beispiel:

      rabbitmq_users_to_delete:
        - guest
      
  • rabbitmq_global_parameters_to_create

    • Liste von globalen Parametern, die erstellt werden sollen

    • verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität

    • value wird in der Aufgabe in json umgewandelt

    • Beispiel:

       rabbitmq_global_parameters_to_create:
         - name: cluster_name
           value: mq-cluster
      
  • rabbitmq_global_parameters_to_delete

    • Liste von globalen Parametern, die gelöscht werden sollen

    • verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität

    • value wird in der Aufgabe in json umgewandelt

    • Beispiel:

      rabbitmq_global_parameters_to_delete:
        - name: cluster_name
      
  • rabbitmq_management_user

    • Benutzer, der vom RabbitMQ-Management-Plugin verwendet wird
    • Wird verwendet, wenn eine oder mehrere dieser Konfigurationen gesetzt sind:
      • rabbitmq_exchanges_to_create
      • rabbitmq_exchanges_to_delete
      • rabbitmq_bindings_to_create
      • rabbitmq_bindings_to_delete
    • Vergessen Sie nicht, rabbitmq_management so zu konfigurieren, dass nur Verbindungen vom localhost erlaubt sind, falls nötig
  • rabbitmq_management_password

    • Passwort für den Benutzer, der vom RabbitMQ-Management-Plugin verwendet wird

    • Wird verwendet, wenn eine oder mehrere dieser Konfigurationen gesetzt sind:

      • rabbitmq_exchanges_to_create
      • rabbitmq_exchanges_to_delete
      • rabbitmq_bindings_to_create
      • rabbitmq_bindings_to_delete
    • Vergessen Sie nicht, rabbitmq_management so zu konfigurieren, dass nur Verbindungen vom localhost erlaubt sind, falls nötig

  • rabbitmq_management_host

    • Standard: localhost
    • Wird verwendet, wenn eine oder mehrere dieser Konfigurationen gesetzt sind:
      • rabbitmq_exchanges_to_create
      • rabbitmq_exchanges_to_delete
      • rabbitmq_bindings_to_create
      • rabbitmq_bindings_to_delete
    • Vergessen Sie nicht, rabbitmq_management so zu konfigurieren, dass nur Verbindungen vom localhost erlaubt sind, falls nötig
  • rabbitmq_management_port

    • Standard: 15672
    • Wird verwendet, wenn eine oder mehrere dieser Konfigurationen gesetzt sind:
      • rabbitmq_exchanges_to_create
      • rabbitmq_exchanges_to_delete
      • rabbitmq_bindings_to_create
      • rabbitmq_bindings_to_delete
    • Vergessen Sie nicht, rabbitmq_management so zu konfigurieren, dass nur Verbindungen vom localhost erlaubt sind, falls nötig
  • rabbitmq_management_protocol

    • Standard: http
    • Wird verwendet, wenn eine oder mehrere dieser Konfigurationen gesetzt sind:
      • rabbitmq_exchanges_to_create
      • rabbitmq_exchanges_to_delete
      • rabbitmq_bindings_to_create
      • rabbitmq_bindings_to_delete
    • Vergessen Sie nicht, rabbitmq_management so zu konfigurieren, dass nur Verbindungen vom localhost erlaubt sind, falls nötig
  • rabbitmq_management_ca_cert

    • CA-Zertifikat zur Überprüfung der SSL-Verbindung zur Management-API
    • Wird verwendet, wenn eine oder mehrere dieser Konfigurationen gesetzt sind:
      • rabbitmq_exchanges_to_create
      • rabbitmq_exchanges_to_delete
      • rabbitmq_bindings_to_create
      • rabbitmq_bindings_to_delete
    • Vergessen Sie nicht, rabbitmq_management so zu konfigurieren, dass nur Verbindungen vom localhost erlaubt sind, falls nötig
  • rabbitmq_management_client_cert

    • Client-Zertifikat, das bei SSL-Verbindungen zur Management-API gesendet wird.
    • Wird verwendet, wenn eine oder mehrere dieser Konfigurationen gesetzt sind:
      • rabbitmq_exchanges_to_create
      • rabbitmq_exchanges_to_delete
      • rabbitmq_bindings_to_create
      • rabbitmq_bindings_to_delete
    • Vergessen Sie nicht, rabbitmq_management so zu konfigurieren, dass nur Verbindungen vom localhost erlaubt sind, falls nötig
  • rabbitmq_management_client_key

    • Privater Schlüssel, der dem Client-Zertifikat entspricht.
    • Wird verwendet, wenn eine oder mehrere dieser Konfigurationen gesetzt sind:
      • rabbitmq_exchanges_to_create
      • rabbitmq_exchanges_to_delete
      • rabbitmq_bindings_to_create
      • rabbitmq_bindings_to_delete
    • Vergessen Sie nicht, rabbitmq_management so zu konfigurieren, dass nur Verbindungen vom localhost erlaubt sind, falls nötig
  • rabbitmq_plugins_to_enable

    • Liste von Plugins, die aktiviert werden sollen

    • Beispiel:

      rabbitmq_plugins_to_enable:
        - rabbitmq_management
        - rabbitmq_shovel
      
  • rabbitmq_plugins_to_disable

    • Liste von Plugins, die deaktiviert werden sollen

    • Beispiel:

      rabbitmq_plugins_to_disable:
        - rabbitmq_shovel
      
  • rabbitmq_vhosts_to_create

    • Liste von Wörterbüchern zur Erstellung von vhosts

    • verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität

    • Beispiel:

      rabbitmq_vhosts_to_create:
        - name: vhost_test
          tracing: yes
      
  • rabbitmq_vhosts_to_delete

    • Liste der vhosts, die gelöscht werden sollen

    • Beispiel:

      rabbitmq_vhosts_to_delete:
        - /
      
  • rabbitmq_queues_to_create

    • Liste der zu erstellenden Queues

    • verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität

    • Beispiel:

      rabbitmq_queues_to_create:
        - name: queue_test
          vhost: vhost_test
      
  • rabbitmq_queues_to_delete

    • Liste der zu löschenden Queues

    • verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität

    • Beispiel:

      rabbitmq_queues_to_delete:
        - name: queue_test
          vhost: vhost_test
      
  • rabbitmq_exchanges_to_create

    • Liste von Exchanges, die erstellt werden sollen

    • verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität

    • Beispiel:

      rabbitmq_exchanges_to_create:
        - name: exchange_test
          vhost: vhost_test
      
  • rabbitmq_exchanges_to_delete

    • Liste von Exchanges, die gelöscht werden sollen

    • verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität

    • Beispiel:

      rabbitmq_exchanges_to_delete:
        - name: exchange_test
          vhost: vhost_test
      
  • rabbitmq_bindings_to_create

    • Liste von Bindings, die erstellt werden sollen

    • verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität

    • Beispiel:

      rabbitmq_bindings_to_create:
        - name: exchange_test
          destination: queue_test
          destination_type: queue
          vhost: vhost_test
      
  • rabbitmq_bindings_to_delete

    • Liste von Bindings, die gelöscht werden sollen

    • verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität

    • Beispiel:

      rabbitmq_bindings_to_delete:
        - name: exchange_test
          destination: queue_test
          destination_type: queue
          vhost: vhost_test
      
  • rabbitmq_policies_to_create

    • Liste von Richtlinien, die erstellt werden sollen

    • verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität

    • Beispiel:

       rabbitmq_policies_to_create:
         - name: HA
           vhost: vhost_test
           pattern: .*
           tags:
             ha-mode: all
      
  • rabbitmq_policies_to_delete

    • Liste von Richtlinien, die gelöscht werden sollen

    • verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität

    • Beispiel:

      rabbitmq_policies_to_delete:
        - name: HA
          vhost: vhost_test
      
  • rabbitmq_parameters_to_create

    • Liste von Parametern, die erstellt werden sollen

    • verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität

    • value wird in der Aufgabe in json umgewandelt

    • Beispiel:

       rabbitmq_parameters_to_create:
         - name: federation-test
           component: federation-upstream
           value:
             uri: amqp://admin:admin@localhost
             prefetch-count: 1
           vhost: vhost_test
      
  • rabbitmq_parameters_to_delete

    • Liste von Parametern, die gelöscht werden sollen

    • verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität

    • Beispiel:

      rabbitmq_parameters_to_delete:
        - component: federation
          name: local-username
      
  • rabbitmq_hide_log

    • Standard: true
    • keine Protokolle für API-Aufrufe anzeigen, um das Leaken sensibler Informationen zu vermeiden
    • auf false setzen für Debugging

Beispiel-Playbook

Standalone

- hosts: rabbitmq
  roles:
    - rockandska.erlang
    - rockandska.rabbitmq

Cluster

Da der Master-Knoten gestartet sein muss, bevor die Slaves beitreten, führen Sie die Cluster-Bereitstellung in zwei Schritten durch.

- hosts: rabbitmq-master
  roles:
    - role: rockandska.erlang
    - role: rockandska.rabbitmq
      vars:
        rabbitmq_is_master: true

- hosts: rabbitmq-slave
  roles:
    - role: rockandska.erlang
    - role: rockandska.rabbitmq
      vars:
        rabbitmq_slave_of: rabbitmq-master

Lokales Testen

Anforderungen

python3 <3.8 docker

Tests ausführen

$ make test

Nach dem ersten Durchlauf sollten zusätzliche Ziele für jede Tox-Umgebung / Molekularszene durch Auto-Vervollständigung verfügbar sein.

Um zu debuggen und einen benutzerdefinierten Molekülbefehl in einer benutzerdefinierten Umgebung mit nur dem Standard-Test-Szenario auszuführen:

$ source tmp/bin/activate
$ tox -e py3-ansible27 -- molecule test -s default

Für weitere Informationen über Molecule gehen Sie zu deren Dokumentation.

Wenn Sie Tests auf einem Remote-Docker-Host ausführen möchten, geben Sie einfach die Variable DOCKER_HOST an, bevor Sie die Tox-Tests ausführen.

Lizenz

BSD

Über das Projekt

RabbitMQ (HA compatible)

Installieren
ansible-galaxy install rockandska.rabbitmq
Lizenz
Unknown
Downloads
12.1k
Besitzer