From c8238e9dbe6abf779fab85c43a448396e4c905c3 Mon Sep 17 00:00:00 2001 From: s3lph <account-gitlab-ideynizv@kernelpanic.lol> Date: Wed, 3 Nov 2021 00:45:03 +0100 Subject: [PATCH] postfixadmin: make setup.php invocations idempotent and error-aware --- roles/postfixadmin/tasks/bootstrap.yml | 6 +----- roles/postfixadmin/tasks/config.yml | 5 ++++- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/roles/postfixadmin/tasks/bootstrap.yml b/roles/postfixadmin/tasks/bootstrap.yml index 4f3bcef..f41731b 100644 --- a/roles/postfixadmin/tasks/bootstrap.yml +++ b/roles/postfixadmin/tasks/bootstrap.yml @@ -50,8 +50,4 @@ submit: 'Add Admin' return_content: yes changed_when: yes - register: postfixadmin_register_boostrap_create_admin - -- name: print the response of setup.php since the status code is inaccurate - ansible.builtin.debug: - var: postfixadmin_register_boostrap_create_admin.content + failed_when: '"Admin addition failed" in postfixadmin_register_boostrap_create_admin.content or postfixadmin_register_boostrap_create_admin.status != 200' diff --git a/roles/postfixadmin/tasks/config.yml b/roles/postfixadmin/tasks/config.yml index 532bc49..fadcc26 100644 --- a/roles/postfixadmin/tasks/config.yml +++ b/roles/postfixadmin/tasks/config.yml @@ -13,4 +13,7 @@ url: "{{ postfixadmin_bootstrap_base_url }}/setup.php" return_content: yes register: postfixadmin_register_setup_upgrade - changed_when: "' done' in postfixadmin_register_setup_upgrade.content" + changed_when: + - "'Database is up to date' not in postfixadmin_register_setup_upgrade.content" + - "' done' in postfixadmin_register_setup_upgrade.content" + failed_when: '"Something went wrong while trying to apply database updates" in postfixadmin_register_setup_upgrade.content or postfixadmin_register_setup_upgrade.status != 200'