main.yml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. ---
  2. openshift_client_binary: "{{ (openshift_is_atomic | bool) | ternary('/usr/local/bin/oc', 'oc') }}"
  3. system_images_registry_dict:
  4. openshift-enterprise: "registry.redhat.io"
  5. origin: "docker.io"
  6. system_images_registry: "{{ system_images_registry_dict[openshift_deployment_type | default('origin')] }}"
  7. l_openshift_images_dict:
  8. origin: 'docker.io/openshift/origin-${component}:${version}'
  9. openshift-enterprise: 'registry.redhat.io/openshift3/ose-${component}:${version}'
  10. l_osm_registry_url_default: "{{ l_openshift_images_dict[openshift_deployment_type] }}"
  11. l_oreg_host_temp: "{{ oreg_url | default(l_osm_registry_url_default) }}"
  12. # oreg_url is defined by user input.
  13. oreg_host: "{{ l_oreg_host_temp.split('/')[0] }}"
  14. # this variable does not replace ${version} with openshift_image_tag
  15. l_os_non_standard_reg_url: "{{ oreg_url | default(l_osm_registry_url_default) }}"
  16. l_docker_creds_image_dict:
  17. openshift-enterprise: 'openshift3/ose'
  18. origin: 'openshift/origin'
  19. l_docker_creds_image_name: "{{ l_docker_creds_image_dict[openshift_deployment_type] }}"
  20. l_docker_creds_http_proxy: "{{ 'HTTP_PROXY=' ~ openshift.common.http_proxy if openshift.common.http_proxy is defined and openshift.common.http_proxy != '' else ''}}"
  21. l_docker_creds_https_proxy: "{{ 'HTTPS_PROXY=' ~ openshift.common.https_proxy if openshift.common.https_proxy is defined and openshift.common.https_proxy != '' else ''}}"
  22. l_docker_creds_no_proxy: "{{ 'NO_PROXY=' ~ openshift.common.no_proxy if openshift.common.no_proxy is defined and openshift.common.no_proxy != '' else ''}}"
  23. l_docker_creds_proxy_vars: "{{ l_docker_creds_http_proxy }} {{ l_docker_creds_https_proxy }} {{ l_docker_creds_no_proxy }}"
  24. l_osm_registry_url: "{{ oreg_url | default(l_osm_registry_url_default) | regex_replace('${version}' | regex_escape, openshift_image_tag | default('${version}')) }}"
  25. l_os_registry_url: "{{ oreg_url | default(l_osm_registry_url_default) | regex_replace('${version}' | regex_escape, openshift_image_tag | default('${version}')) }}"
  26. openshift_image_default: "{{ l_os_registry_url | regex_replace('${component}' | regex_escape, 'node') }}"
  27. # not sure why this one is more complicated than other images
  28. openshift_cli_image: "{{ (system_images_registry == 'docker') | ternary(openshift_image_default, (openshift_image_default.split('/')|length==2) | ternary(system_images_registry + '/' + openshift_image_default, openshift_image_default)) }}"
  29. system_openshift_cli_image: "{{ (system_images_registry == 'docker') | ternary('docker:' + openshift_cli_image, openshift_cli_image) }}"
  30. osn_image: "{{ l_os_registry_url | regex_replace('${component}' | regex_escape, 'node') }}"
  31. osn_pod_image: "{{ l_os_registry_url | regex_replace('${component}' | regex_escape, 'pod') }}"
  32. osm_image: "{{ l_osm_registry_url | regex_replace('${component}' | regex_escape, 'control-plane') }}"
  33. repoquery_cmd: "{{ (ansible_pkg_mgr == 'dnf') | ternary('dnf repoquery --latest-limit 1 -d 0', 'repoquery --plugins') }}"
  34. repoquery_installed: "{{ (ansible_pkg_mgr == 'dnf') | ternary('dnf repoquery --latest-limit 1 -d 0 --disableexcludes=all --installed', 'repoquery --plugins --installed') }}"
  35. openshift_use_crio: False
  36. openshift_use_crio_only: False
  37. openshift_crio_enable_docker_gc: False
  38. openshift_crio_var_sock: "unix:///var/run/crio/crio.sock"
  39. openshift_crio_pause_image: "{{ l_os_registry_url | regex_replace('${component}' | regex_escape, 'pod') }}"
  40. openshift_container_cli: "{{ openshift_use_crio | bool | ternary('crictl', 'docker') }}"
  41. openshift_crio_docker_gc_node_selector:
  42. runtime: 'cri-o'
  43. # osm_default_subdomain is an old migrated fact, can probably be removed.
  44. osm_default_subdomain: "router.default.svc.cluster.local"
  45. openshift_master_default_subdomain: "{{ osm_default_subdomain }}"
  46. openshift_portal_net: "{{ openshift_master_portal_net | default(None) }}"
  47. openshift_cluster_network_cidr: "{{ osm_cluster_network_cidr | default('10.128.0.0/14') }}"
  48. openshift_host_subnet_length: "{{ osm_host_subnet_length | default('9') }}"
  49. openshift_hosted_etcd_storage_nfs_directory: '/exports'
  50. openshift_hosted_etcd_storage_nfs_options: '*(rw,root_squash)'
  51. openshift_hosted_etcd_storage_volume_name: 'etcd'
  52. openshift_hosted_etcd_storage_volume_size: '1Gi'
  53. openshift_hosted_etcd_storage_create_pv: True
  54. openshift_hosted_etcd_storage_create_pvc: False
  55. openshift_hosted_etcd_storage_access_modes:
  56. - 'ReadWriteOnce'
  57. openshift_hosted_registry_namespace: 'default'
  58. openshift_hosted_registry_storage_volume_name: 'registry'
  59. openshift_hosted_registry_storage_volume_size: '5Gi'
  60. openshift_hosted_registry_storage_create_pv: True
  61. openshift_hosted_registry_storage_create_pvc: True
  62. openshift_hosted_registry_storage_nfs_directory: '/exports'
  63. openshift_hosted_registry_storage_nfs_options: '*(rw,root_squash)'
  64. openshift_hosted_registry_storage_glusterfs_endpoints: 'glusterfs-registry-endpoints'
  65. openshift_hosted_registry_storage_glusterfs_path: glusterfs-registry-volume
  66. openshift_hosted_registry_storage_glusterfs_readOnly: False
  67. openshift_hosted_registry_storage_glusterfs_swap: False
  68. openshift_hosted_registry_storage_glusterfs_swapcopy: True
  69. openshift_hosted_registry_storage_glusterfs_ips: []
  70. openshift_hosted_registry_storage_hostpath_path: /var/lib/openshift_volumes
  71. # Default to ReadWriteOnce if using hostpath, else default to ReadWriteMany
  72. openshift_hosted_registry_storage_access_modes:
  73. - "{{ (openshift_hosted_registry_storage_kind == 'hostpath') | ternary('ReadWriteOnce', 'ReadWriteMany') }}"
  74. openshift_logging_storage_nfs_directory: '/exports'
  75. openshift_logging_storage_nfs_options: '*(rw,root_squash)'
  76. openshift_logging_storage_volume_name: 'logging-es'
  77. openshift_logging_storage_create_pv: True
  78. openshift_logging_storage_create_pvc: False
  79. openshift_logging_storage_access_modes:
  80. - ['ReadWriteOnce']
  81. openshift_loggingops_storage_volume_name: 'logging-es-ops'
  82. openshift_loggingops_storage_volume_size: '10Gi'
  83. openshift_loggingops_storage_create_pv: True
  84. openshift_loggingops_storage_create_pvc: False
  85. openshift_loggingops_storage_nfs_directory: '/exports'
  86. openshift_loggingops_storage_nfs_options: '*(rw,root_squash)'
  87. openshift_loggingops_storage_access_modes:
  88. - 'ReadWriteOnce'
  89. openshift_metrics_deploy: False
  90. openshift_metrics_duration: 7
  91. openshift_metrics_resolution: '10s'
  92. openshift_metrics_storage_volume_name: 'metrics'
  93. openshift_metrics_storage_volume_size: '10Gi'
  94. openshift_metrics_storage_create_pv: True
  95. openshift_metrics_storage_create_pvc: False
  96. openshift_metrics_storage_nfs_directory: '/exports'
  97. openshift_metrics_storage_nfs_options: '*(rw,root_squash)'
  98. openshift_metrics_storage_access_modes:
  99. - 'ReadWriteOnce'
  100. openshift_prometheus_storage_volume_name: 'prometheus'
  101. openshift_prometheus_storage_volume_size: '10Gi'
  102. openshift_prometheus_storage_access_modes:
  103. - 'ReadWriteOnce'
  104. openshift_prometheus_storage_create_pv: True
  105. openshift_prometheus_storage_create_pvc: False
  106. openshift_prometheus_alertmanager_storage_volume_name: 'prometheus-alertmanager'
  107. openshift_prometheus_alertmanager_storage_volume_size: '10Gi'
  108. openshift_prometheus_alertmanager_storage_access_modes:
  109. - 'ReadWriteOnce'
  110. openshift_prometheus_alertmanager_storage_create_pv: True
  111. openshift_prometheus_alertmanager_storage_create_pvc: False
  112. openshift_prometheus_alertbuffer_storage_volume_name: 'prometheus-alertbuffer'
  113. openshift_prometheus_alertbuffer_storage_volume_size: '10Gi'
  114. openshift_prometheus_alertbuffer_storage_access_modes:
  115. - 'ReadWriteOnce'
  116. openshift_prometheus_alertbuffer_storage_create_pv: True
  117. openshift_prometheus_alertbuffer_storage_create_pvc: False
  118. openshift_service_type_dict:
  119. origin: origin
  120. openshift-enterprise: atomic-openshift
  121. openshift_service_type: "{{ openshift_service_type_dict[openshift_deployment_type] }}"
  122. openshift_master_api_port: "8443"
  123. openshift_ca_host: "{{ groups.oo_first_master.0 }}"
  124. openshift_use_openshift_sdn: true
  125. os_sdn_network_plugin_name: "redhat/openshift-ovs-subnet"
  126. openshift_node_groups:
  127. - name: node-config-master
  128. labels:
  129. - 'node-role.kubernetes.io/master=true'
  130. edits: []
  131. - name: node-config-master-crio
  132. labels:
  133. - 'node-role.kubernetes.io/master=true'
  134. - "{{ openshift_crio_docker_gc_node_selector | lib_utils_oo_dict_to_keqv_list | join(',') }}"
  135. edits: "{{ openshift_node_group_edits_crio }}"
  136. - name: node-config-infra
  137. labels:
  138. - 'node-role.kubernetes.io/infra=true'
  139. edits: []
  140. - name: node-config-infra-crio
  141. labels:
  142. - 'node-role.kubernetes.io/infra=true'
  143. - "{{ openshift_crio_docker_gc_node_selector | lib_utils_oo_dict_to_keqv_list | join(',') }}"
  144. edits: "{{ openshift_node_group_edits_crio }}"
  145. - name: node-config-compute
  146. labels:
  147. - 'node-role.kubernetes.io/compute=true'
  148. edits: []
  149. - name: node-config-compute-crio
  150. labels:
  151. - 'node-role.kubernetes.io/compute=true'
  152. - "{{ openshift_crio_docker_gc_node_selector | lib_utils_oo_dict_to_keqv_list | join(',') }}"
  153. edits: "{{ openshift_node_group_edits_crio }}"
  154. - name: node-config-master-infra
  155. labels:
  156. - 'node-role.kubernetes.io/master=true'
  157. - 'node-role.kubernetes.io/infra=true'
  158. edits: []
  159. - name: node-config-master-infra-crio
  160. labels:
  161. - 'node-role.kubernetes.io/master=true'
  162. - 'node-role.kubernetes.io/infra=true'
  163. - "{{ openshift_crio_docker_gc_node_selector | lib_utils_oo_dict_to_keqv_list | join(',') }}"
  164. edits: "{{ openshift_node_group_edits_crio }}"
  165. - name: node-config-all-in-one
  166. labels:
  167. - 'node-role.kubernetes.io/master=true'
  168. - 'node-role.kubernetes.io/infra=true'
  169. - 'node-role.kubernetes.io/compute=true'
  170. edits: []
  171. - name: node-config-all-in-one-crio
  172. labels:
  173. - 'node-role.kubernetes.io/master=true'
  174. - 'node-role.kubernetes.io/infra=true'
  175. - 'node-role.kubernetes.io/compute=true'
  176. - "{{ openshift_crio_docker_gc_node_selector | lib_utils_oo_dict_to_keqv_list | join(',') }}"
  177. edits: "{{ openshift_node_group_edits_crio }}"
  178. openshift_node_group_edits_crio:
  179. - key: kubeletArguments.container-runtime
  180. value:
  181. - "remote"
  182. - key: kubeletArguments.container-runtime-endpoint
  183. value:
  184. - "{{ openshift_crio_var_sock }}"
  185. - key: kubeletArguments.image-service-endpoint
  186. value:
  187. - "{{ openshift_crio_var_sock }}"
  188. - key: kubeletArguments.runtime-request-timeout
  189. value:
  190. - "10m"
  191. openshift_master_manage_htpasswd: True