Skip to content

Commit 7b88bff

Browse files
Merge pull request #3460 from upalatucci/CNV-79681-fix-vmim-name-length
CNV-79681: Fix VMIM name exceeding K8s max name length
2 parents 7acd7f2 + 5e1e6c1 commit 7b88bff

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/views/virtualmachines/actions/actions.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ import {
88
V1VirtualMachine,
99
V1VirtualMachineInstanceMigration,
1010
} from '@kubevirt-ui-ext/kubevirt-api/kubevirt';
11-
import { kubevirtConsole } from '@kubevirt-utils/utils/utils';
11+
import { MAX_K8S_NAME_LENGTH } from '@kubevirt-utils/utils/constants';
12+
import { getRandomChars, kubevirtConsole } from '@kubevirt-utils/utils/utils';
1213
import { getCluster } from '@multicluster/helpers/selectors';
1314
import {
1415
getKubevirtBaseAPIPath,
@@ -17,8 +18,6 @@ import {
1718
} from '@multicluster/k8sRequests';
1819
import { consoleFetch, K8sModel } from '@openshift-console/dynamic-plugin-sdk';
1920

20-
export const generateRandomString = () => Math.random().toString(36).substring(2, 7);
21-
2221
export enum VMActionType {
2322
AddVolume = 'addvolume',
2423
Pause = 'pause',
@@ -85,11 +84,14 @@ export const removeVolume = async (vm: V1VirtualMachine, body: V1RemoveVolumeOpt
8584
VMActionRequest(vm, VMActionType.RemoveVolume, VirtualMachineModel, body);
8685
export const migrateVM = async (vm: V1VirtualMachine, node?: string) => {
8786
const { name, namespace } = vm?.metadata;
87+
const suffix = `-mig-${getRandomChars(4)}`;
88+
const truncatedName = name.substring(0, MAX_K8S_NAME_LENGTH - suffix.length);
89+
8890
const migrationData: V1VirtualMachineInstanceMigration = {
8991
apiVersion: 'kubevirt.io/v1',
9092
kind: 'VirtualMachineInstanceMigration',
9193
metadata: {
92-
name: `${name}-migration-${generateRandomString()}`,
94+
name: `${truncatedName}${suffix}`,
9395
},
9496
spec: {
9597
vmiName: name,

0 commit comments

Comments
 (0)