Return-Path: X-Original-To: apmail-deltacloud-commits-archive@www.apache.org Delivered-To: apmail-deltacloud-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 560DA96CA for ; Mon, 25 Jun 2012 12:34:26 +0000 (UTC) Received: (qmail 91212 invoked by uid 500); 25 Jun 2012 12:34:26 -0000 Delivered-To: apmail-deltacloud-commits-archive@deltacloud.apache.org Received: (qmail 91157 invoked by uid 500); 25 Jun 2012 12:34:26 -0000 Mailing-List: contact commits-help@deltacloud.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@deltacloud.apache.org Delivered-To: mailing list commits@deltacloud.apache.org Received: (qmail 89743 invoked by uid 99); 25 Jun 2012 12:34:18 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 25 Jun 2012 12:34:18 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id D5EB06FE0; Mon, 25 Jun 2012 12:34:17 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: mfojtik@apache.org To: commits@deltacloud.apache.org X-Mailer: ASF-Git Admin Mailer Subject: [47/51] [partial] Site: Complete site revamp using bootstrap and docs update Message-Id: <20120625123417.D5EB06FE0@tyr.zones.apache.org> Date: Mon, 25 Jun 2012 12:34:17 +0000 (UTC) http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/install-deltacloud.html ---------------------------------------------------------------------- diff --git a/site/output/install-deltacloud.html b/site/output/install-deltacloud.html new file mode 100644 index 0000000..c39a0d7 --- /dev/null +++ b/site/output/install-deltacloud.html @@ -0,0 +1,243 @@ + + + + + Install Deltacloud + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +


+

Installation dependencies

+

First of all, you have to install several dependecies. The Deltacloud server relies on a number of external rubygems and other libraries. The following packages are neccessary for running the Deltacloud server. The installation of dependencies slightly differs from distribution to distribution. You will need:

+ +
    +
  • + ruby and ruby-devel, +
  • +
  • + gem (RubyGems), +
  • +
  • + gcc-c++ +
  • +
  • + libxml2 and libxml2-devel, +
  • +
  • + libxslt and libxslt-devel, +
  • +
  • + rake. +
  • +


+ +

Fedora and Red Hat Enterprise Linux

+ +

Ruby and Ruby-devel

+

Check if you already have a Ruby installation by typing the following command. You should see something that looks like:

+ +
+$ ruby -v
+ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-linux]
+
+ +

Deltacloud requires at least Ruby 1.8.7. You need to install also the development headers (ruby-devel) because Deltacloud relies on some rubygems with C extensions. According to your package manager use commands:

+ +
+$ sudo yum install ruby
+$ sudo yum install ruby-devel
+
+ +

RubyGems

+

Deltacloud relies on a number of RubyGems. You can check if you already have gem executable (similarly to ruby) by typing $ gem -v. Otherwise use your package manager for the installation:

+ +
+$ sudo yum install rubygems
+
+ +

GCC-C++, Libxml2, Libxml2-devel, Libxslt, Libxslt-devel

+

These libraries are required to build RubyGems that have C extensions. Use commands:

+ +
+$ sudo yum install gcc-c++
+$ sudo yum install libxml libxml2-devel
+$ sudo yum install libxslt libxslt-devel
+
+ +

Rake

+

Rake is Ruby's Make and is itself a ruby gem. Once you have RubyGems installed you can get rake with:

+ +
$ sudo gem install rake
+ +


+ +

Debian and Ubuntu

+ +

Ruby and RubyGems

+

The following instructions focus on installing Ruby 1.9 (Deltacloud requires at least ruby 1.8.7.). Install ruby and rubygem by typing:

+ +
$ sudo apt-get install ruby1.9.1-full
+ +

Use the following command to check, whether the installation was successful. You should see a similar response:

+ +
+$ ruby -v
+ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
+
+ +

You can check the installation of Rubygems the same way:

+ +
+$ gem -v
+1.3.7
+
+ +

G++, Libxml2, Libxml2-dev, Libxslt, Libxslt-dev

+

These libraries are required to build RubyGems that have C extensions. Use commands:

+ +
+$ sudo apt-get install g++
+$ sudo apt-get install libxml libxml2-dev
+$ sudo apt-get install libxslt libxslt-dev
+
+ +

Gem dependecies

+

Debian and Ubuntu distributions also require to install following gem dependencies: +

+gem install thin sinatra rack-accept rest-client sinatra-content-for nokogiri
+
+Once these gems are installed, go to the directory (normally /var/lib/gems/1.9.1/gems), where gems are located and check that you have following gems listed. You may see more gems than you directly installed, because RubyGems install gem dependecies automaticly. + + +


+ +
+
+
+
Aws-2.5.6, builder-3.0.0, bundler-1.1.3, daemons-1.1.8, eventmachine-0.12.10, haml-3.1.4, http_connection-1.4.1, json-1.6.6, mime-types-1.18, net-ssh-2.3.0, nokogiri-1.5.2, rack-1.4.1, rake-0.9.2.2, rack-accept-0.4.4, rack-protection-1.2.0, rest-client-1.6.7, sinatra-1.3.2, sinatra-content-for-0.1, thin-1.3.1, tilt-1.3.3, uuidtools-2.1.2, xml-simple-1.1.1 +
+
+
+ +

+You may have trouble with the installation, if the Makefile is missing. Then, you need to install make: +

+ +
+$ sudo apt-get install make
+
+ +


+ +

Installation of Deltacloud itself

+

Once you've setup all the dependencies listed above, installing Deltacloud is as easy. Type:

+ +
$ sudo gem install deltacloud-core
+ +

And thats it! The gem install command will automatically fetch and install all other gems that the Deltacloud server needs. As an alternative you can get the latest releases of Deltacloud from the Apache website.

+ +

Run Deltacloud

+ +


+ +
+

 Back to top

+
+
+ Apache Software Foundation +
+
+ Apache Deltacloud is a top-level project at the Apache Software Foundation, + having graduated from the ASF Incubator in October + 2011. Through a collaborative and meritocratic development process, Apache + projects deliver enterprise-grade, freely available software products that + attract large communities of users. +
+
+
+ +
+ + + http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/install-deltacloud/index.html ---------------------------------------------------------------------- diff --git a/site/output/install-deltacloud/index.html b/site/output/install-deltacloud/index.html new file mode 100644 index 0000000..1979ee2 --- /dev/null +++ b/site/output/install-deltacloud/index.html @@ -0,0 +1,96 @@ + + + + + Install Deltacloud + + + + + + + + + + + + + + + + + +
+ + + +
+ +

+ Apache Deltacloud is a top-level project at the Apache Software Foundation, + having graduated from the ASF Incubator in October + 2011. Through a collaborative and meritocratic development process, Apache + projects deliver enterprise-grade, freely available software products that + attract large communities of users. +

+
+ +
+ + + http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/instance-states.html ---------------------------------------------------------------------- diff --git a/site/output/instance-states.html b/site/output/instance-states.html new file mode 100644 index 0000000..8e487cc --- /dev/null +++ b/site/output/instance-states.html @@ -0,0 +1,255 @@ + + + + + Instance states + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +


+ +
+
+ +

Instance states

+ +

+Each cloud defines a slightly different lifecycle model for instances. In some clouds, instances start running immediately after creation, in others, they enter a pending state and you need to start them explicitly. +

+ +

+Differences between clouds are modelled by expressing the lifecycle of an instance as a finite state machine and capturing it in an instance states entity.The API defines the following states for an instance:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StateMeaning
startan instance state before creation of an instance
pendingcreation of an instance is in progress
runningan instance is running
shutting-downan instance is stopped
stoppedan instance is stopped
finishedall resources for an instance have now been freed
+
+ +
+ +

+The details of a particular instance describes also the actions (state transitions) which can be performed on the instance. If the state transition is marked as auto, the transition from one state to another is done automatically. The possible instance actions are: +

+ + + + + + + + + + + + + + + + + + + + + + + + +
ActionMeaning
startstarts the instance
stopstops (and for some providers shutdown) the instance
rebootreboots the instance
destroystops the instance and completely destroys it

Get an instance states entity

+ +

To retrieve the instance states entity for a back-end cloud use call GET /api/instance_states. The instance states entity defines possible transitions between various states of an instance, specific for each back-end cloud. As a result, instance states defines the finite state machine for instances from the given cloud.

+ +

Example request:

+ +
+GET /api/instance_states?format=xml HTTP/1.1
+Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
+User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
+Host: localhost:3002
+Accept: */*
+
+ +

Server response:

+ +
+HTTP/1.1 200 OK
+Content-Type: application/xml
+Content-Length: 583
+
+<states>
+  <state name='start'>
+    <transition action='create' to='pending'></transition>
+  </state>
+  <state name='pending'>
+    <transition auto='true' to='running'></transition>
+  </state>
+  <state name='running'>
+    <transition action='reboot' to='running'></transition>
+    <transition action='stop' to='shutting_down'></transition>
+  </state>
+  <state name='shutting_down'>
+    <transition auto='true' to='stopped'></transition>
+  </state>
+  <state name='stopped'>
+    <transition auto='true' to='finish'></transition>
+  </state>
+  <state name='finish'>
+  </state>
+</states>
+
+ +

Instances

+ +


+ +
+

 Back to top

+
+
+ Apache Software Foundation +
+
+ Apache Deltacloud is a top-level project at the Apache Software Foundation, + having graduated from the ASF Incubator in October + 2011. Through a collaborative and meritocratic development process, Apache + projects deliver enterprise-grade, freely available software products that + attract large communities of users. +
+
+
+ +
+ + + http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/instances.html ---------------------------------------------------------------------- diff --git a/site/output/instances.html b/site/output/instances.html new file mode 100644 index 0000000..560028f --- /dev/null +++ b/site/output/instances.html @@ -0,0 +1,728 @@ + + + + + Instances + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +


+ +
+
+ +

Instances

+ +

+An instance represents the core of all cloud compute activity: a running virtual machine. An instance is created from an image, with a specified hardware profile and in a given realm. Each instance can have a number of other attributes, not all of which are exposed for all back-end cloud providers. The full list of possible instance attributes is: +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeMeaning
owner_idthe id of the cloud provider account that launched the instance
image_idthe id of the image from which the instance was launched
namea human readable name for the instance given at launch time
realm_idrealm into which the instance was launched
statecurrent state of the instance (e.g. 'running')
actionsactions that a client may effect on the instance, based on current state
public_addressesthe globally routable IP address of the instance
private_addressesthe private IP address of the instance, routable within its private network
instance_profilethe specific values of memory, cpu, storage
launch_timetimestamp at which the instance was launched
keynamename of authentication key, if this method is used for authentication (e.g. EC2)
usernamethe username for authentication when connecting to the instance
passwordthe password used together with username above
firewallsthe firewalls that this instance was launched into (EC2 specific)
+
+ +
+ +
+
+ +

Get a list of all current instances

+ +

+ To produce a list of all current instances in the given cloud (belonging to the specified account) use call GET /api/instances. The example below displays instances in the Amazon EC2 cloud. +

+ +

+ Example request: +

+ +
+GET /api/instances?format=xml HTTP/1.1
+Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
+User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
+Host: localhost:3001
+Accept: */*
+
+ +

Client response:

+ +
+HTTP/1.1 200 OK
+Content-Type: application/xml
+Content-Length: 2790
+<?xml version='1.0' encoding='utf-8' ?>
+<instances>
+  <instance href='http://localhost:3001/api/instances/i-1fbc627e' id='i-1fbc627e'>
+    <name>ami-f51aff9c</name>
+    <owner_id>393485797142</owner_id>
+    <image href='http://localhost:3001/api/images/ami-f51aff9c' id='ami-f51aff9c'></image>
+    <realm href='http://localhost:3001/api/realms/us-east-1c' id='us-east-1c'></realm>
+    <state>RUNNING</state>
+    <hardware_profile href='http://localhost:3001/api/hardware_profiles/c1.medium' id='c1.medium'>
+    </hardware_profile>
+    <actions>
+      <link href='http://localhost:3001/api/instances/i-1fbc627e/reboot' method='post' rel='reboot' />
+      <link href='http://localhost:3001/api/instances/i-1fbc627e/stop' method='post' rel='stop' />
+      <link href='http://localhost:3001/api/instances/i-1fbc627e/run;id=i-1fbc627e' method='post' rel='run' />
+    </actions>
+    <launch_time>2011-07-22T11:29:48.000Z</launch_time>
+    <public_addresses><address>ec2-50-16-183-107.compute-1.amazonaws.com</address></public_addresses>
+    <private_addresses><address>domU-12-31-39-0F-79-D4.compute-1.internal</address></private_addresses>
+    <firewalls>
+      <firewall href='http://localhost:3001/api/firewalls/default' id='default'></firewall>
+    </firewalls>
+    <authentication type='key'>
+      <login>
+        <keyname>eftah</keyname>
+      </login>
+    </authentication>
+  </instance>
+  <instance href='http://localhost:3001/api/instances/i-f3ba6492' id='i-f3ba6492'>
+    <name>ami-2b5fba42</name>
+    <owner_id>393485797142</owner_id>
+    <image href='http://localhost:3001/api/images/ami-2b5fba42' id='ami-2b5fba42'></image>
+    <realm href='http://localhost:3001/api/realms/us-east-1d' id='us-east-1d'></realm>
+    <state>RUNNING</state>
+    <hardware_profile href='http://localhost:3001/api/hardware_profiles/m1.small' id='m1.small'>
+    </hardware_profile>
+    <actions>
+      <link href='http://localhost:3001/api/instances/i-f3ba6492/reboot' method='post' rel='reboot' />
+      <link href='http://localhost:3001/api/instances/i-f3ba6492/stop' method='post' rel='stop' />
+      <link href='http://localhost:3001/api/instances/i-f3ba6492/run;id=i-f3ba6492' method='post' rel='run' />
+    </actions>
+    <launch_time>2011-07-22T11:32:25.000Z</launch_time>
+    <public_addresses><address>ec2-184-73-78-87.compute-1.amazonaws.com</address></public_addresses>
+    <private_addresses><address>ip-10-196-89-221.ec2.internal</address></private_addresses>
+    <firewalls>
+      <firewall href='http://localhost:3001/api/firewalls/default' id='default'></firewall>
+      <firewall href='http://localhost:3001/api/firewalls/test' id='test'></firewall>
+    </firewalls>
+    <authentication type='key'>
+      <login>
+        <keyname>eftah</keyname>
+      </login>
+    </authentication>
+  </instance>
+</instances>
+
+ +
+
+ +

Get the details of an instance

+ +

+ To get the details of a specific instance use call GET /api/instances/:id. The example below shows an instance launched in the Rackspace Cloudservers cloud. As you can see, the type of authentication is password but the username and password attributes are blank. The reason why these attributes are blank is that Rackspace only reports these values once, during instance creation and not for subsequent requests. To find an example of the response from an instance go to the Create an instance section. +

+ +

Example request:

+ +
+GET /api/instances/20112212?format=xml HTTP/1.1
+Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
+User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
+Host: localhost:3002
+Accept: */*
+
+ +

Server response:

+ +
+HTTP/1.1 200 OK
+Content-Type: application/xml
+Content-Length: 1167
+<?xml version='1.0' encoding='utf-8' ?>
+<instance href='http://localhost:3002/api/instances/20112212' id='20112212'>
+  <name>myserver</name>
+  <owner_id>mandreou</owner_id>
+  <image href='http://localhost:3002/api/images/53' id='53'></image>
+  <realm href='http://localhost:3002/api/realms/us' id='us'></realm>
+  <state>RUNNING</state>
+  <hardware_profile href='http://localhost:3002/api/hardware_profiles/1' id='1'>
+  </hardware_profile>
+  <actions>
+    <link href='http://localhost:3002/api/instances/20112212/reboot' method='post' rel='reboot' />
+    <link href='http://localhost:3002/api/instances/20112212/stop' method='post' rel='stop' />
+    <link href='http://localhost:3002/api/instances/20112212/run;id=20112212' method='post' rel='run' />
+    <link href='http://localhost:3002/api/images;instance_id=20112212' method='post' rel='create_image' />
+  </actions>
+  <public_addresses><address>50.57.116.72</address></public_addresses>
+  <private_addresses><address>10.182.143.64</address></private_addresses>
+  <authentication type='password'>
+    <login>
+      <username>root</username>
+      <password></password>
+    </login>
+  </authentication>
+</instance>
+
+ +
+
+ +

Launch an action on an instance

+ +

+ To launch an action on an instance use call POST /api/instances/:id/:action. The valid actions for an instance are specified by the instance states entity. The set of permissible actions that a client may perform on an instance at a given time depends on the current instance state. These are reported by the <actions> attribute in the Deltacloud server response to the GET /api/instances/:id call (Get the details of an instance section). The first example below shows a reboot action on a currently running instance, followed by a stop action. +

+ +

+ After invoking the stop operation, the instance state may still be reported as RUNNING in the Deltacloud server response. It is because it may take some time for the instance state to change in the back-end cloud provider (and this will vary between providers). You can assure yourself that the action was performed correctly by requesting a list of instances or a by requesting a specific instance. +

+ +

+ The Deltacloud server also allows a special 'run-on-instance' action for some cloud provider instances.This enables a client to perform a command on a running instance over SSH. The Deltacloud server will return the output of that command to the client. This is reported as the run action in the list of instance actions, if it is available. The cmd parameter specifies the command, which is executed on a running instance.The private_key parameter specifies the authentication for cloud providers that expect key based authentication for connecting to instances . For those cloud providers that use username/password for authentication, the password parameter specifies the authentication. Examples below illustrate the run-on-instance feature for an Amazon EC2 instance and a Rackspace Cloudservers instance. The examples differ in how authentication is performed (private RSA Key for EC2 an d username/password for Rackspace). +

+ +

Example request (reboot):

+ +
+POST /api/instances/i-f3ba6492/reboot?format=xml HTTP/1.1
+Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
+User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
+Host: localhost:3001
+Accept: */*
+
+ +

Server response:

+ +
+HTTP/1.1 200 OK
+Content-Type: application/xml
+Content-Length: 1322
+
+<?xml version='1.0' encoding='utf-8' ?>
+<instance href='http://localhost:3001/api/instances/i-f3ba6492' id='i-f3ba6492'>
+  <name>ami-f51aff9c</name>
+  <owner_id>393485797142</owner_id>
+  <image href='http://localhost:3001/api/images/ami-f51aff9c' id='ami-f51aff9c'></image>
+  <realm href='http://localhost:3001/api/realms/us-east-1c' id='us-east-1c'></realm>
+  <state>RUNNING</state>
+  <hardware_profile href='http://localhost:3001/api/hardware_profiles/c1.medium' id='c1.medium'>
+  </hardware_profile>
+  <actions>
+    <link href='http://localhost:3001/api/instances/i-f3ba6492/reboot' method='post' rel='reboot' />
+    <link href='http://localhost:3001/api/instances/i-f3ba6492/stop' method='post' rel='stop' />
+    <link href='http://localhost:3001/api/instances/i-f3ba6492/run;id=i-f3ba6492' method='post' rel='run' />
+  </actions>
+  <launch_time>2011-07-22T11:29:48.000Z</launch_time>
+  <public_addresses><address>ec2-50-16-183-107.compute-1.amazonaws.com</address></public_addresses>
+  <private_addresses><address>domU-12-31-39-0F-79-D4.compute-1.internal</address></private_addresses>
+  <firewalls>  <firewall href='http://localhost:3001/api/firewalls/default' id='default'></firewall></firewalls>
+  <authentication type='key'>
+    <login>
+      <keyname>eftah</keyname>
+    </login>
+  </authentication>
+</instance>
+
+ +

Example request (stop):

+ +
+POST /api/instances/20112212/stop?format=xml HTTP/1.1
+Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
+User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
+Host: localhost:3002
+Accept: */*
+
+ +

Server response:

+ +
+HTTP/1.1 200 OK
+Content-Type: application/xml
+Content-Length: 1167
+
+<?xml version='1.0' encoding='utf-8' ?>
+<instance href='http://localhost:3002/api/instances/20112212' id='20112212'>
+  <name>myserver</name>
+  <owner_id>mandreou</owner_id>
+  <image href='http://localhost:3002/api/images/53' id='53'></image>
+  <realm href='http://localhost:3002/api/realms/us' id='us'></realm>
+  <state>STOPPED</state>
+  <hardware_profile href='http://localhost:3002/api/hardware_profiles/1' id='1'>
+  </hardware_profile>
+  <actions>
+    <link href='http://localhost:3002/api/instances/20112212/reboot' method='post' rel='reboot' />
+    <link href='http://localhost:3002/api/instances/20112212/stop' method='post' rel='stop' />
+    <link href='http://localhost:3002/api/instances/20112212/run;id=20112212' method='post' rel='run' />
+    <link href='http://localhost:3002/api/images;instance_id=20112212' method='post' rel='create_image' />
+  </actions>
+  <public_addresses><address>50.57.116.72</address></public_addresses>
+  <private_addresses><address>10.182.143.64</address></private_addresses>
+  <authentication type='password'>
+    <login>
+      <username>root</username>
+      <password></password>
+    </login>
+  </authentication>
+</instance>
+
+ +

+ Example request (run-on-instance Amazon EC2): +

+ +
+ × + Note: +

+ Run-on-instance requests to EC2 instances will fail with 502 Bad Gateway - Execution Expired if the firewall in which the instance was launched does not grant SSH access (tcp, port 22) to the requesting client's IP address. This access may be given using the firewalls collection.

+
+ +
+POST /api/instances/i-afde73ce/run?format=xml HTTP/1.1
+Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
+User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
+Host: localhost:3001
+Content-Length: 1927
+Content-Type: multipart/form-data; boundary=----------------------------332ed6691ab8
+
+------------------------------332ed6691ab8
+Content-Disposition: form-data; name="cmd"
+
+uname -a; ls -l
+------------------------------332ed6691ab8
+Content-Disposition: form-data; name="private_key"
+
+-----BEGIN RSA PRIVATE KEY-----.BTTEpATBAAKDAQEA4t3R/PgUo3KDDuX4
+vZZpZuXFkAA/5X2lFRY2/xsQqbPz9utPOsUoPf9Aajy+.vGRJrO2KAJ9U/JTNDzr
+3NPbG3aHYPSnwsSxkFSG4Q6ukqYlxT9TPF/+wvdxfAtp3nYw3ZGuSX/DOtToWtQ8
+F/+GvHTHKDQSB+TeEs1Sa/PFwxpspB+RqHbqOTWPsFOHL+9sZGTqd6D4B.R6DBNh
+9Dabu9BVZrl5BTOKlbAgrKnzsGKvaBST/D2.AB/HB9/GOT36OoBmEr1y9gFwu4Xf
+aKw+AXVf9y9TKxVD3TE5uB.oDZG8s4gr2e691xHG9YGzBBBbNzfFh94b3Td5JBGS
+zRDTKYBfOgv+Zu5N+WyeaZ0ab50DwK9BXYB5hsRu5zbAqObbTZkwN9qwBOZHzATX
+wVTZU+eTz.39OZPqu4fQwrBN13lDbUoZxlqT9g2+haQBB9sTDzQEZ08QKBgQDJyw
+lBBZqQKBgQDz5E2rL59lNS5pBxDO9r6B9rXtBBTZ5tZUWNFRvyNsxY5nJT03.KDw
+qo2VP5WDZeOhRWEUY96./pWN3hNFDkT44vDpeXQUh3rBHyD5DWvWxAze9Ds+UTO/
+esuLwP5vXhfoYp6gV9XG.BEBzSVq8kZ2kZtlbWHTR/SGepTkDgYEA9zwHTDhtKR2
+KS8/BSFZQ884ZqFkbwT9fTW6s0rgUSBDTUDgYEA9W5HXTOEPGFDnqBhKPLN.xD9D
+vZZpZuXFkAA/5X2lFRY2/xsQqbPz9utPOsUoPf9Aajy+.vGRJrO2KAJ9U/JTNDzr
+lBBZqQKBgQDz5E2rL59lNS5pBxDO9r6B9rXtBBTZ5tZUWNFRvyNsxY5nJT03.KDw
+F/+GvHTHKDQSB+TeEs1Sa/PFwxpspB+RqHbqOTWPsFOHL+9sZGTqd6D4B.R6DBNh
+wVTZU+eTz.39OZPqu4fQwrBN13lDbUoZxlqT9g2+haQBB9sTDzQEZ08QKBgQDJyw
+lBBZqQKBgQDz5E2rL59lNS5pBxDO9r6B9rXtBBTZ5tZUWNFRvyNsxY5nJT03.KDw
+DAAeVWKU1OyDXfN4v6Zn1nNrhSkdrd+XV0nTLExsfg==.-----END RSA PRIVAT
+E KEY-----
+------------------------------332ed6691ab8--
+
+ +

Server response:

+ +
+HTTP/1.1 200 OK
+Content-Type: application/xml
+Date: Mon, 25 Jul 2011 12:56:02 GMT
+Content-Length: 497
+
+<instance href='http://localhost:3001/api/instances/i-afde73ce' id='i-afde73ce'>
+  <public_address>
+    ec2-50-19-59-126.compute-1.amazonaws.com
+  </public_address>
+  <command>
+    uname -a; ls -l
+  </command>
+  <output>Linux domU-12-31-39-0F-E1-78 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 i686 i386 GNU/Linux
+  total 140
+  -rw-r--r-- 1 root root 137263 Mar 26  2008 ec2-ami-tools-1.3-19974.noarch.rpm
+  -rw-r--r-- 1 root root      0 Mar 26  2008 firstlogin
+  </output>
+</instance>
+
+ +

Example request (run-on-instance Rackspace Cloudservers):

+ +
+POST /api/instances/20117112/run?format=xml HTTP/1.1
+Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
+User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
+Host: localhost:3002
+Accept: */*
+Content-Length: 275
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------9b05ece66f4d
+------------------------------9b05ece66f4d
+Content-Disposition: form-data; name="cmd"
+
+uname -a; ifconfig; pwd
+------------------------------9b05ece66f4d
+Content-Disposition: form-data; name="password"
+
+myserverqB2Uwk21I
+------------------------------9b05ece66f4d--
+
+ +

Server response:

+ +
+HTTP/1.1 200 OK
+Content-Type: application/xml
+Date: Mon, 25 Jul 2011 13:02:15 GMT
+Content-Length: 1781
+
+<instance href='http://localhost:3002/api/instances/20117112' id='20117112'>
+  <public_address>
+    50.57.117.249
+  </public_address>
+  <command>
+    uname -a; ifconfig; pwd
+  </command>
+  <output>Linux myserver 2.6.35.4-rscloud #8 SMP Mon Sep 20 15:54:33 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux
+  eth0      Link encap:Ethernet  HWaddr 40:40:B1:7A:52:7E
+            inet addr:50.57.117.249  Bcast:50.57.117.255  Mask:255.255.255.0
+            inet6 addr: fe80::4240:b1ff:fe7a:527e/64 Scope:Link
+            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
+            RX packets:54 errors:0 dropped:0 overruns:0 frame:0
+            TX packets:62 errors:0 dropped:0 overruns:0 carrier:0
+            collisions:0 txqueuelen:1000
+            RX bytes:5880 (5.7 KiB)  TX bytes:6331 (6.1 KiB)
+            Interrupt:24
+
+  eth1      Link encap:Ethernet  HWaddr 40:40:8E:4B:52:23
+            inet addr:10.182.131.159  Bcast:10.182.159.255  Mask:255.255.224.0
+            inet6 addr: fe80::4240:8eff:fe4b:5223/64 Scope:Link
+            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
+            RX packets:3 errors:0 dropped:0 overruns:0 frame:0
+            TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
+            collisions:0 txqueuelen:1000
+            RX bytes:188 (188.0 b)  TX bytes:720 (720.0 b)
+            Interrupt:25
+
+  lo        Link encap:Local Loopback
+            inet addr:127.0.0.1  Mask:255.0.0.0
+            inet6 addr: ::1/128 Scope:Host
+            UP LOOPBACK RUNNING  MTU:16436  Metric:1
+            RX packets:0 errors:0 dropped:0 overruns:0 frame:0
+            TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
+            collisions:0 txqueuelen:0
+            RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
+
+  /root</output>
+</instance>
+
+ +
+
+ +

Create a new instance

+ +

+ To create a new instance use call POST /api/instances. At least, clients must specify the image from which the virtual machine instance is created. Optionally, a client may also specify a hardware profile and a realm (with default values used otherwise). Clients can also provide a name for the new instance though this is not supported by all back-end cloud providers. You can check whether a given feature is available in the response to the Deltacloud server API entry point. The details of the new instance are returned in response to this operation. +

+ +

+ To create an instance in the Amazon EC2 cloud a client can also specify the name of the used EC2 keypair as well as the firewalls (EC2 security groups) that the instance should be launched into. The EC2 keypair is specified with the parameter keyname while firewalls are specified sequentially as firewalls1 ... firewalls2 ... etc. +

+ +

+ See the example below. The values for public and private addresses are blank in the server response, because they have not yet been assigned by the cloud provider. Subsequent requests for the instance details will provide these values. +

+ +

+ As with other POST operations in the Deltacloud API, clients may specify parameters as multipart/form-data or as x-www-url-form-urlencoded content type, as you can see in examples below. +

+ +

Client request (AWS EC2):

+ +
+POST /api/instances?format=xml HTTP/1.1
+Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
+User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
+Host: localhost:3001
+Accept: */*
+Content-Length: 107
+Content-Type: application/x-www-form-urlencoded
+
+keyname=eftah&image_id=ami-f51aff9c&realm_id=us-east-1c&hwp_id=c1.medium&
+firewalls1=default&firewalls2=test
+
+ +

Server response:

+ +
+HTTP/1.1 201 Created
+Content-Type: application/xml
+Content-Length: 1183
+
+<?xml version='1.0' encoding='utf-8' ?>
+<instance href='http://localhost:3001/api/instances/i-cbb861aa' id='i-cbb861aa'>
+  <name>ami-f51aff9c</name>
+  <owner_id>393485797142</owner_id>
+  <image href='http://localhost:3001/api/images/ami-f51aff9c' id='ami-f51aff9c'></image>
+  <realm href='http://localhost:3001/api/realms/us-east-1c' id='us-east-1c'></realm>
+  <state>PENDING</state>
+  <hardware_profile href='http://localhost:3001/api/hardware_profiles/c1.medium' id='c1.medium'>
+  </hardware_profile>
+  <actions>
+    <link href='http://localhost:3001/api/instances/i-cbb861aa/stop' method='post' rel='stop' />
+    <link href='http://localhost:3001/api/instances/i-cbb861aa/run;id=i-cbb861aa' method='post' rel='run' />
+  </actions>
+  <launch_time>2011-07-22T16:09:45.000Z</launch_time>
+  <public_addresses></public_addresses>
+  <private_addresses></private_addresses>
+  <firewalls>
+    <firewall href='http://localhost:3001/api/firewalls/test' id='test'></firewall>
+    <firewall href='http://localhost:3001/api/firewalls/default' id='default'></firewall>
+  </firewalls>
+  <authentication type='key'>
+    <login>
+      <keyname>eftah</keyname>
+    </login>
+  </authentication>
+</instance>
+
+ +

+ In the following example you can see that the client provides the optional name parameter and that the created instance uses password type of authentication. Furthermore, the client uses a content-type of application/x-www-form-urlencoded. The username and password are returned with the details of the new instance: +

+ +

Example request: (Rackspace Cloudservers)

+ +
+POST /api/instances?format=xml HTTP/1.1
+Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
+User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
+Host: localhost:3002
+Accept: */*
+Content-Length: 34
+Content-Type: application/x-www-form-urlencoded
+
+image_id=53&hwp_id=1&name=myserver
+
+ +

Server response:

+ +
+HTTP/1.1 201 Created
+Content-Type: application/xml
+Content-Length: 883
+
+<?xml version='1.0' encoding='utf-8' ?>
+<instance href='http://localhost:3002/api/instances/20112212' id='20112212'>
+  <name>myserver</name>
+  <owner_id>mandreou</owner_id>
+  <image href='http://localhost:3002/api/images/53' id='53'></image>
+  <realm href='http://localhost:3002/api/realms/us' id='us'></realm>
+  <state>PENDING</state>
+  <hardware_profile href='http://localhost:3002/api/hardware_profiles/1' id='1'>
+  </hardware_profile>
+  <actions>
+    <link href='http://localhost:3002/api/instances/20112212/run;id=20112212' method='post' rel='run' />
+  </actions>
+  <public_addresses><address>50.57.116.72</address></public_addresses>
+  <private_addresses><address>10.182.143.64</address></private_addresses>
+  <authentication type='password'>
+    <login>
+      <username>root</username>
+      <password>myserver4OvKh7Ak3</password>
+    </login>
+  </authentication>
+</instance>
+
+ +
+ × +

Note:

+

+ The Deltacloud does not report potential errors, if you are creating an instance in vSphere. When you launch an instance, Deltacloud does not wait until the task is finished. Instead of that, Deltacloud creates a YAML representation of the instance in vSphere datastore. The YAML instance is in a 'PENDING' state until the 'real' instance is created. If the real instance fails to create, the YAML representation is removed. However, Deltacloud does not send you any error message. +

+
+ +
+
+ +

Keys

+ +


+ +
+

 Back to top

+
+
+ Apache Software Foundation +
+
+ Apache Deltacloud is a top-level project at the Apache Software Foundation, + having graduated from the ASF Incubator in October + 2011. Through a collaborative and meritocratic development process, Apache + projects deliver enterprise-grade, freely available software products that + attract large communities of users. +
+
+
+ +
+ + + http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/join-deltacloud.html ---------------------------------------------------------------------- diff --git a/site/output/join-deltacloud.html b/site/output/join-deltacloud.html new file mode 100644 index 0000000..0436f73 --- /dev/null +++ b/site/output/join-deltacloud.html @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+

 Back to top

+
+
+ Apache Software Foundation +
+
+ Apache Deltacloud is a top-level project at the Apache Software Foundation, + having graduated from the ASF Incubator in October + 2011. Through a collaborative and meritocratic development process, Apache + projects deliver enterprise-grade, freely available software products that + attract large communities of users. +
+
+
+ +
+ + + http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/join-deltacloud/index.html ---------------------------------------------------------------------- diff --git a/site/output/join-deltacloud/index.html b/site/output/join-deltacloud/index.html new file mode 100644 index 0000000..8d13bd8 --- /dev/null +++ b/site/output/join-deltacloud/index.html @@ -0,0 +1,79 @@ + + + + + Join Deltacloud + + + + + + + + + + + + + + + + + + + +
+ +

Hello world!

+ +
+ +

+ Apache Deltacloud is a top-level project at the Apache Software Foundation, + having graduated from the ASF Incubator in October + 2011. Through a collaborative and meritocratic development process, Apache + projects deliver enterprise-grade, freely available software products that + attract large communities of users. +

+
+ +
+ + + http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/jquery.fancybox/blank.gif ---------------------------------------------------------------------- diff --git a/site/output/jquery.fancybox/blank.gif b/site/output/jquery.fancybox/blank.gif deleted file mode 100644 index 35d42e8..0000000 Binary files a/site/output/jquery.fancybox/blank.gif and /dev/null differ http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/jquery.fancybox/fancy_close.png ---------------------------------------------------------------------- diff --git a/site/output/jquery.fancybox/fancy_close.png b/site/output/jquery.fancybox/fancy_close.png deleted file mode 100644 index 0703530..0000000 Binary files a/site/output/jquery.fancybox/fancy_close.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/jquery.fancybox/fancy_loading.png ---------------------------------------------------------------------- diff --git a/site/output/jquery.fancybox/fancy_loading.png b/site/output/jquery.fancybox/fancy_loading.png deleted file mode 100644 index 2503017..0000000 Binary files a/site/output/jquery.fancybox/fancy_loading.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/jquery.fancybox/fancy_nav_left.png ---------------------------------------------------------------------- diff --git a/site/output/jquery.fancybox/fancy_nav_left.png b/site/output/jquery.fancybox/fancy_nav_left.png deleted file mode 100644 index ebaa6a4..0000000 Binary files a/site/output/jquery.fancybox/fancy_nav_left.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/jquery.fancybox/fancy_nav_right.png ---------------------------------------------------------------------- diff --git a/site/output/jquery.fancybox/fancy_nav_right.png b/site/output/jquery.fancybox/fancy_nav_right.png deleted file mode 100644 index 873294e..0000000 Binary files a/site/output/jquery.fancybox/fancy_nav_right.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/jquery.fancybox/fancy_shadow_e.png ---------------------------------------------------------------------- diff --git a/site/output/jquery.fancybox/fancy_shadow_e.png b/site/output/jquery.fancybox/fancy_shadow_e.png deleted file mode 100644 index 2eda089..0000000 Binary files a/site/output/jquery.fancybox/fancy_shadow_e.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/jquery.fancybox/fancy_shadow_n.png ---------------------------------------------------------------------- diff --git a/site/output/jquery.fancybox/fancy_shadow_n.png b/site/output/jquery.fancybox/fancy_shadow_n.png deleted file mode 100644 index 69aa10e..0000000 Binary files a/site/output/jquery.fancybox/fancy_shadow_n.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/jquery.fancybox/fancy_shadow_ne.png ---------------------------------------------------------------------- diff --git a/site/output/jquery.fancybox/fancy_shadow_ne.png b/site/output/jquery.fancybox/fancy_shadow_ne.png deleted file mode 100644 index 79f6980..0000000 Binary files a/site/output/jquery.fancybox/fancy_shadow_ne.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/jquery.fancybox/fancy_shadow_nw.png ---------------------------------------------------------------------- diff --git a/site/output/jquery.fancybox/fancy_shadow_nw.png b/site/output/jquery.fancybox/fancy_shadow_nw.png deleted file mode 100644 index 7182cd9..0000000 Binary files a/site/output/jquery.fancybox/fancy_shadow_nw.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/jquery.fancybox/fancy_shadow_s.png ---------------------------------------------------------------------- diff --git a/site/output/jquery.fancybox/fancy_shadow_s.png b/site/output/jquery.fancybox/fancy_shadow_s.png deleted file mode 100644 index d8858bf..0000000 Binary files a/site/output/jquery.fancybox/fancy_shadow_s.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/jquery.fancybox/fancy_shadow_se.png ---------------------------------------------------------------------- diff --git a/site/output/jquery.fancybox/fancy_shadow_se.png b/site/output/jquery.fancybox/fancy_shadow_se.png deleted file mode 100644 index 541e3ff..0000000 Binary files a/site/output/jquery.fancybox/fancy_shadow_se.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/jquery.fancybox/fancy_shadow_sw.png ---------------------------------------------------------------------- diff --git a/site/output/jquery.fancybox/fancy_shadow_sw.png b/site/output/jquery.fancybox/fancy_shadow_sw.png deleted file mode 100644 index b451689..0000000 Binary files a/site/output/jquery.fancybox/fancy_shadow_sw.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/jquery.fancybox/fancy_shadow_w.png ---------------------------------------------------------------------- diff --git a/site/output/jquery.fancybox/fancy_shadow_w.png b/site/output/jquery.fancybox/fancy_shadow_w.png deleted file mode 100644 index 8a4e4a8..0000000 Binary files a/site/output/jquery.fancybox/fancy_shadow_w.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/jquery.fancybox/fancy_title_left.png ---------------------------------------------------------------------- diff --git a/site/output/jquery.fancybox/fancy_title_left.png b/site/output/jquery.fancybox/fancy_title_left.png deleted file mode 100644 index 6049223..0000000 Binary files a/site/output/jquery.fancybox/fancy_title_left.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/jquery.fancybox/fancy_title_main.png ---------------------------------------------------------------------- diff --git a/site/output/jquery.fancybox/fancy_title_main.png b/site/output/jquery.fancybox/fancy_title_main.png deleted file mode 100644 index 8044271..0000000 Binary files a/site/output/jquery.fancybox/fancy_title_main.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/jquery.fancybox/fancy_title_over.png ---------------------------------------------------------------------- diff --git a/site/output/jquery.fancybox/fancy_title_over.png b/site/output/jquery.fancybox/fancy_title_over.png deleted file mode 100644 index d9f458f..0000000 Binary files a/site/output/jquery.fancybox/fancy_title_over.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/jquery.fancybox/fancy_title_right.png ---------------------------------------------------------------------- diff --git a/site/output/jquery.fancybox/fancy_title_right.png b/site/output/jquery.fancybox/fancy_title_right.png deleted file mode 100644 index e36d9db..0000000 Binary files a/site/output/jquery.fancybox/fancy_title_right.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/jquery.fancybox/fancybox-x.png ---------------------------------------------------------------------- diff --git a/site/output/jquery.fancybox/fancybox-x.png b/site/output/jquery.fancybox/fancybox-x.png deleted file mode 100644 index c2130f8..0000000 Binary files a/site/output/jquery.fancybox/fancybox-x.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/jquery.fancybox/fancybox-y.png ---------------------------------------------------------------------- diff --git a/site/output/jquery.fancybox/fancybox-y.png b/site/output/jquery.fancybox/fancybox-y.png deleted file mode 100644 index 7ef399b..0000000 Binary files a/site/output/jquery.fancybox/fancybox-y.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/jquery.fancybox/fancybox.png ---------------------------------------------------------------------- diff --git a/site/output/jquery.fancybox/fancybox.png b/site/output/jquery.fancybox/fancybox.png deleted file mode 100644 index 65e14f6..0000000 Binary files a/site/output/jquery.fancybox/fancybox.png and /dev/null differ