From b4937db87ad8cd90aab354dcaa0788d3747bf202 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6rz=2C=20Friedrich?= Date: Wed, 27 Apr 2022 15:38:35 +0000 Subject: [PATCH] DEV-375: bugfix to run stuff for testdb only when is set --- group_vars/restore/plain.yml | 2 +- restore-remote-database-backup.yml | 22 ++++++++- roles/postgres/tasks/master-requirements.yml | 50 +++++++++++--------- roles/restore_maria/tasks/main.yml | 14 ++++++ 4 files changed, 64 insertions(+), 24 deletions(-) diff --git a/group_vars/restore/plain.yml b/group_vars/restore/plain.yml index bd2426a..0cd1bbf 100644 --- a/group_vars/restore/plain.yml +++ b/group_vars/restore/plain.yml @@ -1,7 +1,7 @@ --- hetzner_server_type: "{{ hetzner_server_type_restore_database | default('cpx21') }}" -hetzner_server_labels: "stage={{ stage }} service=restore database_engine={{ database_engine | default('') }} manual" +hetzner_server_labels: "stage={{ stage }} service=restore database_engine={{ database_engine | default('') }} manual=''" docker_enabled: false traefik_enabled: false diff --git a/restore-remote-database-backup.yml b/restore-remote-database-backup.yml index 7e831e1..e00554f 100644 --- a/restore-remote-database-backup.yml +++ b/restore-remote-database-backup.yml @@ -211,8 +211,28 @@ when: - database_engine == 'maria' +############################################################# +# Deleting servers/domains for created inventory +############################################################# -# TODO delete restore-server +- hosts: "restore" + serial: "{{ serial_number | default(5) }}" + gather_facts: false + + tasks: + - name: "Delete server <{{ inventory_hostname }}>" + include_role: + name: hcloud + tasks_from: _set_server_state + vars: + - server_state: "absent" + + - name: "Delete DNS entry <{{ inventory_hostname }}> for <{{ domain }}>" + include_role: + name: sma_digitalocean + tasks_from: _remove_dns + vars: + record_to_remove: '{{ inventory_hostname }}' ############################################################# # Sending smardigo management message to process diff --git a/roles/postgres/tasks/master-requirements.yml b/roles/postgres/tasks/master-requirements.yml index 411a839..998557f 100644 --- a/roles/postgres/tasks/master-requirements.yml +++ b/roles/postgres/tasks/master-requirements.yml @@ -158,26 +158,32 @@ ignore_errors: yes # noqa ignore-errors when: replication_slot_check.stdout == "0" -- name: "Copy testdb.sql to ensure test DB" - copy: - src: '{{ item }}' - dest: '/tmp/{{ item }}' - mode: '0444' - owner: postgres - group: postgres - loop: - - testdb.sql - -- name: "Ensure test DB" - become: yes - become_user: postgres - community.postgresql.postgresql_db: - name: dummytestdb -- name: "Ensure content for test DB" - become: yes - become_user: postgres - community.postgresql.postgresql_db: - name: dummytestdb - state: restore - target: /tmp/testdb.sql +# only needed in case of install from scratch +- name: "Ensure test db stuff" + block: + - name: "Copy testdb.sql to ensure test DB" + copy: + src: '{{ item }}' + dest: '/tmp/{{ item }}' + mode: '0444' + owner: postgres + group: postgres + loop: + - testdb.sql + + - name: "Ensure test DB" + become: yes + become_user: postgres + community.postgresql.postgresql_db: + name: dummytestdb + + - name: "Ensure content for test DB" + become: yes + become_user: postgres + community.postgresql.postgresql_db: + name: dummytestdb + state: restore + target: /tmp/testdb.sql + + when: postgres_ensure_testdb | default(False) diff --git a/roles/restore_maria/tasks/main.yml b/roles/restore_maria/tasks/main.yml index 8146906..51bc3dc 100644 --- a/roles/restore_maria/tasks/main.yml +++ b/roles/restore_maria/tasks/main.yml @@ -5,6 +5,20 @@ cert_public_key: '/etc/mysql/conf.d/{{ inventory_hostname }}.{{ domain }}-crt.pem' ca_cert: '/etc/mysql/conf.d/ca-certificate.pem' +# DEV-375 +# "fixes" error for mysql-connect as root-user +# it's just a restore server ... +- name: "Ensure passwordless mysql-connect for root " + copy: + dest: '/root/.my.cnf' + owner: root + group: root + mode: '0600' + content: | + [client] + user={{ mysql_root_username }} + password={{ mysql_root_password }} + - name: "Install mariadb via include_role" vars: mysql_packages: