From f6d64dd419c1b997f8bc96a7222d1e1a78606e5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20Mass=C3=A9?= Date: Tue, 2 Oct 2018 18:11:34 +0200 Subject: [PATCH] add example around inventory variables --- .../haproxy.cfg | 1 + Jinja-Template-Iterate-over-Inventory/hosts | 27 +++++++++++++++++++ .../playbook.yml | 24 +++++++++++++++++ 3 files changed, 52 insertions(+) create mode 100644 Jinja-Template-Iterate-over-Inventory/haproxy.cfg create mode 100644 Jinja-Template-Iterate-over-Inventory/hosts create mode 100644 Jinja-Template-Iterate-over-Inventory/playbook.yml diff --git a/Jinja-Template-Iterate-over-Inventory/haproxy.cfg b/Jinja-Template-Iterate-over-Inventory/haproxy.cfg new file mode 100644 index 0000000..82c99f4 --- /dev/null +++ b/Jinja-Template-Iterate-over-Inventory/haproxy.cfg @@ -0,0 +1 @@ +# BLA BLA BLA diff --git a/Jinja-Template-Iterate-over-Inventory/hosts b/Jinja-Template-Iterate-over-Inventory/hosts new file mode 100644 index 0000000..ce7e153 --- /dev/null +++ b/Jinja-Template-Iterate-over-Inventory/hosts @@ -0,0 +1,27 @@ +[masters] +ose3-master[1:3].test.example.com + +[etcd] +ose3-master[1:3].test.example.com + +[nodes] +ose3-master[1:3].test.example.com +ose3-infra[1:2].test.example.com openshift_node_labels="{'region': 'infra', 'zone': 'default'}" +ose3-node[1:2].test.example.com openshift_node_labels="{'region': 'primary', 'zone': 'default'}" + +[nfs] +ose3-master1.test.example.com + +[lb] +ose3-lb.test.example.com + +# Create an OSEv3 group that contains the masters and nodes groups +[OSEv3:children] +masters +nodes +etcd +lb +nfs + +[OSEv3:vars] +# BLA BLA BLA diff --git a/Jinja-Template-Iterate-over-Inventory/playbook.yml b/Jinja-Template-Iterate-over-Inventory/playbook.yml new file mode 100644 index 0000000..0c4b68a --- /dev/null +++ b/Jinja-Template-Iterate-over-Inventory/playbook.yml @@ -0,0 +1,24 @@ +- hosts: localhost + tasks: + - name: Add conf haproxy for infra node + blockinfile: + path: '{{ playbook_dir }}/haproxy.cfg' + marker: "# {mark} Add haproxy conf" + insertafter: "EOF" + content: | + frontend atomic-openshift-web + bind *:80 + bind *:443 + default_backend atomic-openshift-web + mode tcp + option tcplog + + backend atomic-openshift-web + balance source + mode tcp + {% for item in groups['nodes'] -%} + {%- set node_labels = hostvars[item]['openshift_node_labels']|default({}) -%} + {%- if 'region' in node_labels and node_labels['region'] == "infra" %} + server {{ hostvars[item]['inventory_hostname_short'] }} {{ hostvars[item]['inventory_hostname'] }} + {% endif -%} + {%- endfor -%}