feat(inventory): add haproxy nodes to test and inventory
This commit is contained in:
parent
bbf03e18fc
commit
ef24cee9df
@ -8,36 +8,67 @@ driver:
|
|||||||
provider:
|
provider:
|
||||||
name: libvirt
|
name: libvirt
|
||||||
platforms:
|
platforms:
|
||||||
|
- name: proxy01
|
||||||
|
box: generic/${MOLECULE_TEST_OS}
|
||||||
|
cpus: 2
|
||||||
|
memory: 4096
|
||||||
|
# interfaces:
|
||||||
|
# - network_name: private_network
|
||||||
|
# ip: 192.168.122.91
|
||||||
|
# auto_config: true
|
||||||
|
groups:
|
||||||
|
- common
|
||||||
|
- haproxy_servers
|
||||||
|
- name: proxy02
|
||||||
|
box: generic/${MOLECULE_TEST_OS}
|
||||||
|
cpus: 2
|
||||||
|
memory: 4096
|
||||||
|
# interfaces:
|
||||||
|
# - network_name: private_network
|
||||||
|
# ip: 192.168.122.92
|
||||||
|
# auto_config: true
|
||||||
|
groups:
|
||||||
|
- common
|
||||||
|
- haproxy_servers
|
||||||
- name: hashistack01
|
- name: hashistack01
|
||||||
box: generic/${MOLECULE_TEST_OS}
|
box: generic/${MOLECULE_TEST_OS}
|
||||||
cpus: 4
|
cpus: 4
|
||||||
memory: 4096
|
memory: 4096
|
||||||
|
# interfaces:
|
||||||
|
# - network_name: private_network
|
||||||
|
# ip: 192.168.122.101
|
||||||
|
# auto_config: true
|
||||||
groups:
|
groups:
|
||||||
|
- common
|
||||||
- vault_servers
|
- vault_servers
|
||||||
- consul_servers
|
- consul_servers
|
||||||
- nomad_servers
|
- nomad_servers
|
||||||
children:
|
|
||||||
- common
|
|
||||||
- name: hashistack02
|
- name: hashistack02
|
||||||
box: generic/${MOLECULE_TEST_OS}
|
box: generic/${MOLECULE_TEST_OS}
|
||||||
cpus: 4
|
cpus: 4
|
||||||
memory: 4096
|
memory: 4096
|
||||||
|
# interfaces:
|
||||||
|
# - network_name: private_network
|
||||||
|
# ip: 192.168.122.102
|
||||||
|
# auto_config: true
|
||||||
groups:
|
groups:
|
||||||
|
- common
|
||||||
- vault_servers
|
- vault_servers
|
||||||
- consul_servers
|
- consul_servers
|
||||||
- nomad_servers
|
- nomad_servers
|
||||||
children:
|
|
||||||
- common
|
|
||||||
- name: hashistack03
|
- name: hashistack03
|
||||||
box: generic/${MOLECULE_TEST_OS}
|
box: generic/${MOLECULE_TEST_OS}
|
||||||
cpus: 4
|
cpus: 4
|
||||||
memory: 4096
|
memory: 4096
|
||||||
|
# interfaces:
|
||||||
|
# - network_name: private_network
|
||||||
|
# ip: 192.168.122.103
|
||||||
|
# auto_config: true
|
||||||
groups:
|
groups:
|
||||||
|
- common
|
||||||
- vault_servers
|
- vault_servers
|
||||||
- consul_servers
|
- consul_servers
|
||||||
- nomad_servers
|
- nomad_servers
|
||||||
children:
|
|
||||||
- common
|
|
||||||
provisioner:
|
provisioner:
|
||||||
name: ansible
|
name: ansible
|
||||||
config_options:
|
config_options:
|
||||||
|
@ -19,7 +19,7 @@ api_interface_address: "{{ ansible_facts[api_interface]['ipv4']['address'] }}"
|
|||||||
# Helper options #########
|
# Helper options #########
|
||||||
##########################
|
##########################
|
||||||
|
|
||||||
manage_pip_packages_allow_break_system_packages: true
|
# manage_pip_packages_allow_break_system_packages: true
|
||||||
|
|
||||||
vault_versions:
|
vault_versions:
|
||||||
host: "{{ vault_version }}{% '*' if vault_version != 'latest' %}"
|
host: "{{ vault_version }}{% '*' if vault_version != 'latest' %}"
|
||||||
@ -62,6 +62,7 @@ hashistack_supported_distribution_versions:
|
|||||||
- "22.04"
|
- "22.04"
|
||||||
|
|
||||||
preflight_enable_host_ntp_checks: true
|
preflight_enable_host_ntp_checks: true
|
||||||
|
haproxy_required_ports: [80, 443]
|
||||||
vault_required_ports: [8200, 8201]
|
vault_required_ports: [8200, 8201]
|
||||||
consul_required_ports: [8300, 8301, 8302, 8500, 8501, 8502, 8503, 8600]
|
consul_required_ports: [8300, 8301, 8302, 8500, 8501, 8502, 8503, 8600]
|
||||||
nomad_required_ports: []
|
nomad_required_ports: []
|
||||||
|
@ -21,6 +21,7 @@ nomad03
|
|||||||
localhost ansible_connection=local
|
localhost ansible_connection=local
|
||||||
|
|
||||||
[common:children]
|
[common:children]
|
||||||
|
haproxy_servers
|
||||||
vault_servers
|
vault_servers
|
||||||
consul_servers
|
consul_servers
|
||||||
nomad_servers
|
nomad_servers
|
||||||
|
@ -111,10 +111,12 @@
|
|||||||
- enable_vault | bool
|
- enable_vault | bool
|
||||||
|
|
||||||
- name: "Checking host OS distribution"
|
- name: "Checking host OS distribution"
|
||||||
|
#TODO: This needs to work with debian and ubuntu, major version works for debian but not ubuntu, simple version works the other way around...
|
||||||
ansible.builtin.assert:
|
ansible.builtin.assert:
|
||||||
that:
|
that:
|
||||||
- "(ansible_facts.distribution | lower) in hashistack_supported_distributions"
|
- "(ansible_facts.distribution | lower) in hashistack_supported_distributions"
|
||||||
- "(ansible_facts.distribution_major_version) in hashistack_supported_distribution_versions[(ansible_facts.distribution | lower)]"
|
- "(ansible_facts.distribution_version in hashistack_supported_distribution_versions[(ansible_facts.distribution | lower)]) or
|
||||||
|
(ansible_facts.distribution_major_version in hashistack_supported_distribution_versions[(ansible_facts.distribution | lower)])"
|
||||||
fail_msg: >-
|
fail_msg: >-
|
||||||
Distribution: {{ ansible_facts.distribution }}
|
Distribution: {{ ansible_facts.distribution }}
|
||||||
Release: {{ ansible_facts.distribution_release }}
|
Release: {{ ansible_facts.distribution_release }}
|
||||||
@ -219,6 +221,26 @@
|
|||||||
|
|
||||||
- name: "Verify required ports"
|
- name: "Verify required ports"
|
||||||
block:
|
block:
|
||||||
|
- name: "Checking if haproxy ports are available"
|
||||||
|
when: inventory_hostname in groups['haproxy_servers']
|
||||||
|
block:
|
||||||
|
- name: "Checking if haproxy ports are available"
|
||||||
|
ansible.builtin.wait_for:
|
||||||
|
host: "{{ inventory_hostname }}"
|
||||||
|
port: "{{ item }}"
|
||||||
|
state: "stopped"
|
||||||
|
timeout: 5
|
||||||
|
loop: "{{ haproxy_required_ports }}"
|
||||||
|
ignore_errors: true
|
||||||
|
register: haproxy_port_results
|
||||||
|
|
||||||
|
- name: "Assert that haproxy ports are not currently in use"
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- item.failed == false
|
||||||
|
with_items: "{{ haproxy_port_results.results }}"
|
||||||
|
when: haproxy_port_results.results | length > 0
|
||||||
|
|
||||||
- name: "Checking if vault ports are available"
|
- name: "Checking if vault ports are available"
|
||||||
when: inventory_hostname in groups['vault_servers']
|
when: inventory_hostname in groups['vault_servers']
|
||||||
block:
|
block:
|
||||||
@ -282,3 +304,6 @@
|
|||||||
fail_msg: >-
|
fail_msg: >-
|
||||||
The python sdk for docker is really out of date, you need to install
|
The python sdk for docker is really out of date, you need to install
|
||||||
a more recent version of it in order to use this tool.
|
a more recent version of it in order to use this tool.
|
||||||
|
|
||||||
|
- name: "Fail"
|
||||||
|
fail:
|
||||||
|
@ -77,7 +77,3 @@
|
|||||||
when:
|
when:
|
||||||
- enable_vault | bool
|
- enable_vault | bool
|
||||||
- "'vault_servers' in group_names"
|
- "'vault_servers' in group_names"
|
||||||
|
|
||||||
- name: "Debug"
|
|
||||||
ansible.builtin.debug:
|
|
||||||
msg: "{{ vault_cluster_name }}"
|
|
||||||
|
@ -2,7 +2,16 @@
|
|||||||
# requirements file for ednz_cloud.hashistack
|
# requirements file for ednz_cloud.hashistack
|
||||||
roles:
|
roles:
|
||||||
- name: ednz_cloud.manage_repositories
|
- name: ednz_cloud.manage_repositories
|
||||||
|
src: https://github.com/ednz-cloud/manage_repositories.git
|
||||||
- name: ednz_cloud.manage_apt_packages
|
- name: ednz_cloud.manage_apt_packages
|
||||||
|
src: https://github.com/ednz-cloud/manage_apt_packages.git
|
||||||
- name: ednz_cloud.manage_pip_packages
|
- name: ednz_cloud.manage_pip_packages
|
||||||
|
src: https://github.com/ednz-cloud/manage_pip_packages.git
|
||||||
- name: ednz_cloud.install_docker
|
- name: ednz_cloud.install_docker
|
||||||
|
src: https://github.com/ednz-cloud/install_docker.git
|
||||||
- name: ednz_cloud.docker_systemd_service
|
- name: ednz_cloud.docker_systemd_service
|
||||||
|
src: https://github.com/ednz-cloud/docker_systemd_service.git
|
||||||
|
- name: ednz_cloud.deploy_haproxy
|
||||||
|
src: https://github.com/ednz-cloud/deploy_haproxy.git
|
||||||
|
- name: ednz_cloud.deploy_keepalived
|
||||||
|
src: https://github.com/ednz-cloud/deploy_keepalived.git
|
||||||
|
Loading…
Reference in New Issue
Block a user