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:
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