jclouds/labs/virtualbox
Adrian Cole 8b5091bea6 Merge branch 'master' of https://github.com/jclouds/jclouds into 1.5.x
* 'master' of https://github.com/jclouds/jclouds: (25 commits)
  Moved HP Storage Container Metadata parsing to Swift since it's a standard Swift feature. Moved HP Storage createContainer(String, CreateContainerOptions) to CommonSwiftClient since it's a standard Swift feature. Added support for setting Swift Container Metadata. Added support for deleting Swift Container Metadata. Added copy object feature to Swift. Removed unnecessary TODO comment. Changed DeleteContainerMetadataOptions to just be a List. Changed CopyObjectOptions to be just be a String. Changed CommonSwiftClient.setContainerMetadata() to use just a Map for metadata. Added ExpectTests. Changed setContainerMetadata() to use Iterable instead of List for more generic type goodness. Changed copyObject() to use 4 String params instead of 2 String params to be similar to other such methods in jclouds.
  issue 830: added systemadmin package; more tests fixed
  CDMI: adding support for 1) query parameters 2) non-cdmi content data object operations
  Javadoc update for CloudStack Template.getStatus()
  CloudStack template status parsing update
  merge
  azure management base implementation
  Update parsing of Status in CloudStack Template
  default region endpoint for rackspace legacy apis
  issue 830: fixed VAppTemplateApiLiveTest.deleteVAppTemplate
  Issue 1075:switch to use jetty for java install/web service tests
  nslookup on CentOS 6.2 doesn't set error code when failing, so grep expected output instead
  review addressed
  issue 830: keypair
  Added test descriptions and dependencies to basic Nova live tests
  Configure duplicates plugin to ignore .gitattributes
  decrufted metadataapi
  configure .gitattributes to not convert shell scripts to CRLF on Windows
  Correct typo
  issue 830: more LiveTests fixed on query, vapp, vapptemplate and vdc features
  ...
2012-09-09 11:59:23 -07:00
..
src nslookup on CentOS 6.2 doesn't set error code when failing, so grep expected output instead 2012-08-27 14:31:33 +10:00
README.md updated readme to include paswwordless ssh requirement 2012-04-02 01:15:08 +01:00
pom.xml [maven-release-plugin] prepare for next development iteration 2012-08-22 18:55:45 -07:00

README.md

#Setup

Have virtualbox 4.1.8 installed.

Have an ssh daemon with passwordless login to localhost (i.e. "ssh [me]@localhost" must work without password).

That's it!


#Running a local cloud

Enjoy local cloud goodness by running:

"mvn clean install clojure:repl"

(use 'org.jclouds.compute2)
(import 'org.jclouds.scriptbuilder.statements.login.AdminAccess)
(def compute (compute-service "virtualbox" "admin" "12345" :sshj :slf4j))
(create-nodes compute "local-cluster" 2 (build-template compute { :run-script (AdminAccess/standard) } ))


#Interacting with jclouds-vbox and connecting to machines

For java guidance look into src/test/java/org/jclouds/virtualbox/compute/VirtualBoxExperimentLiveTest.java.
For now nat+host-only is the only available network configuration, nodes should be accessible from the host by:

ssh -i ~/.ssh/id_rsa -o "UserKnownHostsFile /dev/null" -o StrictHostKeyChecking=no me@192.168.86.X

where X is the node index with regard to creation order starting at 2 (2,3,4, etc...)

It should behave as any other provider, if not please report.


#Notes:

  • jclouds-vbox is still at alpha stage please report any issues you find.
  • jclouds-vbox has been mostly tested on Mac OSX, it might work on Linux iff vbox is running and correctly set up, but it won't work on windows for the moment.
  • cached isos, vm's and most configs are kept at ~/.jclouds-vbox/ by default.
  • jclouds-vbox assumes vbox has the default host-only network vboxnet0, that the network is in 192.168.86.0/255.255.255.0 and that the host has address 1 in this network.

#Throubleshooting

As jclouds vbox support is quite new things might go wrong sometimes. The procedure to make things work again is the following:

  1. Remove all relevant vm's (named "jclouds-* ") with the vbox GUI. Make sure to select "delete all files".
  • Step one should be enough most of the times, but if it fails (by throwing some error):
  1. kill all vbox processes (VboxHadless, VBoxSVC, VBoxXPCOMIPCD, VirtualBox, vboxwebsrv)
  2. delete manually the files by executing: "rm -rf ~/.jclouds-vbox/jclouds-*"
  3. restart the vbox GUI and make sure to delete all remaining machines ignoring all errors.