entercloudsuite.mysql
Ansible Rolle: mysql
Installiert mysql auf Ubuntu 16.04 (Xenial)
Anforderungen
Diese Rolle benötigt Ansible 2.4 oder höher.
Rollenvariablen
Die Rolle definiert die meisten ihrer Variablen in defaults/main.yml
:
Beispiel-Playbook
Mit Standardvariablen ausführen:
- name: percona mysql installieren
hosts: alle
pre_tasks:
- name: curl installieren
package: name=curl
- name: percona mysql Repository installieren
shell: curl -O https://repo.percona.com/apt/percona-release_0.1-4.$(lsb_release -sc)_all.deb && dpkg -i percona-release_0.1-4.$(lsb_release -sc)_all.deb
args:
creates: /etc/apt/sources.list.d/percona-release.list
executable: /bin/bash
chdir: /tmp
roles:
- role: entercloudsuite.mysql
mysql_packages:
- percona-server-server-5.7
Tests
Die Tests werden mit Molecule durchgeführt.
Installiere Molecule oder verwende docker-compose run --rm molecule
, um einen lokalen Docker-Container zu starten, basierend auf dem entercloudsuite/molecule Projekt, von dem aus du molecule
verwenden kannst.
- Führe
molecule create
aus, um den Ziel-Docker-Container auf deiner lokalen Engine zu starten. - Verwende
molecule login
, um dich in den laufenden Container einzuloggen. - Bearbeite die Rollen-Dateien.
- Füge andere erforderliche Rollen (extern) in der Datei molecule/default/requirements.yml hinzu.
- Bearbeite die Datei molecule/default/playbook.yml.
- Definiere Infra-Tests im Ordner molecule/default/tests mit dem goos Verifier.
- Wenn du bereit bist, verwende
molecule converge
, um das Ansible Playbook auszuführen undmolecule verify
, um die Test-Suite auszuführen.
Beachte, dass der Konvergenzprozess mit einer Syntaxprüfung der Rolle beginnt.
Zerstöre den Docker-Container mit dem Befehlmolecule destroy
.
Um alle Schritte mit nur einem Befehl auszuführen, verwende molecule test
.
Um die Rolle auf einer VM auszuführen, verwende die Datei playbook_deploy.yml beispielsweise mit dem folgenden Befehl: ansible-playbook ansible-mysql/molecule/default/playbook_deploy.yml -i VM_IP_OR_FQDN, -u ubuntu --private-key private.pem
.
Lizenz
MIT
ansible-galaxy install entercloudsuite.mysql