From da0f52dab38b9158ade520bc8ccb3507805aca33 Mon Sep 17 00:00:00 2001 From: Ian Fijolek Date: Wed, 17 Apr 2024 10:46:10 -0700 Subject: [PATCH] Improve change detection for cluster bootstrap --- ansible_playbooks/setup-cluster.yml | 33 ++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) 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: