diff --git a/ansible_playbooks/setup-cluster.yml b/ansible_playbooks/setup-cluster.yml index c59b8ef..6982786 100644 --- a/ansible_playbooks/setup-cluster.yml +++ b/ansible_playbooks/setup-cluster.yml @@ -242,6 +242,7 @@ run_once: true ignore_errors: true register: bootstrap_result + changed_when: bootstrap_result is succeeded - name: Save bootstrap result copy: @@ -273,13 +274,15 @@ - list environment: NOMAD_TOKEN: "{{ read_secretid.stdout }}" - run_once: true register: policies + run_once: true + changed_when: false - name: Copy policy copy: src: ../acls/nomad-anon-policy.hcl dest: /tmp/anonymous.policy.hcl + delegate_to: "{{ play_hosts[0] }}" run_once: true register: anon_policy @@ -299,6 +302,18 @@ delegate_to: "{{ play_hosts[0] }}" run_once: true + - name: Read scheduler config + command: + argv: + - nomad + - operator + - scheduler + - get-config + - -json + run_once: true + register: scheduler_config + changed_when: false + - name: Enable service scheduler preemption command: argv: @@ -306,12 +321,24 @@ - operator - scheduler - set-config - - -preempt-system-scheduler=true - -preempt-service-scheduler=true environment: NOMAD_TOKEN: "{{ read_secretid.stdout }}" - delegate_to: "{{ play_hosts[0] }}" run_once: true + when: (scheduler_config.stdout | from_json)["SchedulerConfig"]["PreemptionConfig"]["ServiceSchedulerEnabled"] is false + + - name: Enable system scheduler preemption + command: + argv: + - nomad + - operator + - scheduler + - set-config + - -preempt-system-scheduler=true + environment: + NOMAD_TOKEN: "{{ read_secretid.stdout }}" + run_once: true + when: (scheduler_config.stdout | from_json)["SchedulerConfig"]["PreemptionConfig"]["SystemSchedulerEnabled"] is false # - name: Set up Nomad backend and roles in Vault # community.general.terraform: