VirtualBox Plugin

Plugin Information

Plugin ID virtualbox
Latest Release 0.2.1
Latest Release Date Apr 27, 2010
Plugin Central Plugin Central 3.2
Sources [External| ]
Support Eclipse Hudson Forum
Issue Tracking Eclipse Bugzilla
Hudson Core (latest) 3.3.3

This plugin integrates Hudson with VirtualBox virtual machine.
 

Configuration

VirtualBox cloud

The first step is the VirtualBox cloud configuration:

  1. Configure the VirtualBox server, that allows to remotely manage VMs, and start it.
    VBoxManage setproperty websrvauthlibrary null
    vboxwebsrv
  2. Manage Hudson -> Configure System -> Cloud -> Add a new cloud -> VirtualBox
  3. Set Name, URL, Username and Password
  4. Test connection

    If it doesn't work, then you can try to disable authentication library by executing following command on VirtualBox host:
    VBoxManage setproperty websrvauthlibrary null

    If you got this error:

    Runtime modeler error: Wrapper class org.virtualbox_3_1.IWebsessionManagerLogon is not found. Have you run APT to generate them?

    Then you should upgrade Java (probably it is a bug in jax-ws). Also note that plugin was tested on Java 1.6.0_19.

VirtualBox slave

Now you can setup your nodes in hudson and use them to build your projects:

  1. Add Manage Hudson -> Manage Nodes -> New Node
  2. Set Node name for VirtualBox Slave
  3. Select VirtualBox Host, Virtual Machine Name and Virtual Machine Type

TODO

  1. restore snaphot
  2. build wrapper

Changelog

Version 0.2.1 (April 27, 2010)

Download

  • Fixed critical bug, which prevented creation of node (issue #6375)
Version 0.2 (April 18, 2010)

Download

  • Used official virtualbox library, reimplemented launch process
  • Fixed delegation to user-specified launcher (issue #6276)
  • Added type of start - headless or vrdp (issue #6279)
  • VirtualBoxBuildWrapper disabled
Version 0.1 (April 12, 2010)

Download

  • Added VirtualBoxBuildWrapper
  • Added VirtualBoxSlave
  • Tested on VirtualBox 3.1.6 r59338, Hudson 1.346, Java 1.6.0_19
  • First version published

Labels:

plugin-slaves plugin-slaves Delete
plugin-buildwrapper plugin-buildwrapper Delete
Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.
  1. Jul 15, 2010

    Alex says:

    Could you please provide more documentation ? I understand this is a turn-key pl...

    Could you please provide more documentation ? I understand this is a turn-key plugin. I'd search everywhere but in vain.

    I have no idea what to setup in order to fill the fields required to add a "cloud". Where should I obtain the URL, username, password?

    In the issue 6721, it suggested the use of 'vboxwebserv' but I still don't get it.

  2. Aug 17, 2010

    Alex says:

    I am picking up the 2 tasks in the TODO list and doing modification to this plug...

    I am picking up the 2 tasks in the TODO list and doing modification to this plugin so that a job can start a VM with a specified snapshot (or the current state), and optionally discard all changes and restore the VM state after the build finishes. If anyone is also working on these, please let me know.

    1. Nov 01, 2010

      Espen Albrektsen says:

      Any progress? I would love to use VirtualBox for installation testing.The snaps...

      Any progress?

      I would love to use VirtualBox for installation testing.The snapshot rollback feature would of course extremely helpfull then...

      Espen

  3. Nov 16, 2010

    awe says:

    In my case the cloud has been configured successfully. But in the node configur...

    In my case the cloud has been configured successfully.

    But in the node configuration page, after selecting the cloud ('VirtualBox Host'), no 'Virtual Machine Name' is available for selection.

    Any idea on why this is happening?

    Thanks

  4. Jan 03, 2011

    Daniel Tkatch says:

    Does the plugin also shut down the Virtual Box nodes after they are not necessar...

    Does the plugin also shut down the Virtual Box nodes after they are not necessary or marked offline?

  5. Feb 28, 2011

    David Tanner says:

    I have installed the latest Hudson and VirtualBox and can't seem to get the plug...

    I have installed the latest Hudson and VirtualBox and can't seem to get the plugin to work. If I try to run the virtual machine with no authentication, I get this error:
    FATAL: org.virtualbox_3_1.RuntimeFaultMsg: VirtualBox error: Argument aNameOrId is empty or NULL (0x80070057)
    javax.xml.ws.WebServiceException: org.virtualbox_3_1.RuntimeFaultMsg: VirtualBox error: Argument aNameOrId is empty or NULL (0x80070057)
    at com.sun.xml.ws.commons.virtualbox_3_1.IVirtualBox.findMachine(IVirtualBox.java:336)
    at hudson.plugins.virtualbox.VirtualBoxUtils.startVm(VirtualBoxUtils.java:57)
    at hudson.plugins.virtualbox.VirtualBoxComputerLauncher.launch(VirtualBoxComputerLauncher.java:48)
    at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:194)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:636)
    Caused by: org.virtualbox_3_1.RuntimeFaultMsg: VirtualBox error: Argument aNameOrId is empty or NULL (0x80070057)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
    at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:130)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
    at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
    at $Proxy46.iVirtualBoxFindMachine(Unknown Source)
    at com.sun.xml.ws.commons.virtualbox_3_1.IVirtualBox.findMachine(IVirtualBox.java:331)
    ... 8 more

    If I try it by using the default authentication I get another error altogether:

    FATAL: reasonText argument for createFault was passed NULL
    java.lang.IllegalArgumentException: reasonText argument for createFault was passed NULL
    at com.sun.xml.internal.messaging.saaj.soap.ver1_1.SOAPFactory1_1Impl.createFault(SOAPFactory1_1Impl.java:58)
    at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:169)
    at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:111)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
    at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
    at $Proxy46.iWebsessionManagerLogon(Unknown Source)
    at com.sun.xml.ws.commons.virtualbox_3_1.IWebsessionManager.logon(IWebsessionManager.java:255)
    at hudson.plugins.virtualbox.VirtualBoxUtils.connect(VirtualBoxUtils.java:29)
    at hudson.plugins.virtualbox.VirtualBoxUtils.startVm(VirtualBoxUtils.java:55)
    at hudson.plugins.virtualbox.VirtualBoxComputerLauncher.launch(VirtualBoxComputerLauncher.java:48)
    at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:194)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:636)

    Any assistance would be welcome.