# Rebase to AAP 2.2 and RHEL 8.6 Now

Working on the **Ansible Automation Platform** course has had some minor issues when we try to cover topics like filtering dynamic inventories, and other issues the developers have had with it when Ansible Tower changed to **automation controller**. But with 75% of the course done we decided to move to AAP2.2 which was recently released. This made me excited because the current task I hold is Chapter 8 sections 5 and 6 in the Red Hat "Filtering Hosts with Smart Inventories" book and classroom.
The filtering of dynamic inventories is simple and straightforward in **Ansible Tower**
But buggy in this release of the controller.

![aap412-old.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1654103765601/cMXyzPu_6.png align="center")

Of course, we also decided to drop all of chapter 7 IdM integration so I guess I am working on Chapter 7 now since the chapters have all changed.

Updating was as simple as downloading the new bundle from the internet and editing the inventory file.
Modify the inventory file to specify:

- The three servers to install.
- The passwords for the administrator account in each server.
- The container registry for the automation controller server.
- The variables related to the database.
- The variables related to the certificates.

 I also delete some repositories from the automation hub and all the EE's [Execution Environments] from the controller. I would hate for the setup to fail if I referenced anything from an old repo. (i.e. aap2.1)

> You run the installation script as the root user.
I executed the **setup.sh** installation script.

```
./setup.sh -e ignore_preflight_errors=true
```




NOTE: 
Because my lab environment does not satisfy the minimum memory requirement
for the automation controller and the private automation hub servers, I set
the `ignore_preflight_errors` additional Ansible variable to true to ignore
preflight checks. This should not be set in a production environment.




Since I deleted the old 4.1 EE's I needed to replace them.
I then upload namespaced EEs to the private automation hub. 

![EE-images.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1654109854400/QNCzeDpjH.png align="center")





*This example uses a loop with the skopeo copy command to upload archive
files to private automation hub. Although the semicolons are not needed, the line
continuation character in the skopoeo copy command is needed.*


```
for I in ee-{29,minimal,supported}-rhel8;
> do
> skopeo copy docker-archive:///home/student/certified-EEs/${I}.tar \
> docker://hub.lab.example.com/ansible-automation-platform-21/${I}:latest;
> done
```
...output omitted...

![skopo.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1654110168277/q8FkG2GFl.png align="center")

> Alternatively, assuming that you logged in to the private automation hub with the
> podman login command, you can upload an archive with the following commands.
> When not specified, the container images default to using the latest tag.

>```
 podman load -i ee-supported-rhel8.tar
>```

>```
 podman tag \
 registry.redhat.io/ansible-automation-platform-22/ee-supported-rhel8 \
 hub.lab.example.com/ansible-automation-platform-22/ee-supported-rhel8
>```

>```
 podman push \
 hub.lab.example.com/ansible-automation-platform-22/ee-supported-rhel8
>```

After all that was completed, I went to my controller hub and logged in to the controller with the username and password I updated in my `inventory` file.


![aap420-new.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1654109777980/ey8F9ol2B.png align="center")
