diff --git a/.gitignore b/.gitignore index 347d0a1289..28a047fb1e 100644 --- a/.gitignore +++ b/.gitignore @@ -60,3 +60,6 @@ logs/ **/generated-sources/ /distribution /vault* +/dev-tools/ansible/inventories/test +/dev-tools/ansible/RUN_TEST_ENV.md +.github/workflows/ansible-check.yml \ No newline at end of file diff --git a/dev-tools/ansible/pga-scigap-dev.yml b/dev-tools/ansible/pga-scigap-dev.yml index 7c69ef547f..7479e74905 100644 --- a/dev-tools/ansible/pga-scigap-dev.yml +++ b/dev-tools/ansible/pga-scigap-dev.yml @@ -19,7 +19,13 @@ # --- -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/scigap" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/seagrid" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/testdrive" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/scigap" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/seagrid" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/testdrive" ... diff --git a/dev-tools/ansible/pga-scigap-prod.yml b/dev-tools/ansible/pga-scigap-prod.yml index 6b557f2796..5968f7e7b0 100644 --- a/dev-tools/ansible/pga-scigap-prod.yml +++ b/dev-tools/ansible/pga-scigap-prod.yml @@ -19,47 +19,133 @@ # --- -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/accord" -#- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/brandeis" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/gatech" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/georgiastate" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/iugateway" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/lsu" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/nanoconfinement" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/nanoshape" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/newmexicostate" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/nsg" -#- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/oiitandy" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/oscer" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/phasta" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/scigap" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/seagrid" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/simvascular" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/southdakota" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/southernillinois" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/testdrive" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/uab" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/ultrascan" -#- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/utah" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/wvsu" -#- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/iugeosurvey" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/csbglsu" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/NCSAIndustry" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/Kentucky" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/searchingSRA" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/r-hpc" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/rutgersgemr" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/nexttdb" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/interactwel" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/hubzero" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/epwgateway" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/ampgateway" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/hubzero" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/ddstudio" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/sdstate" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/saverx" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/mines" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/distantreader" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/pfec-hydro" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/snowvision" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/accord" +#- import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/brandeis" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/gatech" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/georgiastate" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/iugateway" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/lsu" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/nanoconfinement" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/nanoshape" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/newmexicostate" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/nsg" +#- import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/oiitandy" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/oscer" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/phasta" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/scigap" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/seagrid" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/simvascular" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/southdakota" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/southernillinois" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/testdrive" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/uab" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/ultrascan" +#- import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/utah" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/wvsu" +#- import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/iugeosurvey" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/csbglsu" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/NCSAIndustry" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/Kentucky" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/searchingSRA" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/r-hpc" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/rutgersgemr" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/nexttdb" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/interactwel" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/hubzero" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/epwgateway" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/ampgateway" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/hubzero" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/ddstudio" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/sdstate" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/saverx" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/mines" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/distantreader" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/pfec-hydro" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/snowvision" ... diff --git a/dev-tools/ansible/pga-scigap-staging.yml b/dev-tools/ansible/pga-scigap-staging.yml index d8013e3a24..ba966f6fe3 100644 --- a/dev-tools/ansible/pga-scigap-staging.yml +++ b/dev-tools/ansible/pga-scigap-staging.yml @@ -19,8 +19,16 @@ # --- -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/scigap" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/seagrid" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/testdrive" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/ultrascan" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/scigap" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/seagrid" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/testdrive" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/ultrascan" ... diff --git a/dev-tools/ansible/pga-scigap-stagingnew.yml b/dev-tools/ansible/pga-scigap-stagingnew.yml index 6e70f19343..1eec110ee0 100644 --- a/dev-tools/ansible/pga-scigap-stagingnew.yml +++ b/dev-tools/ansible/pga-scigap-stagingnew.yml @@ -19,40 +19,112 @@ # --- -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/ampgateway" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/csbglsu" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/ddstudio" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/distantreader" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/epwgateway" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/gatech" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/georgiastate" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/hubzero" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/interactwel" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/iugateway" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/iugeosurvey" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/kentucky" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/lsu" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/mines" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/nanoconfinement" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/nanoshape" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/NCSAIndustry" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/newmexicostate" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/nexttdb" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/oscer" -# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/pfec-hydro" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/phasta" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/r-hpc" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/rutgersgemr" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/saverx" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/scigap" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/sdstate" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/seagrid" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/searchingSRA" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/simvascular" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/southdakota" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/southernillinois" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/testdrive" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/uab" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/ultrascan" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/wvsu" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/ampgateway" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/csbglsu" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/ddstudio" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/distantreader" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/epwgateway" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/gatech" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/georgiastate" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/hubzero" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/interactwel" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/iugateway" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/iugeosurvey" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/kentucky" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/lsu" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/mines" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/nanoconfinement" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/nanoshape" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/NCSAIndustry" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/newmexicostate" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/nexttdb" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/oscer" +# - import_playbook: pga-single-vhost.yml +# vars: +# vars_dir: "{{ inventory_dir }}/pga_config/pfec-hydro" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/phasta" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/r-hpc" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/rutgersgemr" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/saverx" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/scigap" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/sdstate" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/seagrid" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/searchingSRA" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/simvascular" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/southdakota" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/southernillinois" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/testdrive" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/uab" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/ultrascan" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/wvsu" ... diff --git a/dev-tools/ansible/pga-scigap-testing.yml b/dev-tools/ansible/pga-scigap-testing.yml index 7c69ef547f..7479e74905 100644 --- a/dev-tools/ansible/pga-scigap-testing.yml +++ b/dev-tools/ansible/pga-scigap-testing.yml @@ -19,7 +19,13 @@ # --- -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/scigap" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/seagrid" -- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/testdrive" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/scigap" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/seagrid" +- import_playbook: pga-single-vhost.yml + vars: + vars_dir: "{{ inventory_dir }}/pga_config/testdrive" ... diff --git a/dev-tools/ansible/roles/api-orch/defaults/main.yml b/dev-tools/ansible/roles/api-orch/defaults/main.yml index 0c145aad87..dd03b07cf2 100644 --- a/dev-tools/ansible/roles/api-orch/defaults/main.yml +++ b/dev-tools/ansible/roles/api-orch/defaults/main.yml @@ -62,8 +62,12 @@ haproxy_service_name: Rocky_8: haproxy Ubuntu_22: haproxy Ubuntu_24: haproxy + Ubuntu_25: haproxy + default: haproxy haproxy_config_dir: CentOS_7: /etc/haproxy18/ Rocky_8: /etc/haproxy/ Ubuntu_22: /etc/haproxy/ Ubuntu_24: /etc/haproxy/ + Ubuntu_25: /etc/haproxy/ + default: /etc/haproxy/ diff --git a/dev-tools/ansible/roles/api-orch/tasks/main.yml b/dev-tools/ansible/roles/api-orch/tasks/main.yml index fbb4bd92f5..0f1185fda5 100644 --- a/dev-tools/ansible/roles/api-orch/tasks/main.yml +++ b/dev-tools/ansible/roles/api-orch/tasks/main.yml @@ -21,11 +21,16 @@ --- ################################################################################ # api-orch deployment +- name: Set haproxy variables with fallback + set_fact: + haproxy_config_path: "{{ haproxy_config_dir[ansible_distribution + '_' + ansible_distribution_major_version] | default(haproxy_config_dir['default'] | default('/etc/haproxy/')) }}" + haproxy_service: "{{ haproxy_service_name[ansible_distribution + '_' + ansible_distribution_major_version] | default(haproxy_service_name['default'] | default('haproxy')) }}" + - name: Create api-orchestrator deployment directory file: path="{{ api_orch_dir }}" state=directory owner="{{ user }}" group="{{ group }}" - name: Check previous deployments - stat: path="{{ api_orch_dir }}/{{ airavata_dist }}" get_md5=no get_checksum=no + stat: path="{{ api_orch_dir }}/{{ airavata_dist }}" get_checksum=no register: check - name: check if api-orch systemd unit file is installed @@ -53,7 +58,7 @@ - name: copy prepareLetsEncryptCertificates.sh script copy: src: prepareLetsEncryptCertificates.sh - dest: "{{ haproxy_config_dir[ansible_distribution + '_' + ansible_distribution_major_version]}}" + dest: "{{ haproxy_config_path }}" mode: 755 become_user: root @@ -69,7 +74,7 @@ when: not stat_api_server_ssl_cert_result.stat.exists - name: set certificate renewal post-hook - command: certbot renew --force-renewal --installer null --webroot --post-hook "{{ haproxy_config_dir[ansible_distribution + '_' + ansible_distribution_major_version]}}/prepareLetsEncryptCertificates.sh && systemctl reload {{ haproxy_service_name[ansible_distribution + '_' + ansible_distribution_major_version]}}.service" --quiet + command: certbot renew --force-renewal --installer null --webroot --post-hook "{{ haproxy_config_path }}/prepareLetsEncryptCertificates.sh && systemctl reload {{ haproxy_service }}.service" --quiet become_user: root # Renewal might fail due to rate limiting, which is fine since we only need to set the post-hook ignore_errors: true @@ -98,14 +103,14 @@ - name: Copy HAProxy config file template: src=haproxy.cfg.j2 - dest={{ haproxy_config_dir[ansible_distribution + "_" + ansible_distribution_major_version]}}/haproxy.cfg + dest={{ haproxy_config_path }}/haproxy.cfg backup=true become_user: root notify: - restart haproxy - name: start haproxy - service: name={{ haproxy_service_name[ansible_distribution + "_" + ansible_distribution_major_version]}} state=started enabled=yes daemon_reload=yes + service: name={{ haproxy_service }} state=started enabled=yes daemon_reload=yes become: true become_user: root diff --git a/dev-tools/ansible/roles/common/tasks/main.yml b/dev-tools/ansible/roles/common/tasks/main.yml index b7b2db723d..6a2b1d65ff 100644 --- a/dev-tools/ansible/roles/common/tasks/main.yml +++ b/dev-tools/ansible/roles/common/tasks/main.yml @@ -23,6 +23,7 @@ yum: name={{ item }} state=latest update_cache=yes with_items: - git + - unzip become_user: root when: ansible_distribution == "CentOS" @@ -30,6 +31,7 @@ dnf: name={{ item }} with_items: - git + - unzip become_user: root when: ansible_distribution == "Rocky" @@ -49,6 +51,7 @@ - libssl-dev - libtool - pkg-config + - unzip become_user: root when: ansible_os_family == "Debian" diff --git a/dev-tools/ansible/roles/database/tasks/main.yml b/dev-tools/ansible/roles/database/tasks/main.yml index 26503e02ab..98e6c7da9f 100644 --- a/dev-tools/ansible/roles/database/tasks/main.yml +++ b/dev-tools/ansible/roles/database/tasks/main.yml @@ -43,9 +43,11 @@ become_user: root when: ansible_distribution == "Rocky" -- name: install pexpect (Ubuntu/Debian) +- name: install pexpect and debconf-utils (Ubuntu/Debian) apt: - name: python3-pexpect + name: + - python3-pexpect + - debconf-utils state: present update_cache: yes become_user: root @@ -212,7 +214,7 @@ become_user: root when: ansible_os_family == 'Debian' -- include: secure_install.yml +- import_tasks: secure_install.yml - name: create databases mysql_db: @@ -328,7 +330,7 @@ login_password: "{{ mysql_root_password }}" when: ansible_os_family == 'RedHat' -- include: keycloak.yml +- import_tasks: keycloak.yml when: "'keycloak' in groups" - name: allow only selected networks to access DB diff --git a/dev-tools/ansible/roles/rabbitmq/tasks/main.yml b/dev-tools/ansible/roles/rabbitmq/tasks/main.yml index 85a31a5795..2a7141d8d4 100644 --- a/dev-tools/ansible/roles/rabbitmq/tasks/main.yml +++ b/dev-tools/ansible/roles/rabbitmq/tasks/main.yml @@ -47,9 +47,9 @@ args: creates: /usr/share/keyrings/rabbitmq.9F4587F226208342.gpg -- name: Map Ubuntu release to RabbitMQ repository codename (use jammy for noble) +- name: Map Ubuntu release to RabbitMQ repository codename (use jammy for noble/questing) set_fact: - rabbitmq_ubuntu_codename: "{{ 'jammy' if ansible_distribution_release == 'noble' else ansible_distribution_release }}" + rabbitmq_ubuntu_codename: "{{ 'jammy' if (ansible_distribution_release == 'noble' or ansible_distribution_release == 'questing' or (ansible_distribution_major_version | int >= 24)) else ansible_distribution_release }}" when: ansible_os_family == "Debian" - name: Add RabbitMQ Erlang repository (Ubuntu) diff --git a/dev-tools/ansible/roles/registry/tasks/main.yml b/dev-tools/ansible/roles/registry/tasks/main.yml index 2e0b9e3001..37200292ab 100644 --- a/dev-tools/ansible/roles/registry/tasks/main.yml +++ b/dev-tools/ansible/roles/registry/tasks/main.yml @@ -26,7 +26,7 @@ when: build|success - name: Check previous deployments - stat: path="{{ registry_dir }}/{{ airavata_dist }}" get_md5=no get_checksum=no + stat: path="{{ registry_dir }}/{{ airavata_dist }}" get_checksum=no register: check - name: stop registry diff --git a/dev-tools/ansible/site.yml b/dev-tools/ansible/site.yml index b6c5b60b72..a7ab7cb4d7 100644 --- a/dev-tools/ansible/site.yml +++ b/dev-tools/ansible/site.yml @@ -20,8 +20,8 @@ --- #Master playbook -- include: database.yml -- include: airavata.yml -- include: keycloak.yml -- include: pga.yml +- import_playbook: database.yml +- import_playbook: airavata.yml +- import_playbook: keycloak.yml +- import_playbook: pga.yml ...