Installs HAProxy on Ubuntu 16.04 (Xenial)
This role requires Ansible 2.4 or higher.
The role defines most of its variables in defaults/main.yml
:
Run with default vars:
- hosts: all
roles:
- role: entercloudsuite.haproxy
haproxy_user: haproxyuser
haproxy_pass: haproxypass
haproxy_conf: |
listen web
mode http
bind *:80
default-server port 80
server web-0 1.1.1.1:80 check
Tests are performed using Molecule.
Install Molecule or use docker-compose run --rm molecule
to run a local Docker container, based on the enterclousuite/molecule project, from where you can use molecule
.
- Run
molecule create
to start the target Docker container on your local engine. - Use
molecule login
to log in to the running container. - Edit the role files.
- Add other required roles (external) in the molecule/default/requirements.yml file.
- Edit the molecule/default/playbook.yml.
- Define infra tests under the molecule/default/tests folder using the goos verifier.
- When ready, use
molecule converge
to run the Ansible Playbook andmolecule verify
to execute the test suite.
Note that the converge process starts performing a syntax check of the role.
Destroy the Docker container with the commandmolecule destroy
.
To run all the steps with just one command, run molecule test
.
In order to run the role targeting a VM, use the playbook_deploy.yml file for example with the following command: ansible-playbook ansible-haproxy/molecule/default/playbook_deploy.yml -i VM_IP_OR_FQDN, -u ubuntu --private-key private.pem
.
MIT