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

Reply via email to