2222import java .nio .charset .Charset ;
2323import java .nio .file .Files ;
2424import java .nio .file .Path ;
25+ import java .nio .file .attribute .PosixFilePermission ;
2526import java .util .Locale ;
2627import java .util .Arrays ;
2728import java .util .List ;
2829import java .util .Map ;
30+ import java .util .Set ;
2931import java .util .UUID ;
3032import java .util .regex .Matcher ;
3133import java .util .regex .Pattern ;
@@ -320,14 +322,15 @@ protected boolean performInstanceConversionUsingVddk(RemoteInstanceTO vmwareInst
320322 UUID .randomUUID ());
321323 try {
322324 Files .writeString (Path .of (passwordFilePath ), vcenterPassword );
325+ Files .setPosixFilePermissions (Path .of (passwordFilePath ), Set .of (PosixFilePermission .OWNER_READ , PosixFilePermission .OWNER_WRITE ));
323326 logger .debug ("({}) Written vCenter password to {}" , originalVMName , passwordFilePath );
324327 } catch (Exception e ) {
325328 logger .error ("({}) Failed to write vCenter password file {}: {}" , originalVMName , passwordFilePath , e .getMessage ());
326329 return false ;
327330 }
328331
329332 try {
330- String vpxUrl = buildVpxUrl (vmwareInstance , originalVMName );
333+ String vpxUrl = buildVpxUrl (vmwareInstance );
331334
332335 StringBuilder cmd = new StringBuilder ();
333336
@@ -357,7 +360,7 @@ protected boolean performInstanceConversionUsingVddk(RemoteInstanceTO vmwareInst
357360 if (StringUtils .isNotBlank (vddkTransports )) {
358361 cmd .append ("-io vddk-transports=" ).append (vddkTransports ).append (" " );
359362 }
360- cmd .append (originalVMName ).append (" " );
363+ cmd .append (vmwareInstance . getInstanceName () ).append (" " );
361364 cmd .append ("-o local " );
362365 cmd .append ("-os " ).append (temporaryConvertFolder ).append (" " );
363366 cmd .append ("-of qcow2 " );
@@ -459,8 +462,9 @@ private String extractSha1Fingerprint(String output) {
459462 * Format:
460463 * vpx://user@vcenter/DC/cluster/host?no_verify=1
461464 */
462- private String buildVpxUrl (RemoteInstanceTO vmwareInstance , String originalVMName ) {
465+ private String buildVpxUrl (RemoteInstanceTO vmwareInstance ) {
463466
467+ String vmName = vmwareInstance .getInstanceName ();
464468 String vcenter = vmwareInstance .getVcenterHost ();
465469 String username = vmwareInstance .getVcenterUsername ();
466470 String datacenter = vmwareInstance .getDatacenterName ();
@@ -487,7 +491,7 @@ private String buildVpxUrl(RemoteInstanceTO vmwareInstance, String originalVMNam
487491
488492 url .append ("?no_verify=1" );
489493
490- logger .info ("({}) Using VPX URL: {}" , originalVMName , url );
494+ logger .info ("({}) Using VPX URL: {}" , vmName , url );
491495 return url .toString ();
492496 }
493497}
0 commit comments