VMware {code} Community
dlamotta
Contributor
Contributor

-- ERROR -- Convert: converter.fault.ImportSourceInvalidConfigInfo

I am using the converter SDK to do a Windows 2012 R2 conversion.  The source is a VM running on Fusion on my Mac; however, I am treating the conversion as if the source is a physical machine.  I don't want the target to be vCenter, so I have set the target type to be hosted.   There is post-processing I intend to do, if I can get past the error below.

2015-04-13T11:44:41.196-04:00 [01952 info 'Default'] Run 0 of job "job-29" finished with an error. -- struct Converter::Server::Job::JobExecutor::SchedulerUpdateSpec __thiscall Converter::Server::Conversion::ConversionJobExecutorImpl::UpdateJob(class Converter::Server::Job::InternalJob &,bool,const class Converter::Server::Scheduler::SchedulerItemStatistics &,const class Converter::Task::TaskInfo &) ("d:/build/ob/bora-2183569/bora/sysimage/lib/converter/server/conversion/conversionJobExecutorImpl.cpp:405")

I am not a C++ guy but it makes me a little leery to see the full d:/build/ob/... path in the error message.  Anyway, it's got file info and line number, so I am sure it will be useful to the developers who wrote that class.

The program using the SDK and the converter (standalone v5.5) are running on machine 10.0.1.27 and the Win2012R2 machine (10.0.1.26) has the agent up and running without any apparent issue.  The target destination directory is a network path, accessible by all parties involved.  That share lives on 10.0.1.29.  What follows below is the conversion spec pulled from the logs.  I am deliberately not setting any network nor CPU/mem params so that the defaults are used.  I have modified the storage params to specify no resize, 2 GB sparse files, and set the volumes to clone.  Not sure what is invalid, corrupted or not recognized.

=== [Converter::Server::Conversion::ConversionManagerImpl::CreateJob] ConversionJobSpec:

--> (converter.server.conversion.ConversionJobSpec) {

-->    dynamicType = <unset>,

-->    name = "Convert",

-->    description = <unset>,

-->    firstRun = <unset>,

-->    startSuspended = <unset>,

-->    source = (converter.ComputerSpec) {

-->       dynamicType = <unset>,

-->       location = (converter.ComputerSpec.LiveComputerLocation) {

-->          dynamicType = <unset>,

-->          hostname = "10.0.1.26",

-->          port = <unset>,

-->          username = "Administrator",

-->          password = (not shown),

-->          osType = "windowsOs",

-->          verifyPeer = <unset>,

-->          sslThumbprint = "35:14:BE:1A:F9:8E:A6:E7:22:E5:AD:79:A7:A6:EE:97:5C:3D:2D:22",

-->       },

-->    },

-->    conversionParams = (converter.params.ConversionParams) {

-->       dynamicType = <unset>,

-->       osInstanceBootLoaderEntry = (converter.info.BootConfigInfo.BootLoaderEntrySpec) null,

-->       doClone = true,

-->       cloningParams = (converter.params.CloningParams) {

-->          dynamicType = <unset>,

-->          target = (converter.params.TargetVmSpec) {

-->             dynamicType = <unset>,

-->             name = "10.0.1.26",

-->             location = (converter.params.TargetVmSpec.HostedVmLocation) {

-->                dynamicType = <unset>,

-->                directory = "\\10.0.1.29\Shared",

-->                vmxFileName = <unset>,

-->                networkUsername = "dlamotta",

-->                networkPassword = (not shown),

-->             },

-->             productVersion = "workstation10x",

-->             hardwareVersion = <unset>,

-->          },

-->          storageParams = (converter.params.StorageParams) {

-->             dynamicType = <unset>,

-->             cloningMode = "volumeBasedCloning",

-->             diskControllerType = "scsiLsiLogicSAS",

-->             targetDiskParams = (converter.params.StorageParams.TargetDiskParams) [

-->                (converter.params.StorageParams.HostedTargetDiskParams) {

-->                   dynamicType = <unset>,

-->                   sourceDiskId = "disk-1004",

-->                   volumesToClone = (converter.params.StorageParams.VolumeCloningParams) [

-->                      (converter.params.StorageParams.VolumeCloningParams) {

-->                         dynamicType = <unset>,

-->                         sourceVolumeId = "\WindowsBitmapDriverVolumeId=[57-00-A7-48-00-00-10-00-00-00-00-00]",

-->                         resize = false,

-->                         newCapacityInBytes = <unset>,

-->                         newClusterSizeInBytes = <unset>,

-->                      },

-->                      (converter.params.StorageParams.VolumeCloningParams) {

-->                         dynamicType = <unset>,

-->                         sourceVolumeId = "\WindowsBitmapDriverVolumeId=[57-00-A7-48-00-00-F0-15-00-00-00-00]",

-->                         resize = false,

-->                         newCapacityInBytes = <unset>,

-->                         newClusterSizeInBytes = <unset>,

-->                      }

-->                   ],

-->                   diskType = "twoGbSparse",

-->                   lvg = false,

-->                   gpt = false,

-->                }

-->             ],

-->             skipUnwantedFiles = true,

-->             useBitmapDriver = <unset>,

-->             intermediateImage = <unset>,

-->             modifiedClustersOnly = <unset>,

-->             vmxDatastoreName = <unset>,

-->             resizeRatio = <unset>,

-->             minVolumeSize = <unset>,

-->             optimizedPartitionAlignment = true,

-->          },

-->          networkParams = (converter.params.NetworkParams) null,

-->          basicHardwareParams = (converter.params.BasicHardwareParams) {

-->             dynamicType = <unset>,

-->             numCPUs = <unset>,

-->             numCoresPerSocket = <unset>,

-->             memoryMB = <unset>,

-->          },

-->          incrementalP2VCloningParams = (converter.params.IncrementalP2VCloningParams) null,

-->          nextBitmapId = <unset>,

-->          snapshotSource = <unset>,

-->          preserveDeviceBacking = <unset>,

-->          preserveIdentity = <unset>,

-->          doSynchronize = false,

-->          doFinalize = <unset>,

-->          ovfParams = (converter.params.OvfParams) null,

-->          retainLimit = <unset>,

-->       },

-->       doReconfig = true,

-->       reconfigParams = (converter.params.ReconfigParams) null,

-->       doSynchronize = <unset>,

-->       doInstallTools = false,

-->       doCustomize = false,

-->       customizationParams = (converter.params.CustomizationParams) null,

-->       doUninstallAgent = <unset>,

-->       powerOnTargetVM = <unset>,

-->       removeRestoreCheckpoints = true,

-->       helperVmNetworkParams = (converter.params.HelperVmNetworkParams) null,

-->       throttlingParams = (converter.params.ThrottlingParams) null,

-->    },

-->    p2vSourceModificationSpec = (converter.server.conversion.P2VSourceModificationSpec) {

-->       dynamicType = <unset>,

-->       uninstallAgent = <unset>,

-->       shutdownSource = <unset>,

-->    },

-->    parentFolder = 'converter.server.conversion.ConversionFolder:ConversionFolder',

-->    synchronizeImmediately = <unset>,

-->    synchronizationStartTime = <unset>,

--> }

--> =====================


The converter client shows almost all the same info:


Windows_8_x64.png


Now something that is baking my noodle:  see task 28?  I ran the exact same code but instead of converting 10.0.1.26 (Win2012R2), I attempted to convert the same machine where the converter server is running (10.0.1.27).  I would really expect it to give me the same error on both conversions, but on task 28 the error I get is Error: 209 (type:1, code:13)


Not sure what else to do.  In the code I am validating the source and target specs, and everything passes.  Except when I run things it bombs.


Thanks for any help.


// David

Reply
0 Kudos
15 Replies
dlamotta
Contributor
Contributor

Since the original post, I went ahead and added basic hardware info and networking params also, and decided to stick to one machine--a Windows 8.1 VM (10.0.1.27).  Alas, the conversion still fails; what's more interesting is that the conversion using the vCenter Converter Client fails too.  Since the error spewed out is a bit misleading, a deeper look in the worker log shows errors on the only disk I have (error lines in red, below).

Running chkdsk on the guest shows no errors.

Windows_8_x64.png

Logs follow:

2015-04-14T10:37:26.544-04:00 [01632 info 'Default'] Converter::TargetVmManagerImpl::CreateVM

2015-04-14T10:37:26.544-04:00 [01632 info 'Default'] Target VM name: WIN8

2015-04-14T10:37:26.544-04:00 [01632 info 'Default'] Using cached DefaultConversionParamsResult

2015-04-14T10:37:26.544-04:00 [01632 info 'Default'] VMX file name for target is \\10.0.1.29\Shared\WIN8\WIN8.vmx

2015-04-14T10:37:26.544-04:00 [01632 info 'Default'] Target supports 2 floppy drives, 1 sound cards, 4 serial ports, 3 parallel ports, 1 USB controllers, 1 VMIROMS

2015-04-14T10:37:26.544-04:00 [01632 info 'Default'] VmTransformerImpl::TransformStorageDevices: Received diskControllerType=scsiLsiLogicSAS, using diskControllerType=scsiLsiLogicSAS

2015-04-14T10:37:26.544-04:00 [01632 info 'Default'] VmTransformerImpl::TransformStorageDevices: Max number of SCSI controllers = 4; Max number of devices per SCSI controller = 15; Max number of IDE controllers = 2; Max number of devices per IDE controller = 2; Max number of SATA controllers = 4; Max number of devices per SATA controller = 30; SATA support: yes; Default CD-ROM controller = 2.

2015-04-14T10:37:26.544-04:00 [01632 info 'Default'] Cloning mode volumeBasedCloning

2015-04-14T10:37:26.544-04:00 [01632 info 'Default'] found VolumesToClone list in TargetDiskParams

2015-04-14T10:37:26.544-04:00 [01632 info 'Default'] VmTransformerImpl::SeparateBootDisk: Moving bootable scsi disk at bus=0, unit=0 in front of all disks

2015-04-14T10:37:26.544-04:00 [01632 warning 'Default'] Device is relocated from ide BusNumber=0 UnitNumber=1 to sata BusNumber=0 UnitNumber=0

2015-04-14T10:37:26.544-04:00 [01632 info 'Default'] VmTransformerResult: configVersion = 8

--> isSupportingUsb20 = true

--> isSupportingUsb30 = true

--> targetConfig = (vim.vm.ConfigSpec) {

-->    dynamicType = <unset>,

-->    changeVersion = <unset>,

-->    name = "WIN8",

-->    version = "vmx-10",

-->    uuid = <unset>,

-->    instanceUuid = <unset>,

-->    npivWorldWideNameType = <unset>,

-->    npivDesiredNodeWwns = <unset>,

-->    npivDesiredPortWwns = <unset>,

-->    npivTemporaryDisabled = <unset>,

-->    npivOnNonRdmDisks = <unset>,

-->    npivWorldWideNameOp = <unset>,

-->    locationId = <unset>,

-->    guestId = "windows8_64Guest",

-->    alternateGuestName = <unset>,

-->    annotation = "",

-->    files = (vim.vm.FileInfo) {

-->       dynamicType = <unset>,

-->       vmPathName = "\\10.0.1.29\Shared\WIN8\WIN8.vmx",

-->       snapshotDirectory = <unset>,

-->       suspendDirectory = <unset>,

-->       logDirectory = <unset>,

-->       ftMetadataDirectory = <unset>,

-->    },

-->    tools = (vim.vm.ToolsConfigInfo) {

-->       dynamicType = <unset>,

-->       toolsVersion = <unset>,

-->       afterPowerOn = <unset>,

-->       afterResume = <unset>,

-->       beforeGuestStandby = <unset>,

-->       beforeGuestShutdown = <unset>,

-->       beforeGuestReboot = <unset>,

-->       toolsUpgradePolicy = <unset>,

-->       pendingCustomization = <unset>,

-->       syncTimeWithHost = <unset>,

-->       lastInstallInfo = (vim.vm.ToolsConfigInfo.ToolsLastInstallInfo) null,

-->       upgradeRebootPredict = <unset>,

-->    },

-->    flags = (vim.vm.FlagInfo) {

-->       dynamicType = <unset>,

-->       disableAcceleration = <unset>,

-->       enableLogging = <unset>,

-->       useToe = <unset>,

-->       runWithDebugInfo = <unset>,

-->       monitorType = <unset>,

-->       htSharing = <unset>,

-->       snapshotDisabled = <unset>,

-->       snapshotLocked = <unset>,

-->       diskUuidEnabled = <unset>,

-->       virtualMmuUsage = <unset>,

-->       virtualExecUsage = <unset>,

-->       snapshotPowerOffBehavior = <unset>,

-->       recordReplayEnabled = <unset>,

-->       faultToleranceType = <unset>,

-->    },

-->    consolePreferences = (vim.vm.ConsolePreferences) null,

-->    powerOpInfo = (vim.vm.DefaultPowerOpInfo) {

-->       dynamicType = <unset>,

-->       powerOffType = <unset>,

-->       suspendType = <unset>,

-->       resetType = <unset>,

-->       defaultPowerOffType = <unset>,

-->       defaultSuspendType = <unset>,

-->       defaultResetType = <unset>,

-->       standbyAction = <unset>,

-->    },

-->    numCPUs = 2,

-->    numCoresPerSocket = 2,

-->    memoryMB = 4096,

-->    memoryHotAddEnabled = <unset>,

-->    cpuHotAddEnabled = <unset>,

-->    cpuHotRemoveEnabled = <unset>,

-->    virtualICH7MPresent = <unset>,

-->    virtualSMCPresent = <unset>,

-->    deviceChange = (vim.vm.device.VirtualDeviceSpec) [

-->       (vim.vm.device.VirtualDeviceSpec) {

-->          dynamicType = <unset>,

-->          operation = "add",

-->          fileOperation = <unset>,

-->          device = (vim.vm.device.VirtualFloppy) {

-->             dynamicType = <unset>,

-->             key = -1,

-->             deviceInfo = (vim.Description) null,

-->             backing = (vim.vm.device.VirtualFloppy.DeviceBackingInfo) {

-->                dynamicType = <unset>,

-->                deviceName = "auto-detect",

-->                useAutoDetect = true,

-->             },

-->             connectable = (vim.vm.device.VirtualDevice.ConnectInfo) {

-->                dynamicType = <unset>,

-->                startConnected = true,

-->                allowGuestControl = true,

-->                connected = false,

-->                status = <unset>,

-->             },

-->             slotInfo = (vim.vm.device.VirtualDevice.BusSlotInfo) null,

-->             controllerKey = <unset>,

-->             unitNumber = <unset>,

-->          },

-->       },

-->       (vim.vm.device.VirtualDeviceSpec) {

-->          dynamicType = <unset>,

-->          operation = "add",

-->          fileOperation = <unset>,

-->          device = (vim.vm.device.VirtualParallelPort) {

-->             dynamicType = <unset>,

-->             key = -2,

-->             deviceInfo = (vim.Description) null,

-->             backing = (vim.vm.device.VirtualParallelPort.DeviceBackingInfo) {

-->                dynamicType = <unset>,

-->                deviceName = "auto-detect",

-->                useAutoDetect = true,

-->             },

-->             connectable = (vim.vm.device.VirtualDevice.ConnectInfo) {

-->                dynamicType = <unset>,

-->                startConnected = true,

-->                allowGuestControl = true,

-->                connected = false,

-->                status = <unset>,

-->             },

-->             slotInfo = (vim.vm.device.VirtualDevice.BusSlotInfo) null,

-->             controllerKey = <unset>,

-->             unitNumber = <unset>,

-->          },

-->       },

-->       (vim.vm.device.VirtualDeviceSpec) {

-->          dynamicType = <unset>,

-->          operation = "add",

-->          fileOperation = <unset>,

-->          device = (vim.vm.device.VirtualSerialPort) {

-->             dynamicType = <unset>,

-->             key = -3,

-->             deviceInfo = (vim.Description) null,

-->             backing = (vim.vm.device.VirtualSerialPort.DeviceBackingInfo) {

-->                dynamicType = <unset>,

-->                deviceName = "auto-detect",

-->                useAutoDetect = true,

-->             },

-->             connectable = (vim.vm.device.VirtualDevice.ConnectInfo) {

-->                dynamicType = <unset>,

-->                startConnected = true,

-->                allowGuestControl = true,

-->                connected = false,

-->                status = <unset>,

-->             },

-->             slotInfo = (vim.vm.device.VirtualDevice.BusSlotInfo) null,

-->             controllerKey = <unset>,

-->             unitNumber = <unset>,

-->             yieldOnPoll = true,

-->          },

-->       },

-->       (vim.vm.device.VirtualDeviceSpec) {

-->          dynamicType = <unset>,

-->          operation = "add",

-->          fileOperation = <unset>,

-->          device = (vim.vm.device.VirtualSerialPort) {

-->             dynamicType = <unset>,

-->             key = -4,

-->             deviceInfo = (vim.Description) null,

-->             backing = (vim.vm.device.VirtualSerialPort.DeviceBackingInfo) {

-->                dynamicType = <unset>,

-->                deviceName = "auto-detect",

-->                useAutoDetect = true,

-->             },

-->             connectable = (vim.vm.device.VirtualDevice.ConnectInfo) {

-->                dynamicType = <unset>,

-->                startConnected = true,

-->                allowGuestControl = true,

-->                connected = false,

-->                status = <unset>,

-->             },

-->             slotInfo = (vim.vm.device.VirtualDevice.BusSlotInfo) null,

-->             controllerKey = <unset>,

-->             unitNumber = <unset>,

-->             yieldOnPoll = true,

-->          },

-->       },

-->       (vim.vm.device.VirtualDeviceSpec) {

-->          dynamicType = <unset>,

-->          operation = "add",

-->          fileOperation = <unset>,

-->          device = (vim.vm.device.VirtualSoundCard) {

-->             dynamicType = <unset>,

-->             key = -5,

-->             deviceInfo = (vim.Description) null,

-->             backing = (vim.vm.device.VirtualSoundCard.DeviceBackingInfo) {

-->                dynamicType = <unset>,

-->                deviceName = "auto-detect",

-->                useAutoDetect = true,

-->             },

-->             connectable = (vim.vm.device.VirtualDevice.ConnectInfo) {

-->                dynamicType = <unset>,

-->                startConnected = true,

-->                allowGuestControl = true,

-->                connected = false,

-->                status = <unset>,

-->             },

-->             slotInfo = (vim.vm.device.VirtualDevice.BusSlotInfo) null,

-->             controllerKey = <unset>,

-->             unitNumber = <unset>,

-->          },

-->       },

-->       (vim.vm.device.VirtualDeviceSpec) {

-->          dynamicType = <unset>,

-->          operation = "add",

-->          fileOperation = <unset>,

-->          device = (vim.vm.device.VirtualUSBXHCIController) {

-->             dynamicType = <unset>,

-->             key = -6,

-->             deviceInfo = (vim.Description) null,

-->             backing = (vim.vm.device.VirtualDevice.BackingInfo) null,

-->             connectable = (vim.vm.device.VirtualDevice.ConnectInfo) null,

-->             slotInfo = (vim.vm.device.VirtualDevice.BusSlotInfo) null,

-->             controllerKey = <unset>,

-->             unitNumber = <unset>,

-->             busNumber = 0,

-->             autoConnectDevices = <unset>,

-->          },

-->       },

-->       (vim.vm.device.VirtualDeviceSpec) {

-->          dynamicType = <unset>,

-->          operation = "add",

-->          fileOperation = <unset>,

-->          device = (vim.vm.device.VirtualPCNet32) {

-->             dynamicType = <unset>,

-->             key = -7,

-->             deviceInfo = (vim.Description) {

-->                dynamicType = <unset>,

-->                label = "Nic1",

-->                summary = "Intel(R) 82574L Gigabit Network Connection",

-->             },

-->             backing = (vim.vm.device.VirtualEthernetCard.NetworkBackingInfo) {

-->                dynamicType = <unset>,

-->                deviceName = "bridged",

-->                useAutoDetect = true,

-->                network = <unset>,

-->                inPassthroughMode = <unset>,

-->             },

-->             connectable = (vim.vm.device.VirtualDevice.ConnectInfo) null,

-->             slotInfo = (vim.vm.device.VirtualDevice.BusSlotInfo) null,

-->             controllerKey = <unset>,

-->             unitNumber = <unset>,

-->             addressType = "manual",

-->             macAddress = "00:0C:29:D0:84:31",

-->             wakeOnLanEnabled = true,

-->             resourceAllocation = (vim.vm.device.VirtualEthernetCard.ResourceAllocation) null,

-->          },

-->       },

-->       (vim.vm.device.VirtualDeviceSpec) {

-->          dynamicType = <unset>,

-->          operation = "add",

-->          fileOperation = <unset>,

-->          device = (vim.vm.device.VirtualPCNet32) {

-->             dynamicType = <unset>,

-->             key = -8,

-->             deviceInfo = (vim.Description) {

-->                dynamicType = <unset>,

-->                label = "Nic2",

-->                summary = "Bluetooth Device (Personal Area Network)",

-->             },

-->             backing = (vim.vm.device.VirtualEthernetCard.NetworkBackingInfo) {

-->                dynamicType = <unset>,

-->                deviceName = "bridged",

-->                useAutoDetect = true,

-->                network = <unset>,

-->                inPassthroughMode = <unset>,

-->             },

-->             connectable = (vim.vm.device.VirtualDevice.ConnectInfo) null,

-->             slotInfo = (vim.vm.device.VirtualDevice.BusSlotInfo) null,

-->             controllerKey = <unset>,

-->             unitNumber = <unset>,

-->             addressType = "manual",

-->             macAddress = "C8:E0:EB:18:2E:62",

-->             wakeOnLanEnabled = true,

-->             resourceAllocation = (vim.vm.device.VirtualEthernetCard.ResourceAllocation) null,

-->          },

-->       },

-->       (vim.vm.device.VirtualDeviceSpec) {

-->          dynamicType = <unset>,

-->          operation = "add",

-->          fileOperation = <unset>,

-->          device = (vim.vm.device.VirtualLsiLogicSASController) {

-->             dynamicType = <unset>,

-->             key = -9,

-->             deviceInfo = (vim.Description) null,

-->             backing = (vim.vm.device.VirtualDevice.BackingInfo) null,

-->             connectable = (vim.vm.device.VirtualDevice.ConnectInfo) {

-->                dynamicType = <unset>,

-->                startConnected = true,

-->                allowGuestControl = false,

-->                connected = false,

-->                status = <unset>,

-->             },

-->             slotInfo = (vim.vm.device.VirtualDevice.BusSlotInfo) null,

-->             controllerKey = <unset>,

-->             unitNumber = <unset>,

-->             busNumber = 0,

-->             hotAddRemove = <unset>,

-->             sharedBus = "noSharing",

-->             scsiCtlrUnitNumber = <unset>,

-->          },

-->       },

-->       (vim.vm.device.VirtualDeviceSpec) {

-->          dynamicType = <unset>,

-->          operation = "add",

-->          fileOperation = "create",

-->          device = (vim.vm.device.VirtualDisk) {

-->             dynamicType = <unset>,

-->             key = -10,

-->             deviceInfo = (vim.Description) null,

-->             backing = (vim.vm.device.VirtualDisk.SparseVer2BackingInfo) {

-->                dynamicType = <unset>,

-->                fileName = "",

-->                datastore = <unset>,

-->                backingObjectId = <unset>,

-->                diskMode = "persistent",

-->                split = true,

-->                writeThrough = <unset>,

-->                spaceUsedInKB = <unset>,

-->                uuid = <unset>,

-->                contentId = <unset>,

-->                changeId = <unset>,

-->                parent = (vim.vm.device.VirtualDisk.SparseVer2BackingInfo) null,

-->             },

-->             connectable = (vim.vm.device.VirtualDevice.ConnectInfo) {

-->                dynamicType = <unset>,

-->                startConnected = true,

-->                allowGuestControl = false,

-->                connected = false,

-->                status = <unset>,

-->             },

-->             slotInfo = (vim.vm.device.VirtualDevice.BusSlotInfo) null,

-->             controllerKey = -9,

-->             unitNumber = 0,

-->             capacityInKB = 73395200,

-->             capacityInBytes = 75156684800,

-->             shares = (vim.SharesInfo) null,

-->             storageIOAllocation = (vim.StorageResourceManager.IOAllocationInfo) null,

-->             diskObjectId = <unset>,

-->             vFlashCacheConfigInfo = (vim.vm.device.VirtualDisk.VFlashCacheConfigInfo) null,

-->          },

-->       },

-->       (vim.vm.device.VirtualDeviceSpec) {

-->          dynamicType = <unset>,

-->          operation = "add",

-->          fileOperation = <unset>,

-->          device = (vim.vm.device.VirtualAHCIController) {

-->             dynamicType = <unset>,

-->             key = -11,

-->             deviceInfo = (vim.Description) null,

-->             backing = (vim.vm.device.VirtualDevice.BackingInfo) null,

-->             connectable = (vim.vm.device.VirtualDevice.ConnectInfo) {

-->                dynamicType = <unset>,

-->                startConnected = true,

-->                allowGuestControl = false,

-->                connected = false,

-->                status = <unset>,

-->             },

-->             slotInfo = (vim.vm.device.VirtualDevice.BusSlotInfo) null,

-->             controllerKey = <unset>,

-->             unitNumber = <unset>,

-->             busNumber = 0,

-->          },

-->       },

-->       (vim.vm.device.VirtualDeviceSpec) {

-->          dynamicType = <unset>,

-->          operation = "add",

-->          fileOperation = <unset>,

-->          device = (vim.vm.device.VirtualCdrom) {

-->             dynamicType = <unset>,

-->             key = -12,

-->             deviceInfo = (vim.Description) null,

-->             backing = (vim.vm.device.VirtualCdrom.PassthroughBackingInfo) {

-->                dynamicType = <unset>,

-->                deviceName = "",

-->                useAutoDetect = <unset>,

-->                exclusive = false,

-->                description = <unset>,

-->             },

-->             connectable = (vim.vm.device.VirtualDevice.ConnectInfo) {

-->                dynamicType = <unset>,

-->                startConnected = true,

-->                allowGuestControl = true,

-->                connected = false,

-->                status = <unset>,

-->             },

-->             slotInfo = (vim.vm.device.VirtualDevice.BusSlotInfo) null,

-->             controllerKey = -11,

-->             unitNumber = 0,

-->          },

-->       },

-->       (vim.vm.device.VirtualDeviceSpec) {

-->          dynamicType = <unset>,

-->          operation = "add",

-->          fileOperation = <unset>,

-->          device = (vim.vm.device.VirtualVideoCard) {

-->             dynamicType = <unset>,

-->             key = -13,

-->             deviceInfo = (vim.Description) null,

-->             backing = (vim.vm.device.VirtualDevice.BackingInfo) null,

-->             connectable = (vim.vm.device.VirtualDevice.ConnectInfo) null,

-->             slotInfo = (vim.vm.device.VirtualDevice.BusSlotInfo) null,

-->             controllerKey = <unset>,

-->             unitNumber = <unset>,

-->             videoRamSizeInKB = <unset>,

-->             numDisplays = <unset>,

-->             useAutoDetect = <unset>,

-->             enable3DSupport = true,

-->             enableMPTSupport = <unset>,

-->             use3dRenderer = <unset>,

-->             graphicsMemorySizeInKB = <unset>,

-->          },

-->       },

-->       (vim.vm.device.VirtualDeviceSpec) {

-->          dynamicType = <unset>,

-->          operation = "add",

-->          fileOperation = <unset>,

-->          device = (vim.vm.device.VirtualVMCIDevice) {

-->             dynamicType = <unset>,

-->             key = -14,

-->             deviceInfo = (vim.Description) null,

-->             backing = (vim.vm.device.VirtualDevice.BackingInfo) null,

-->             connectable = (vim.vm.device.VirtualDevice.ConnectInfo) null,

-->             slotInfo = (vim.vm.device.VirtualDevice.BusSlotInfo) null,

-->             controllerKey = <unset>,

-->             unitNumber = <unset>,

-->             id = <unset>,

-->             allowUnrestrictedCommunication = <unset>,

-->          },

-->       }

-->    ],

-->    cpuAllocation = (vim.ResourceAllocationInfo) null,

-->    memoryAllocation = (vim.ResourceAllocationInfo) null,

-->    latencySensitivity = (vim.LatencySensitivity) null,

-->    cpuAffinity = (vim.vm.AffinityInfo) {

-->       dynamicType = <unset>,

-->    },

-->    memoryAffinity = (vim.vm.AffinityInfo) {

-->       dynamicType = <unset>,

-->    },

-->    networkShaper = (vim.vm.NetworkShaperInfo) null,

-->    extraConfig = (vim.option.OptionValue) [

-->       (vim.option.OptionValue) {

-->          dynamicType = <unset>,

-->          key = "pciBridge0.present",

-->          value = "TRUE",

-->       },

-->       (vim.option.OptionValue) {

-->          dynamicType = <unset>,

-->          key = "tools.upgrade.policy",

-->          value = "useGlobal",

-->       },

-->       (vim.option.OptionValue) {

-->          dynamicType = <unset>,

-->          key = "pciBridge4.present",

-->          value = "TRUE",

-->       },

-->       (vim.option.OptionValue) {

-->          dynamicType = <unset>,

-->          key = "pciBridge4.virtualDev",

-->          value = "pcieRootPort",

-->       },

-->       (vim.option.OptionValue) {

-->          dynamicType = <unset>,

-->          key = "pciBridge5.present",

-->          value = "TRUE",

-->       },

-->       (vim.option.OptionValue) {

-->          dynamicType = <unset>,

-->          key = "pciBridge5.virtualDev",

-->          value = "pcieRootPort",

-->       },

-->       (vim.option.OptionValue) {

-->          dynamicType = <unset>,

-->          key = "pciBridge6.present",

-->          value = "TRUE",

-->       },

-->       (vim.option.OptionValue) {

-->          dynamicType = <unset>,

-->          key = "pciBridge6.virtualDev",

-->          value = "pcieRootPort",

-->       },

-->       (vim.option.OptionValue) {

-->          dynamicType = <unset>,

-->          key = "pciBridge7.present",

-->          value = "TRUE",

-->       },

-->       (vim.option.OptionValue) {

-->          dynamicType = <unset>,

-->          key = "pciBridge7.virtualDev",

-->          value = "pcieRootPort",

-->       }

-->    ],

-->    swapPlacement = <unset>,

-->    swapDirectory = <unset>,

-->    preserveSwapOnPowerOff = <unset>,

-->    bootOptions = (vim.vm.BootOptions) null,

-->    vAppConfig = (vim.vApp.VmConfigSpec) null,

-->    ftInfo = (vim.vm.FaultToleranceConfigInfo) null,

-->    vAppConfigRemoved = <unset>,

-->    vAssertsEnabled = <unset>,

-->    changeTrackingEnabled = <unset>,

-->    firmware = "bios",

-->    maxMksConnections = <unset>,

-->    guestAutoLockEnabled = <unset>,

-->    managedBy = (vim.ext.ManagedByInfo) null,

-->    memoryReservationLockedToMax = <unset>,

-->    nestedHVEnabled = <unset>,

-->    vPMCEnabled = <unset>,

-->    scheduledHardwareUpgradeInfo = (vim.vm.ScheduledHardwareUpgradeInfo) null,

-->    messageBusQueuePattern = <unset>,

-->    messageBusTunnelEnabled = <unset>,

--> }

--> diskMapping = (Target2SourceDiskMappingVector) {

-->     (scsi,bus=0,unit=0) => (scsi,bus=0,unit=0,diskId=disk-1005,isLvg=false,isGpt=false) (sourceVolumeId=\WindowsBitmapDriverVolumeId=[9E-D3-8C-2B-00-00-10-00-00-00-00-00],resizeRequested=false,_targetVolumeCapacity=75153334784 bytes

--> }

2015-04-14T10:37:26.544-04:00 [01632 info 'Default'] TargetVmManagerImpl::CreateVM: Creating the target VM.

2015-04-14T10:37:26.544-04:00 [01632 info 'Default'] [ufaUtilsWin32,210] Connecting to Shared on 10.0.1.29 as 10.0.1.29\integra

2015-04-14T10:37:27.668-04:00 [01632 info 'Default'] [ufaUtilsWin32,213] Successfully connected to Shared on 10.0.1.29

2015-04-14T10:37:27.684-04:00 [01632 info 'Default'] Creating generic USB controller.

2015-04-14T10:37:27.684-04:00 [01632 info 'Default'] Preserving USB 3.0 controller.

2015-04-14T10:37:27.684-04:00 [01632 info 'Default'] Creating virtual disk: \\10.0.1.29\Shared\WIN8\WIN8.vmdk

2015-04-14T10:37:48.027-04:00 [01632 info 'Default'] Created target vm

2015-04-14T10:37:48.027-04:00 [01632 info 'Default'] Target config file: \\10.0.1.29\Shared\WIN8\WIN8.vmx

2015-04-14T10:37:48.043-04:00 [01632 info 'Default'] [ufaUtilsWin32,210] Connecting to Shared on 10.0.1.29 as 10.0.1.29\integra

2015-04-14T10:37:49.371-04:00 [01632 info 'Default'] [ufaUtilsWin32,213] Successfully connected to Shared on 10.0.1.29

2015-04-14T10:37:49.371-04:00 [01632 info 'Default'] [ufaUtilsWin32,210] Connecting to Shared on 10.0.1.29 as 10.0.1.29\integra

2015-04-14T10:37:51.011-04:00 [01632 info 'Default'] [ufaUtilsWin32,213] Successfully connected to Shared on 10.0.1.29

2015-04-14T10:37:51.011-04:00 [01632 info 'Default'] Creating vmx file parser

2015-04-14T10:37:51.011-04:00 [01632 info 'Default'] [BaseParserImpl::Parse] Config info is not cached

2015-04-14T10:37:51.011-04:00 [01632 info 'Default'] Parsing \\10.0.1.29\Shared\WIN8\WIN8.vmx

2015-04-14T10:38:01.245-04:00 [01632 warning 'Default'] Disk number 1 has been skipped because of errors while reading partition table

2015-04-14T10:38:01.245-04:00 [01632 warning 'Default'] Disk number 1 has been skipped because of errors while reading dynamic disks header or LDM database is corrupted

2015-04-14T10:38:01.245-04:00 [01632 warning 'Default'] [MoveActiveDiskIfNeeded] GetFirstBootDisk failed, mntapi error: 176

2015-04-14T10:38:01.245-04:00 [01632 warning 'Default'] Partition:Invalid sector magic number.

2015-04-14T10:38:01.245-04:00 [01632 warning 'Default'] Partition:Invalid sector magic number.

2015-04-14T10:38:01.245-04:00 [01632 warning 'Default'] [PopulateCapabilities] Volume-based cloning was disabled due to: <no volumes are recognized>

2015-04-14T10:38:01.245-04:00 [01632 info 'Default'] [LogMessagesForQA] System volume is not detected.

2015-04-14T10:38:01.245-04:00 [01632 info 'Default'] [BaseComputerImpl::Open] Config file: \\10.0.1.29\Shared\WIN8\WIN8.vmx

2015-04-14T10:38:01.245-04:00 [01632 warning 'Default'] Partition:Invalid sector magic number.

2015-04-14T10:38:02.402-04:00 [01632 info 'Default'] ---------------------------

2015-04-14T10:38:02.402-04:00 [01632 info 'Default'] ....Creating MBR Partition Table ....

2015-04-14T10:38:02.402-04:00 [01632 info 'Default'] ..... Partition Entry: 0 .....

2015-04-14T10:38:02.402-04:00 [01632 info 'Default'] .....Current Partition Offset 0: .....

2015-04-14T10:38:02.402-04:00 [01632 info 'Default'] ...Boot Indicator: 0X80

2015-04-14T10:38:02.402-04:00 [01632 info 'Default'] ...Partition Type Id 0X7

2015-04-14T10:38:02.402-04:00 [01632 info 'Default'] ...Starting Head 32

2015-04-14T10:38:02.402-04:00 [01632 info 'Default'] ...Starting Sector 33

2015-04-14T10:38:02.402-04:00 [01632 info 'Default'] ...Starting Cylinder 0

2015-04-14T10:38:02.402-04:00 [01632 info 'Default'] ...Ending Head 6

2015-04-14T10:38:02.402-04:00 [01632 info 'Default'] ...Ending Sector 21

2015-04-14T10:38:02.402-04:00 [01632 info 'Default'] ...Ending Cylinder 1023

2015-04-14T10:38:02.402-04:00 [01632 info 'Default'] ...Relative Sectors 2048

2015-04-14T10:38:02.402-04:00 [01632 info 'Default'] ...Total Sectors 146784256

2015-04-14T10:38:02.402-04:00 [01632 info 'Default'] --------------------------

2015-04-14T10:38:02.402-04:00 [01632 info 'Default'] Partition 0: offset: 0

2015-04-14T10:38:02.495-04:00 [01632 info 'Default'] Disk signature found 730649502, disk size in sectors 146790400, sector size 512

2015-04-14T10:38:02.495-04:00 [01632 info 'Default'] Partition found type HPFS/NTFS(7) name:HPFS/NTFS start:2048 size:146784256 active primary

2015-04-14T10:38:02.495-04:00 [01632 info 'Default'] Disk with signature 730649502, recognized partitions 1

2015-04-14T10:38:02.495-04:00 [01632 info 'Default'] TargetVmManagerImpl::PartitionTargetDisks: Target Disk Id: disk-5

2015-04-14T10:38:02.495-04:00 [01632 info 'Default'] TargetVmManagerImpl::PartitionTargetDisks: Source volume Id: \WindowsBitmapDriverVolumeId=[9E-D3-8C-2B-00-00-10-00-00-00-00-00] Target Volume Id: >)3-<(;20000010000000000

2015-04-14T10:38:02.495-04:00 [04000 info 'ThreadPool'] Thread enlisted

2015-04-14T10:38:03.980-04:00 [01632 info 'Default'] Scheduled timer canceled, StopKeepAlive succeeds

2015-04-14T10:38:04.069-04:00 [01632 info 'Default'] Impersonating user Administrator in session 1912af92-a2d2-14d9-335c-4367a25c7165

2015-04-14T10:38:04.101-04:00 [01628 info 'Default'] Task Added : task-1

2015-04-14T10:38:04.101-04:00 [03864 info 'ThreadPool'] Thread enlisted

2015-04-14T10:38:04.148-04:00 [03864 info 'Default'] [ufaUtilsWin32,210] Connecting to Shared on 10.0.1.29 as 10.0.1.29\integra

2015-04-14T10:38:05.757-04:00 [03864 info 'Default'] [ufaUtilsWin32,213] Successfully connected to Shared on 10.0.1.29

2015-04-14T10:38:05.789-04:00 [03864 info 'Default'] [ufaUtilsWin32,210] Connecting to Shared on 10.0.1.29 as 10.0.1.29\integra

2015-04-14T10:38:06.991-04:00 [03864 info 'Default'] [ufaUtilsWin32,213] Successfully connected to Shared on 10.0.1.29

2015-04-14T10:38:06.991-04:00 [03864 info 'task-1'] Could not find the session object cache, will create a new one

2015-04-14T10:38:06.991-04:00 [03864 info 'task-1'] Creating vmx file parser

2015-04-14T10:38:06.991-04:00 [03864 info 'task-1'] [BaseParserImpl::Parse] Config info is not cached

2015-04-14T10:38:06.991-04:00 [03864 info 'task-1'] Parsing \\10.0.1.29\Shared\WIN8\WIN8.vmx

2015-04-14T10:38:07.007-04:00 [03864 error 'task-1'] Parsing \\10.0.1.29\Shared\WIN8\WIN8.vmx failed, error: Failed to load dictionary from \\10.0.1.29\Shared\WIN8\WIN8.vmx

2015-04-14T10:38:07.007-04:00 [03864 error 'task-1'] TaskImpl has failed with MethodFault::Exception: converter.fault.ImportSourceInvalidConfigInfo

2015-04-14T10:38:07.007-04:00 [03864 info 'task-1'] TargetVmManagerImpl::DeleteVM

2015-04-14T10:38:08.554-04:00 [03864 info 'task-1'] Virtual machine \\10.0.1.29\Shared\WIN8 destroyed

2015-04-14T10:38:08.569-04:00 [03864 warning 'task-1'] Throwing "std::runtime_error" -- class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall Converter::Worker::WorkerConvertTask::RetrieveAgentTaskLogBundle(void) throw() ("d:/build/ob/bora-2183569/bora/sysimage/apps/converterWorker/workerConvertTask.cpp:698")

2015-04-14T10:38:08.569-04:00 [03864 error 'task-1'] WorkerConvertTask: Failed to perform PostDoRun task in Worker CloneTask while retrieving the log bundle: Agent connection/Agent task not initialized, unable to retrieve agent logs

2015-04-14T10:38:08.569-04:00 [03864 error 'Default'] Task failed:

2015-04-14T10:38:08.569-04:00 [03864 info 'task-1'] Scheduled timer canceled, StopKeepAlive succeeds

2015-04-14T10:38:08.569-04:00 [03864 info 'Default'] Task Completed : task-1

2015-04-14T10:38:08.569-04:00 [03864 info 'ThreadPool'] Thread delisted

2015-04-14T10:38:08.585-04:00 [01632 info 'Default'] [Converter.Worker.DiagnosticManagerImpl][task-1] Generating task log bundle.

Reply
0 Kudos
dlamotta
Contributor
Contributor

FYI -- the Windows 8.1 machine is up to date with all the patches known to this date.  A thread in SpiceWorks indicated that the lack of patches could be the culprit.  Alas, for me, updating the system did nothing to alleviate the problem.  Both the vCenter Converter UI and our code continue to fail at 1% when converting the Win 8.1 machine.

Reply
0 Kudos
POCEH
VMware Employee
VMware Employee

First of all - could you start the same conversion through Converter UI? Is it successful start at least?

If it runs through UI then you make a parameter mismatch...

Otherwise could you upload log bundle? There should be more information about failure.

Regards

Reply
0 Kudos
dlamotta
Contributor
Contributor

No, the Converter UI fails as well.

Windows_8_x64.png

I've gotten this error plenty of times, so I restarted the 3 services (agent, worker, server) before this last run.  The UI logs are the only ones captured.

Just to recap, this is a Win 8.1 VM running in Fusion.  Technically speaking, it should work.  Yesterday night, I tested the exact same code and tried to convert a Win 2012 R2 machine hosted directly on ESXi... and it worked.  That rules out something with the configuration sent to the server (which, I am validating before executing the conversion, BTW).  Logic would dictate that there must be something in the VM format under Fusion that differs from a VM on ESXi which is causing this problem.  But, that's just a guess.

Thanks for your interest.

Reply
0 Kudos
POCEH
VMware Employee
VMware Employee

Unfortunately these are only GUI logs. Look at folder "%ALLUSERSPROFILE%\vmware\vmware vcenter converter standalone\logs" for vmware-converter-worker## logs which are important in this case.

Reply
0 Kudos
dlamotta
Contributor
Contributor

Here you go.

Reply
0 Kudos
patanassov
VMware Employee
VMware Employee

Hello

From the last logs you have sent there is this in worker's:

2015-04-15T09:40:11.953-04:00 [03824 info 'Default'] Sysimgbase_DiskLib_Write failed with 'There is not enough space on the file system for the selected operation' (error code:13)

2015-04-15T09:40:11.953-04:00 [03824 error 'task-2'] TargetVolumeWriter::WriteToVolume(): Error (type: 1, code: 13) writing 655360 bytes to the destination volume at offset 0x0000000018d22000

It should be self explanatory. However it seems to me this won't be enough to solve your problems.

There are multiple issues involved in this thread. Let's first separate them and clarify some stuff.

  • One thing is that the W2012 machine conversion fails when submitted through the SDK. Does it succeed if submitted with the GUI client?
  • The previous worker log you have posted. The errors you have marked in red are red herrings. There is another one later on that is more interesting:

2015-04-14T10:38:07.007-04:00 [03864 error 'task-1'] Parsing \\10.0.1.29\Shared\WIN8\WIN8.vmx failed, error: Failed to load dictionary from \\10.0.1.29\Shared\WIN8\WIN8.vmx

I'd like to have a look on that .vmx file. Unfortunately the target VM gets destroyed soon after the task fails. However there are a few seconds between it gets created and deleted. If you are prepared, you could copy the file.

  • Not being able to create a log bundle. The last server log contains this:

2015-04-15T09:43:44.963-04:00 [03492 error 'Default'] [diagnosticManager,224] Users with non-administrative rights can not access log bundles.

It is generally recommended to run the client as administrator, not only for log exports.

HTH

Plamen

Reply
0 Kudos
dlamotta
Contributor
Contributor

Thanks for the response... my comments are inline.

2015-04-15T09:40:11.953-04:00 [03824 info 'Default'] Sysimgbase_DiskLib_Write failed with 'There is not enough space on the file system for the selected operation' (error code:13)

2015-04-15T09:40:11.953-04:00 [03824 error 'task-2'] TargetVolumeWriter::WriteToVolume(): Error (type: 1, code: 13) writing 655360 bytes to the destination volume at offset 0x0000000018d22000

It should be self explanatory. However it seems to me this won't be enough to solve your problems.

The guest (Win 8.1) has about 10 GB left of disk space, and the network share has 150 GB available.   The VM itself has a disk of 70 GB total.

  • One thing is that the W2012 machine conversion fails when submitted through the SDK. Does it succeed if submitted with the GUI client?

No, the first W2012 machine is also another VM running in Fusion on my laptop.  From the GUI client this also failed.  If you see my previous messages there is one instance of a W2012 VM hosted on ESXi which is converting just fine.

I'd like to have a look on that .vmx file. Unfortunately the target VM gets destroyed soon after the task fails. However there are a few seconds between it gets created and deleted. If you are prepared, you could copy the file.

I'll see if I can have my finger ready on the trigger when the .vmx gets created.  Hang tight.

It is generally recommended to run the client as administrator, not only for log exports.

I know.  I saw that too in the logs and was a bit confused.  I am running the converter GUI as administrator (you know, right click, Run As administrator)... BUT, when I select "Connect to this local server" and "Convert this local machine" it is my user creds that may be getting picked up.  I'll try entering Administrator credentials explicitly and try again.

Thanks!

Reply
0 Kudos
dlamotta
Contributor
Contributor

Ok, I think we got what we wanted.  Full logs, running as Administrator, and the .vmx.

Reply
0 Kudos
patanassov
VMware Employee
VMware Employee

Hello

on further examination, the errors start with:

2015-04-15T09:39:34.026-04:00 [02280 warning 'task-2'] FileClusterBitmapBuilder [AddBadBlockExtents] Unable to get bad blocks extents for \\.\GLOBALROOT\Device\HarddiskVolumeShadowCopy4\. Error: 5

This calls Windows API f-n to get the bad blocks on the volume. Error 5 means 'access denied'

You should definitely log in with 'administrator' (not another account in the administrators group) account before starting the conversion. Otherwise - disable UAC, but it is not so trivial for Windows 8 as it used to be in 7.

HTH

Reply
0 Kudos
dlamotta
Contributor
Contributor

Well, I can tell you for a fact that UAC was not off.  But, changing the values does nothing (yes, my computer asked to reboot and everything):

Windows_8_x64.png

Windows_8_x64.png

Windows_8_x64.png

Windows_8_x64.png

Sorry for so many images--they are to show the UAC settings I currently have, plus the converter GUI showing that it ran as Administrator.  I've attached the logs for this last run.

Reply
0 Kudos
POCEH
VMware Employee
VMware Employee

All seems correct... so the problem should be in SMB share - verify that user 'integra' has full rights on share, verify that there is no proxy or traffic rule(s) between source computer and share, sometimes anti-virus program can prevent access too.

HTH

patanassov
VMware Employee
VMware Employee

Correct me if I am wrong, but it seems the conversions to ESXi are fine and those to the network share fail. If that's so, then, as Rosen wrote, check integra's permissions on that share.

OTOH, you dont need to convert a Fusion VM to Workstation, you can just copy the files; after all Fusion is Workstation for Mac.

HTH

Plamen

P.S. I opened the vmx file with Converter as if a source machine and everything was fine. The only thing slightly unusual is the encoding - it is "windows-1252" while .vmx are usually encoded in UTF-8.

dlamotta
Contributor
Contributor

I'll look into the share as you suggest.  I can create files but I am getting a deletion error on an existing folder.  It _could_ be this.

Thanks for the suggestion.

Reply
0 Kudos
dlamotta
Contributor
Contributor

Correct me if I am wrong, but it seems the conversions to ESXi are fine and those to the network share fail. If that's so, then, as Rosen wrote, check integra's permissions on that share.

OTOH, you dont need to convert a Fusion VM to Workstation, you can just copy the files; after all Fusion is Workstation for Mac.

Correct.  On ESXi connecting to a different network share (on enterprise storage), things are working fine.  This exercise was to test something out, and I was attempting to do things from my Mac.  Going to ESXi works, so that is actually more important.

P.S. I opened the vmx file with Converter as if a source machine and everything was fine. The only thing slightly unusual is the encoding - it is "windows-1252" while .vmx are usually encoded in UTF-8.

Not sure how that encoding happened; I just used the GUI to kick things off.

Thanks for your help.

Reply
0 Kudos