{
"type": "sdnToOvn"
}
As an OpenShift Dedicated cluster administrator, you can initiate the migration from the OpenShift SDN network plugin to the OVN-Kubernetes network plugin and verify the migration status using the OCM CLI.
Some considerations before starting migration initiation are:
The cluster version must be 4.16.24 and above.
The migration process cannot be interrupted.
Migrating back to the SDN network plugin is not possible.
Cluster nodes will be rebooted during migration.
There will be no impact to workloads that are resilient to node disruptions.
Migration time can vary between several minutes and hours, depending on the cluster size and workload configurations.
You can only initiate migration on clusters that are version 4.16.24 and above. |
You installed the OpenShift Cluster Manager API command-line interface (ocm
).
OpenShift Cluster Manager API command-line interface ( |
Create a JSON file with the following content:
{
"type": "sdnToOvn"
}
Optional: Within the JSON file, you can configure internal subnets using any or all of the options join
, masquerade
, and transit
, along with a single CIDR per option, as shown in the following example:
{
"type": "sdnToOvn",
"sdn_to_ovn": {
"transit_ipv4": "192.168.255.0/24",
"join_ipv4": "192.168.255.0/24",
"masquerade_ipv4": "192.168.255.0/24"
}
}
OVN-Kubernetes reserves the following IP address ranges:
If these IP addresses have been used by OpenShift SDN or any external networks that might communicate with this cluster, you must patch them to use a different IP address range before initiating the limited live migration. For more information, see Patching OVN-Kubernetes address ranges in the Additional resources section. |
To initiate the migration, run the following post request in a terminal window:
$ ocm post /api/clusters_mgmt/v1/clusters/{cluster_id}/migrations (1)
--body=myjsonfile.json (2)
1 | Replace {cluster_id} with the ID of the cluster you want to migrate to the OVN-Kubernetes network plugin. |
2 | Replace myjsonfile.json with the name of the JSON file you created in the previous step. |
{
"kind": "ClusterMigration",
"href": "/api/clusters_mgmt/v1/clusters/2gnts65ra30sclb114p8qdc26g5c8o3e/migrations/2gois8j244rs0qrfu9ti2o790jssgh9i",
"id": "7sois8j244rs0qrhu9ti2o790jssgh9i",
"cluster_id": "2gnts65ra30sclb114p8qdc26g5c8o3e",
"type": "sdnToOvn",
"state": {
"value": "scheduled",
"description": ""
},
"sdn_to_ovn": {
"transit_ipv4": "100.65.0.0/16",
"join_ipv4": "100.66.0.0/16"
},
"creation_timestamp": "2025-02-05T14:56:34.878467542Z",
"updated_timestamp": "2025-02-05T14:56:34.878467542Z"
}
To check the status of the migration, run the following command:
$ ocm get cluster $cluster_id/migration (1)
1 | Replace $cluster_id with the ID of the cluster that the migration was applied to. |