diff --git a/roles/svc-rdbms-postgres/config/main.yml b/roles/svc-rdbms-postgres/config/main.yml index 722bc0d2..a67b9a11 100644 --- a/roles/svc-rdbms-postgres/config/main.yml +++ b/roles/svc-rdbms-postgres/config/main.yml @@ -1,4 +1,5 @@ hostname: "central-postgres" +network: "central_postgres" port: 5432 docker: images: diff --git a/roles/svc-rdbms-postgres/tasks/main.yml b/roles/svc-rdbms-postgres/tasks/main.yml index 7bd6cfa5..5b4e2a31 100644 --- a/roles/svc-rdbms-postgres/tasks/main.yml +++ b/roles/svc-rdbms-postgres/tasks/main.yml @@ -1,6 +1,6 @@ - name: Create Docker network for PostgreSQL docker_network: - name: central_postgres + name: "{{ applications[application_id].network }}" state: present ipam_config: - subnet: "{{ networks.local.postgres.subnet }}" @@ -15,7 +15,7 @@ POSTGRES_PASSWORD: "{{ applications[application_id].credentials.postgres_password }}" POSTGRES_INITDB_ARGS: "--encoding=UTF8 --locale=C" # Necessary for web-app-matrix networks: - - name: central_postgres + - name: "{{ applications[application_id].network }}" published_ports: - "127.0.0.1:{{ applications[application_id].port }}:5432" volumes: diff --git a/roles/svc-rdbms-postgres/vars/main.yml b/roles/svc-rdbms-postgres/vars/main.yml index 5a8695b0..16a3ed59 100644 --- a/roles/svc-rdbms-postgres/vars/main.yml +++ b/roles/svc-rdbms-postgres/vars/main.yml @@ -1 +1 @@ -application_id: postgres \ No newline at end of file +application_id: postgres \ No newline at end of file diff --git a/roles/update-docker/templates/update-docker.py.j2 b/roles/update-docker/templates/update-docker.py.j2 index e64a8f71..dc6f35c1 100644 --- a/roles/update-docker/templates/update-docker.py.j2 +++ b/roles/update-docker/templates/update-docker.py.j2 @@ -133,7 +133,7 @@ def update_discourse(directory): update_procedure("docker stop {{applications.discourse.container}}") update_procedure("docker rm {{applications.discourse.container}}") try: - update_procedure("docker network connect {{applications.discourse.network}} central-postgres") + update_procedure("docker network connect {{applications.discourse.network}} {{ applications.postgres.hostname }}") except subprocess.CalledProcessError as e: error_message = e.output.decode() if "already exists" in error_message or "is already connected" in error_message: diff --git a/roles/web-app-discourse/tasks/main.yml b/roles/web-app-discourse/tasks/main.yml index 629cebc9..f67c31a8 100644 --- a/roles/web-app-discourse/tasks/main.yml +++ b/roles/web-app-discourse/tasks/main.yml @@ -43,20 +43,29 @@ meta: flush_handlers when: run_once_docker_discourse is not defined -- name: "add {{applications[application_id].container}} to network central_postgres" - command: - cmd: "docker network connect central_postgres {{applications[application_id].container}}" - ignore_errors: true +- name: "Connect {{ applications[application_id].container }} to network {{ applications.postgres.network }}" + command: > + docker network connect {{ applications.postgres.network }} {{ applications[application_id].container }} + register: network_connect + failed_when: > + network_connect.rc != 0 and + 'Error response from daemon: endpoint with name {{ applications[application_id].container }} already exists in network {{ applications.postgres.network }}' + not in network_connect.stderr + changed_when: network_connect.rc == 0 when: - - applications | is_feature_enabled('central_database',application_id) + - applications | is_feature_enabled('central_database', application_id) - run_once_docker_discourse is not defined - -- name: "remove central database from {{application_id}}_default" - command: - cmd: "docker network disconnect {{applications[application_id].network}} {{ database_host }}" - ignore_errors: true + +- name: "Remove {{ applications[application_id].network }} from {{ database_host }}" + command: > + docker network disconnect {{ applications[application_id].network }} {{ database_host }} + register: network_disconnect + failed_when: > + network_disconnect.rc != 0 and + 'is not connected to network {{ applications[application_id].network }}' not in network_disconnect.stderr + changed_when: network_disconnect.rc == 0 when: - - applications | is_feature_enabled('central_database',application_id) + - applications | is_feature_enabled('central_database', application_id) - run_once_docker_discourse is not defined - name: run the docker_discourse tasks once diff --git a/roles/web-app-phpmyadmin/config/main.yml b/roles/web-app-phpmyadmin/config/main.yml index 1b5577a9..2df6af9f 100644 --- a/roles/web-app-phpmyadmin/config/main.yml +++ b/roles/web-app-phpmyadmin/config/main.yml @@ -9,7 +9,6 @@ features: portfolio_iframe: true central_database: true oauth2: true -hostname: central-mariadb csp: flags: style-src: