pvc-ansible/roles/pvc/tasks/common/add_cluster_ips.yml

50 lines
1.9 KiB
YAML

---
- name: bring up interfaces interface
command: ifup {{ item }}
with_items: "{% for network in networks %}{{ networks[network].device }} {% endfor %}"
- name: set bridges dictionary (cluster != storage)
set_fact:
bridges:
- { "bridge": "brupstream", "device": "{{ pvc_upstream_device }}" }
- { "bridge": "brcluster", "device": "{{ pvc_cluster_device }}" }
- { "bridge": "brstorage", "device": "{{ pvc_storage_device }}" }
when: pvc_storage_device != pvc_cluster_device
- name: set bridges dictionary (cluster == storage)
set_fact:
bridges:
- { "bridge": "brupstream", "device": "{{ pvc_upstream_device }}" }
- { "bridge": "brcluster", "device": "{{ pvc_cluster_device }}" }
when: pvc_storage_device == pvc_cluster_device
- name: create bridge interfaces
command: brctl addbr {{ item.bridge }}
ignore_errors: yes
with_items:
- "{{ bridges }}"
- name: add underlying interfaces to bridges
command: brctl addif {{ item.bridge }} {{ item.device }}
ignore_errors: yes
with_items:
- "{{ bridges }}"
- name: set bridge interfaces up
command: ip link set {{ item.bridge }} up
ignore_errors: yes
with_items:
- "{{ bridges }}"
- name: add IP addresses to upstream bridge
command: ip address add {% for node in pvc_nodes if node.hostname == inventory_hostname %}{{ node.upstream_ip }}/{{ pvc_upstream_netmask }}{% endfor %} dev brupstream
ignore_errors: yes
- name: add IP addresses to cluster bridge
command: ip address add {% for node in pvc_nodes if node.hostname == inventory_hostname %}{{ node.cluster_ip }}/{{ pvc_cluster_netmask }}{% endfor %} dev brcluster
ignore_errors: yes
- name: add IP addresses to storage bridge (will error if storage == cluster)
command: ip address add {% for node in pvc_nodes if node.hostname == inventory_hostname %}{{ node.storage_ip }}/{{ pvc_storage_netmask }}{% endfor %} dev brstorage
ignore_errors: yes