From ed1fcb90c5c127693241b26c5e050a52c7e5824e Mon Sep 17 00:00:00 2001 From: Tom Page Date: Thu, 3 Aug 2023 14:51:28 +0100 Subject: [PATCH] Added support for EDA Controller (#184) --- roles/aap_setup_install/README.md | 9 +++++++ roles/aap_setup_install/defaults/main.yml | 3 +++ roles/aap_setup_install/tasks/main.yml | 33 ++++++++++++++++++++++- roles/aap_setup_prepare/README.md | 9 +++++++ 4 files changed, 53 insertions(+), 1 deletion(-) diff --git a/roles/aap_setup_install/README.md b/roles/aap_setup_install/README.md index e914a12..f933f78 100644 --- a/roles/aap_setup_install/README.md +++ b/roles/aap_setup_install/README.md @@ -58,6 +58,8 @@ aap_setup_prep_inv_nodes: - ansible-ctrl.example.com automationhub: - ansible-hub.example.com + automationedacontroller: + - ansible-eda.example.com database: - database.example # if using an already existing DB, remove this and ensure that the following variables are filled with the valid details for your Controller and PAH # databases: pg_host, pg_port, pg_database, ph_username, pg_password, automationhub_pg_host, automationhub_pg_port, automationhub_pg_database, @@ -105,6 +107,13 @@ aap_setup_prep_inv_vars: automationhub_ssl_validate_certs: False + automationedacontroller_admin_password: 'password' # Admin password for EDA UI + automationedacontroller_pg_host: 'controller.aap24.local' + automationedacontroller_pg_port: '5432' + automationedacontroller_pg_database: 'automationedacontroller' + automationedacontroller_pg_username: 'automationedacontroller' + automationedacontroller_pg_password: 'password' + sso_console_admin_password: '' aap_setup_prep_inv_secrets: diff --git a/roles/aap_setup_install/defaults/main.yml b/roles/aap_setup_install/defaults/main.yml index 13fc2d6..5e81506 100644 --- a/roles/aap_setup_install/defaults/main.yml +++ b/roles/aap_setup_install/defaults/main.yml @@ -66,6 +66,9 @@ ah_hostname: "{{ (aap_setup_prep_inv_nodes['automationhub'].keys() | list)[0] }} # ah_oauthtoken: "" # ah_validate_certs: false +eda_hostname: "{{ (aap_setup_prep_inv_nodes['automationedacontroller'].keys() | list)[0] }}" +# eda_validate_certs: false + # force the installation of AAP even if it's already running aap_setup_inst_force: false diff --git a/roles/aap_setup_install/tasks/main.yml b/roles/aap_setup_install/tasks/main.yml index 61d82ed..5553012 100644 --- a/roles/aap_setup_install/tasks/main.yml +++ b/roles/aap_setup_install/tasks/main.yml @@ -27,7 +27,7 @@ method: GET user: admin password: "{{ aap_setup_prep_inv_secrets.all.automationhub_admin_password | default(aap_setup_prep_inv_vars.all.automationhub_admin_password) }}" - validate_certs: "{{ controller_validate_certs | default('false') }}" + validate_certs: "{{ ah_validate_certs | default('false') }}" force_basic_auth: true register: __aap_setup_inst_ah_check ignore_errors: true @@ -36,6 +36,21 @@ - "'automationhub' in aap_setup_prep_inv_nodes" - not aap_setup_inst_force | bool +- name: Check EDA Controller Running + ansible.builtin.uri: + url: "https://{{ eda_hostname }}/" + method: GET + user: admin + password: "{{ aap_setup_prep_inv_secrets.all.automationedacontroller_admin_password | default(aap_setup_prep_inv_vars.all.automationedacontroller_admin_password) }}" + validate_certs: "{{ eda_validate_certs | default('false') }}" + force_basic_auth: true + register: __aap_setup_inst_eda_check + ignore_errors: true + failed_when: false + when: + - "'automationedacontroller' in aap_setup_prep_inv_nodes" + - not aap_setup_inst_force | bool + - name: Install AAP when: > aap_setup_inst_force @@ -43,6 +58,8 @@ and __aap_setup_inst_ctl_check.status != 200) or ('automationhub' in aap_setup_prep_inv_nodes and __aap_setup_inst_ah_check.status != 200) + or ('automationedacontroller' in aap_setup_prep_inv_nodes + and __aap_setup_inst_eda_check.status != 200) block: - name: Copy extra vars files to workspace ansible.builtin.copy: @@ -90,4 +107,18 @@ retries: 90 delay: 10 when: "'automationhub' in aap_setup_prep_inv_nodes" + + - name: Wait for automation hub to be running + ansible.builtin.uri: # use the first host from the list if no hostname is defined + url: "https://{{ eda_hostname }}/" + method: GET + user: admin + password: "{{ aap_setup_prep_inv_secrets.all.automationedacontroller_admin_password | default(aap_setup_prep_inv_vars.all.automationedacontroller_admin_password) }}" + validate_certs: "{{ eda_validate_certs | default('false') }}" + force_basic_auth: true + register: __aap_setup_inst_result_eda + until: __aap_setup_inst_result_eda.status == 200 + retries: 90 + delay: 10 + when: "'automationedacontroller' in aap_setup_prep_inv_nodes" ... diff --git a/roles/aap_setup_prepare/README.md b/roles/aap_setup_prepare/README.md index 3cf0a9c..550f87e 100644 --- a/roles/aap_setup_prepare/README.md +++ b/roles/aap_setup_prepare/README.md @@ -64,6 +64,8 @@ aap_setup_prep_inv_nodes: - ansible-ctrl.example.com automationhub: - ansible-hub.example.com + automationedacontroller: + - ansible-eda.example.com database: - database.example # if using an already existing DB, remove this and ensure that the following variables are filled with the valid details for your Controller and PAH # databases: pg_host, pg_port, pg_database, ph_username, pg_password, automationhub_pg_host, automationhub_pg_port, automationhub_pg_database, @@ -111,6 +113,13 @@ aap_setup_prep_inv_vars: automationhub_ssl_validate_certs: False + automationedacontroller_admin_password: 'password' # Admin password for EDA UI + automationedacontroller_pg_host: 'controller.aap24.local' + automationedacontroller_pg_port: '5432' + automationedacontroller_pg_database: 'automationedacontroller' + automationedacontroller_pg_username: 'automationedacontroller' + automationedacontroller_pg_password: 'password' + sso_console_admin_password: '' aap_setup_prep_inv_secrets: