--- # We should print out deprecations prior to any failures so that if a play does fail for other reasons # the user would also be aware of any deprecated variables they should note to adjust - include_tasks: deprecations.yml - name: Abort when conflicting deployment type variables are set when: - deployment_type is defined - openshift_deployment_type is defined - openshift_deployment_type != deployment_type fail: msg: |- openshift_deployment_type is set to "{{ openshift_deployment_type }}". deployment_type is set to "{{ deployment_type }}". To avoid unexpected results, this conflict is not allowed. deployment_type is deprecated in favor of openshift_deployment_type. Please specify only openshift_deployment_type, or make both the same. - name: Standardize on latest variable names 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 }}" deployment_subtype: "{{ openshift_deployment_subtype | default(deployment_subtype) | default('basic') | string }}" openshift_deployment_subtype: "{{ openshift_deployment_subtype | default(deployment_subtype) | default('basic') | string }}" - name: Abort when deployment type is invalid # 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(', ') }} - name: Normalize openshift_release 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: Abort when openshift_release is invalid when: - openshift_release is defined - not openshift_release | match('^\d+(\.\d+){1,3}$') fail: msg: |- openshift_release is "{{ openshift_release }}" which is not a valid version string. Please set it to a version string like "3.4". - include_tasks: unsupported.yml when: - not openshift_enable_unsupported_configurations | default(false) | bool - name: Ensure clusterid is set along with the cloudprovider fail: msg: > Ensure that the openshift_clusterid is set and that all infrastructure has the required tags. For dynamic provisioning when using multiple clusters in different zones, tag each node with Key=kubernetes.io/cluster/xxxx,Value=clusterid where xxxx and clusterid are unique per cluster. In versions prior to 3.6, this was Key=KubernetesCluster,Value=clusterid. https://github.com/openshift/openshift-docs/blob/master/install_config/persistent_storage/dynamically_provisioning_pvs.adoc#available-dynamically-provisioned-plug-ins when: - openshift_clusterid is not defined - openshift_cloudprovider_kind is defined - openshift_cloudprovider_kind == 'aws' - name: Ensure ansible_service_broker_remove and ansible_service_broker_install are mutually exclusive fail: msg: > Ensure ansible_service_broker_remove and ansible_service_broker_install are mutually exclusive, do not set both to true. ansible_service_broker_install defaults to true. when: - ansible_service_broker_remove | default(false) | bool - ansible_service_broker_install | default(true) | bool - name: Ensure template_service_broker_remove and template_service_broker_install are mutually exclusive fail: msg: > Ensure that template_service_broker_remove and template_service_broker_install are mutually exclusive, do not set both to true. template_service_broker_remove defaults to true. when: - template_service_broker_remove | default(false) | bool - template_service_broker_install | default(true) | bool