diff --git a/README.md b/README.md index f1a45b27..1f6b722d 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Then you can create instances of Tower, for example: ``` --- - apiVersion: tower.ansible.com/v1alpha1 + apiVersion: tower.ansible.com/v1beta1 kind: Tower metadata: name: tower @@ -177,7 +177,7 @@ After it is built, test it on a local cluster: minikube addons enable ingress kubectl apply -f deploy/tower-operator.yaml kubectl create namespace example-tower - kubectl apply -f deploy/crds/tower_v1alpha1_tower_cr_awx.yaml + kubectl apply -f deploy/crds/tower_v1beta1_tower_cr_awx.yaml minikube delete diff --git a/build/chain-operator-files.yml b/build/chain-operator-files.yml index 74348a0a..ab6d7661 100644 --- a/build/chain-operator-files.yml +++ b/build/chain-operator-files.yml @@ -27,7 +27,7 @@ marker_end: "" insertafter: "EOF" with_file: - - "../deploy/crds/tower_v1alpha1_tower_crd.yaml" + - "../deploy/crds/tower_v1beta1_tower_crd.yaml" - "../deploy/role.yaml" - "../deploy/role_binding.yaml" - "../deploy/service_account.yaml" diff --git a/deploy/crds/tower_v1alpha1_tower_cr_awx.yaml b/deploy/crds/tower_v1beta1_tower_cr_awx.yaml similarity index 95% rename from deploy/crds/tower_v1alpha1_tower_cr_awx.yaml rename to deploy/crds/tower_v1beta1_tower_cr_awx.yaml index cc8e9016..13f9b05a 100644 --- a/deploy/crds/tower_v1alpha1_tower_cr_awx.yaml +++ b/deploy/crds/tower_v1beta1_tower_cr_awx.yaml @@ -1,5 +1,5 @@ --- -apiVersion: tower.ansible.com/v1alpha1 +apiVersion: tower.ansible.com/v1beta1 kind: Tower metadata: name: example-tower diff --git a/deploy/crds/tower_v1alpha1_tower_cr_molecule.yaml b/deploy/crds/tower_v1beta1_tower_cr_molecule.yaml similarity index 95% rename from deploy/crds/tower_v1alpha1_tower_cr_molecule.yaml rename to deploy/crds/tower_v1beta1_tower_cr_molecule.yaml index 8a318611..987ff2d3 100644 --- a/deploy/crds/tower_v1alpha1_tower_cr_molecule.yaml +++ b/deploy/crds/tower_v1beta1_tower_cr_molecule.yaml @@ -1,5 +1,5 @@ --- -apiVersion: tower.ansible.com/v1alpha1 +apiVersion: tower.ansible.com/v1beta1 kind: Tower metadata: name: example-tower diff --git a/deploy/crds/tower_v1alpha1_tower_cr_tower.yaml b/deploy/crds/tower_v1beta1_tower_cr_tower.yaml similarity index 95% rename from deploy/crds/tower_v1alpha1_tower_cr_tower.yaml rename to deploy/crds/tower_v1beta1_tower_cr_tower.yaml index a7e3016b..33d877a4 100644 --- a/deploy/crds/tower_v1alpha1_tower_cr_tower.yaml +++ b/deploy/crds/tower_v1beta1_tower_cr_tower.yaml @@ -1,5 +1,5 @@ --- -apiVersion: tower.ansible.com/v1alpha1 +apiVersion: tower.ansible.com/v1beta1 kind: Tower metadata: name: example-tower diff --git a/deploy/crds/tower_v1alpha1_tower_crd.yaml b/deploy/crds/tower_v1beta1_tower_crd.yaml similarity index 94% rename from deploy/crds/tower_v1alpha1_tower_crd.yaml rename to deploy/crds/tower_v1beta1_tower_crd.yaml index 46f950b3..e24157de 100644 --- a/deploy/crds/tower_v1alpha1_tower_crd.yaml +++ b/deploy/crds/tower_v1beta1_tower_crd.yaml @@ -13,9 +13,9 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha1 + version: v1beta1 versions: - - name: v1alpha1 + - name: v1beta1 served: true storage: true validation: diff --git a/deploy/tower-operator.yaml b/deploy/tower-operator.yaml index 9cce63b1..ad42072e 100644 --- a/deploy/tower-operator.yaml +++ b/deploy/tower-operator.yaml @@ -154,8 +154,8 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha1 + version: v1beta1 versions: - - name: v1alpha1 + - name: v1beta1 served: true storage: true diff --git a/molecule/default/prepare.yml b/molecule/default/prepare.yml index 63a617be..375272af 100644 --- a/molecule/default/prepare.yml +++ b/molecule/default/prepare.yml @@ -10,7 +10,7 @@ tasks: - name: Create Custom Resource Definition k8s: - definition: "{{ lookup('file', '/'.join([deploy_dir, 'crds/tower_v1alpha1_tower_crd.yaml'])) }}" + definition: "{{ lookup('file', '/'.join([deploy_dir, 'crds/tower_v1beta1_tower_crd.yaml'])) }}" - name: Ensure specified namespace is present k8s: diff --git a/molecule/test-local/converge.yml b/molecule/test-local/converge.yml index 9be37beb..f55b326b 100644 --- a/molecule/test-local/converge.yml +++ b/molecule/test-local/converge.yml @@ -26,7 +26,7 @@ deploy_dir: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') }}/deploy" pull_policy: Never operator_image: tower.ansible.com/tower-operator:testing - custom_resource: "{{ lookup('file', '/'.join([deploy_dir, 'crds/tower_v1alpha1_tower_cr_molecule.yaml'])) | from_yaml }}" + custom_resource: "{{ lookup('file', '/'.join([deploy_dir, 'crds/tower_v1beta1_tower_cr_molecule.yaml'])) | from_yaml }}" tasks: @@ -66,7 +66,7 @@ kind: Namespace api_version: v1 - - name: Create the tower.ansible.com/v1alpha1.Tower + - name: Create the tower.ansible.com/Tower Resource k8s: state: present namespace: '{{ custom_resource.metadata.namespace }}' diff --git a/molecule/test-minikube/converge.yml b/molecule/test-minikube/converge.yml index a9736dde..fd1ce06d 100644 --- a/molecule/test-minikube/converge.yml +++ b/molecule/test-minikube/converge.yml @@ -35,7 +35,7 @@ pull_policy: Never operator_image: tower.ansible.com/tower-operator:testing # Change this to _awx to test AWX, _tower to test Tower. - custom_resource: "{{ lookup('file', '/'.join([deploy_dir, 'crds/tower_v1alpha1_tower_cr_awx.yaml'])) | from_yaml }}" + custom_resource: "{{ lookup('file', '/'.join([deploy_dir, 'crds/tower_v1beta1_tower_cr_awx.yaml'])) | from_yaml }}" tasks: - block: @@ -73,7 +73,7 @@ kind: Namespace api_version: v1 - - name: Create the tower.ansible.com/v1alpha1.Tower + - name: Create the tower.ansible.com Tower Resource k8s: state: present namespace: '{{ custom_resource.metadata.namespace }}' diff --git a/roles/tower/tasks/main.yml b/roles/tower/tasks/main.yml index 71a2d461..b2909741 100644 --- a/roles/tower/tasks/main.yml +++ b/roles/tower/tasks/main.yml @@ -54,3 +54,17 @@ when: (k8s_defs_result is changed) or (database_check is defined and database_check.rc != 0) - include_tasks: initialize.yml + +- name: Scale the tower deployment to 0 replicas after migration. + k8s: + definition: "{{ lookup('template', 'tower.yaml.j2') | from_yaml_all | list }}" + vars: + tower_replicas: "0" + when: migrate_result and migrate_result.changed + +- name: Scale the tower deployment back to 1 replica after migration. + k8s: + definition: "{{ lookup('template', 'tower.yaml.j2') | from_yaml_all | list }}" + vars: + tower_replicas: "1" + when: migrate_result and migrate_result.changed diff --git a/watches.yaml b/watches.yaml index cf3c8933..43f72fb5 100644 --- a/watches.yaml +++ b/watches.yaml @@ -1,5 +1,5 @@ --- -- version: v1alpha1 +- version: v1beta1 group: tower.ansible.com kind: Tower playbook: /opt/ansible/main.yml