Apologies for cross posting. Please do not reply to this message on any of the cross-posted lists. Please send replies to us...@vcc.dev.java.net
The VCC team at https://vcc.dev.java.net/ is pleased to announce our first bleeding edge pre-alpha release of the Virtual Computer Control API (version 0.0.3) and associated implementations (version 0.0.3) and plugins (version 0.0.1). The Virtual Computer Control API is designed to be a virtualization platform agnostic API for controlling virtual computers. The API itself, as well as the plugins developed by the VCC team are being released under the Apache 2.0 License. Each implementation may have different licensing terms, all implementations hosted at https://vcc.dev.java.net/ will be released under either the Apache 2.0 License, GPL, LGPL or the MIT license. Our plans include implementations for: * VMware ESX based platforms * VMware Workstation based platforms * Xen based platforms (Our current understanding is that this will be LGPL) * KVM based platforms * QEMU based platforms * libvirt based platforms * VirtualBox based platforms * The Amazon EC2 platform * xVM based platforms. Currently, we have a basic implementation for VMware ESX based platforms. We plan to provide plugins for the following systems: * Apache ANT 1.6+ * Apache Maven 2.x * Hudson Currently, we have basic plugins developed for both Apache ANT and Apache Maven 2.x. We hope to have the Hudson plugin ready by the end of this week. The plan is that these plugins will support, at a minimum: * List all the virtual computer instances available. * Start a virtual computer * Suspend a virtual computer * Stop a virtual computer * Pause a virtual computer * Take a snapshot of a virtual computer * Revert a virtual computer to a previous snapshot * Clone a virtual computer / virtual computer template * Query the virtual computer's network settings Currently, only the first five of these have been implemented (and VMware does not support the concept of Pausing a virtual computer) We welcome bleeding edge testers. To qualify as a bleeding edge tester you must meet the following entry criteria: * You do not mind if we crash your virtualization platform. We have conducted initial testing, but part of the reason for looking for bleeding edge testers is to get a greater assurance that we will not crash systems by accident. * You have a VMware ESX, ESXi, vSphere or Server (2.0 or newer) virtualization host... this is because the only implementation we currently have is for the VMware ESX WSDL based API. * You use either ANT or Maven as your build tool. * You are using Java 1.5 or Java 1.6 but not Sun Java 1.6.0_01 through 1.6.0_06 (the fun of JAXWS-RI) If you meet the above entry criteria, please consider yourself enrolled. Please report issues using the issue tracker: https://vcc.dev.java.net/servlets/ProjectIssues The API and all artifacts have been deployed to the central maven repository (note that it may take up to 24 hours before they are available on all mirrors) The artifacts can also be downloaded from http://oss.sonatype.org/content/repositories/java-net-releases/ To use the ANT task, you need to download either the java5 or the java6 zip file from: http://oss.sonatype.org/content/repositories/java-net-releases/net/java/dev/vcc/vcc-ant-tasks/0.0.1/ Here is an example using the ANT tasks: <project name="vcc-ant-tasks" default="test" xmlns:vcc="urn:vcc"> <target name="initTaskDefs"> <classpath id="vcc-ant-tasks.classpath"> <pathelement path="vcc-ant-tasks-0.0.1.jar"/> <pathelement path="vcc-api-tasks-0.0.3.jar"/> <pathelement path="vcc-utils-tasks-0.0.3.jar"/> <pathelement path="vcc-vmware-esx-impl-0.0.3.jar"/> <pathelement path="vi-api-4.0.0-4.jar"/> </classpath> <typedef resource="net/java/dev/vcc/ant/antlib.xml" uri="urn:vcc" classpathref="vcc-ant-tasks.classpath"/> </target> <target name="test" depends="initTaskDefs"> <vcc:list-computers datacenteruri="vcc+vi+https://vmwarehostname/sdk" username="myusername" password="secret"/> <vcc:start-computer datacenteruri="vcc+vi+https://vmwarehostname/sdk" username="myusername" password="secret"> <computer name="My Computer Name"/> </vcc:start-computer> <vcc:suspend-computer datacenteruri="vcc+vi+https://vmwarehostname/sdk" username="myusername" password="secret"> <computer name="My Computer Name"/> <computer name="Fred's Computer Name"/> </vcc:suspend-computer> <vcc:stop-computer datacenteruri="vcc+vi+https://vmwarehostname/sdk" username="...." password="...."> <computer name="My Computer Name"/> </vcc:stop-computer> <!-- not supported on VMware <vcc:pause-computer datacenteruri="vcc+xen:...." username="myusername" password="secret"> <computer name="My Computer Name"/> </vcc:pause-computer> --> </target> </project> [Please note that vcc is developed in Maven 2 so the above example may need tweaking by an ANT guru] To use the Maven 2.x plugins, you will need to add the codehaus-snapshots repository to your repositories and pluginRepositories sections in your ~/.m2/settings.xml file. Here is an example of using the Maven 2.x plugin: <project> ... <build> ... <plugins> ... <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>virtualization-maven-plugin</artifactId> <version>0.0.1-alpha-1-SNAPSHOT</version> <configuration> <datacenterUri>vcc+vi+https://hostname/sdk</datacenterUri> <username>myname</username> <password>secret</password> </configuration> <executions> <execution> <id>start-database</id> <phase>pre-integration-test</phase> <goals> <goal>start-computer</goal> </goals> <configuration> <computers> <computer>My Database Server</computer> </computers> </configuration> </execution> <execution> <id>stop-database</id> <phase>post-integration-test</phase> <goals> <goal>suspend-computer</goal> </goals> <configuration> <computers> <computer>My Database Server</computer> </computers> </configuration> </execution> </executions> </plugin> ... </plugins> ... </build> ... </project> Thank you for your time reading this email. The VCC team https://vcc.dev.java.net --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@ant.apache.org For additional commands, e-mail: user-h...@ant.apache.org