From 4cb2eb697fa2a75cc1901c44b8b37d5db341f779 Mon Sep 17 00:00:00 2001 From: David Mehren <git@herrmehren.de> Date: Sun, 17 Jan 2021 14:05:12 +0100 Subject: [PATCH] Add connection validation and setup DB before using it --- tasks/main.yml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/tasks/main.yml b/tasks/main.yml index a070c62..093a0a8 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,10 +1,4 @@ --- -- name: Gather facts about db host - gather_facts: - delegate_to: "{{ keycloak_pgdb_host }}" - delegate_facts: True - when: "'ansible_default_ipv4' not in hostvars[keycloak_pgdb_host]" - - name: Import Azul public key (for Zulu JRE) apt_key: id: B1998361219BD9C9 @@ -107,6 +101,15 @@ notify: restart keycloak when: keycloak_postgresql_module_installed.count == 0 +- name: Create user and db on server + import_role: + name: postgresql_client + vars: + db_user: + name: "{{ keycloak_pgdb_user }}" + password: "{{ keycloak_pgdb_pass }}" + db_host: "{{ keycloak_pgdb_host }}" + - name: Add postgresql config in JBoss xml: path: "{{ keycloak_jboss_home }}/standalone/configuration/standalone.xml" @@ -116,6 +119,12 @@ - <driver>postgresql</driver> - <pool><max-pool-size>10</max-pool-size></pool> - "<security><user-name>{{ keycloak_pgdb_user }}</user-name><password>{{ keycloak_pgdb_pass }}</password></security>" + - <validation> + <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker"></valid-connection-checker> + <validate-on-match>true</validate-on-match> + <background-validation>false</background-validation> + <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter"/> + </validation> input_type: xml namespaces: x: urn:jboss:domain:10.0 @@ -133,15 +142,6 @@ y: urn:jboss:domain:undertow:10.0 notify: restart keycloak -- name: Create user and db on server - import_role: - name: postgresql_client - vars: - db_user: - name: "{{ keycloak_pgdb_user }}" - password: "{{ keycloak_pgdb_pass }}" - db_host: "{{ keycloak_pgdb_host }}" - - name: Install systemd unit file template: src: keycloak.service.j2 -- GitLab