Skip to content

Commit

Permalink
Merge pull request #5429 from EnterpriseDB/docs/josh/update-featured-…
Browse files Browse the repository at this point in the history
…content

update featured topics
  • Loading branch information
josh-heyer authored Mar 21, 2024
2 parents d872035 + 952a478 commit 0c5d253
Show file tree
Hide file tree
Showing 2 changed files with 114 additions and 120 deletions.
198 changes: 98 additions & 100 deletions product_docs/docs/tpa/23/tower.mdx
Original file line number Diff line number Diff line change
@@ -1,75 +1,73 @@
---
navTitle: Ansible Tower (Automation Controller)
title: TPA and Ansible Tower/Ansible Automation Controller
title: TPA and Ansible Tower/Ansible Automation Platform
originalFilePath: tower.md

---

TPA has support for RedHat Ansible Automation Controller (AAP). Only
deploy/upgrade steps are run on AAP. Configure and provision run on a
standalone machine with tpa package installed, resulting cluster
directory can then be imported on AAP. Support is limited to bare metal
platform.
TPA has support for RedHat Ansible Automation Platform (AAP) an automation controller.
You run only deploy and upgrade steps on AAP. You run configuration and provisioning on a
standalone machine with the tpa package installed. You can then import the resulting cluster
directory on AAP. Support is limited to bare-metal
platforms.

## Automation Platform initial setup
## AAP initial setup

TPA needs the following steps to be done once before being able to use
AAP to deploy clusters.
Before TPA can use AAP to deploy clusters, you need to perform this initial setup.

### Add TPA Execution Environment image (admin)

Starting version 2.4 AAP uses container images to run ansible playbooks.
These containers, called Execution Environment (EE), bundle dependencies
Starting with version 2.4, AAP uses container images to run Ansible playbooks.
These containers, called Execution Environments (EE), bundle dependencies
required by playbooks to run successfully.

!!!Note :
EDB customers can reach out to EDB support for help with the Execution
Environment (EE)
!!! Note
EDB customers can reach out to EDB Support for help with EE.

As an AAP admin, create an entry in your available EE list pointing to
As an AAP admin, create an entry in your available EE list that points to
your EE image.

### Create the EDB_SUBSCRIPTION_TOKEN credential type (admin)

As an AAP admin, create the custom credential type
`EDB_SUBSCRIPTION_TOKEN` as described below to hold your EDB
`EDB_SUBSCRIPTION_TOKEN`to hold your EDB
subscription access token:

Go to the Credentials Type page in AAP UI.
1. Go to the Credentials Type page in the AAP UI.

Set the "NAME" field to "EDB_SUBSCRIPTION_TOKEN".
Paste the following to "INPUT CONFIGURATION" field:
1. Set the **Name** field to `EDB_SUBSCRIPTION_TOKEN`.

```yaml
fields:
- id: tpa_edb_sub_token
type: string
label: EDB_SUBSCRIPTION_TOKEN
secret: true
required:
- tpa_edb_sub_token
```
1. Paste the following into the **Input Configuration** field:

Paste the following to "INJECTOR CONFIGURATION" field:
```yaml
fields:
- id: tpa_edb_sub_token
type: string
label: EDB_SUBSCRIPTION_TOKEN
secret: true
required:
- tpa_edb_sub_token
```
1. Paste the following into the **Injector Configuration** field:
```yaml
env:
EDB_SUBSCRIPTION_TOKEN: '{{ tpa_edb_sub_token }}'
```
```yaml
env:
EDB_SUBSCRIPTION_TOKEN: '{{ tpa_edb_sub_token }}'
```
Save the changes.
1. Save the changes.
Create a credential using the newly added type `EDB_SUBSCRIPTION_TOKEN`.
1. Create a credential using the newly added type `EDB_SUBSCRIPTION_TOKEN`.

## Setting up a cluster

Initial steps are run on a workstation with tpaexec package installed.
Perform the initial steps on a workstation with the tpaexec package installed.

### On the TPA workstation:
### On the TPA workstation

#### Configure

Run `tpaexec configure` command including these options:
Run the `tpaexec configure` command, including these options:
`--platform bare`, `--use-ansible-tower`, `--tower-git-repository`

```bash
Expand All @@ -83,112 +81,113 @@ Run `tpaexec configure` command including these options:
--postgresql 16
```

`--use-ansible-tower` expects the AAP address as parameter even if it
`--use-ansible-tower` expects the AAP address as a parameter even if it
isn't used at the time. `--tower-git-repository` is used to import the
cluster data into AAP; TPA creates its own branch using `cluster_name`
as the branch name (This allows you to use the same repository for all
of your clusters). All other options to `tpaexec configure`, as
described in [Configuration](tpaexec-configure/), are still valid.
cluster data into AAP. TPA creates its own branch using `cluster_name`
as the branch name, which allows you to use the same repository for all
of your clusters. All other options to `tpaexec configure`, as
described in [Configuration](tpaexec-configure.md), are still valid.

#### config.yml modification

config.yml includes the top-level dictionary `ansible_tower`, which
causes `tpaexec provision` to treat the cluster as an AAP enabled
`config.yml` includes the top-level dictionary `ansible_tower`, which
causes `tpaexec provision` to treat the cluster as an AAP-enabled
cluster.

Edit config.yml, ensure that `ansible_host` and `{private,public}_ip`
are defined for each node and ansible_host is set to a value that can be
resolved by AAP. Make any change or addition needed, see [Cluster
Configuration](configure-cluster/).
Edit `config.yml` to ensure that `ansible_host` and `{private,public}_ip`
are defined for each node and `ansible_host` is set to a value that AAP can
resolve. Make any change or addition needed. See [Cluster
configuration](configure-cluster.md).

Run `tpaexec provision` to generate inventory and other related files.
To generate inventory and other related files, run `tpaexec provision` .

### On AAP UI:
### On the AAP UI

#### Project

Add a Project in AAP using the git repository as source.
Set default EE to use tpa provided image.
!!!
Add a project in AAP using the git repository as the source.
Set the default EE to use the image provided by TPA.

!!!Note on project options
Use of `Update Revision on Launch` is strongly suggested to ensure
changes are correctly synced before running a job.
!!! Note Project options

`Allow Branch Override` is required when trying to use multiple
inventory with a single project.
To ensure changes are correctly synced before running a job,
we strongly recommend using **Update Revision on Launch**.

**Allow Branch Override** is required when trying to use multiple
inventories with a single project.

#### Inventory

Add an empty inventory, use the project as an external source to
populate it using `inventory/00-cluster_name` as inventory file.
!!!
Add an empty inventory. Use the project as an external source to
populate it using `inventory/00-cluster_name` as the inventory file.

!!! Note Inventory options

!!!Note on inventory options
Use of `Overwrite local groups and hosts from remote inventory source`
is strongly suggested to ensure changes are correctly synced.
To ensure changes are correctly synced, We strongly recommend using
**Overwrite local groups and hosts from remote inventory source**.

`Overwrite local variables from remote inventory source` is also
suggested when not setting additionnal variables outside TPA's control
in AAP.
We also recommend using **Overwrite local variables from remote inventory source** when not setting
additional variables outside TPA's control in AAP.

#### Credentials

Create a `vault` credential. The vault password can be retrieved via
`tpaexec show-vault <cluster_dir>` on the tpa workstation.
Create a `vault` credential. You can retrieve the vault password using
`tpaexec show-vault <cluster_dir>` on the TPA workstation.

Ensure the machine credential is available in AAP to connect to your
inventory nodes via ssh during deployment.
To connect to your inventory nodes by way of SSH during deployment,
make sure the machine credential is available in AAP.

#### Template creation

Create a Template that uses your project and your inventory.
Include required credentials:
To create a template:

- vault credential
- EDB_SUBSCRIPTION_TOKEN credential
- machine credential
1. Create a template that uses your project and your inventory.

Set two additional variable:
1. Include these required credentials:
- Vault credential
- `EDB_SUBSCRIPTION_TOKEN` credential
- Machine credential

```
tpa_dir: /opt/EDB/TPA
cluster_dir: /runner/project
```
1. Set two additional variables:

```
tpa_dir: /opt/EDB/TPA
cluster_dir: /runner/project
```

Select `deploy.yml` as playbook.
1. Select `deploy.yml` as the playbook.

Run a job based on the new Template to deploy your cluster.
1. To deploy your cluster, run a job based on the new template.

## Use one project for multiple inventory

TPA uses a different branch name for each of your cluster in the
associated git repository. This allows the use of a single project for
TPA uses a different branch name for each of your clusters in the
associated git repository. This approach allows the use of a single project for
multiple clusters.

### Set Allow branch override option

Enable the `Allow branch override option` in the AAP project.
In the AAP project, enable the **Allow branch override** option.

### Define multiple inventory
### Define multiple inventories

TPA uses a different branch name for each of your cluster in the git
repository. Multiple inventory can be generated using the same project
as source but overriding the branch for each inventory.
TPA uses a different branch name for each of your clusters in the git
repository. You can generate multiple inventories using the same project
as the source by overriding the branch for each inventory.

### Define credentials per inventory

Ensure vault password are set accordingly per inventory since these will
Ensure vault passwords are set accordingly per inventory since these
differ on each TPA cluster.

## Update TPA on AAP

Updating TPA on AAP involves some extra steps.

### Update tpa workstation package
### Update TPA workstation package

Update your TPA workstation package as any OS package
depending on your OS. See [Installation](INSTALL/).
depending on your OS. See [Installation](INSTALL.md).

### Use EE image with same version tag

Expand All @@ -198,8 +197,8 @@ workstation package version used.
### Run tpaexec relink on your cluster directory

Ensure that any cluster using AAP is up to date by running `tpaexec
relink <cluster_dir>`. Ensure that you push any change committed by
`relink` command.
relink <cluster_dir>`. Be sure to push any change committed by
the `relink` command:

```
$ git status
Expand All @@ -212,7 +211,6 @@ $ git push tower

### Sync project and inventories

Sync the project in AAP UI and related inventories if these are not set
to use `Update revision on job launch` and `Update on launch`
respectively.
!!!
If they aren't set to use **Update revision on job launch** and **Update on launch**,
sync the project in the AAP UI and related inventories,
respectively.
36 changes: 16 additions & 20 deletions src/pages/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,22 +68,25 @@ const Page = () => {

<div className="mb-3">
<h3 className="card-title mb-2 fw-bold">
<Link className="homepage-headling-link" to="/pwr/latest/">
Postgres Workload Report v1 released
<Link className="homepage-headling-link" to="/pgd/latest/">
EDB Postgres Distributed 5.4.0
</Link>
</h3>
<p>
<Icon
iconName={iconNames.MONITORING}
iconName={iconNames.HIGH_AVAILABILITY}
className="fill-orange ms-2 float-end"
/>
PWR is used for building PostgreSQL workload reports,
mimicking those produced by Oracle's Automatic Workload
Repository (AWR) tool.
Documentation for the latest version of PGD includes an
all-new section covering manual configuration and
installation.
</p>
<div className="d-flex align-items-center">
<p>
<Link className="btn-sm ms-2" to="/pwr/latest/">
<Link
className="btn-sm ms-2"
to="/pgd/latest/admin-manual/"
>
Find out more &rarr;
</Link>
</p>
Expand All @@ -102,28 +105,21 @@ const Page = () => {

<div className="mb-3">
<h3 className="card-title mb-2 fw-bold">
<Link
className="homepage-headling-link"
to="/pg_extensions/pg_squeeze/"
>
New extension: PG Squeeze
<Link className="homepage-headling-link" to="/tpa/latest/">
Trusted Postgres Architect 23.30
</Link>
</h3>
<p>
<Icon
iconName={iconNames.POSTGRESQL}
iconName={iconNames.INSTANCES}
className="fill-orange ms-2 float-end"
/>
Open-source extension PG Squeeze removes unused space from a
table and optionally sorts tuples according to a particular
index.
TPA now provides a custom Execution Environment image to be
used on RedHat Ansible Automation Controller.
</p>
<div className="d-flex align-items-center">
<p>
<Link
className="btn-sm ms-2"
to="/pg_extensions/pg_squeeze/"
>
<Link className="btn-sm ms-2" to="/tpa/latest/tower/">
Find out more &rarr;
</Link>
</p>
Expand Down

0 comments on commit 0c5d253

Please sign in to comment.