summaryrefslogtreecommitdiffstats
path: root/playbooks/provisioning
diff options
context:
space:
mode:
authorTlacenka <tlacencin@gmail.com>2017-08-23 16:39:17 +0200
committerBogdan Dobrelya <bdobreli@redhat.com>2017-08-23 16:39:17 +0200
commit2a0afda0940b63d71f05c0d11834e3b4582f4e90 (patch)
treeb236af2759f82670040ec44045fa5b32d5d8b8b1 /playbooks/provisioning
parentce9b66f71b60857f644cc5a3559a5c21af5d9b24 (diff)
downloadopenshift-2a0afda0940b63d71f05c0d11834e3b4582f4e90.tar.gz
openshift-2a0afda0940b63d71f05c0d11834e3b4582f4e90.tar.bz2
openshift-2a0afda0940b63d71f05c0d11834e3b4582f4e90.tar.xz
openshift-2a0afda0940b63d71f05c0d11834e3b4582f4e90.zip
Fix node label customisation (#679)
* node labels: add checks for custom labels - README: add more info about customising labels - pre_tasks: add checks for label values, set to empty dict if undefined - group_vars: move labels customisation from OSEv3 to all * pre_tasks: tried a new approach to updating variables * pre_tasks: variable update fixed * pre_tasks: rollback upscaling changes (to be added in upscaling PR) * pre_tasks: blank line removed * pre_tasks: add check for undefined variable (should not happen though) * pre_tasks: be sure to have regions defined
Diffstat (limited to 'playbooks/provisioning')
-rw-r--r--playbooks/provisioning/openstack/README.md10
-rw-r--r--playbooks/provisioning/openstack/pre_tasks.yml16
-rw-r--r--playbooks/provisioning/openstack/sample-inventory/group_vars/OSEv3.yml6
-rw-r--r--playbooks/provisioning/openstack/sample-inventory/group_vars/all.yml9
4 files changed, 34 insertions, 7 deletions
diff --git a/playbooks/provisioning/openstack/README.md b/playbooks/provisioning/openstack/README.md
index 002c2f6aa..c9f651032 100644
--- a/playbooks/provisioning/openstack/README.md
+++ b/playbooks/provisioning/openstack/README.md
@@ -130,7 +130,15 @@ The `openstack_num_masters`, `openstack_num_infra` and
App nodes to create.
The `openshift_cluster_node_labels` defines custom labels for your openshift
-cluster node groups, like app or infra nodes. For example: `{'region': 'infra'}`.
+cluster node groups. It currently supports app and infra node groups.
+The default value of this variable sets `region: primary` to app nodes and
+`region: infra` to infra nodes.
+An example of setting a customised label:
+```
+openshift_cluster_node_labels:
+ app:
+ mylabel: myvalue
+```
The `openstack_nodes_to_remove` allows you to specify the numerical indexes
of App nodes that should be removed; for example, ['0', '2'],
diff --git a/playbooks/provisioning/openstack/pre_tasks.yml b/playbooks/provisioning/openstack/pre_tasks.yml
index d73945644..be29dad16 100644
--- a/playbooks/provisioning/openstack/pre_tasks.yml
+++ b/playbooks/provisioning/openstack/pre_tasks.yml
@@ -31,3 +31,19 @@
delegate_to: localhost
when:
- openshift_master_default_subdomain is undefined
+
+# Check that openshift_cluster_node_labels has regions defined for all groups
+# NOTE(kpilatov): if node labels are to be enabled for more groups,
+# this check needs to be modified as well
+- name: Set openshift_cluster_node_labels if undefined (should not happen)
+ set_fact:
+ openshift_cluster_node_labels: {'app': {'region': 'primary'}, 'infra': {'region': 'infra'}}
+ when: openshift_cluster_node_labels is not defined
+
+- name: Set openshift_cluster_node_labels for the infra group
+ set_fact:
+ openshift_cluster_node_labels: "{{ openshift_cluster_node_labels | combine({'infra': {'region': 'infra'}}, recursive=True) }}"
+
+- name: Set openshift_cluster_node_labels for the app group
+ set_fact:
+ openshift_cluster_node_labels: "{{ openshift_cluster_node_labels | combine({'app': {'region': 'primary'}}, recursive=True) }}"
diff --git a/playbooks/provisioning/openstack/sample-inventory/group_vars/OSEv3.yml b/playbooks/provisioning/openstack/sample-inventory/group_vars/OSEv3.yml
index 9d47815ec..4d27ae873 100644
--- a/playbooks/provisioning/openstack/sample-inventory/group_vars/OSEv3.yml
+++ b/playbooks/provisioning/openstack/sample-inventory/group_vars/OSEv3.yml
@@ -8,12 +8,6 @@ openshift_master_cluster_method: native
openshift_master_cluster_hostname: "{{ groups.lb.0|default(groups.masters.0) }}"
openshift_master_cluster_public_hostname: "{{ groups.lb.0|default(groups.masters.0) }}"
-#openshift_cluster_node_labels:
-# app:
-# region: primary
-# infra:
-# region: infra
-
osm_default_node_selector: 'region=primary'
# NOTE(shadower): the hostname check seems to always fail because the
diff --git a/playbooks/provisioning/openstack/sample-inventory/group_vars/all.yml b/playbooks/provisioning/openstack/sample-inventory/group_vars/all.yml
index bdd98d239..4b077be0a 100644
--- a/playbooks/provisioning/openstack/sample-inventory/group_vars/all.yml
+++ b/playbooks/provisioning/openstack/sample-inventory/group_vars/all.yml
@@ -122,3 +122,12 @@ ansible_user: openshift
# If you want to use the VM storage instead of Cinder volumes, set this to `true`.
# NOTE: this is for testing only! Your data will be gone once the VM disappears!
# ephemeral_volumes: false
+
+# # OpenShift node labels
+# # - in order to customise node labels for app and/or infra group, set the
+# # openshift_cluster_node_labels variable
+#openshift_cluster_node_labels:
+# app:
+# region: primary
+# infra:
+# region: infra