AAP 2.4 on OpenShift Local (CRC) Setup Guide¶
This guide outlines the steps to set up Red Hat Ansible Automation Platform (AAP) 2.4 on OpenShift Local (formerly CodeReady Containers - CRC) for troubleshooting and reproduction purposes.
๐ Prerequisites¶
- Hardware:
- macOS (Intel or Apple Silicon), Linux, or Windows Professional.
- RAM: Minimum 16GB recommended (AAP is resource intensive). 32GB is ideal.
- CPUs: 4 vCPUs minimum.
- Disk: 50GB+ free space.
- Software:
- OpenShift Local (CRC)
- Red Hat Account (for pull secrets).
๐ Step 1: Install & Configure OpenShift Local (CRC)¶
Automated Setup (Recommended)¶
You can use the provided Ansible playbook to automate most of these steps:
- Install the Kubernetes collection:
- Run the playbook:
Manual Setup¶
-
Download & Install CRC: Follow the instructions for your OS from the Red Hat Console.
-
Configure Resources: AAP requires significant resources. Before starting CRC, increase the default allocation.
-
Setup & Start CRC:
Follow the prompts to paste your Pull Secret. -
Log in:
๐ฆ Step 2: Install AAP 2.5 Operator¶
-
Create Namespace:
-
Install Operator via Web Console (Recommended for CRC):
- Run
crc consoleto open the OpenShift Web Console. - Log in as
kubeadmin. - Navigate to Operators -> OperatorHub.
- Search for Ansible Automation Platform.
- Select the Red Hat Ansible Automation Platform operator.
- Click Install.
- Update Channel: Select
stable-2.5. - Installation Mode: A specific namespace on the cluster (
aap). - Click Install.
- Run
-
Verify Installation: Wait for the operator to show "Succeeded" in Installed Operators.
Automated Setup (Playbook)¶
Alternatively, you can use the provided Ansible playbook (playbooks/setup-local-aap.yml), which will attempt to install AAP 2.5 using the default redhat-operators catalog.
Note: If the playbook hangs on Operator installation, use the Web Console method above, then re-run the playbook to deploy the Controller.
โ๏ธ Step 3: Deploy Automation Controller¶
-
Create Controller Instance:
- In the Installed Operators view, click Red Hat Ansible Automation Platform.
- Click the Automation Controller tab.
- Click Create AutomationController.
- Name:
example-controller - View: Form view is usually easiest.
- Replicas: Set to
1(for local resource saving). - Ingress type:
Route. - Click Create.
-
Monitor Deployment:
Wait for the postgres and controller pods to beRunning. -
Access Controller:
- Go to Networking -> Routes in the console to find the URL.
- Username:
admin - Password: Found in the Secret named
example-controller-admin-password.
๐งน Cleanup / Pause¶
To save battery/resources when not using it:
๐ Troubleshooting Tips¶
- Resource Exhaustion: If pods are stuck in
Pending, checkoc describe pod <pod-name>for "Insufficient cpu/memory". You may need to increase CRC config and runcrc delete && crc start. - Pull Secret Issues: Ensure your pull secret is up to date if you get
ImagePullBackOff. Update it viacrc config set pull-secret-file path/to/pull-secret.