main.yml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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 firewall for OpenShift Node
  15. include: "{{ role_path | dirname }}/openshift_common/tasks/firewall.yml"
  16. allow:
  17. - { service: OpenShift kubelet, port: 10250/tcp }
  18. - name: Configure OpenShift Node settings
  19. lineinfile:
  20. dest: /etc/sysconfig/openshift-node
  21. regexp: '^OPTIONS='
  22. line: "OPTIONS=\"--master=https://{{ openshift_master_ips[0] }}:8443 --loglevel={{ openshift_node_debug_level }}\""
  23. notify:
  24. - restart openshift-node
  25. - name: Set default registry url
  26. lineinfile:
  27. dest: /etc/sysconfig/openshift-node
  28. regexp: '^IMAGES='
  29. line: "IMAGES={{ openshift_registry_url }}"
  30. when: openshift_registry_url is defined
  31. notify:
  32. - restart openshift-node
  33. - name: Set OpenShift node facts
  34. include: "{{ role_path | dirname }}/openshift_common/tasks/set_facts.yml"
  35. facts:
  36. - { section: node, option: debug_level, value: "{{ openshift_node_debug_level }}" }
  37. - { section: node, option: public_ip, value: "{{ openshift_public_ip }}" }
  38. - { section: node, option: externally_managed, value: "{{ openshift_node_manage_service_externally }}" }
  39. # fixme: Once the openshift_cluster playbook is published state should be started
  40. # Always bounce service to pick up new credentials
  41. - name: Start and enable openshift-node
  42. service: name=openshift-node enabled=yes state=restarted
  43. when: not openshift_node_manage_service_externally
  44. - name: Disable openshift-node if openshift-node is managed externally
  45. service: name=openshift-node enabled=false
  46. when: openshift_node_manage_service_externally
  47. # TODO: expose openshift_register_node options to allow for overriding the
  48. # defaults.
  49. - name: Register node (if not already registered)
  50. openshift_register_node:
  51. name: "{{ openshift_hostname }}"