Getting Started
Quick Start Guides
- Amazon Web Services
- Elastic Block Store Models
- Azure Storage Service
- BlueLock vCloud
- Cloud Sigma
- Eucalyptus
- File System
- Go Grid
- HP Cloud Services
- IBM Developer Cloud
- OpenStack
- Rackspace
- RimuHosting
- Terremark eCloud
- Terremark vCloud Express
Release Notes
- 1.5.0-alpha.6
- 1.5.0-alpha.5
- 1.5.0-alpha.4
- 1.5.0-alpha.3
- 1.5.0-alpha.2
- 1.5.0-alpha.1
- 1.4.0
- 1.4.0-rc.3
- 1.4.0-rc.2
- 1.4.0-rc.1
- 1.3.1
- 1.3.0
- 1.3.0-rc-2
- 1.3.0-rc-1
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.1
- 1.1.0
Maven Sites and Javadocs
- HEAD (Javadoc)
- latest release (Javadoc) permalink
- 1.5.0-alpha.6 (Javadoc)
- 1.5.0-alpha.5 (Javadoc)
- 1.5.0-alpha.4 (Javadoc)
- 1.5.0-alpha.3 (Javadoc)
- 1.5.0-alpha.2 (Javadoc)
- 1.5.0-alpha.1 (Javadoc)
- 1.4.0 (Javadoc)
- 1.4.0-rc.3 (Javadoc)
- 1.4.0-rc.2 (Javadoc)
- 1.4.0-rc.1 (Javadoc)
- 1.3.1 (Javadoc)
- 1.3.0 (Javadoc)
- 1.3.0-rc-2 (Javadoc)
- 1.3.0-rc-1 (Javadoc)
- 1.2.2 (Javadoc)
- 1.2.1 (Javadoc)
- 1.2.0 (Javadoc)
- 1.1.1 (Javadoc)
- 1.1.0 (Javadoc)
User Guides
- Using Blob Store API
- Using Compute API and Tools
- Google App Engine
- VMWare vCloud
- Terremark
- File System Provider
- Init Builder
- Using jclouds with Apache Karaf
- Using EC2
- Using Maven
Samples & Examples
FAQs
Reference
- jclouds Rationale and Design
- Location Metadata Design
- Compute API Design
- Columnar Data Design
- jclouds API
- jclouds OAuth Integration
- Using jclouds with Apache Felix OSGi Container
- Pool Design
- Load Balancer Design
- Logging in jclouds
- VMWare Integration Approach & Design
- Supported Providers
- Apps that use jclouds
- Using Provider Metadata
Developer Resources
- Contributing to jclouds
- Provider Testing
- Contributing to Documentation
- Using Eclipse
- jclouds Continuous Integration
- Provider Metadata
Old versions
Release Notes
- 1.0.0
- 1.0 Beta 8
- 1.0 Beta 7
Maven Sites and Javadocs
VMWare Integration Design & Approach
Overall goals and approach
See jclouds vsphere presentation
outstanding issues
Non-Clone approach
How do we allow with creating machines from scratch instead of cloning? For example network booting.
- relationship between vmx file and cloning?
- which VMware products support cloning? ( vmware esx/fusion stuff?)
- template could be generified to support network boot or image as opposed to only image.
Next steps
Adrian will propose a design
Difference between Image and Node
Difference between image and node is that an image is immutable, and typically doesn't have a correlation to hardware.
However (see vcloud), sometimes there is a direct relationship.
- need a way to filter what is a node vs what is an image (template flag?)
Next steps
Andrea will clarify this section with current approach and applicability.
Managing Images
Mapping VMware volumes to blobstore could help deal with image-based use cases such as groupging, bulk transfer, conversion, etc. This could provide a clean and testable means to integrate with the compute service.
- groups or metadata on the volume could map to blob.userMetadata and then be used in the vsphere driver
- Blobstore: link to datastore to retrieve machines (upload, download)
- convert image to ovf, ova via a blobstore transformer
Next steps
Patrick will have a look at this after creating the means to bootstrap vmware installs
Snapshots
The idea of snapshots doesn't exist yet in jclouds. Closest is Image, which has an image version which could correlate to the snapshot date. * snapshot in vmware also includes memory state. is this a problem?
Next steps
Adrian will propose a design
Customization & bootstrap
How do we generify the jclouds runScript/file injection to take advangroupe of alternate means?
Doing so will allow easier mapping to async provisioners like ec2 spot, and applicability to windows (no-ssh).
- ec2 userdata -> cloudinit
- vnc -> not windows
- run guest command -> vixjava
- send rdp sequences (
- run commands over rdp
- access ssh over
- winrm http://msdn.microsoft.com/en-us/library/aa384426(v=vs.85).aspx
- enable VNC (vsphere level)
- host session framework (xebia lib, yeah!)
- flexiant use of default ip address from dhcp to pull customization
- Push vs Pull (using default dhcp non configured) (flexiant?)
Next steps
Andrew will normalize this information into a taxonomy and check on xebia's ability to contribute the host session framework
Bootstrapping VMware installs
We need a means for developers to test and verify our vmware support. This needs to support cloning which may impact applicability.
Next steps
Patrick will make a puppet manifest.
links
- deck by andrea
- for compatible libvirt/vsphere status
- [][http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/JSR262_Interop.pdf]]
- [[http://distributed-frostbite.blogspot.com/2010/08/managing-windows-with-ruby-part-1-or.html]]
Implementation
Adrian suggests to enhance the implementation in these areas:
- add unit tests
- remove commented out code
- explict the 'write' commands: trace all the commands that leave a trace on the server (Ex if it failed halfway through which would need to be undone)
- add an HTTP log of running a vm, using jclouds HttpHelper
- retrieve log from vmware server by using http://www.doublecloud.org/2010/10/how-you-can-use-vsphere-apis-to-collect-vcenter-and-esx-logs/
- how to verify via api the operation on vm