summaryrefslogtreecommitdiffstats
path: root/roles/openshift_sanitize_inventory/tasks/main.yml
blob: 08dfd82843f88123067b186a08a2fcac316f550f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
---
# 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: Standardize on latest variable names
  set_fact:
    deployment_subtype: "{{ openshift_deployment_subtype | default(deployment_subtype) | default('basic') | string }}"
    openshift_deployment_subtype: "{{ openshift_deployment_subtype | default(deployment_subtype) | default('basic') | string }}"

- 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 is 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

- 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
  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 )