
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- 3,674 Views
I have a question regarding the persistence of AWX projects. In the documentation, I found that project persistence can be configured (https://github.com/ansible/awx-operator/blob/devel/docs/user-guide/advanced-configuration/persisting...). Does this mean that projects in AWX are not persistent by default? If a pod is deleted, do the projects also get deleted?
Accepted Solutions

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- 3,344 Views
@dkcbk -
So you are referring to OpenShift and the AWX operator that installs AWX as a containerized environment. Since this is an operator installing AWX in a containerized environment it will install pods with one or more containers inside the pods (depending on how things are configured and setup) just like any other OCP deployment.
Since Pods are essentially containers, it should be known that the containers in the pods are using ephemeral storage unless otherwise specified and told to be persistent storage.
What does this mean ...?
Simply put, if the Pod/Container which is running AWX is removed and a new Pod/Container is launched ... all data from the Pod that was removed is lost (because of ephemeral storage). So Projects, Job Template Workflows, Configurations, etc. would all be lost if they were contained on the Ephemeral storage. So if you were expecting the content to be there when a new AWX pod spins up on another Node, you will not have the projects directory.
The operator does allow you to configure Project persistence as @Chetan_Tiwary_ mentioned with the documentation, but it is turned off by default.
Keep in mind though ... the local copy of the projects get deleted, the content of the projects come from an external repository so it is possible to re-create the Project and allow the content to be synchronized once again to AWX.
I actually have a playbook that can create a Project on AWX/Ansible Automation Controller that I use when teaching the course since I start with a new classroom environment each time.
https://github.com/tmichett/AAP2_Controller_Demo/blob/main/Setup_Controller/Create_Project.yml
Using a playbook along with Configuration as Code (CaC) for everything you are doing you can quickly recover and provision a new AWX environment even if the cluster completely dies.
https://rhtapps.redhat.com/verify?certId=111-134-086
SENIOR TECHNICAL INSTRUCTOR / CERTIFIED INSTRUCTOR AND EXAMINER
Red Hat Certification + Training

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- 3,350 Views
Hello @dkcbk !
I think yes , projects_persistence is false by default, which gives volume is of type emptyDir in the pod definition - if project persistence is not defined in the awx.spec .
You'll need to create a PersistentVolume and PersistentVolumeClaim, and then configure the operator to use the PVC as given here :
Cc: @Travis to provide inputs

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- 3,345 Views
@dkcbk -
So you are referring to OpenShift and the AWX operator that installs AWX as a containerized environment. Since this is an operator installing AWX in a containerized environment it will install pods with one or more containers inside the pods (depending on how things are configured and setup) just like any other OCP deployment.
Since Pods are essentially containers, it should be known that the containers in the pods are using ephemeral storage unless otherwise specified and told to be persistent storage.
What does this mean ...?
Simply put, if the Pod/Container which is running AWX is removed and a new Pod/Container is launched ... all data from the Pod that was removed is lost (because of ephemeral storage). So Projects, Job Template Workflows, Configurations, etc. would all be lost if they were contained on the Ephemeral storage. So if you were expecting the content to be there when a new AWX pod spins up on another Node, you will not have the projects directory.
The operator does allow you to configure Project persistence as @Chetan_Tiwary_ mentioned with the documentation, but it is turned off by default.
Keep in mind though ... the local copy of the projects get deleted, the content of the projects come from an external repository so it is possible to re-create the Project and allow the content to be synchronized once again to AWX.
I actually have a playbook that can create a Project on AWX/Ansible Automation Controller that I use when teaching the course since I start with a new classroom environment each time.
https://github.com/tmichett/AAP2_Controller_Demo/blob/main/Setup_Controller/Create_Project.yml
Using a playbook along with Configuration as Code (CaC) for everything you are doing you can quickly recover and provision a new AWX environment even if the cluster completely dies.
https://rhtapps.redhat.com/verify?certId=111-134-086
SENIOR TECHNICAL INSTRUCTOR / CERTIFIED INSTRUCTOR AND EXAMINER
Red Hat Certification + Training