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' ;
1213import { getCluster } from '@multicluster/helpers/selectors' ;
1314import {
1415 getKubevirtBaseAPIPath ,
@@ -17,8 +18,6 @@ import {
1718} from '@multicluster/k8sRequests' ;
1819import { consoleFetch , K8sModel } from '@openshift-console/dynamic-plugin-sdk' ;
1920
20- export const generateRandomString = ( ) => Math . random ( ) . toString ( 36 ) . substring ( 2 , 7 ) ;
21-
2221export 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 ) ;
8685export 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