entercloudsuite.mysql
Ansible ロール: mysql
Ubuntu 16.04 (Xenial) に mysql をインストールします。
要件
このロールは Ansible 2.4 以上が必要です。
ロール変数
ロールの大部分の変数は defaults/main.yml
に定義されています。
例: プレイブック
デフォルトの変数で実行します:
- name: percona mysql をインストール
hosts: all
pre_tasks:
- name: curl をインストール
package: name=curl
- name: percona mysql リポジトリをインストール
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
テスト
テストは Molecule を使用して行います。
Molecule をインストールするか、docker-compose run --rm molecule
コマンドを使って、entercloudsuite/molecule プロジェクトに基づくローカル Docker コンテナを実行できます。
molecule create
を実行して、ローカルエンジン上でターゲットの Docker コンテナを起動します。molecule login
を使って、実行中のコンテナにログインします。- ロールファイルを編集します。
- molecule/default/requirements.yml ファイルに他の必要なロール(外部)を追加します。
- molecule/default/playbook.yml を編集します。
- molecule/default/tests フォルダーにインフラテストを定義します。
- 準備ができたら、
molecule converge
を使って Ansible プレイブックを実行し、molecule verify
でテストスイートを実行します。
converge プロセスでは、ロールの構文チェックが行われます。
Docker コンテナを削除するには、molecule destroy
コマンドを使用します。
すべてのステップを単一のコマンドで実行するには、molecule test
を実行します。
VM をターゲットにしてロールを実行するには、例えば次のコマンドで playbook_deploy.yml ファイルを使用します:ansible-playbook ansible-mysql/molecule/default/playbook_deploy.yml -i VM_IP_OR_FQDN, -u ubuntu --private-key private.pem
。
ライセンス
MIT