main.yml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. ---
  2. - name: Set cluster autoscaler namespace
  3. oc_project:
  4. state: present
  5. name: "{{ openshift_cluster_autoscaler_namespace }}"
  6. node_selector: ""
  7. - name: create the cluster-autoscaler serviceaccount
  8. oc_serviceaccount:
  9. name: "{{ openshift_cluster_autoscaler_serviceaccount }}"
  10. namespace: "{{ openshift_cluster_autoscaler_namespace }}"
  11. state: "{{ openshift_cluster_autoscaler_state }}"
  12. - name: copy the cluster-autoscaler files
  13. copy:
  14. src: "{{ item }}"
  15. dest: "{{ openshift_cluster_autoscaler_template_location }}/{{ item }}"
  16. with_items:
  17. - clusterrole.yml
  18. - role.yml
  19. when: openshift_cluster_autoscaler_state == 'present'
  20. - name: "Ensure the cluster-autoscaler roles are {{ openshift_cluster_autoscaler_state }}"
  21. oc_obj:
  22. namespace: "{{ openshift_cluster_autoscaler_namespace }}"
  23. state: "{{ openshift_cluster_autoscaler_state }}"
  24. kind: "{{ item.type }}"
  25. name: "{{ item.name }}"
  26. delete_after: "{{ openshift_cluster_autoscaler_delete_config }}"
  27. files:
  28. - "{{ openshift_cluster_autoscaler_template_location }}/{{ item.fname }}"
  29. with_items:
  30. - fname: clusterrole.yml
  31. type: clusterrole
  32. name: "{{ openshift_cluster_autoscaler_name }}"
  33. - fname: role.yml
  34. type: role
  35. name: "{{ openshift_cluster_autoscaler_name }}"
  36. - include_tasks: aws.yml
  37. when: openshift_cluster_autoscaler_cloud_provider == 'aws'
  38. - name: create the policies
  39. oc_adm_policy_user:
  40. state: "{{ openshift_cluster_autoscaler_state }}"
  41. user: "system:serviceaccount:{{ openshift_cluster_autoscaler_namespace }}:{{ openshift_cluster_autoscaler_serviceaccount }}"
  42. namespace: "{{ openshift_cluster_autoscaler_namespace }}"
  43. resource_kind: "{{ item.name }}"
  44. resource_name: cluster-autoscaler
  45. role_namespace: "{{ item.role_namespace | default(omit) }}"
  46. with_items:
  47. - name: cluster-role
  48. - name: role
  49. role_namespace: "{{ openshift_cluster_autoscaler_namespace }}"
  50. - name: "grant cluster-reader to {{ openshift_cluster_autoscaler_serviceaccount }}"
  51. oc_adm_policy_user:
  52. state: "{{ openshift_cluster_autoscaler_state }}"
  53. user: "system:serviceaccount:{{ openshift_cluster_autoscaler_namespace }}:{{ openshift_cluster_autoscaler_serviceaccount }}"
  54. namespace: "{{ openshift_cluster_autoscaler_namespace }}"
  55. resource_name: cluster-reader
  56. resource_kind: cluster-role
  57. - name: laydown the deployment file for cluster-autoscaler
  58. template:
  59. src: cluster-autoscaler.j2
  60. dest: "{{ openshift_cluster_autoscaler_template_location }}/{{ openshift_cluster_autoscaler_template_name }}"
  61. when: openshift_cluster_autoscaler_state == 'present'
  62. - name: "Ensure the cluster-autoscaler is {{ openshift_cluster_autoscaler_state }}"
  63. oc_obj:
  64. namespace: "{{ openshift_cluster_autoscaler_namespace }}"
  65. state: "{{ openshift_cluster_autoscaler_state }}"
  66. kind: deployment
  67. name: "{{ openshift_cluster_autoscaler_name }}"
  68. delete_after: "{{ openshift_cluster_autoscaler_delete_config }}"
  69. files:
  70. - "{{ openshift_cluster_autoscaler_template_location }}/{{ openshift_cluster_autoscaler_template_name }}"