mirror of
https://github.com/openshift/openshift-docs.git
synced 2026-02-05 21:46:22 +01:00
29 lines
1.7 KiB
Plaintext
29 lines
1.7 KiB
Plaintext
// Module included in the following assemblies:
|
|
//
|
|
// * migrating_from_ocp_3_to_4/advanced-migration-options-3-4.adoc
|
|
// * migration_toolkit_for_containers/advanced-migration-options-mtc.adoc
|
|
|
|
[id="migration-hooks_{context}"]
|
|
= Migration hooks
|
|
|
|
You can add up to four migration hooks to a single migration plan, with each hook running at a different phase of the migration. Migration hooks perform tasks such as customizing application quiescence, manually migrating unsupported data types, and updating applications after migration.
|
|
|
|
A migration hook runs on a source or a target cluster at one of the following migration steps:
|
|
|
|
* `PreBackup`: Before resources are backed up on the source cluster.
|
|
* `PostBackup`: After resources are backed up on the source cluster.
|
|
* `PreRestore`: Before resources are restored on the target cluster.
|
|
* `PostRestore`: After resources are restored on the target cluster.
|
|
|
|
You can create a hook by creating an Ansible playbook that runs with the default Ansible image or with a custom hook container.
|
|
|
|
.Ansible playbook
|
|
|
|
The Ansible playbook is mounted on a hook container as a config map. The hook container runs as a job, using the cluster, service account, and namespace specified in the `MigPlan` custom resource. The job continues to run until it reaches the default limit of 6 retries or a successful completion. This continues even if the initial pod is evicted or killed.
|
|
|
|
The default Ansible runtime image is `registry.redhat.io/rhmtc/openshift-migration-hook-runner-rhel7:{mtc-version}`. This image is based on the Ansible Runner image and includes `python-openshift` for Ansible Kubernetes resources and an updated `oc` binary.
|
|
|
|
.Custom hook container
|
|
|
|
You can use a custom hook container instead of the default Ansible image.
|