123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- ---
- - name: create descheduler service account
- oc_serviceaccount:
- name: "{{ openshift_descheduler_service_account }}"
- namespace: "{{ openshift_descheduler_namespace }}"
- state: present
- - name: create descheduler cluster role
- oc_clusterrole:
- state: present
- name: "{{ openshift_descheduler_cluster_role_name }}"
- rules:
- - apiGroups: [""]
- resources: ["nodes"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["pods"]
- verbs: ["get", "list", "watch", "delete"]
- - apiGroups: [""]
- resources: ["pods/eviction"]
- verbs: ["create"]
- #- name: copy descheduler cluster role file
- # copy:
- # src: "{{ item }}"
- # dest: "{{ openshift_descheduler_tmp_location }}/{{ item }}"
- # with_items:
- # - clusterrole.yml
- # when: openshift_descheduler_state == 'present'
- #- name: "Ensure descheduler cluster roles are {{ openshift_descheduler_state }}"
- # oc_obj:
- # namespace: "{{ openshift_descheduler_namespace }}"
- # state: present
- # kind: "{{ item.type }}"
- # name: "{{ item.name }}"
- # delete_after: "{{ openshift_descheduler_delete_config }}"
- # files:
- # - "{{ openshift_descheduler_tmp_location }}/{{ item.fname }}"
- # with_items:
- # - fname: clusterrole.yml
- # type: clusterrole
- # name: "{{ openshift_descheduler_name }}"
- - name: bind descheduler cluster role to its service account
- oc_adm_policy_user:
- state: present
- user: "system:serviceaccount:openshift-infra:{{ openshift_descheduler_service_account }}"
- namespace: "{{ openshift_descheduler_namespace }}"
- resource_kind: cluster-role
- resource_name: "{{ openshift_descheduler_cluster_role_name }}"
- - name: copy descheduler policy template to tmp dir
- template:
- src: policy.yaml.j2
- dest: "{{ openshift_descheduler_tmp_location }}/policy.yaml"
- when: openshift_descheduler_state == 'present'
- - name: create descheduler policy configmap
- oc_configmap:
- state: present
- name: "{{ openshift_descheduler_policy_configmap_name }}"
- namespace: "{{ openshift_descheduler_namespace }}"
- from_file:
- policy.yaml: "{{ openshift_descheduler_tmp_location }}/policy.yaml"
- - name: copy the cronjob file for descheduler
- template:
- src: descheduler-cronjob.yaml.j2
- dest: "{{ openshift_descheduler_tmp_location }}/descheduler-cronjob.yaml"
- when: openshift_descheduler_state == 'present'
- - name: "Ensure the descheduler is {{ openshift_descheduler_state }}"
- oc_obj:
- namespace: "{{ openshift_descheduler_namespace }}"
- state: present
- kind: cronjob
- name: "{{ openshift_descheduler_cronjob_name }}"
- delete_after: "{{ openshift_descheduler_delete_config }}"
- files:
- - "{{ openshift_descheduler_tmp_location }}/descheduler-cronjob.yaml"
|