kolla-ansible/ansible/roles/hacluster/tasks/bootstrap_service.yml
Radosław Piliszek f3da3d8e19 Avoid an Ansible quirk in hacluster role
Followup on I91e5c1840ace8f567daf462c4eb3ec1f0c503823

When+run_once do not play nicely. [1]
The general workaround is to use include_tasks. [2]
However, it is very unlikely user wishes to run this role
without having any pacemaker nodes so the simplification that we
use throughout the Kolla Ansible code should be enough.

[1] https://github.com/ansible/ansible/issues/11496
[2] https://github.com/ansible/ansible/issues/11496#issuecomment-412936547

Change-Id: Ifaf64e3d9d89b2ec36a883fb7458556745b64802
2021-04-24 18:34:27 +00:00

33 lines
1.3 KiB
YAML

---
- name: Ensure stonith is disabled
vars:
service: "{{ hacluster_services['hacluster-pacemaker'] }}"
command: docker exec {{ service.container_name }} crm_attribute --type crm_config --name stonith-enabled --update false
run_once: true
become: true
delegate_to: "{{ groups[service.group][0] }}"
- name: Ensure remote node is added
vars:
pacemaker_service: "{{ hacluster_services['hacluster-pacemaker'] }}"
pacemaker_remote_service: "{{ hacluster_services['hacluster-pacemaker-remote'] }}"
shell: >
docker exec {{ pacemaker_service.container_name }}
cibadmin --modify --scope resources -X '
<resources>
<primitive id="{{ ansible_hostname }}" class="ocf" provider="pacemaker" type="remote">
<instance_attributes id="{{ ansible_hostname }}-instance_attributes">
<nvpair id="{{ ansible_hostname }}-instance_attributes-server" name="server" value="{{ 'api' | kolla_address }}"/>
</instance_attributes>
<operations>
<op id="{{ ansible_hostname }}-monitor" name="monitor" interval="60" timeout="30"/>
</operations>
</primitive>
</resources>
'
become: true
delegate_to: "{{ groups[pacemaker_service.group][0] }}"
when:
- inventory_hostname in groups[pacemaker_remote_service.group]
- pacemaker_remote_service.enabled | bool