Browse Source

Set a default for required vsphere variable

Check for required variables in sanitize inventory
Scott Dodson 7 years ago
parent
commit
5c8c156cfb

+ 3 - 0
roles/openshift_default_storage_class/defaults/main.yml

@@ -1,4 +1,7 @@
 ---
+# Must not be blank if you're using vsphere
+openshift_cloudprovider_vsphere_datacenter: ''
+
 openshift_storageclass_defaults:
   aws:
     provisioner: aws-ebs

+ 14 - 0
roles/openshift_sanitize_inventory/tasks/main.yml

@@ -61,3 +61,17 @@
   when:
     - template_service_broker_remove | default(false) | bool
     - template_service_broker_install | default(true) | bool
+
+- name: Ensure that all requires vsphere configuration variables are set
+  fail:
+    msg: >
+      When the vSphere cloud provider is configured you must define all of these variables:
+      openshift_cloudprovider_vsphere_username, openshift_cloudprovider_vsphere_password,
+      openshift_cloudprovider_vsphere_host, openshift_cloudprovider_vsphere_datacenter,
+      openshift_cloudprovider_vsphere_datastore, openshift_cloudprovider_vsphere_folder
+    when:
+      - openshift_cloudprovider_kind is defined
+      - openshift_cloudprovider_kind == 'vsphere'
+      - ( openshift_cloudprovider_vsphere_username is undefined or openshift_cloudprovider_vsphere_password is undefined or
+          openshift_cloudprovider_vsphere_host is undefined or openshift_cloudprovider_vsphere_datacenter is undefined or
+          openshift_cloudprovider_vsphere_datastore is undefined or openshift_cloudprovider_vsphere_folder )