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
运行一个本地 Docker 容器,该容器基于 enterclousuite/molecule 项目,在那里你可以使用 molecule
。
- 运行
molecule create
来启动本地引擎上的目标 Docker 容器。 - 使用
molecule login
登录运行中的容器。 - 编辑角色文件。
- 在 molecule/default/requirements.yml 文件中添加其他所需的角色(外部)。
- 编辑 molecule/default/playbook.yml 文件。
- 在 molecule/default/tests 文件夹中使用 goos 验证器定义基础设施测试。
- 准备好后,使用
molecule converge
运行 Ansible 剧本,并使用molecule verify
执行测试套件。
注意,converge 过程开始对角色进行语法检查。
使用命令molecule destroy
销毁 Docker 容器。
要用一个命令运行所有步骤,可以运行 molecule test
。
要针对虚拟机运行该角色,请使用 playbook_deploy.yml 文件,例如使用以下命令:ansible-playbook ansible-mysql/molecule/default/playbook_deploy.yml -i VM_IP_OR_FQDN, -u ubuntu --private-key private.pem
。
许可证
MIT