router.yml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. ---
  2. - name: Retrieve list of openshift nodes matching router selector
  3. oc_obj:
  4. state: list
  5. kind: node
  6. namespace: "{{ openshift.hosted.router.namespace | default('default') }}"
  7. selector: "{{ openshift.hosted.router.selector | default(omit) }}"
  8. register: router_nodes
  9. when: openshift.hosted.router.replicas | default(none) is none
  10. - name: set_fact replicas
  11. set_fact:
  12. replicas: "{{ openshift.hosted.router.replicas|default(None) | get_router_replicas(router_nodes) }}"
  13. openshift_hosted_router_selector: "{{ openshift.hosted.router.selector | default(None) }}"
  14. openshift_hosted_router_image: "{{ openshift.hosted.router.registryurl }}"
  15. - name: Get the certificate contents for router
  16. copy:
  17. backup: True
  18. dest: "/etc/origin/master/{{ item | basename }}"
  19. src: "{{ item }}"
  20. with_items: "{{ openshift_hosted_routers | oo_collect(attribute='certificates') |
  21. oo_select_keys_from_list(['keyfile', 'certfile', 'cafile']) }}"
  22. - name: Create OpenShift router
  23. oc_adm_router:
  24. name: "{{ item.name }}"
  25. replicas: "{{ item.replicas }}"
  26. namespace: "{{ item.namespace | default('default') }}"
  27. # This option is not yet implemented
  28. # force_subdomain: "{{ openshift.hosted.router.force_subdomain | default(none) }}"
  29. service_account: "{{ item.serviceaccount | default('router') }}"
  30. selector: "{{ item.selector | default(none) }}"
  31. images: "{{ item.images | default(omit) }}"
  32. cert_file: "{{ ('/etc/origin/master/' ~ (item.certificates.certfile | basename)) if 'certfile' in item.certificates else omit }}"
  33. key_file: "{{ ('/etc/origin/master/' ~ (item.certificates.keyfile | basename)) if 'keyfile' in item.certificates else omit }}"
  34. cacert_file: "{{ ('/etc/origin/master/' ~ (item.certificates.cafile | basename)) if 'cafile' in item.certificates else omit }}"
  35. edits: "{{ openshift_hosted_router_edits | union(item.edits) }}"
  36. with_items: "{{ openshift_hosted_routers }}"
  37. register: routerout
  38. # This should probably move to module
  39. - name: wait for deploy
  40. pause:
  41. seconds: 30
  42. when: routerout.changed
  43. - name: Ensure router replica count matches desired
  44. oc_scale:
  45. kind: dc
  46. name: "{{ item.name | default('router') }}"
  47. namespace: "{{ item.namespace | default('default') }}"
  48. replicas: "{{ item.replicas }}"
  49. with_items: "{{ openshift_hosted_routers }}"