mirror of
https://github.com/ansible/awx-operator.git
synced 2026-03-26 21:33:14 +00:00
Make data migration idempotent
This commit is contained in:
@@ -98,6 +98,10 @@ spec:
|
||||
x-descriptors:
|
||||
- urn:alm:descriptor:com.tectonic.ui:advanced
|
||||
- urn:alm:descriptor:io.kubernetes:Secret
|
||||
path: tower_old_postgres_configuration_secret
|
||||
x-descriptors:
|
||||
- urn:alm:descriptor:com.tectonic.ui:advanced
|
||||
- urn:alm:descriptor:io.kubernetes:Secret
|
||||
- displayName: Secret key secret
|
||||
path: tower_secret_key_secret
|
||||
x-descriptors:
|
||||
|
||||
@@ -65,10 +65,8 @@
|
||||
name: '{{ tower_old_postgres_configuration_secret }}'
|
||||
register: old_pg_config
|
||||
when: tower_old_postgres_configuration_secret | length
|
||||
ignore_errors: true
|
||||
no_log: true
|
||||
|
||||
- name: Migrate data from old Openshift instance
|
||||
import_tasks: migrate_data.yml
|
||||
when: old_pg_config['resources'][0]['data']['host'] is defined
|
||||
ignore_errors: true
|
||||
|
||||
@@ -63,10 +63,7 @@
|
||||
pod: "{{ tower_pod_name }}"
|
||||
container: "{{ meta.name }}-task"
|
||||
command: >-
|
||||
bash -c "echo 'from django.db import connection;
|
||||
tbl = \"auth_user\" in connection.introspection.table_names();
|
||||
exit(0 if tbl else 1)'
|
||||
| awx-manage shell"
|
||||
bash -c "awx-manage showmigrations | grep -v '[X]' | grep '[ ]' | wc -l"
|
||||
ignore_errors: true
|
||||
changed_when: false
|
||||
register: database_check
|
||||
@@ -80,7 +77,7 @@
|
||||
command: >-
|
||||
bash -c "awx-manage migrate --noinput"
|
||||
register: migrate_result
|
||||
when: (k8s_defs_result is changed) or (database_check is defined and database_check.return_code != 0)
|
||||
when: (k8s_defs_result is changed) or (database_check is defined and database_check.stdout != 0)
|
||||
|
||||
- include_tasks: initialize.yml
|
||||
|
||||
|
||||
@@ -53,8 +53,7 @@
|
||||
namespace: "{{ meta.namespace }}"
|
||||
pod: "{{ postgres_pod_name }}"
|
||||
command: >-
|
||||
bash -c "PGPASSWORD={{ tower_old_postgres_pass }} {{ pgdump }} | PGPASSWORD={{ awx_postgres_pass }} {{ psql_restore }}"
|
||||
bash -c "PGPASSWORD={{ tower_old_postgres_pass }} {{ pgdump }} | PGPASSWORD={{ awx_postgres_pass }} {{ psql_restore }} && echo 'Finished'"
|
||||
no_log: true
|
||||
ignore_errors: true
|
||||
register: data_migration
|
||||
# changed_when: success_condition?
|
||||
changed_when: false
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
name: '{{ tower_secret_key_secret }}'
|
||||
register: _custom_secret_key
|
||||
when: tower_secret_key_secret | length
|
||||
no_log: true
|
||||
|
||||
- name: Check for default secret key configuration
|
||||
k8s_info:
|
||||
@@ -17,6 +18,7 @@
|
||||
- name: Set secret key secret
|
||||
set_fact:
|
||||
_secret_key_secret: '{{ _custom_secret_key["resources"] | default([]) | length | ternary(_custom_secret_key, _default_secret_key) }}'
|
||||
no_log: true
|
||||
|
||||
- block:
|
||||
- name: Create secret key secret
|
||||
|
||||
Reference in New Issue
Block a user