main.yml 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. ---
  2. - name: Install OpenShift Node package
  3. yum: pkg=openshift-node state=installed
  4. - local_action: command /usr/bin/mktemp -d /tmp/openshift-ansible-XXXXXXX
  5. register: mktemp
  6. - name: Retrieve OpenShift Master credentials
  7. local_action: command /usr/bin/rsync --compress --archive --rsh 'ssh -S none -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' root@{{ openshift_master_public_ips[0] }}:/var/lib/openshift/openshift.local.certificates/admin/ {{ mktemp.stdout }}
  8. ignore_errors: yes
  9. - file: path=/var/lib/openshift/openshift.local.certificates/admin state=directory
  10. - name: Store OpenShift Master credentials
  11. local_action: command /usr/bin/rsync --compress --archive --rsh 'ssh -S none -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' {{ mktemp.stdout }}/ root@{{ openshift_public_ip }}:/var/lib/openshift/openshift.local.certificates/admin
  12. ignore_errors: yes
  13. - local_action: file name={{ mktemp.stdout }} state=absent
  14. - name: Configure OpenShift Node settings
  15. lineinfile:
  16. dest: /etc/sysconfig/openshift-node
  17. regexp: '^OPTIONS='
  18. line: "OPTIONS=\"--master=https://{{ openshift_master_ips[0] }}:8443 --loglevel={{ openshift_node_debug_level }}\""
  19. notify:
  20. - restart openshift-node
  21. - name: Set default registry url
  22. lineinfile:
  23. dest: /etc/sysconfig/openshift-node
  24. regexp: '^IMAGES='
  25. line: "IMAGES={{ openshift_registry_url }}"
  26. when: openshift_registry_url is defined
  27. notify:
  28. - restart openshift-node
  29. - name: Set OpenShift node facts
  30. include: "{{ role_path | dirname }}/openshift_common/tasks/set_facts.yml"
  31. facts:
  32. - section: node
  33. option: debug_level
  34. value: "{{ openshift_node_debug_level }}"
  35. - section: node
  36. option: public_ip
  37. value: "{{ openshift_public_ip }}"
  38. - section: node
  39. option: externally_managed
  40. value: "{{ openshift_node_manage_service_externally }}"
  41. # fixme: Once the openshift_cluster playbook is published state should be started
  42. # Always bounce service to pick up new credentials
  43. - name: Start and enable openshift-node
  44. service: name=openshift-node enabled=yes state=restarted
  45. when: not openshift_node_manage_service_externally
  46. - name: Disable openshift-node if openshift-node is managed externally
  47. service: name=openshift-node enabled=false
  48. when: openshift_node_manage_service_externally
  49. # TODO: create an os_vars role that has generic env related config and move
  50. # the root kubeconfig setting there, cannot use dependencies to force ordering
  51. # with openshift_node and openshift_master because the way conditional
  52. # dependencies work with current ansible would also exclude the
  53. # openshift_common dependency.
  54. - name: Create .kube directory
  55. file:
  56. path: /root/.kube
  57. state: directory
  58. mode: 700
  59. - name: Configure root user kubeconfig
  60. command: cp /var/lib/openshift/openshift.local.certificates/admin/.kubeconfig /root/.kube/.kubeconfig
  61. args:
  62. creates: /root/.kube/.kubeconfig
  63. # TODO: expose openshift_register_node options to allow for overriding the
  64. # defaults.
  65. - name: Register node (if not already registered)
  66. openshift_register_node:
  67. name: "{{ openshift_hostname }}"