From b88c43933c16ea515ce2087f2730dc56151589a8 Mon Sep 17 00:00:00 2001 From: Guido Grazioli Date: Tue, 8 Mar 2022 12:08:40 +0100 Subject: [PATCH] Replace use of serial with run_once run_once on first node when database config enabled (so the first node creates the tables), then wakeup all other nodes --- roles/keycloak/tasks/main.yml | 4 +-- roles/keycloak/tasks/start_keycloak.yml | 15 ++++++++++ roles/keycloak/tasks/systemd.yml | 29 +++++++------------ .../templates/standalone-infinispan.xml.j2 | 3 +- roles/keycloak/templates/standalone.xml.j2 | 3 +- 5 files changed, 30 insertions(+), 24 deletions(-) create mode 100644 roles/keycloak/tasks/start_keycloak.yml diff --git a/roles/keycloak/tasks/main.yml b/roles/keycloak/tasks/main.yml index ba8185f..7ed5efe 100644 --- a/roles/keycloak/tasks/main.yml +++ b/roles/keycloak/tasks/main.yml @@ -7,10 +7,10 @@ - prereqs - name: Include install tasks - ansible.builtin.include_tasks: tasks/install.yml + ansible.builtin.include_tasks: install.yml - name: Include systemd tasks - ansible.builtin.include_tasks: tasks/systemd.yml + ansible.builtin.include_tasks: systemd.yml - name: Link default logs directory ansible.builtin.file: diff --git a/roles/keycloak/tasks/start_keycloak.yml b/roles/keycloak/tasks/start_keycloak.yml new file mode 100644 index 0000000..b3c34f9 --- /dev/null +++ b/roles/keycloak/tasks/start_keycloak.yml @@ -0,0 +1,15 @@ +--- +- name: start keycloak + ansible.builtin.systemd: + name: keycloak + enabled: yes + state: started + become: yes + +- name: "Wait until Keycloak becomes active {{ keycloak.health_url }}" + ansible.builtin.uri: + url: "{{ keycloak.health_url }}" + register: keycloak_status + until: keycloak_status.status == 200 + retries: 25 + delay: 10 \ No newline at end of file diff --git a/roles/keycloak/tasks/systemd.yml b/roles/keycloak/tasks/systemd.yml index eff55cc..de643af 100644 --- a/roles/keycloak/tasks/systemd.yml +++ b/roles/keycloak/tasks/systemd.yml @@ -1,4 +1,4 @@ -- name: configure keycloak service script wrapper +- name: Configure keycloak service script wrapper become: yes ansible.builtin.template: src: keycloak-service.sh.j2 @@ -9,7 +9,7 @@ notify: - restart keycloak -- name: configure sysconfig file for keycloak service +- name: Configure sysconfig file for keycloak service become: yes ansible.builtin.template: src: keycloak-sysconfig.j2 @@ -20,7 +20,7 @@ notify: - restart keycloak -- name: configure systemd unit file for keycloak service +- name: Configure systemd unit file for keycloak service ansible.builtin.template: src: keycloak.service.j2 dest: /etc/systemd/system/keycloak.service @@ -32,18 +32,19 @@ notify: - restart keycloak -- name: reload systemd +- name: Reload systemd become: yes ansible.builtin.systemd: daemon_reload: yes when: systemdunit.changed -- name: start keycloak - ansible.builtin.systemd: - name: keycloak - enabled: yes - state: started - become: yes +- name: Start and wait for keycloak service (first node db) + ansible.builtin.include_tasks: start_keycloak.yml + run_once: yes + when: keycloak_db_enabled + +- name: Start and wait for keycloak service (remaining nodes) + ansible.builtin.include_tasks: start_keycloak.yml - name: Check service status ansible.builtin.command: "systemctl status keycloak" @@ -58,11 +59,3 @@ - name: Flush handlers ansible.builtin.meta: flush_handlers - -- name: "Wait until Keycloak becomes active {{ keycloak.health_url }}" - ansible.builtin.uri: - url: "{{ keycloak.health_url }}" - register: keycloak_status - until: keycloak_status.status == 200 - retries: 25 - delay: 10 diff --git a/roles/keycloak/templates/standalone-infinispan.xml.j2 b/roles/keycloak/templates/standalone-infinispan.xml.j2 index 1097047..544638e 100644 --- a/roles/keycloak/templates/standalone-infinispan.xml.j2 +++ b/roles/keycloak/templates/standalone-infinispan.xml.j2 @@ -633,7 +633,7 @@ {% if keycloak_modcluster.enabled %} - + @@ -744,7 +744,6 @@ - diff --git a/roles/keycloak/templates/standalone.xml.j2 b/roles/keycloak/templates/standalone.xml.j2 index 5b57e09..3207ef9 100644 --- a/roles/keycloak/templates/standalone.xml.j2 +++ b/roles/keycloak/templates/standalone.xml.j2 @@ -546,7 +546,7 @@ {% if keycloak_modcluster.enabled %} - + @@ -644,7 +644,6 @@ -