From a91dfc29e9000e6b12314745e05513ea5f6ec3ed Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Tue, 7 Jun 2022 16:32:04 -0700 Subject: [PATCH] openqa: twiddle with the delegation stuff again Ugh, we delegate for the assetsize stuff too and there's tons of that, splitting it would be awful. Let's try a different approach with a new optional variable for the delegate target. Signed-off-by: Adam Williamson --- inventory/group_vars/openqa_onebox_test | 1 + roles/openqa/server/tasks/main.yml | 34 ++++++++----------------- 2 files changed, 12 insertions(+), 23 deletions(-) diff --git a/inventory/group_vars/openqa_onebox_test b/inventory/group_vars/openqa_onebox_test index e26f2f0d2f..3d2503a01f 100644 --- a/inventory/group_vars/openqa_onebox_test +++ b/inventory/group_vars/openqa_onebox_test @@ -29,6 +29,7 @@ openqa_dbname: openqa-onebox openqa_dbpassword: "{{ stg_openqa_dbpassword }}" openqa_dbuser: openqastg openqa_dbhost: localhost +openqa_dbhost_delegate: "{{ inventory_hostname }}" openqa_env: staging openqa_env_prefix: stg- # this is because openqa staging isn't really a staging host diff --git a/roles/openqa/server/tasks/main.yml b/roles/openqa/server/tasks/main.yml index 37a007ff6c..33a19746c0 100644 --- a/roles/openqa/server/tasks/main.yml +++ b/roles/openqa/server/tasks/main.yml @@ -260,31 +260,19 @@ tags: - config -- name: Create database (delegate) - delegate_to: "{{ openqa_dbhost }}" +- name: Create database + delegate_to: "{{ openqa_dbhost_delegate|default(openqa_dbhost) }}" become_user: postgres become: true postgresql_db: db={{ openqa_dbname }} - when: "openqa_dbhost is defined and openqa_dbhost != 'localhost'" + when: "openqa_dbhost is defined" -- name: Ensure db user has access to database (delegate) - delegate_to: "{{ openqa_dbhost }}" +- name: Ensure db user has access to database + delegate_to: "{{ openqa_dbhost_delegate|default(openqa_dbhost) }}" become_user: postgres become: true postgresql_user: db={{ openqa_dbname }} user={{ openqa_dbuser }} password={{ openqa_dbpassword }} role_attr_flags=NOSUPERUSER - when: "openqa_dbhost is defined and openqa_dbhost != 'localhost'" - -- name: Create database (non-delegate) - become_user: postgres - become: true - postgresql_db: db={{ openqa_dbname }} - when: "openqa_dbhost is defined and openqa_dbhost == 'localhost'" - -- name: Ensure db user has access to database (non-delegate) - become_user: postgres - become: true - postgresql_user: db={{ openqa_dbname }} user={{ openqa_dbuser }} password={{ openqa_dbpassword }} role_attr_flags=NOSUPERUSER - when: "openqa_dbhost is defined and openqa_dbhost == 'localhost'" + when: "openqa_dbhost is defined" - name: Database config template: src=database.ini.pgsql.j2 dest=/etc/openqa/database.ini owner=geekotest group=root mode=0640 @@ -392,7 +380,7 @@ failed_when: "1 != 1" - name: Set 'fedora' asset size limit (if specified) (pgsql) - delegate_to: "{{ openqa_dbhost }}" + delegate_to: "{{ openqa_dbhost_delegate|default(openqa_dbhost) }}" become_user: postgres become: true command: > @@ -403,7 +391,7 @@ changed_when: "pgsqlsize.stdout.find('UPDATE 0') == -1" - name: Set 'Fedora PowerPC' asset size limit (if specified) (pgsql) - delegate_to: "{{ openqa_dbhost }}" + delegate_to: "{{ openqa_dbhost_delegate|default(openqa_dbhost) }}" become_user: postgres become: true command: > @@ -415,7 +403,7 @@ changed_when: "pgsqlsizeppc.stdout.find('UPDATE 0') == -1" - name: Set 'Fedora AArch64' asset size limit (if specified) (pgsql) - delegate_to: "{{ openqa_dbhost }}" + delegate_to: "{{ openqa_dbhost_delegate|default(openqa_dbhost) }}" become_user: postgres become: true command: > @@ -427,7 +415,7 @@ changed_when: "pgsqlsizeaarch64.stdout.find('UPDATE 0') == -1" - name: Set (x86_64) update job group asset size limit (if specified) (pgsql) - delegate_to: "{{ openqa_dbhost }}" + delegate_to: "{{ openqa_dbhost_delegate|default(openqa_dbhost) }}" become_user: postgres become: true command: > @@ -439,7 +427,7 @@ changed_when: "pgsqlupdatesize.stdout.find('UPDATE 0') == -1" - name: Set ppc64le update job group asset size limit (if specified) (pgsql) - delegate_to: "{{ openqa_dbhost }}" + delegate_to: "{{ openqa_dbhost_delegate|default(openqa_dbhost) }}" become_user: postgres become: true command: >