|
| 1 | +// Module included in the following assemblies: |
| 2 | +// assembly-view-key-metrics.adoc |
| 3 | + |
| 4 | + |
| 5 | +[id="proc-installing-automation-dashboard"] |
| 6 | + |
| 7 | += Installing {AutomationDashboardName} |
| 8 | + |
| 9 | +.Prerequisites |
| 10 | + |
| 11 | +* One of the following tested configurations: |
| 12 | +** RHEL 9 x86 or ARM based physical or virtual host. |
| 13 | +** Postgres v15 database. |
| 14 | +[IMPORTANT] |
| 15 | +Do not attempt to install {AutomationDashboardName} on the same hosts as {PlatformNameShort}. |
| 16 | +* Access to _baseos_ and _{PlatformNameShort}stream_ repo packages for the RHEL 9 host. |
| 17 | +* A non-root login account to the RHEL 9 host for installation. This requires passwordless sudo access to root as well. By default, we use the $HOMEDIR of the user account. |
| 18 | +* URL details for access to your {PlatformNameShort} instances. |
| 19 | +* An {PlatformNameShort} 0Auth2 token, which is used for communication between the {PlatformNameShort} instances and {AutomationDashboardName}. |
| 20 | +* Access to download the installation bundle providing installation components for the {AutomationDashboardName}. |
| 21 | +* Open firewall access to allow for communications. This includes HTTPS/443 from the {AutomationDashboardName} to the {PlatformNameShort} instances, but ports are configurable. |
| 22 | +* Access to port 8447. |
| 23 | +* A supported version of `ansible-core` installed on supported RHEL versions. |
| 24 | + |
| 25 | +.Procedure |
| 26 | + |
| 27 | +Use the following steps to install {AutomationDashboardName} on your {RHEL} (RHEL) 9 host: |
| 28 | + |
| 29 | +. Copy the installation source file to your RHEL 9 host. |
| 30 | +. Untar the installation source. This requires approximately 500 MB of disk space. For this example, the user's home directory (`/home/ec2-user`) is used. |
| 31 | ++ |
| 32 | +[source,bash] |
| 33 | +---- |
| 34 | +tar -xzf ansible-automation-reports-containerized-setup-bundle.tar.gz |
| 35 | +cd ansible-automation-reports-containerized-setup/ |
| 36 | +---- |
| 37 | + |
| 38 | +. Verify that the necessary software is installed by running the following commands: |
| 39 | ++ |
| 40 | +[source,bash] |
| 41 | +---- |
| 42 | +sudo dnf install ansible-core |
| 43 | +ansible-galaxy collection install -r requirements.yml |
| 44 | +---- |
| 45 | + |
| 46 | +. Copy the example inventory file and modify it before running the installer. |
| 47 | ++ |
| 48 | +[source,bash] |
| 49 | +---- |
| 50 | +cp -i inventory.example inventory |
| 51 | +vi inventory |
| 52 | +---- |
| 53 | + |
| 54 | +. Review and update the inventory configuration with your specific environment details, including the following variables: |
| 55 | +.. All RHEL 9 host occurrences from `ec2-54-147-26-173.compute-1.amazonaws.com` to your FQDN host. |
| 56 | +.. All `_admin_password` or `_pg_password` values. Change the word `changeme` to match your passwords. |
| 57 | + |
| 58 | ++ |
| 59 | +[source,bash] |
| 60 | +---- |
| 61 | +# This is our {AutomationDashboardName} reporter front-end application |
| 62 | +[automationreporter] |
| 63 | +ec2-54-147-26-173.compute-1.amazonaws.com ansible_connection=local |
| 64 | +
|
| 65 | +# These are any required vars for the installation and shouldn't be removed |
| 66 | +[automationreporter:vars] |
| 67 | +aap_auth_provider_name=AAP24-example.com-8443 |
| 68 | +aap_auth_provider_protocol=https |
| 69 | +
|
| 70 | +# aap_auth_provider_url depends on AAP version: |
| 71 | +# AAP 2.4 (controller API): DNS_OR_IP/api |
| 72 | +# AAP 2.5 (gateway API): DNS_OR_IP |
| 73 | +aap_auth_provider_url=aap24.example.com:8443/api |
| 74 | +
|
| 75 | +# aap_auth_provider_user_data_endpoint depends on AAP version: |
| 76 | +# AAP 2.4 (controller API): /v2/me/ |
| 77 | +# AAP 2.5 (gateway API): /api/gateway/v1/me/ |
| 78 | +aap_auth_provider_user_data_endpoint=/v2/me/ |
| 79 | +
|
| 80 | +aap_auth_provider_user_data_endpoint=/v2/me/ |
| 81 | +aap_auth_provider_check_ssl=false |
| 82 | +aap_auth_provider_client_id=changeme |
| 83 | +aap_auth_provider_client_secret=changeme |
| 84 | +initial_sync_days=1 |
| 85 | +
|
| 86 | +# This is for our Postgresql database, by default hosted on the same reporter host |
| 87 | +[database] |
| 88 | +ec2-54-147-26-173.compute-1.amazonaws.com ansible_connection=local |
| 89 | +
|
| 90 | +# Mandatory vars needed for the installation - modify values to match your environment |
| 91 | +[all:vars] |
| 92 | +postgresql_admin_username=postgres |
| 93 | +postgresql_admin_password=changeme |
| 94 | +
|
| 95 | +# AAP Reporter - mandatory |
| 96 | +# -------------------------- |
| 97 | +reporter_pg_containerized=True |
| 98 | +reporter_admin_password=changeme |
| 99 | +reporter_pg_host=ec2-54-147-26-173.compute-1.amazonaws.com |
| 100 | +reporter_pg_username=aapreporter |
| 101 | +reporter_pg_password=changeme |
| 102 | +reporter_pg_database=aapreports |
| 103 | +
|
| 104 | +# The installation is supplied as a bundle containing the container images |
| 105 | +# Modify the bundle_dir if necessary to reflect your location |
| 106 | +bundle_install=true |
| 107 | +bundle_dir=/home/ec2-user/ansible-automation-reports-containerized-setup/bundle |
| 108 | +---- |
| 109 | + |
| 110 | +. Run the installer. |
| 111 | ++ |
| 112 | +[source,bash] |
| 113 | +---- |
| 114 | +ansible-playbook -i inventory ansible.containerized_installer.reporter_install |
| 115 | +---- |
| 116 | + |
| 117 | +.Verification |
| 118 | + |
| 119 | +See the following example output for reference. |
| 120 | + |
| 121 | +[source,text] |
| 122 | +---- |
| 123 | +PLAY RECAP ********************************************************************************************************************************************* |
| 124 | +ec2-54-147-26-173.compute-1.amazonaws.com : ok=126 changed=51 unreachable=0 failed=0 skipped=42 rescued=0 ignored=0 |
| 125 | +localhost : ok=12 changed=0 unreachable=0 failed=0 skipped=9 rescued=0 ignored=0 |
| 126 | +---- |
| 127 | + |
| 128 | +.Troubleshooting |
| 129 | + |
| 130 | +* Alternative configurations are possible (for example, the database for {AutomationDashboardName} can be set on a different host). This requires additional changes to variables in the inventory file. |
| 131 | +* Consult the section “Inventory variables” below for available variables. |
0 commit comments