main.yml 10 KB

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