install.yml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. ---
  2. # do any asserts here
  3. - name: Create temp directory for doing work in
  4. command: mktemp -d /tmp/openshift-service-catalog-ansible-XXXXXX
  5. register: mktemp
  6. changed_when: False
  7. - include: wire_aggregator.yml
  8. - name: Set default image variables based on deployment_type
  9. include_vars: "{{ item }}"
  10. with_first_found:
  11. - "{{ openshift_deployment_type | default(deployment_type) }}.yml"
  12. - "default_images.yml"
  13. - name: Set service_catalog image facts
  14. set_fact:
  15. openshift_service_catalog_image_prefix: "{{ openshift_service_catalog_image_prefix | default(__openshift_service_catalog_image_prefix) }}"
  16. openshift_service_catalog_image_version: "{{ openshift_service_catalog_image_version | default(__openshift_service_catalog_image_version) }}"
  17. - name: Set Service Catalog namespace
  18. oc_project:
  19. state: present
  20. name: "kube-service-catalog"
  21. # node_selector: "{{ openshift_service_catalog_nodeselector | default(null) }}"
  22. - name: Make kube-service-catalog project network global
  23. command: >
  24. oc adm pod-network make-projects-global kube-service-catalog
  25. when: os_sdn_network_plugin_name | default('') == 'redhat/openshift-ovs-multitenant'
  26. - include: generate_certs.yml
  27. - copy:
  28. src: kubeservicecatalog_roles_bindings.yml
  29. dest: "{{ mktemp.stdout }}/kubeservicecatalog_roles_bindings.yml"
  30. - oc_obj:
  31. name: service-catalog
  32. kind: template
  33. namespace: "kube-service-catalog"
  34. files:
  35. - "{{ mktemp.stdout }}/kubeservicecatalog_roles_bindings.yml"
  36. delete_after: yes
  37. - oc_process:
  38. create: True
  39. template_name: service-catalog
  40. namespace: "kube-service-catalog"
  41. - copy:
  42. src: kubesystem_roles_bindings.yml
  43. dest: "{{ mktemp.stdout }}/kubesystem_roles_bindings.yml"
  44. - oc_obj:
  45. name: kube-system-service-catalog
  46. kind: template
  47. namespace: kube-system
  48. files:
  49. - "{{ mktemp.stdout }}/kubesystem_roles_bindings.yml"
  50. delete_after: yes
  51. - oc_process:
  52. create: True
  53. template_name: kube-system-service-catalog
  54. namespace: kube-system
  55. - shell: >
  56. oc get policybindings/kube-system:default -n kube-system || echo "not found"
  57. register: get_kube_system
  58. changed_when: no
  59. - command: >
  60. oc create policybinding kube-system -n kube-system
  61. when: "'not found' in get_kube_system.stdout"
  62. - oc_adm_policy_user:
  63. namespace: kube-service-catalog
  64. resource_kind: scc
  65. resource_name: hostmount-anyuid
  66. state: present
  67. user: "system:serviceaccount:kube-service-catalog:service-catalog-apiserver"
  68. - name: Set SA cluster-role
  69. oc_adm_policy_user:
  70. state: present
  71. namespace: "kube-service-catalog"
  72. resource_kind: cluster-role
  73. resource_name: admin
  74. user: "system:serviceaccount:kube-service-catalog:default"
  75. - name: Checking for master.etcd-ca.crt
  76. stat:
  77. path: /etc/origin/master/master.etcd-ca.crt
  78. register: etcd_ca_crt
  79. check_mode: no
  80. ## api server
  81. - template:
  82. src: api_server.j2
  83. dest: "{{ mktemp.stdout }}/service_catalog_api_server.yml"
  84. vars:
  85. image: ""
  86. namespace: ""
  87. cpu_limit: none
  88. memory_limit: none
  89. cpu_requests: none
  90. memory_request: none
  91. cors_allowed_origin: localhost
  92. etcd_servers: "{{ openshift.master.etcd_urls | join(',') }}"
  93. etcd_cafile: "{{ '/etc/origin/master/master.etcd-ca.crt' if etcd_ca_crt.stat.exists else '/etc/origin/master/ca-bundle.crt' }}"
  94. node_selector: "{{ openshift_service_catalog_nodeselector | default ({'openshift-infra': 'apiserver'}) }}"
  95. - name: Set Service Catalog API Server daemonset
  96. oc_obj:
  97. state: present
  98. namespace: "kube-service-catalog"
  99. kind: daemonset
  100. name: apiserver
  101. files:
  102. - "{{ mktemp.stdout }}/service_catalog_api_server.yml"
  103. delete_after: yes
  104. - template:
  105. src: api_server_service.j2
  106. dest: "{{ mktemp.stdout }}/service_catalog_api_service.yml"
  107. - name: Set Service Catalog API Server service
  108. oc_obj:
  109. state: present
  110. namespace: "kube-service-catalog"
  111. kind: service
  112. name: apiserver
  113. files:
  114. - "{{ mktemp.stdout }}/service_catalog_api_service.yml"
  115. delete_after: yes
  116. - template:
  117. src: api_server_route.j2
  118. dest: "{{ mktemp.stdout }}/service_catalog_api_route.yml"
  119. - name: Set Service Catalog API Server route
  120. oc_obj:
  121. state: present
  122. namespace: "kube-service-catalog"
  123. kind: route
  124. name: apiserver
  125. files:
  126. - "{{ mktemp.stdout }}/service_catalog_api_route.yml"
  127. delete_after: yes
  128. ## controller manager
  129. - template:
  130. src: controller_manager.j2
  131. dest: "{{ mktemp.stdout }}/controller_manager.yml"
  132. vars:
  133. image: ""
  134. cpu_limit: none
  135. memory_limit: none
  136. node_selector: "{{ openshift_service_catalog_nodeselector | default ({'openshift-infra': 'apiserver'}) }}"
  137. - name: Set Controller Manager deployment
  138. oc_obj:
  139. state: present
  140. namespace: "kube-service-catalog"
  141. kind: daemonset
  142. name: controller-manager
  143. files:
  144. - "{{ mktemp.stdout }}/controller_manager.yml"
  145. delete_after: yes
  146. - template:
  147. src: controller_manager_service.j2
  148. dest: "{{ mktemp.stdout }}/controller_manager_service.yml"
  149. - name: Set Controller Manager service
  150. oc_obj:
  151. state: present
  152. namespace: "kube-service-catalog"
  153. kind: service
  154. name: controller-manager
  155. files:
  156. - "{{ mktemp.stdout }}/controller_manager_service.yml"
  157. delete_after: yes
  158. - include: start_api_server.yml
  159. - name: Delete temp directory
  160. file:
  161. name: "{{ mktemp.stdout }}"
  162. state: absent
  163. changed_when: False