main.yml 11 KB

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