diff --git a/README.md b/README.md index 428be9d..7014b81 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ An example implementation of AWX on single node K3s using AWX Operator, with eas - CentOS Stream 8 (Minimal) - K3s v1.22.7+k3s1 - Products that will be deployed: - - AWX Operator 0.20.2 + - AWX Operator 0.21.0 - AWX 21.0.0 - PostgreSQL 12 @@ -37,7 +37,7 @@ An example implementation of AWX on single node K3s using AWX Operator, with eas - [K3s - Lightweight Kubernetes](https://rancher.com/docs/k3s/latest/en/) - [INSTALL.md on ansible/awx](https://github.com/ansible/awx/blob/21.0.0/INSTALL.md) @21.0.0 -- [README.md on ansible/awx-operator](https://github.com/ansible/awx-operator/blob/0.20.2/README.md) @0.20.2 +- [README.md on ansible/awx-operator](https://github.com/ansible/awx-operator/blob/0.21.0/README.md) @0.21.0 ## Requirements @@ -83,7 +83,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 0.20.2 +git checkout 0.21.0 ``` 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`. @@ -281,4 +281,5 @@ Refer [📁 **Back up AWX using AWX Operator**](backup) and [📁 **Restore AWX - [📝Deploy older version of AWX Operator](tips/deploy-older-operator.md) - [📝Upgrade AWX Operator and AWX](tips/upgrade-operator.md) - [📝Workaround for the rate limit on Docker Hub](tips/dockerhub-rate-limit.md) + - [📝Version Mapping between AWX Operator and AWX](tips/version-mapping.md) - [📝Troubleshooting Guide](tips/troubleshooting.md) diff --git a/acme/kustomization.yaml b/acme/kustomization.yaml index 43cf90a..ce9241b 100644 --- a/acme/kustomization.yaml +++ b/acme/kustomization.yaml @@ -13,5 +13,4 @@ secretGenerator: - client-secret=0000000000000000000000000000000000 resources: - - namespace.yaml - issuer.yaml diff --git a/acme/namespace.yaml b/acme/namespace.yaml deleted file mode 100644 index e24dd13..0000000 --- a/acme/namespace.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: awx diff --git a/backup/ansible/README.md b/backup/ansible/README.md index 609e33e..4423534 100644 --- a/backup/ansible/README.md +++ b/backup/ansible/README.md @@ -30,7 +30,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/0.20.2/roles/backup) for acceptable fields. | `{'deployment_name':'awx','backup_pvc':'awx-backup-claim'}` | +| `awxbackup_spec` | The `spec` of the `AWXBackup` resource. Refer [official documentation](https://github.com/ansible/awx-operator/tree/0.21.0/roles/backup) for acceptable fields. | `{'deployment_name':'awx','backup_pvc':'awx-backup-claim'}` | | `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. **Note that the actual backup data will remain in the PVC after the `AWXBackup` resource is deleted.** | `30` | diff --git a/backup/kustomization.yaml b/backup/kustomization.yaml index 2088c2d..9c4eff5 100644 --- a/backup/kustomization.yaml +++ b/backup/kustomization.yaml @@ -7,6 +7,5 @@ generatorOptions: disableNameSuffixHash: true resources: - - namespace.yaml - pv.yaml - pvc.yaml diff --git a/backup/namespace.yaml b/backup/namespace.yaml deleted file mode 100644 index e24dd13..0000000 --- a/backup/namespace.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: awx diff --git a/base/awx.yaml b/base/awx.yaml index 31bc0d0..d0ce644 100644 --- a/base/awx.yaml +++ b/base/awx.yaml @@ -5,8 +5,8 @@ metadata: name: awx spec: # These parameters are designed for use with: - # - AWX Operator: 0.20.2 - # https://github.com/ansible/awx-operator/blob/0.20.2/README.md + # - AWX Operator: 0.21.0 + # https://github.com/ansible/awx-operator/blob/0.21.0/README.md # - AWX: 21.0.0 # https://github.com/ansible/awx/blob/21.0.0/INSTALL.md diff --git a/base/kustomization.yaml b/base/kustomization.yaml index 82f02f4..c8efe6a 100644 --- a/base/kustomization.yaml +++ b/base/kustomization.yaml @@ -29,7 +29,6 @@ secretGenerator: - password=Ansible123! resources: - - namespace.yaml - pv.yaml - pvc.yaml - awx.yaml diff --git a/base/namespace.yaml b/base/namespace.yaml deleted file mode 100644 index e24dd13..0000000 --- a/base/namespace.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: awx diff --git a/restore/README.md b/restore/README.md index 033daa5..76373c0 100644 --- a/restore/README.md +++ b/restore/README.md @@ -22,10 +22,15 @@ It is strongly recommended that the version of AWX Operator is the same as the v ### Prepare for Restore -If your AWX instance is running, it is recommended that it be deleted along with any data in the PV for the PostgreSQL first, in order to restore to be succeeded. +If your AWX instance is running, it is recommended that it be deleted along with PVC and PV for the PostgreSQL first, in order to restore to be succeeded. ```bash +# Delete AWX resource, PVC, and PV kubectl -n awx delete awx awx +kubectl -n awx delete pvc postgres-awx-postgres-0 +kubectl delete pv awx-postgres-volume + +# Delete any data in the PV sudo rm -rf /data/postgres ``` @@ -38,7 +43,7 @@ sudo chmod 755 /data/postgres sudo chown 1000:0 /data/projects ``` -Then deploy Persistent Volume and Persistent Volume Claim. It is recommended that making the size of PVs and PVCs same as the PVs which your AWX used when the backup was taken. +Then deploy PV and PVC. It is recommended that making the size of PVs and PVCs same as the PVs which your AWX used when the backup was taken. ```bash kubectl apply -k restore diff --git a/restore/kustomization.yaml b/restore/kustomization.yaml index bea8462..92de4b6 100644 --- a/restore/kustomization.yaml +++ b/restore/kustomization.yaml @@ -14,6 +14,5 @@ generatorOptions: # - tls.key resources: - - namespace.yaml - pv.yaml - pvc.yaml diff --git a/restore/namespace.yaml b/restore/namespace.yaml deleted file mode 100644 index e24dd13..0000000 --- a/restore/namespace.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: awx diff --git a/tips/README.md b/tips/README.md index 5f29751..a9c3888 100644 --- a/tips/README.md +++ b/tips/README.md @@ -8,4 +8,5 @@ - [📝Deploy older version of AWX Operator](deploy-older-operator.md) - [📝Upgrade AWX Operator and AWX](upgrade-operator.md) - [📝Workaround for the rate limit on Docker Hub](dockerhub-rate-limit.md) +- [📝Version Mapping between AWX Operator and AWX](version-mapping.md) - [📝Troubleshooting Guide](troubleshooting.md) diff --git a/tips/troubleshooting.md b/tips/troubleshooting.md index 3bb202e..d756269 100644 --- a/tips/troubleshooting.md +++ b/tips/troubleshooting.md @@ -153,7 +153,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/0.20.2/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/0.21.0/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 1357ee8..99d9e2a 100644 --- a/tips/upgrade-operator.md +++ b/tips/upgrade-operator.md @@ -7,27 +7,7 @@ This guide provides the procedure for the following three types of upgrading AWX - Upgrade from `0.13.0` (e.g. from `0.13.0` to `0.14.0`) - Upgrade from `0.12.0` or earlier (e.g. from `0.12.0` to `0.13.0`) -Note that once you upgrade AWX Operator, your AWX will also be upgraded automatically to the version bundled with the upgraded AWX Operator as shown below. - -| AWX Operator | AWX | -| - | - | -| 0.20.2 | 21.0.0 | -| 0.20.1 | 21.0.0 | -| 0.20.0 | 20.1.0 | -| 0.19.0 | 20.0.1 | -| 0.18.0 | 20.0.1 | -| 0.17.0 | 20.0.0 | -| 0.16.1 | 19.5.1 | -| 0.15.0 | 19.5.0 | -| 0.14.0 | 19.4.0 | -| 0.13.0 | 19.3.0 | -| 0.12.0 | 19.2.2 | -| 0.11.0 | 19.2.1 | -| 0.10.0 | 19.2.0 | -| 0.9.0 | 19.1.0 | -| 0.8.0 | 19.0.0 | -| 0.7.0 | 18.0.0 | -| 0.6.0 | 15.0.0 | +Note that once you upgrade AWX Operator, your AWX will also be upgraded automatically to the version bundled with the upgraded AWX Operator as shown in [📝Version Mapping between AWX Operator and AWX](version-mapping.md). [There is `image_version` parameter for AWX resource to change which image will be used](https://github.com/ansible/awx-operator#deploying-a-specific-version-of-awx), but it appears that using a version of AWX other than the one bundled with the AWX Operator [is currently not supported](https://github.com/ansible/awx-operator#deploying-a-specific-version-of-awx). Conversely, if you want to upgrade AWX, you need to plan to upgrade AWX Operator first. diff --git a/tips/version-mapping.md b/tips/version-mapping.md new file mode 100644 index 0000000..5f47432 --- /dev/null +++ b/tips/version-mapping.md @@ -0,0 +1,69 @@ + +# Version Mapping between AWX Operator and AWX + +- [Default version mapping betwern AWX Operator and AWX](#default-version-mapping-betwern-awx-operator-and-awx) +- [Appendix: Gather bundled AWX version from AWX Operator](#appendix-gather-bundled-awx-version-from-awx-operator) + +## Default version mapping betwern AWX Operator and AWX + +The table below maps the AWX Operator versions and bundled AWX versions. + +| AWX Operator | AWX | +| - | - | +| 0.21.0 | 21.0.0 | +| 0.20.2 | 21.0.0 | +| 0.20.1 | 21.0.0 | +| 0.20.0 | 20.1.0 | +| 0.19.0 | 20.0.1 | +| 0.18.0 | 20.0.1 | +| 0.17.0 | 20.0.0 | +| 0.16.1 | 19.5.1 | +| 0.16.0 | 19.5.1 | +| 0.15.0 | 19.5.0 | +| 0.14.0 | 19.4.0 | +| 0.13.0 | 19.3.0 | +| 0.12.0 | 19.2.2 | +| 0.11.0 | 19.2.1 | +| 0.10.0 | 19.2.0 | +| 0.9.0 | 19.1.0 | +| 0.8.0 | 19.0.0 | +| 0.7.0 | 18.0.0 | +| 0.6.0 | 15.0.0 | + +In the current version of AWX Operator, [there is `image_version` parameter for AWX resource to change which image will be used](https://github.com/ansible/awx-operator#deploying-a-specific-version-of-awx), but it appears that using a version of AWX other than the one bundled with the AWX Operator [is currently not supported](https://github.com/ansible/awx-operator#deploying-a-specific-version-of-awx). + +## Appendix: Gather bundled AWX version from AWX Operator + +- For AWX Operator **0.15.0 or later** + + ```bash + # Using Docker + docker run -it --rm --entrypoint /usr/bin/bash quay.io/ansible/awx-operator:${OPERATOR_VERSION} -c env | grep DEFAULT_AWX_VERSION + + # Using Kubernetes + kubectl run awx-operator --restart=Never -it --rm --command /usr/bin/bash --image=quay.io/ansible/awx-operator:${OPERATOR_VERSION} -- -c "env" | grep DEFAULT_AWX_VERSION + ``` + +- For AWX Operator **0.10.0 to 0.14.0** + + ```bash + curl -sf https://raw.githubusercontent.com/ansible/awx-operator/${OPERATOR_VERSION}/roles/installer/defaults/main.yml | egrep "^image_version:" + ``` + +- For AWX Operator **0.9.0** + + ```bash + curl -sf https://raw.githubusercontent.com/ansible/awx-operator/${OPERATOR_VERSION}/roles/installer/defaults/main.yml | egrep "^tower_image_version:" + ``` + +- For AWX Operator **0.7.0 and 0.8.0** + + ```bash + curl -sf https://raw.githubusercontent.com/ansible/awx-operator/${OPERATOR_VERSION}/roles/installer/defaults/main.yml | egrep "^tower_image:" + ``` + +- For AWX Operator **0.6.0** + + ```bash + curl -sf https://raw.githubusercontent.com/ansible/awx-operator/${OPERATOR_VERSION}/roles/awx/defaults/main.yml | egrep "^tower_image:" + ```