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

88 lines
1.8 KiB
YAML

---
- name: install pvc packages (all)
apt:
name:
- pvc-daemon-node
- pvc-daemon-health
- pvc-daemon-worker
- pvc-daemon-common
- pvc-client-cli
- ethtool
- jq
state: present
register: apt_res
retries: 5
until: apt_res is success
ignore_errors: yes
- name: install pvc packages (coordinators only)
apt:
name:
- pvc-daemon-api
# default provisioner script helper programs (pvcworkerd)
- debootstrap
- rinse
state: present
when: is_coordinator
register: apt_res
retries: 5
until: apt_res is success
ignore_errors: yes
- name: check if pvc-client-cli is installed
command: dpkg -l pvc-client-cli
- name: create pvc configuration directory
file:
dest: "/etc/pvc"
state: directory
owner: root
group: sudo
- name: install pvc daemon configuration
template:
src: "pvc/{{ item }}.j2"
dest: "/etc/pvc/{{ item }}"
mode: 0640
owner: root
group: sudo
with_items:
- pvc.conf
- name: install API SSL certificate file
copy:
content: "{{ pvc_api_ssl_cert }}"
dest: /etc/pvc/api-cert.pem
mode: 0644
no_log: True
when: pvc_api_enable_ssl and not pvc_api_ssl_cert_path
- name: install API SSL key file
copy:
content: "{{ pvc_api_ssl_key }}"
dest: /etc/pvc/api-key.pem
mode: 0640
no_log: True
when: pvc_api_enable_ssl and not pvc_api_ssl_key_path
- name: install check_mk agent check
template:
src: pvc/pvc_status.j2
dest: /usr/lib/check_mk_agent/plugins/pvc_status
mode: 0755
- include: pvc/bootstrap.yml
run_once: yes
when: do_bootstrap is defined and do_bootstrap and is_coordinator
- meta: flush_handlers
- name: ensure services are started and running
service:
name: "{{ item }}"
state: started
enabled: yes
with_items:
- pvcnoded
when: newhost is defined and newhost