install.yml 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  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. - include: generate_certs.yml
  23. - copy:
  24. src: kubeservicecatalog_roles_bindings.yml
  25. dest: "{{ mktemp.stdout }}/kubeservicecatalog_roles_bindings.yml"
  26. - oc_obj:
  27. name: service-catalog
  28. kind: template
  29. namespace: "kube-service-catalog"
  30. files:
  31. - "{{ mktemp.stdout }}/kubeservicecatalog_roles_bindings.yml"
  32. delete_after: yes
  33. - oc_process:
  34. create: True
  35. template_name: service-catalog
  36. namespace: "kube-service-catalog"
  37. - copy:
  38. src: kubesystem_roles_bindings.yml
  39. dest: "{{ mktemp.stdout }}/kubesystem_roles_bindings.yml"
  40. - oc_obj:
  41. name: kube-system-service-catalog
  42. kind: template
  43. namespace: kube-system
  44. files:
  45. - "{{ mktemp.stdout }}/kubesystem_roles_bindings.yml"
  46. delete_after: yes
  47. - oc_process:
  48. create: True
  49. template_name: kube-system-service-catalog
  50. namespace: kube-system
  51. - shell: >
  52. oc get policybindings/kube-system:default -n kube-system || echo "not found"
  53. register: get_kube_system
  54. changed_when: no
  55. - command: >
  56. oc create policybinding kube-system -n kube-system
  57. when: "'not found' in get_kube_system.stdout"
  58. - oc_adm_policy_user:
  59. namespace: kube-service-catalog
  60. resource_kind: scc
  61. resource_name: hostmount-anyuid
  62. state: present
  63. user: "system:serviceaccount:kube-service-catalog:service-catalog-apiserver"
  64. - name: Set SA cluster-role
  65. oc_adm_policy_user:
  66. state: present
  67. namespace: "kube-service-catalog"
  68. resource_kind: cluster-role
  69. resource_name: admin
  70. user: "system:serviceaccount:kube-service-catalog:default"
  71. - name: Checking for master.etcd-ca.crt
  72. stat:
  73. path: /etc/origin/master/master.etcd-ca.crt
  74. register: etcd_ca_crt
  75. check_mode: no
  76. ## api server
  77. - template:
  78. src: api_server.j2
  79. dest: "{{ mktemp.stdout }}/service_catalog_api_server.yml"
  80. vars:
  81. image: ""
  82. namespace: ""
  83. cpu_limit: none
  84. memory_limit: none
  85. cpu_requests: none
  86. memory_request: none
  87. cors_allowed_origin: localhost
  88. etcd_servers: "{{ openshift.master.etcd_urls | join(',') }}"
  89. etcd_cafile: "{{ '/etc/origin/master/master.etcd-ca.crt' if etcd_ca_crt.stat.exists else '/etc/origin/master/ca-bundle.crt' }}"
  90. node_selector: "{{ openshift_service_catalog_nodeselector | default ({'openshift-infra': 'apiserver'}) }}"
  91. - name: Set Service Catalog API Server daemonset
  92. oc_obj:
  93. state: present
  94. namespace: "kube-service-catalog"
  95. kind: daemonset
  96. name: apiserver
  97. files:
  98. - "{{ mktemp.stdout }}/service_catalog_api_server.yml"
  99. delete_after: yes
  100. - template:
  101. src: api_server_service.j2
  102. dest: "{{ mktemp.stdout }}/service_catalog_api_service.yml"
  103. - name: Set Service Catalog API Server service
  104. oc_obj:
  105. state: present
  106. namespace: "kube-service-catalog"
  107. kind: service
  108. name: apiserver
  109. files:
  110. - "{{ mktemp.stdout }}/service_catalog_api_service.yml"
  111. delete_after: yes
  112. - template:
  113. src: api_server_route.j2
  114. dest: "{{ mktemp.stdout }}/service_catalog_api_route.yml"
  115. - name: Set Service Catalog API Server route
  116. oc_obj:
  117. state: present
  118. namespace: "kube-service-catalog"
  119. kind: route
  120. name: apiserver
  121. files:
  122. - "{{ mktemp.stdout }}/service_catalog_api_route.yml"
  123. delete_after: yes
  124. ## controller manager
  125. - template:
  126. src: controller_manager.j2
  127. dest: "{{ mktemp.stdout }}/controller_manager.yml"
  128. vars:
  129. image: ""
  130. cpu_limit: none
  131. memory_limit: none
  132. node_selector: "{{ openshift_service_catalog_nodeselector | default ({'openshift-infra': 'apiserver'}) }}"
  133. - name: Set Controller Manager deployment
  134. oc_obj:
  135. state: present
  136. namespace: "kube-service-catalog"
  137. kind: daemonset
  138. name: controller-manager
  139. files:
  140. - "{{ mktemp.stdout }}/controller_manager.yml"
  141. delete_after: yes
  142. - template:
  143. src: controller_manager_service.j2
  144. dest: "{{ mktemp.stdout }}/controller_manager_service.yml"
  145. - name: Set Controller Manager service
  146. oc_obj:
  147. state: present
  148. namespace: "kube-service-catalog"
  149. kind: service
  150. name: controller-manager
  151. files:
  152. - "{{ mktemp.stdout }}/controller_manager_service.yml"
  153. delete_after: yes
  154. - include: start_api_server.yml
  155. - name: Delete temp directory
  156. file:
  157. name: "{{ mktemp.stdout }}"
  158. state: absent
  159. changed_when: False