summaryrefslogtreecommitdiffstats
path: root/roles/openshift_sanitize_inventory/tasks
diff options
context:
space:
mode:
authorLuke Meyer <lmeyer@redhat.com>2017-03-22 15:23:29 -0400
committerLuke Meyer <lmeyer@redhat.com>2017-03-29 11:59:47 -0400
commitf5827111a7609b3c6f7f72a03c8bc13fee2bbb60 (patch)
tree8b1cacfc6290c3a9d33c5a23c56e2715a4d2c399 /roles/openshift_sanitize_inventory/tasks
parentd77a9a685c3add9ef9c4d659ee47ebf35e145fe4 (diff)
downloadopenshift-f5827111a7609b3c6f7f72a03c8bc13fee2bbb60.tar.gz
openshift-f5827111a7609b3c6f7f72a03c8bc13fee2bbb60.tar.bz2
openshift-f5827111a7609b3c6f7f72a03c8bc13fee2bbb60.tar.xz
openshift-f5827111a7609b3c6f7f72a03c8bc13fee2bbb60.zip
validate and normalize inventory variables
In openshift_repos and everywhere, ensure deployment_type and openshift_deployment_type are defined and the same. We really want to set openshift_deployment_type, but users will likely still have just deployment_type, so accept both. And don't make every playbook default openshift_deployment_type to deployment_type. This introduces the openshift_sanitize_inventory role to run before anything else.
Diffstat (limited to 'roles/openshift_sanitize_inventory/tasks')
-rw-r--r--roles/openshift_sanitize_inventory/tasks/main.yml28
1 files changed, 28 insertions, 0 deletions
diff --git a/roles/openshift_sanitize_inventory/tasks/main.yml b/roles/openshift_sanitize_inventory/tasks/main.yml
new file mode 100644
index 000000000..fc562c42c
--- /dev/null
+++ b/roles/openshift_sanitize_inventory/tasks/main.yml
@@ -0,0 +1,28 @@
+---
+- name: Standardize on latest variable names
+ no_log: True # keep task description legible
+ set_fact:
+ # goal is to deprecate deployment_type in favor of openshift_deployment_type.
+ # both will be accepted for now, but code should refer to the new name.
+ # TODO: once this is well-documented, add deprecation notice if using old name.
+ deployment_type: "{{ openshift_deployment_type | default(deployment_type) | default | string }}"
+ openshift_deployment_type: "{{ openshift_deployment_type | default(deployment_type) | default | string }}"
+
+- name: Normalize openshift_release
+ no_log: True # keep task description legible
+ set_fact:
+ # Normalize release if provided, e.g. "v3.5" => "3.5"
+ # Currently this is not required to be defined for all installs, and the
+ # `openshift_version` role can generally figure out the specific version
+ # that gets installed (e.g. 3.5.0.1). So consider this the user's expressed
+ # intent (if any), not the authoritative version that will be installed.
+ openshift_release: "{{ openshift_release | string | regex_replace('^v', '') }}"
+ when: openshift_release is defined
+
+- name: Ensure a valid deployment type has been given.
+ # this variable is required; complain early and clearly if it is invalid.
+ when: openshift_deployment_type not in known_openshift_deployment_types
+ fail:
+ msg: |-
+ Please set openshift_deployment_type to one of:
+ {{ known_openshift_deployment_types | join(', ') }}