main.yml 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. ---
  2. openshift_node_debug_level: "{{ debug_level | default(2) }}"
  3. openshift_node_iptables_sync_period: '30s'
  4. osn_storage_plugin_deps:
  5. - ceph
  6. - glusterfs
  7. - iscsi
  8. openshift_node_local_quota_per_fsgroup: ""
  9. openshift_node_proxy_mode: iptables
  10. openshift_set_node_ip: False
  11. openshift_config_base: '/etc/origin'
  12. openshift_oreg_url_default_dict:
  13. origin: "openshift/origin-${component}:${version}"
  14. openshift-enterprise: "openshift3/ose-${component}:${version}"
  15. openshift_oreg_url_default: "{{ openshift_oreg_url_default_dict[openshift_deployment_type] }}"
  16. oreg_url_node: "{{ oreg_url | default(openshift_oreg_url_default) }}"
  17. osn_ovs_image_default_dict:
  18. origin: "openshift/openvswitch"
  19. openshift-enterprise: "openshift3/openvswitch"
  20. osn_ovs_image_default: "{{ osn_ovs_image_default_dict[openshift_deployment_type] }}"
  21. osn_ovs_image: "{{ osn_ovs_image_default }}"
  22. openshift_dns_ip: "{{ ansible_default_ipv4['address'] }}"
  23. openshift_node_env_vars: {}
  24. # Create list of 'k=v' pairs.
  25. l_node_kubelet_node_labels: "{{ openshift_node_labels | default({}) | lib_utils_oo_dict_to_keqv_list }}"
  26. openshift_node_kubelet_args_dict:
  27. aws:
  28. cloud-provider:
  29. - aws
  30. cloud-config:
  31. - "{{ openshift_config_base ~ '/cloudprovider/aws.conf' }}"
  32. node-labels: "{{ l_node_kubelet_node_labels }}"
  33. openstack:
  34. cloud-provider:
  35. - openstack
  36. cloud-config:
  37. - "{{ openshift_config_base ~ '/cloudprovider/openstack.conf' }}"
  38. node-labels: "{{ l_node_kubelet_node_labels }}"
  39. gce:
  40. cloud-provider:
  41. - gce
  42. cloud-config:
  43. - "{{ openshift_config_base ~ '/cloudprovider/gce.conf' }}"
  44. node-labels: "{{ l_node_kubelet_node_labels }}"
  45. azure:
  46. cloud-provider:
  47. - azure
  48. cloud-config:
  49. - "{{ openshift_config_base ~ '/cloudprovider/azure.conf' }}"
  50. node-labels: "{{ l_node_kubelet_node_labels }}"
  51. vsphere:
  52. cloud-provider:
  53. - vsphere
  54. cloud-config:
  55. - "{{ openshift_config_base ~ '/cloudprovider/vsphere.conf' }}"
  56. node-labels: "{{ l_node_kubelet_node_labels }}"
  57. undefined:
  58. node-labels: "{{ l_node_kubelet_node_labels }}"
  59. l_node_kubelet_args_default: "{{ openshift_node_kubelet_args_dict[openshift_cloudprovider_kind | default('undefined')] }}"
  60. l_openshift_node_kubelet_args: "{{ openshift_node_kubelet_args | default({}) }}"
  61. # Combine the default kubelet_args dictionary (based on cloud provider, if provided)
  62. # with user-supplied openshift_node_kubelet_args.
  63. # openshift_node_kubelet_args will override the defaults, if keys and/or subkeys
  64. # are present in both.
  65. l2_openshift_node_kubelet_args: "{{ l_node_kubelet_args_default | combine(l_openshift_node_kubelet_args, recursive=True) }}"
  66. openshift_node_dnsmasq_install_network_manager_hook: true
  67. # lo must always be present in this list or dnsmasq will conflict with
  68. # the node's dns service.
  69. openshift_node_dnsmasq_except_interfaces:
  70. - lo
  71. r_openshift_node_firewall_enabled: "{{ os_firewall_enabled | default(True) }}"
  72. r_openshift_node_use_firewalld: "{{ os_firewall_use_firewalld | default(False) }}"
  73. l_is_node_system_container: "{{ (openshift_use_node_system_container | default(openshift_use_system_containers | default(false)) | bool) }}"
  74. openshift_node_syscon_auth_mounts_l:
  75. - type: bind
  76. source: "{{ oreg_auth_credentials_path }}"
  77. destination: "/root/.docker"
  78. options:
  79. - ro
  80. - bind
  81. # If we need to add new mounts in the future, or the user wants to mount data.
  82. # This should be in the same format as auth_mounts_l above.
  83. openshift_node_syscon_add_mounts_l: []
  84. openshift_deployment_type: "{{ openshift_deployment_type | default('origin') }}"
  85. openshift_node_image_dict:
  86. origin: 'openshift/node'
  87. openshift-enterprise: 'openshift3/node'
  88. osn_image: "{{ openshift_node_image_dict[openshift_deployment_type] }}"
  89. openshift_service_type_dict:
  90. origin: origin
  91. openshift-enterprise: atomic-openshift
  92. openshift_service_type: "{{ openshift_service_type_dict[openshift_deployment_type] }}"
  93. system_images_registry_dict:
  94. openshift-enterprise: "registry.access.redhat.com"
  95. origin: "docker.io"
  96. system_images_registry: "{{ system_images_registry_dict[openshift_deployment_type | default('origin')] }}"
  97. l_is_openvswitch_system_container: "{{ (openshift_use_openvswitch_system_container | default(openshift_use_system_containers | default(false)) | bool) }}"
  98. openshift_image_tag: ''
  99. default_r_openshift_node_image_prep_packages:
  100. - "{{ openshift_service_type }}-master"
  101. - "{{ openshift_service_type }}-node"
  102. - "{{ openshift_service_type }}-docker-excluder"
  103. - "{{ openshift_service_type }}-sdn-ovs"
  104. - ansible
  105. - openvswitch
  106. - docker
  107. - etcd
  108. - haproxy
  109. - dnsmasq
  110. - ntp
  111. - logrotate
  112. - httpd-tools
  113. - bind
  114. - firewalld
  115. - libselinux-python
  116. - conntrack-tools
  117. - openssl
  118. - cloud-init
  119. - iproute
  120. - python-dbus
  121. - PyYAML
  122. - yum-utils
  123. # gluster
  124. - glusterfs-fuse
  125. - device-mapper-multipath
  126. # nfs
  127. - nfs-utils
  128. - flannel
  129. - bash-completion
  130. # cockpit
  131. - cockpit-ws
  132. - cockpit-system
  133. - cockpit-bridge
  134. - cockpit-docker
  135. # iscsi
  136. - iscsi-initiator-utils
  137. # ceph
  138. - ceph-common
  139. # systemcontainer
  140. # - runc
  141. # - container-selinux
  142. # - atomic
  143. #
  144. r_openshift_node_image_prep_packages: "{{ default_r_openshift_node_image_prep_packages | union(openshift_node_image_prep_packages | default([])) }}"
  145. openshift_node_bootstrap: False
  146. r_openshift_node_os_firewall_deny: []
  147. default_r_openshift_node_os_firewall_allow:
  148. - service: Kubernetes kubelet
  149. port: 10250/tcp
  150. - service: http
  151. port: 80/tcp
  152. - service: https
  153. port: 443/tcp
  154. - service: OpenShift OVS sdn
  155. port: 4789/udp
  156. cond: openshift_use_openshift_sdn | bool
  157. - service: Calico BGP Port
  158. port: 179/tcp
  159. cond: "{{ openshift_node_use_calico }}"
  160. - service: Kubernetes service NodePort TCP
  161. port: "{{ openshift_node_port_range | default('') }}/tcp"
  162. cond: "{{ openshift_node_port_range is defined }}"
  163. - service: Kubernetes service NodePort UDP
  164. port: "{{ openshift_node_port_range | default('') }}/udp"
  165. cond: "{{ openshift_node_port_range is defined }}"
  166. # Allow multiple port ranges to be added to the role
  167. r_openshift_node_os_firewall_allow: "{{ default_r_openshift_node_os_firewall_allow | union(openshift_node_open_ports | default([])) }}"
  168. # oreg_url is defined by user input
  169. oreg_host: "{{ oreg_url.split('/')[0] if (oreg_url is defined and '.' in oreg_url.split('/')[0]) else '' }}"
  170. oreg_auth_credentials_path: "{{ openshift_node_data_dir }}/.docker"
  171. oreg_auth_credentials_replace: False
  172. l_bind_docker_reg_auth: False
  173. openshift_use_crio: False
  174. l_crio_use_new_var_sock: "{{ openshift_version | version_compare('3.9', '>=') }}"
  175. l_crio_var_sock: "{{ l_crio_use_new_var_sock | ternary('/var/run/crio/crio.sock', '/var/run/crio.sock') }}"
  176. openshift_docker_alternative_creds: "{{ (openshift_docker_use_system_container | default(False) | bool) or (openshift_use_crio_only | default(False) | bool) }}"
  177. openshift_docker_service_name: "{{ 'container-engine' if (openshift_docker_use_system_container | default(False) | bool) else 'docker' }}"
  178. # NOTE
  179. # r_openshift_node_*_default may be defined external to this role.
  180. # openshift_use_*, if defined, may affect other roles or play behavior.
  181. openshift_node_use_openshift_sdn_default: "{{ openshift_use_openshift_sdn | default(True) }}"
  182. openshift_node_use_openshift_sdn: "{{ openshift_node_use_openshift_sdn_default }}"
  183. openshift_node_sdn_network_plugin_name_default: "{{ os_sdn_network_plugin_name | default('redhat/openshift-ovs-subnet') }}"
  184. openshift_node_sdn_network_plugin_name: "{{ openshift_node_sdn_network_plugin_name_default }}"
  185. openshift_node_use_calico_default: "{{ openshift_use_calico | default(False) }}"
  186. openshift_node_use_calico: "{{ openshift_node_use_calico_default }}"
  187. openshift_node_use_nuage_default: "{{ openshift_use_nuage | default(False) }}"
  188. openshift_node_use_nuage: "{{ openshift_node_use_nuage_default }}"
  189. openshift_node_use_contiv_default: "{{ openshift_use_contiv | default(False) }}"
  190. openshift_node_use_contiv: "{{ openshift_node_use_contiv_default }}"
  191. openshift_node_use_kuryr_default: "{{ openshift_use_kuryr | default(False) }}"
  192. openshift_node_use_kuryr: "{{ openshift_node_use_kuryr_default }}"
  193. openshift_node_data_dir_default: "{{ openshift_data_dir | default('/var/lib/origin') }}"
  194. openshift_node_data_dir: "{{ openshift_node_data_dir_default }}"
  195. openshift_node_config_dir_default: "/etc/origin/node"
  196. openshift_node_config_dir: "{{ openshift_node_config_dir_default }}"
  197. openshift_node_image_config_latest_default: "{{ openshift_image_config_latest | default(False) }}"
  198. openshift_node_image_config_latest: "{{ openshift_node_image_config_latest_default }}"
  199. openshift_node_use_instance_profiles: False