"Incorrect format" sounds a bit like "BadImageFormatException" which
usually means that you're mixing 32- and 64-bit modules. That's all I know.

Here's my VMM PowerShell script that works just fine in Jenkins:

param($VMMServer, $VMName)

Import-Module -Name "virtualmachinemanager"

Get-SCVirtualMachine -Name $VMName -VMMServer $VMMServer `
| Get-SCVMCheckpoint -MostRecent `
| Restore-SCVMCheckpoint



2013/10/31 Matthias Napalowski <[email protected]>

> If I try to start a Hyper-V VM with a powershell script all i get is:
>
> Could not load file or assembly 'TraceWrapper, Version=1.0.523.0, 
> Culture=neutr
> al, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. An attempt 
> was
>  made to load a program with an incorrect format.
>
> The script looks like this:
>
>
> Import-Module "C:\Program Files\Microsoft System Center 2012\Virtual Machine 
> Manager\bin\psModules\virtualmachinemanager\virtualmachinemanager.psd1";
>
> Get-VMMServer "hades"
> $VM = Get-SCVirtualMachine -Name "Windows Server 2008 R2"
> Start-SCVirtualMachine -VM $VM
>
> Why does Jenkins fail with this script? if i execute it in a normal 
> powershell, started as admin and also non admin, it works just fine.
>
>
> Greetings
>
> Matthias
>
>
>
>
>
>
>
>
> 2013/10/31 Yves Goergen <[email protected]>
>
>> Yes, it's working now. I figured out that I had some URL entered wrong.
>> But I can't remember the details anymore. We're using two separate jobs
>> after the build has completed: Prepare-Test and test. The first one
>> restores the VM and disconnects the client from the Jenkins server. The VMM
>> API is synchronous, but a little more delay was necessary to stabilise it.
>> Then, the slave is started on that VM through remote execution of a Windows
>> scheduled task. The second job then does the actual work.
>>
>> Transferring the build files (setup etc.) to the slave is still
>> complicated though. I played with diverse settings and plug-ins and
>> eventually made it work with the help of additional batch script copying of
>> files through the public userContent directory. Not nice but working. A
>> truly integrated solution would offer me this out of the box.
>>
>> About the VMM control: Nothing else worked reliably or satisfactory than
>> installing the VMM console on the Jenkins host and using the PowerShell
>> commands locally. It takes about 1 GB disk space, which is more bloat than
>> anything else on that machine, but at least it works easily.
>>
>> (I hope this reply goes in the right direction. I don't know where I
>> originally posted it and just found this message in my inbox, using the
>> Gmail reply function...)
>>
>>
>> 2013/10/31 Matthias <[email protected]>
>>
>>> Hi, have you managed to get this working?
>>>
>>>
>>>
>>> Am Freitag, 28. Juni 2013 09:58:15 UTC+2 schrieb Yves Goergen:
>>>
>>>> We're running a Jenkins server on one machine that monitors the SVN
>>>> repository and performs the complete build of the project. It's using a
>>>> custom PowerShell script which basically just finds and runs MSBuild,
>>>> Dotfuscator and InnoSetup. The resulting setup executable shall then be
>>>> transfered to a number of slave nodes which are Hyper-V virtual machines,
>>>> for GUI testing under different operating systems. I've already set up the
>>>> slave node and after a lot of guesswork and try&error, it finally copies
>>>> over the setup.exe and runs it. We don't have a GUI test tool yet, so
>>>> that's still left to be done.
>>>>
>>>> Now the problem lies in the VM management. I've just tried it once to
>>>> revert the slave VM to a clean snapshot - with the computer in running
>>>> state and the Jenkins agent also running - and then wanted the Jenkins
>>>> slave work to start right afterwards. But the problem is that after
>>>> reverting the VM, while the Jenkins agent is still running, all external
>>>> resources like network connections are broken and nobody knows. And it
>>>> takes a lot of time for both to recover from that. The server still thinks
>>>> for a while that the client is still there, and the client still thinks
>>>> that it's connected. But nothing works and the job eventually fails with a
>>>> Jenkins internal exception that seems to come from the broken network
>>>> connection. A while after that, the connection recovers and the node comes
>>>> back available again.
>>>>
>>>> This doesn't exactly seem to work.
>>>>
>>>> I've found some hint on the web to tell the Jenkins server via its web
>>>> API to "doDisconnect" a certain slave node, but that URL is only 404'd.
>>>> Since there is virtually no API documentation of Jenkins at all, I cannot
>>>> correct this method or even tell whether it was entirely made up.
>>>>
>>>> So, with the workflow:
>>>>
>>>> * Build on the master
>>>> * Revert the slave VM (Hyper-V) to a running snapshot
>>>> * Start another job on a slave
>>>>
>>>> What would be the suggested process? How can I get Jenkins to work in
>>>> this environment? Does it even work at all?
>>>>
>>>> We're all Windows, with scripting in CMD or PowerShell, no Bash
>>>> supported. I still need to find an automation script for Hyper-V control,
>>>> but that should be possible.
>>>>
>>>  --
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "Jenkins Users" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/jenkinsci-users/Cuhykr4bXco/unsubscribe
>>> .
>>> To unsubscribe from this group and all its topics, send an email to
>>> [email protected].
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>
>>  --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Jenkins Users" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/jenkinsci-users/Cuhykr4bXco/unsubscribe
>> .
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>  --
> You received this message because you are subscribed to a topic in the
> Google Groups "Jenkins Users" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/jenkinsci-users/Cuhykr4bXco/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to