diff --git a/roles/installer/defaults/main.yml b/roles/installer/defaults/main.yml index ef0b4176..a529c3b3 100644 --- a/roles/installer/defaults/main.yml +++ b/roles/installer/defaults/main.yml @@ -1,6 +1,9 @@ --- deployment_type: awx +database_name: "{{ deployment_type }}" +database_username: "{{ deployment_type }}" + tower_task_privileged: false tower_ingress_type: none diff --git a/roles/installer/tasks/database_configuration.yml b/roles/installer/tasks/database_configuration.yml index 899a3a0a..43fdd6c5 100644 --- a/roles/installer/tasks/database_configuration.yml +++ b/roles/installer/tasks/database_configuration.yml @@ -14,6 +14,21 @@ name: '{{ meta.name }}-postgres-configuration' register: _default_pg_config_resources +- name: Check for old PostgreSQL configuration secret + k8s_info: + kind: Secret + namespace: '{{ meta.namespace }}' + name: '{{ tower_old_postgres_configuration_secret }}' + register: old_pg_config + when: tower_old_postgres_configuration_secret | length + +- name: Set proper database name when migrating from old deployment + set_fact: + database_name: "{{ old_pg_config['resources'][0]['data']['database'] | b64decode }}" + database_username: "{{ old_pg_config['resources'][0]['data']['username'] | b64decode }}" + when: + - old_pg_config['resources'][0]['data']['database'] is defined + - name: Set PostgreSQL configuration set_fact: _pg_config: '{{ _custom_pg_config_resources["resources"] | default([]) | length | ternary(_custom_pg_config_resources, _default_pg_config_resources) }}' @@ -51,7 +66,7 @@ awx_postgres_port: "{{ pg_config['resources'][0]['data']['port'] | b64decode }}" awx_postgres_host: "{{ pg_config['resources'][0]['data']['host'] | b64decode }}" -- name: Check to see if this instance has already been migrated +- name: Look up details for this deployment k8s_info: api_version: 'v1beta1' # TODO: How to parameterize this? kind: "AWX" # TODO: How to parameterize this? @@ -59,14 +74,6 @@ namespace: "{{ meta.namespace }}" register: this_awx -- name: Check for old PostgreSQL configuration secret - k8s_info: - kind: Secret - namespace: '{{ meta.namespace }}' - name: '{{ tower_old_postgres_configuration_secret }}' - register: old_pg_config - when: tower_old_postgres_configuration_secret | length - - name: Migrate data from old Openshift instance import_tasks: migrate_data.yml when: diff --git a/roles/installer/templates/tower_postgres_secret.yaml.j2 b/roles/installer/templates/tower_postgres_secret.yaml.j2 index 51514d49..ed4ed037 100644 --- a/roles/installer/templates/tower_postgres_secret.yaml.j2 +++ b/roles/installer/templates/tower_postgres_secret.yaml.j2 @@ -7,8 +7,8 @@ metadata: namespace: '{{ meta.namespace }}' stringData: password: '{{ lookup('password', '/dev/null length=32 chars=ascii_letters,digits') }}' - username: '{{ deployment_type }}' - database: '{{ deployment_type }}' + username: '{{ database_username }}' + database: '{{ database_name }}' port: '5432' host: {{ meta.name }}-postgres type: 'managed'