install.yml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. ---
  2. # Fact setting
  3. - name: Set default image variables based on openshift_deployment_type
  4. include_vars: "{{ item }}"
  5. with_first_found:
  6. - "{{ openshift_deployment_type }}.yml"
  7. - "default_images.yml"
  8. - name: set template_service_broker facts
  9. set_fact:
  10. template_service_broker_prefix: "{{ template_service_broker_prefix | default(__template_service_broker_prefix) }}"
  11. template_service_broker_version: "{{ template_service_broker_version | default(__template_service_broker_version) }}"
  12. template_service_broker_image_name: "{{ template_service_broker_image_name | default(__template_service_broker_image_name) }}"
  13. - oc_project:
  14. name: openshift-template-service-broker
  15. state: present
  16. node_selector:
  17. - ""
  18. - command: mktemp -d /tmp/tsb-ansible-XXXXXX
  19. register: mktemp
  20. changed_when: False
  21. - name: Copy admin client config
  22. command: >
  23. cp {{ openshift.common.config_base }}/master//admin.kubeconfig {{ mktemp.stdout }}/admin.kubeconfig
  24. changed_when: false
  25. - copy:
  26. src: "{{ item }}"
  27. dest: "{{ mktemp.stdout }}/{{ item }}"
  28. with_items:
  29. - "{{ __tsb_template_file }}"
  30. - "{{ __tsb_rbac_file }}"
  31. - "{{ __tsb_broker_file }}"
  32. - "{{ __tsb_config_file }}"
  33. - yedit:
  34. src: "{{ mktemp.stdout }}/{{ __tsb_config_file }}"
  35. key: templateNamespaces
  36. value: "{{ openshift_template_service_broker_namespaces }}"
  37. value_type: list
  38. - slurp:
  39. src: "{{ mktemp.stdout }}/{{ __tsb_config_file }}"
  40. register: config
  41. - name: Apply template file
  42. shell: >
  43. {{ openshift_client_binary }} process --config={{ mktemp.stdout }}/admin.kubeconfig
  44. -f "{{ mktemp.stdout }}/{{ __tsb_template_file }}"
  45. --param API_SERVER_CONFIG="{{ config['content'] | b64decode }}"
  46. --param IMAGE="{{ template_service_broker_prefix }}{{ template_service_broker_image_name }}:{{ template_service_broker_version }}"
  47. --param NODE_SELECTOR={{ template_service_broker_selector | to_json | quote }}
  48. | {{ openshift_client_binary }} apply --config={{ mktemp.stdout }}/admin.kubeconfig -f -
  49. # reconcile with rbac
  50. - name: Reconcile with RBAC file
  51. shell: >
  52. {{ openshift_client_binary }} process --config={{ mktemp.stdout }}/admin.kubeconfig -f "{{ mktemp.stdout }}/{{ __tsb_rbac_file }}"
  53. | {{ openshift_client_binary }} auth reconcile --config={{ mktemp.stdout }}/admin.kubeconfig -f -
  54. # Check that the TSB is running
  55. - name: Verify that TSB is running
  56. command: >
  57. curl -k https://apiserver.openshift-template-service-broker.svc/healthz
  58. args:
  59. # Disables the following warning:
  60. # Consider using get_url or uri module rather than running curl
  61. warn: no
  62. register: api_health
  63. until: api_health.stdout == 'ok'
  64. retries: 120
  65. delay: 1
  66. changed_when: false
  67. - set_fact:
  68. openshift_master_config_dir: "{{ openshift.common.config_base }}/master"
  69. when: openshift_master_config_dir is undefined
  70. - slurp:
  71. src: "{{ openshift_master_config_dir }}/service-signer.crt"
  72. register: __ca_bundle
  73. # Register with broker
  74. - name: Register TSB with broker
  75. shell: >
  76. {{ openshift_client_binary }} process --config={{ mktemp.stdout }}/admin.kubeconfig -f "{{ mktemp.stdout }}/{{ __tsb_broker_file }}" --param CA_BUNDLE="{{ __ca_bundle.content }}" | {{ openshift_client_binary }} apply --config={{ mktemp.stdout }}/admin.kubeconfig -f -
  77. - file:
  78. state: absent
  79. name: "{{ mktemp.stdout }}"
  80. changed_when: False
  81. - name: Rollout console so it discovers the template service broker is installed
  82. include_role:
  83. name: openshift_web_console
  84. tasks_from: rollout_console.yml
  85. when: openshift_web_console_install | default(true) | bool