pvc-ansible/roles/pvc/tasks/main.yml

70 lines
1.4 KiB
YAML
Raw Normal View History

2023-09-01 15:42:19 -04:00
---
2023-09-01 15:42:19 -04:00
# Set this_node fact
- set_fact:
this_node: "{{ inventory_hostname.split('.')[0] }}"
tags: always
# Set coordinator state fact
- set_fact:
is_coordinator: "{% for node in pvc_nodes if node.hostname == this_node %}{{ node.is_coordinator }}{% endfor %}"
tags: always
2023-09-01 15:42:19 -04:00
# First-run check
- name: check if this is a new instance
shell: "echo 'bootstrapped' > /etc/pvc-install.pvc"
2023-09-01 15:42:19 -04:00
args:
creates: /etc/pvc-install.pvc
2023-09-01 15:42:19 -04:00
register: newhost_check
2023-09-01 15:42:19 -04:00
tags: always
2023-09-01 15:42:19 -04:00
- name: set newhost fact
set_fact:
newhost: yes
when: newhost_check.changed
2023-09-01 15:42:19 -04:00
tags: always
2023-09-01 15:42:19 -04:00
- include: common/add_cluster_ips.yml
when: newhost is defined and newhost
2023-09-01 15:42:19 -04:00
tags: always
2023-09-01 15:42:19 -04:00
# Install system tweaks
- include: system/main.yml
tags: pvc-system
2023-09-01 15:42:21 -04:00
# Install base databases (coordinators only)
2023-09-01 15:42:19 -04:00
- include: ceph/main.yml
2023-09-01 15:42:19 -04:00
tags: pvc-ceph
when: is_coordinator
2023-09-01 15:42:19 -04:00
2023-09-01 15:42:19 -04:00
- include: zookeeper/main.yml
2023-09-01 15:42:19 -04:00
tags: pvc-zookeeper
when: is_coordinator
2023-09-01 15:42:19 -04:00
2023-09-01 15:42:19 -04:00
- include: patroni/main.yml
tags: pvc-patroni
when: is_coordinator
2023-09-01 15:42:19 -04:00
2023-09-01 15:42:19 -04:00
# Install core services
- include: libvirt/main.yml
2023-09-01 15:42:19 -04:00
tags: pvc-libvirt
2023-09-01 15:42:19 -04:00
- include: frr/main.yml
2023-09-01 15:42:19 -04:00
tags: pvc-frr
# Install PVC daemon
2023-09-01 15:42:19 -04:00
- include: pvc/main.yml
2023-09-01 15:42:19 -04:00
tags: pvc-daemon
# Install CPU tuning
- include: cputuning/main.yml
tags: pvc-cputuning
2023-09-01 15:42:29 -04:00
when: debian_version|int >= 11 and cpu_tuning is defined
2023-09-01 16:18:20 -04:00
- name: restart server on first install
reboot:
post_reboot_delay: 60
reboot_timeout: 1800
2023-09-01 15:42:30 -04:00
when: newhost is defined and newhost
tags: always