diff --git a/docs/openstack/edpm_adoption.md b/docs/openstack/edpm_adoption.md index e020852d0..6e5958c19 100644 --- a/docs/openstack/edpm_adoption.md +++ b/docs/openstack/edpm_adoption.md @@ -6,7 +6,12 @@ ## Variables -(There are no shell variables necessary currently.) +Define the shell variables used in the Fast-forward upgrade steps below. +The values are just illustrative, use values that are correct for your environment: + +```bash +PODIFIED_DB_ROOT_PASSWORD=$(oc get -o json secret/osp-secret | jq -r .data.DbRootPassword | base64 -d) +``` ## Pre-checks @@ -263,3 +268,178 @@ EOF ``` oc wait --for condition=Ready osdpns/openstack --timeout=30m ``` + +## Nova compute services fast-forward upgrade from Wallaby to Antelope + +Nova services rolling upgrade cannot be done during adoption, +there is in a lock-step with Nova control plane services, because those +are managed independently by EDPM ansible, and Kubernetes operators. +Nova service operator and OpenStack Dataplane operator ensure upgrading +is done independently of each other, by configuring +`[upgrade_levels]compute=auto` for Nova services. Nova control plane +services apply the change right after CR is patched. Nova compute EDPM +services will catch up the same config change with ansible deployment +later on. + +> **NOTE**: Additional orchestration happening around the FFU workarounds +> configuration for Nova compute EDPM service is a subject of future changes. + +* Configure pre-FFU workarounds for Nova compute EDPM services to update its version records: + + ```yaml + oc apply -f - <Antelope FFU + ansible.builtin.include_tasks: + file: nova_ffu.yaml diff --git a/tests/roles/dataplane_adoption/tasks/nova_ffu.yaml b/tests/roles/dataplane_adoption/tasks/nova_ffu.yaml new file mode 100644 index 000000000..b2326d041 --- /dev/null +++ b/tests/roles/dataplane_adoption/tasks/nova_ffu.yaml @@ -0,0 +1,189 @@ +- name: set podified MariaDB copy shell vars + no_log: "{{ use_no_log }}" + ansible.builtin.set_fact: + mariadb_copy_shell_vars: | + PODIFIED_DB_ROOT_PASSWORD="{{ podified_db_root_password }}" + +- name: configure pre-FFU workarounds for Nova compute EDPM services to update its version records + ansible.builtin.shell: | + {{ shell_header }} + {{ oc_header }} + oc apply -f - <antelope FFU + ansible.builtin.shell: | + {{ shell_header }} + {{ oc_header }} + oc exec -it nova-cell0-conductor-0 -- nova-manage db online_data_migrations + oc exec -it nova-cell1-conductor-0 -- nova-manage db online_data_migrations + register: nova_exec_result + until: nova_exec_result is success + retries: 10 + delay: 6 +