1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
Commit graph

7 commits

Author SHA1 Message Date
Jeff McCune
ef2833cb20 (#9241) Add vm_clone API request
Without this patch we have no way to clone a new VM
from a template.  This patch adds the vm_clone request
which takes an instance uuid as the source template
to clone from an a name parameter which is the new VM's
name.

The clone operation is handled asynchronously as a vSphere
task object.  The clone request does not return a handle
for this task, which may make it difficult to monitor
the progress of the clone operation from Fog.  A future
enhancement may be to clone and return the task object
itself to monitor progress.
2011-09-10 13:32:58 -07:00
Jeff McCune
856eb7e033 (#9241) Add find_template_by_instance_uuid request
Without this patch we did not have a convenient way to find
a template by instance UUID.  We could only find virtual
machines by instance UUID, which may or may not be a template.

This patch adds a specific request to obtain the VMware managed
object instance of of a specific template.  This is necessary
plumbing for the clone request.
2011-09-10 13:32:58 -07:00
Jeff McCune
4264b1f99c (#9241) Add destroy API request and model action
Without this patch we have no way to completely destroy
a server instance.  This patch adds a vm_destroy API request
and implements the destroy method on the server model.

The vSphere API requires the server to be in a poweredOff state.
The model action and the request do not verify this is the case
before issuing the command.
2011-09-10 13:32:58 -07:00
Jeff McCune
cb4e9701b5 (#9421) Add start, stop, reboot server model methods
This patch implements the start, stop and reboot methods for the Server
model instances.

These server model methods share common names with the AWS server model.

This patch also implements the API requests required to control the
power state of a VMware Virtual Machine.

The requests default to issuing shutdown and reboot commands to the
guest operating system itself.  However, if force is set to true for
power_off and reboot, then the VM is powered off or reset at the virtual
hardware layer.
2011-09-10 13:32:58 -07:00
Jeff McCune
d6fed7e4e4 (#9241) Add ability to find VMs by UUID
This patch adds two request methods to the compute service for VMware.
First, finding a VM by it's own UUID (from the vmx file) is supported.
This UUID is not guaranteed to be unique so this patch also implements
finding by instance UUID which is guaranteed to be unique.

The server models will primarily use these requests to obtain VM
managed objects to issue commands against.
2011-09-10 13:32:58 -07:00
Jeff McCune
8bc5c768ec (#9241) Add model for Fog::Compute[:vsphere].servers
This patch adds a request list_virtual_machines which is responsible for
making an API connection and returning a raw "response" object from the
API.

Model instances of a Server (compute resource) are returned as a
collection through the "all" method.  The Fog framework calls all on the
instance of the collection.
2011-09-10 13:32:58 -07:00
Jeff McCune
cf75fb1358 (#9241) Add current_time request
Without this patch, no actual API calls are being made through the Fog
layer to the underlying rbvmobi later and ultimately to the vSphere
target API.

This patch adds a simple current_time request which is similar to a
"ping"  The layers and API are exercised fully using this simple API
call to retrieve the current time on the remote system.

This provides:

    >> Fog::Compute[:vsphere].current_time
    Tue Aug 30 20:46:27 UTC 2011
    >> Fog::Compute[:vsphere].requests
    [:current_time]
2011-09-10 13:32:58 -07:00