node_system_container.yml 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. ---
  2. # system containers create their own service unit files based on templates
  3. # that are part of the container image.
  4. # oc_atomic_container will create a systemd service unit file in
  5. # /etc/systemd/system/origin-node.service (origin) or
  6. # /etc/systemd/system/atomic-openshift-node.service (enterprise)
  7. # TODO: remove when system container is fixed to not include it
  8. - name: Ensure old system path is set
  9. file:
  10. state: directory
  11. path: "/etc/origin/openvswitch"
  12. mode: '0750'
  13. - name: Pre-pull node system container image
  14. command: >
  15. atomic pull --storage=ostree {{ system_osn_image }}
  16. register: pull_result
  17. retries: 3
  18. delay: 5
  19. until: pull_result.rc == 0
  20. changed_when: "'Pulling layer' in pull_result.stdout"
  21. - name: Install or Update node system container
  22. oc_atomic_container:
  23. name: "{{ openshift_service_type }}-node"
  24. image: "{{ osn_image }}"
  25. values:
  26. - "DNS_DOMAIN={{ openshift.common.dns_domain }}"
  27. - "DOCKER_SERVICE={{ openshift_docker_service_name }}.service"
  28. - "MASTER_SERVICE={{ openshift_service_type }}-master-controllers.service"
  29. - 'ADDTL_MOUNTS={{ l_node_syscon_add_mounts2 }}'
  30. state: latest
  31. vars:
  32. # We need to evaluate some variables here to ensure
  33. # l_bind_docker_reg_auth is evaluated after registry_auth.yml has been
  34. # processed.
  35. # Determine if we want to include auth credentials mount.
  36. l_node_syscon_auth_mounts_l: "{{ l_bind_docker_reg_auth | ternary(openshift_node_syscon_auth_mounts_l,[]) }}"
  37. # Join any user-provided mounts and auth_mounts into a combined list.
  38. l_node_syscon_add_mounts_l: "{{ openshift_node_syscon_add_mounts_l | union(l_node_syscon_auth_mounts_l) }}"
  39. # We must prepend a ',' here to ensure the value is inserted properly into an
  40. # existing json list in the container's config.json
  41. # lib_utils_oo_l_of_d_to_csv is a custom filter plugin in roles/lib_utils/oo_filters.py
  42. l_node_syscon_add_mounts: ",{{ l_node_syscon_add_mounts_l | lib_utils_oo_l_of_d_to_csv }}"
  43. # if we have just a ',' then both mount lists were empty, we don't want to add
  44. # anything to config.json
  45. l_node_syscon_add_mounts2: "{{ (l_node_syscon_add_mounts != ',') | bool | ternary(l_node_syscon_add_mounts,'') }}"
  46. # TODO: network manager on RHEL is failing to execute 99-origin-dns.sh with signal 13, an immediate
  47. # restart seems to allow the job to configure. Only occurs with system containers.
  48. - name: Restart network manager to ensure networking configuration is in place
  49. systemd:
  50. name: NetworkManager
  51. enabled: yes
  52. state: restarted