From 395814134593f8a45c0330ef869c4a59d29aa4eb Mon Sep 17 00:00:00 2001
From: kurokobo <2920259+kurokobo@users.noreply.github.com>
Date: Fri, 21 Apr 2023 23:42:54 +0900
Subject: [PATCH] feat: bump operator version to 2.0.1
---
README.md | 12 ++++++------
acme/README.md | 2 +-
backup/ansible/README.md | 2 +-
base/awx.yaml | 11 -----------
tips/troubleshooting.md | 2 +-
tips/upgrade-operator.md | 23 +++++++++++++++++++++++
tips/version-mapping.md | 1 +
7 files changed, 33 insertions(+), 20 deletions(-)
diff --git a/README.md b/README.md
index 8a2bfae..0079ad6 100644
--- a/README.md
+++ b/README.md
@@ -31,15 +31,15 @@ An example implementation of AWX on single node K3s using AWX Operator, with eas
- CentOS Stream 8 (Minimal)
- K3s v1.26.3+k3s1
- Products that will be deployed:
- - AWX Operator 2.0.0
- - AWX 22.0.0
+ - AWX Operator 2.0.1
+ - AWX 22.1.0
- PostgreSQL 13
## References
- [K3s - Lightweight Kubernetes](https://docs.k3s.io/)
-- [INSTALL.md on ansible/awx](https://github.com/ansible/awx/blob/22.0.0/INSTALL.md) @22.0.0
-- [README.md on ansible/awx-operator](https://github.com/ansible/awx-operator/blob/2.0.0/README.md) @2.0.0
+- [INSTALL.md on ansible/awx](https://github.com/ansible/awx/blob/22.1.0/INSTALL.md) @22.1.0
+- [README.md on ansible/awx-operator](https://github.com/ansible/awx-operator/blob/2.0.1/README.md) @2.0.1
## Requirements
@@ -90,7 +90,7 @@ Install specified version of AWX Operator. Note that this procedure is applicabl
cd ~
git clone https://github.com/ansible/awx-operator.git
cd awx-operator
-git checkout 2.0.0
+git checkout 2.0.1
```
Export the name of the namespace where you want to deploy AWX Operator as the environment variable `NAMESPACE` and run `make deploy`. The default namespace is `awx`.
@@ -127,7 +127,7 @@ If you want to use files suitable for the specific version of AWX Operator, [ref
cd ~
git clone https://github.com/kurokobo/awx-on-k3s.git
cd awx-on-k3s
-git checkout 2.0.0
+git checkout 2.0.1
```
Generate a Self-Signed certificate. Note that IP address can't be specified. If you want to use a certificate from public ACME CA such as Let's Encrypt or ZeroSSL instead of Self-Signed certificate, follow the guide on [π **Use SSL Certificate from Public ACME CA**](acme) first and come back to this step when done.
diff --git a/acme/README.md b/acme/README.md
index 89cc155..569bd93 100644
--- a/acme/README.md
+++ b/acme/README.md
@@ -42,7 +42,7 @@ This guide does not provide any information how to configure Azure, other DNS se
Deploy cert-manager first.
```bash
-kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.11.0/cert-manager.yaml
+kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.11.1/cert-manager.yaml
```
Ensure the pods in `cert-manager` namespace are running.
diff --git a/backup/ansible/README.md b/backup/ansible/README.md
index 3d573fd..84d88ec 100644
--- a/backup/ansible/README.md
+++ b/backup/ansible/README.md
@@ -32,7 +32,7 @@ An example simple playbook for Ansible is also provided in this repository. This
| - | - | - |
| `awxbackup_namespace` | The name of the NameSpace where the `AWXBackup` resource will be created. | `awx` |
| `awxbackup_name` | The name of the `AWXBackup` resource. Dynamically generated using execution time by default. | `awxbackup-{{ lookup('pipe', 'date +%Y-%m-%d-%H-%M-%S') }}` |
-| `awxbackup_spec` | The `spec` of the `AWXBackup` resource. Refer [official documentation](https://github.com/ansible/awx-operator/tree/2.0.0/roles/backup) for acceptable fields. | `deployment_name: awx`
`backup_pvc: awx-backup-claim`
`clean_backup_on_delete: true` |
+| `awxbackup_spec` | The `spec` of the `AWXBackup` resource. Refer [official documentation](https://github.com/ansible/awx-operator/tree/2.0.1/roles/backup) for acceptable fields. | `deployment_name: awx`
`backup_pvc: awx-backup-claim`
`clean_backup_on_delete: true` |
| `awxbackup_timeout` | Time to wait for backup to complete, in seconds. If exceeded, the playbook will fail. | `600` |
| `awxbackup_keep_days` | Number of days to keep `AWXBackup` resources. `AWXBackup` resources older than this value will be deleted by this playbook. Set `0` to keep forever. | `30` |
diff --git a/base/awx.yaml b/base/awx.yaml
index 4bf66fa..a0d747e 100644
--- a/base/awx.yaml
+++ b/base/awx.yaml
@@ -38,14 +38,3 @@ spec:
# Uncomment to reveal "censored" logs
#no_log: false
-
- # A workaround to allow Manual type projects. This have to be removed in the next release
- # https://github.com/ansible/awx-operator/issues/1323
- extra_volumes: |
- - name: awx-projects-web
- persistentVolumeClaim:
- claimName: awx-projects-claim
-
- web_extra_volume_mounts: |
- - name: awx-projects-web
- mountPath: /var/lib/awx/projects
diff --git a/tips/troubleshooting.md b/tips/troubleshooting.md
index 05c49d5..690d086 100644
--- a/tips/troubleshooting.md
+++ b/tips/troubleshooting.md
@@ -186,7 +186,7 @@ Typical solutions are one of the following:
ee_resource_requirements: {} πππ
```
- - You can specify more specific value for each containers. Refer [official documentation](https://github.com/ansible/awx-operator/blob/2.0.0/README.md#containers-resource-requirements) for details.
+ - You can specify more specific value for each containers. Refer [official documentation](https://github.com/ansible/awx-operator/blob/2.0.1/README.md#containers-resource-requirements) for details.
- In this way you can run AWX with fewer resources, but you may encounter performance issues.
### The Pod is `Pending` with "1 pod has unbound immediate PersistentVolumeClaims." event
diff --git a/tips/upgrade-operator.md b/tips/upgrade-operator.md
index 31029b1..547bc32 100644
--- a/tips/upgrade-operator.md
+++ b/tips/upgrade-operator.md
@@ -16,7 +16,11 @@ Note that once you upgrade AWX Operator, your AWX will also be upgraded automati
- [β
Take a backup of the old AWX instance](#-take-a-backup-of-the-old-awx-instance)
- [π Upgrade from `0.14.0` or later (e.g. from `0.14.0` to `0.15.0`)](#-upgrade-from-0140-or-later-eg-from-0140-to-0150)
+ - [β οΈ Note for upgrading from `2.0.0` to `2.0.1` or later](#οΈ-note-for-upgrading-from-200-to-201-or-later)
+ - [β οΈ Note for upgrading from `0.25.0` or earlier to `0.26.0` or later](#οΈ-note-for-upgrading-from-0250-or-earlier-to-0260-or-later)
+ - [π Procedure](#-procedure)
- [π Upgrade from `0.13.0` (e.g. from `0.13.0` to `0.14.0`)](#-upgrade-from-0130-eg-from-0130-to-0140)
+ - [π Procedure](#-procedure-1)
- [π Upgrade from `0.12.0` or earlier (e.g. from `0.12.0` to `0.13.0`)](#-upgrade-from-0120-or-earlier-eg-from-0120-to-0130)
- [β Troubleshooting](#-troubleshooting)
- [New Pod gets stuck in `Pending` state](#new-pod-gets-stuck-in-pending-state)
@@ -31,6 +35,21 @@ Refer [πREADME: Backing up using AWX Operator](../README.md#backing-up-using-
If you are using AWX Operator `0.14.0` or later and want to upgrade to newer version, basically upgrade is done by deploying the new version of AWX Operator to the same namespace where the old AWX Operator is running.
+### β οΈ Note for upgrading from `2.0.0` to `2.0.1` or later
+
+Note that only when upgrading **from `2.0.0` to `2.0.1` or later**, [the `extra_volumes` and `extra_volumes` in `base/awx.yaml` for `2.0.0` as a workaround for specific issue](https://github.com/kurokobo/awx-on-k3s/blob/2.0.0/base/awx.yaml#L42-L51) causes failure of upgrading.
+
+To avoid this, follow these steps before upgrading AWX Operator. Steps 1 and 2 can also be achieved by `kubectl -n awx edit awx awx`.
+
+1. Remove the definition of the volume and volume mount that named `awx-projects-web` in `extra_volumes` and `web_extra_volume_mounts` in your `base/awx.yaml`.
+ - If there are no other volumes or volume mounts, you can remove whole `extra_volumes` and `web_extra_volume_mounts`.
+2. Apply modified `base/awx.yaml` by `kubectl apply -k base`
+3. Wait for deployment for AWX to be completed
+
+Once your AWX has been deployed without volume `awx-projects-web`, your AWX can be safely upgraded. Proceed to [the next step](#-procedure).
+
+### β οΈ Note for upgrading from `0.25.0` or earlier to `0.26.0` or later
+
Note that only when upgrading **from `0.25.0` or earlier to `0.26.0` or later**, since the bundled PostgreSQL version will be changed to 13, so the following additional tasks are required.
```bash
@@ -56,6 +75,8 @@ EOF
kubectl apply -f pv-postgres-13.yaml
```
+### π Procedure
+
To upgrade your AWX Operator, perform following steps.
```bash
@@ -109,6 +130,8 @@ In this guide, for example, perform upgrading from `0.13.0` to `0.14.0`. The AWX
| Before Upgrade | `0.13.0` in `default` namespace | `19.3.0` in `awx` namespace |
| After Upgrade | `0.14.0` in `awx` namespace | `19.4.0` in `awx` namespace |
+### π Procedure
+
To upgrade AWX Operator, remove the old AWX Operator that is running in the `default` namespace first. In addition, remove Service Account, Cluster Role, and Cluster Role Binding that are required for old AWX Operator to work.
```bash
diff --git a/tips/version-mapping.md b/tips/version-mapping.md
index 27feaea..14a3a8a 100644
--- a/tips/version-mapping.md
+++ b/tips/version-mapping.md
@@ -10,6 +10,7 @@ The table below maps the AWX Operator versions and bundled AWX versions.
| AWX Operator | AWX |
| - | - |
+| 2.0.1 | 22.1.0 |
| 2.0.0 | 22.0.0 |
| 1.4.0 | 21.14.0 |
| 1.3.0 | 21.13.0 |