Skip to content

Commit f86c451

Browse files
authored
Merge pull request #32950 from apinnick/bz1964388-bpg-cluster-health-checks
BZ1964388: BPG premigration checks moved to MTC
2 parents 902a069 + ffbfb2c commit f86c451

File tree

3 files changed

+94
-2
lines changed

3 files changed

+94
-2
lines changed

_topic_map.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1978,6 +1978,8 @@ Topics:
19781978
File: installing-restricted-3-4
19791979
- Name: Upgrading MTC
19801980
File: upgrading-3-4
1981+
- Name: Premigration checklists
1982+
File: premigration-checklists
19811983
- Name: Migrating your applications
19821984
File: migrating-applications-3-4
19831985
- Name: Troubleshooting

migrating_from_ocp_3_to_4/about-mtc-3-4.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ include::modules/common-attributes.adoc[]
55

66
toc::[]
77

8-
The {mtc-short} web console and API, based on Kubernetes custom resources, enable you to migrate stateful application workloads at the granularity of a namespace.
8+
The {mtc-full} ({mtc-short}) web console and API, based on Kubernetes custom resources, enable you to migrate stateful application workloads at the granularity of a namespace.
99

10-
You can migrate application workloads from {product-title} 3.7, 3.9, 3.10, and 3.11 to {product-title} {product-version} with the {mtc-full} ({mtc-short}). {mtc-short} enables you to control the migration and to minimize application downtime.
10+
You can migrate from {product-title} 3.7, 3.9, 3.10, or 3.11 to {product-version}. {mtc-short} enables you to control the migration and to minimize application downtime.
1111

1212
[IMPORTANT]
1313
====
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
[id="premigration-checks"]
2+
= Premigration checklists
3+
include::modules/common-attributes.adoc[]
4+
:context: premigration-checks
5+
6+
toc::[]
7+
8+
Before you migrate your application workloads with the {mtc-full} ({mtc-short}), review the following checklists.
9+
10+
[id="source-cluster-checklist_{context}"]
11+
== Source cluster checklist
12+
13+
* [ ] The cluster meets the link:https://docs.openshift.com/container-platform/3.11/install/prerequisites.html#hardware[minimum hardware requirements].
14+
* [ ] The {product-title} version is 3.7, 3.9, 3.10, or 3.11.
15+
* [ ] The {mtc-short} version is the same on all clusters.
16+
* [ ] All nodes have an active {product-title} subscription.
17+
* [ ] All the link:https://docs.openshift.com/container-platform/3.11/day_two_guide/run_once_tasks.html#day-two-guide-default-storage-class[run-once tasks] have been performed.
18+
* [ ] All the link:https://docs.openshift.com/container-platform/3.11/day_two_guide/environment_health_checks.html[environment health checks] have been performed.
19+
* [ ] You have checked for persistent volumes (PVs) with abnormal configurations stuck in a *Terminating* state by running the following command:
20+
+
21+
[source,terminal]
22+
----
23+
$ oc get pv
24+
----
25+
26+
* [ ] You have checked for pods whose status is other than *Running* or *Completed* by running the following command:
27+
+
28+
[source,terminal]
29+
----
30+
$ oc get pods --all-namespaces | egrep -v 'Running | Completed'
31+
----
32+
33+
* [ ] You have checked for pods with a high restart count by running the following command:
34+
+
35+
[source,terminal]
36+
----
37+
$ oc get pods --all-namespaces --field-selector=status.phase=Running \
38+
-o json | jq '.items[]|select(any( .status.containerStatuses[]; \
39+
.restartCount > 3))|.metadata.name'
40+
----
41+
+
42+
Even if the pods are in a *Running* state, a high restart count might indicate underlying problems.
43+
44+
* [ ] The internal container image registry uses a link:https://docs.openshift.com/container-platform/3.11/scaling_performance/optimizing_storage.html#registry[supported storage type].
45+
* [ ] You can read and write images to the registry.
46+
* [ ] The link:https://access.redhat.com/articles/3093761[etcd cluster] is healthy.
47+
* [ ] The link:https://docs.openshift.com/container-platform/3.11/install_config/master_node_configuration.html#master-node-configuration-node-qps-burst[average API server response time] on the source cluster is less than 50 ms.
48+
* [ ] The cluster certificates are link:https://docs.openshift.com/container-platform/3.11/install_config/redeploying_certificates.html#install-config-cert-expiry[valid] for the duration of the migration process.
49+
* [ ] You have checked for pending certificate-signing requests by running the following command:
50+
+
51+
[source,terminal]
52+
----
53+
$ oc get csr -A | grep pending -i
54+
----
55+
56+
* [ ] The link:https://docs.openshift.com/container-platform/3.11/install_config/configuring_authentication.html#overview[identity provider] is working.
57+
58+
[id="target-cluster-checklist_{context}"]
59+
== Target cluster checklist
60+
61+
* [ ] The {mtc-short} version is the same on all clusters.
62+
* [ ] All xref:../migrating_from_ocp_3_to_4/migrating-applications-3-4.adoc#migration-prerequisites_migrating-applications-3-4[{mtc-short} prerequisites] are met.
63+
* [ ] The cluster meets the minimum hardware requirements for the specific platform and installation method, for example, on xref:../installing/installing_bare_metal/installing-bare-metal.adoc#minimum-resource-requirements_installing-bare-metal[bare metal].
64+
* [ ] The cluster has xref:../storage/dynamic-provisioning.adoc#defining-storage-classes_dynamic-provisioning[storage classes] defined for the storage types used by the source cluster, for example, block volume, file system, or object storage.
65+
+
66+
[NOTE]
67+
====
68+
NFS does not require a defined storage class.
69+
====
70+
71+
* [ ] The cluster has the correct network configuration and permissions to access external services, for example, databases, source code repositories, container image registries, and CI/CD tools.
72+
* [ ] External applications and services that use services provided by the cluster have the correct network configuration and permissions to access the cluster.
73+
* [ ] Internal container image dependencies are met.
74+
+
75+
If an application uses an internal image in the `openshift` namespace that is not supported by {product-title} {product-version}, you can manually update the xref:../migrating_from_ocp_3_to_4/migrating-applications-3-4.adoc#migration-updating-deprecated-internal-images_migrating-applications-3-4[{product-title} 3 image stream tag] with `podman`.
76+
* [ ] The target cluster and the replication repository have sufficient storage space.
77+
* [ ] The xref:../authentication/understanding-identity-provider.adoc#supported-identity-providers[identity provider] is working.
78+
79+
[id="performance-checklist_{context}"]
80+
== Performance checklist
81+
82+
* [ ] The migration network has a minimum throughput of 10 Gbps.
83+
* [ ] The clusters have sufficient resources for migration.
84+
+
85+
[NOTE]
86+
====
87+
Clusters require additional memory, CPUs, and storage in order to run a migration on top of normal workloads. Actual resource requirements depend on the number of Kubernetes resources being migrated in a single migration plan. You must test migrations in a non-production environment in order to estimate the resource requirements.
88+
====
89+
* [ ] The xref:../support/troubleshooting/verifying-node-health.adoc#reviewing-node-status-use-and-configuration_verifying-node-health[memory and CPU usage] of the nodes are healthy.
90+
* [ ] The link:https://access.redhat.com/solutions/4885641[etcd disk performance] of the clusters has been checked with `fio`.

0 commit comments

Comments
 (0)