blob: 366b7057fd4cdd7a628c952824ca84925c0ab932 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Drivers</title>
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Le JavaScript -->
<script src="/assets/js/jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="/assets/js/bootstrap-dropdown.js" type="text/javascript"></script>
<script src="/assets/js/jquery.tweet.js" type="text/javascript"></script>
<script src="/assets/js/application.js" type="text/javascript"></script>
<script src="/assets/js/bootstrap-transition.js"></script>
<script src="/assets/js/bootstrap-alert.js"></script>
<script src="/assets/js/bootstrap-modal.js"></script>
<script src="/assets/js/bootstrap-scrollspy.js"></script>
<script src="/assets/js/bootstrap-tab.js"></script>
<script src="/assets/js/bootstrap-tooltip.js"></script>
<script src="/assets/js/bootstrap-popover.js"></script>
<script src="/assets/js/bootstrap-button.js"></script>
<script src="/assets/js/bootstrap-collapse.js"></script>
<script src="/assets/js/bootstrap-carousel.js"></script>
<script src="/assets/js/bootstrap-typeahead.js"></script>
<!-- Le styles -->
<link href="/assets/css/bootstrap.css" rel="stylesheet">
<link href="/assets/css/application.css" rel="stylesheet">
<link rel="shortcut icon" href="/assets/img/favicon.ico">
</head>
<body><div style="background: red"><h1>2015/07/20 - Apache Deltacloud has been retired. </h1><h2>For more information, please explore the <a href="http://attic.apache.org/">Attic</a>. </h2></div>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="brand" href="/"><img src="/assets/img/logo.png" width="152"
alt="Deltacloud API"/></a>
<ul class="nav top-nav">
<li><a href="/">Home</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">About<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/about.html">What is Deltacloud?</a></li>
<li><a href="/drivers.html#drivers">Supported Providers</a></li>
</ul>
</li>
<li><a href="/download.html">Download</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Installation<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/install-deltacloud.html">Install Deltacloud</a></li>
<li><a href="/run-deltacloud-server.html">Run the Deltacloud Server</a></li>
</ul>
</li>
<li class="dropdown">
<a href="/usage.html" class="dropdown-toggle" data-toggle="dropdown">Usage<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/usage.html#usingapi">Using API</a></li>
<li><a href="/usage.html#clients">Client Libraries</a></li>
<li><a href="/command-tools.html">Command Line Tools</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Contribute<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/getting-sources.html">Getting Sources</a></li>
<li><a href="/how-to-contribute.html">How Can I Contribute?</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">API<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/rest-api.html">Deltacloud REST API</a></li>
<li><a href="/curl-examples.html">Deltacloud API cURL examples</a></li>
<li><a href="/drivers.html">Drivers API</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">CIMI<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/cimi-rest.html">CIMI REST API</a></li>
<li><a href="/cimi-curl.html">CIMI cURL Examples</a></li>
</ul>
</li>
<li><a href="/contact.html">Contact</a></li>
</ul>
</div>
</div>
</div>
<div class="container content">
<p><br></p>
<div class="row">
<div class="span8">
<h3>Deltacloud drivers</h3>
<p>
Deltacloud provides drivers for a growing number of popular IaaS <a href="#drivers">cloud providers</a>. This page contains notes relevant to specific cloud provider drivers, such as the <a href="#credentials">credentials</a> that should be used for a given cloud provider. Furthermore the information here outlines the mechanism through which any API call sent by a given client to a Deltacloud server instance may be routed to a specific driver, regardless of the 'default' driver that the Deltacloud server was invoked for.
</p>
<h4 id="switch">Dynamic driver switching</h4>
<p>
When the Deltacloud server is started it is passed a parameter that specifies the <strong>default</strong> driver to be used for API operations:
</p>
</div>
<div class="span4">
<ul class="nav nav-list well">
<li class="nav-header">Drivers</li>
<li class="active"><a href="#switch">Dynamic driver switching</a></li>
<li><a href="#drivers">Driver functionality and credentials</a></li>
<ul class="nav nav-list">
<li><a href="#func">Compute driver functionality</a></li>
<li><a href="#storage">Storage driver functionality</a></li>
<li><a href="#credentials">Cloud provider credentials</a></li>
</ul>
<li><a href="#notes">Notes on specific drivers</a></li>
</ul>
</div>
</div>
<pre>
$ deltacloudd -i ec2
</pre>
<p>
The above example shows how to start the Detlacloud server with the Amazon EC2 driver. It is possible to start a number of Deltacloud server instances for each cloud provider that you wish to connect to (e.g. on different ports). There is also a mechanism is with which you can instruct the server to use a specific driver, regardless of the current default. The Deltacloud API drivers collection (e.g. GET /api/drivers) provides a list of all currently supported cloud provider drivers.
</p>
<p>
Some drivers also support the notion of a provider. Changing the provider makes it possible to use the same driver against different instances of a cloud, for example different regions in EC2 or different installations of RHEV-M. The possible range of values for the provider is driver-specific, and it is listed in the notes for each driver below.
</p>
<p>
The driver and provider can be selected through the request headers <strong> X-Deltacloud-Driver</strong> and <strong>X-Deltacloud-Provider</strong>. For example, including the headers <strong>X-Deltacloud-Driver: ec2</strong> and <strong>X-Deltacloud-Provider: eu-west-1</strong> ensures that a request will be serviced by the EC2 driver, and that the driver will use the eu-west-1 region in EC2.
</p>
<h3 id="drivers">Driver functionality and Credentials</h3>
<h4 id="func">Compute Driver Functionality</h4>
<table class="table-bordered table-striped table-condensed">
<thead>
<tr>
<th class="emptycell"> </th>
<th>
Create new instances
</th>
<th>
Start stopped instances
</th>
<th>
Stop running instances
</th>
<th>
Reboot running instances
</th>
<th>
Destroy instances
</th>
<th>
List all/get details about hardware profiles
</th>
<th>
List all/get details about realms
</th>
<th>
List all/get details about images
</th>
<th>
List all/get details about instances
</th>
</tr>
</thead>
<tbody>
<tr>
<td class="provider">
<strong>Amazon EC2</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">no</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
<tr>
<td class="provider">
<strong>Eucalyptus</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">no</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
<tr>
<td class="provider">
<strong>Fujitsu FGCP</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">no</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
<tr>
<td class="provider">
<strong>IBM SmartCloud</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
<tr>
<td class="provider">
<strong>GoGrid</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">no</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
<tr>
<td class="provider">
<strong>OpenNebula</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
<tr>
<td class="provider">
<strong>Rackspace</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">no</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
<tr>
<td class="provider">
<strong>RHEV-M</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">no</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
<tr>
<td class="provider">
<strong>RimuHosting</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
<tr>
<td class="provider">
<strong>Terremark</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
<tr>
<td class="provider">
<strong>vSphere</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
<tr>
<td class="provider">
<strong>OpenStack</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
<tr>
<td class="provider">
<strong>Arubacloud</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
<tr>
<td class="provider">
<strong>DigitalOcean</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
<tr>
<td class="provider">
<strong>ProfitBricks</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
</tbody>
</table>
<p><br></p>
<h4 id="storage">Storage Driver Functionality</h4>
<table class="table-bordered table-striped table-condensed">
<thead>
<tr>
<th class="emptycell"> </th>
<th>
Create new buckets
</th>
<th>
Update/delete buckets
</th>
<th>
Create new blobs
</th>
<th>
Update/delete blobs
</th>
<th>
Read/write blob attributes
</th>
<th>
Read/write individual blob attributes
</th>
</tr>
</thead>
<tbody>
<tr>
<td class="provider">
<strong>Amazon S3</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
<tr>
<td class="provider">
<strong>Eucalyptus Walrus</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
<tr>
<td class="provider">
<strong>Rackspace CloudFiles</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
<tr>
<td class="provider">
<strong>Microsoft Azure</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
<tr>
<td class="provider">
<strong>Google Storage</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
<tr>
<td class="provider">
<strong>Openstack object-store (swift)</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
<tr>
<td class="provider">
<strong>Arubacloud</strong>
</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
<td style="text-align:center">yes</td>
</tr>
</tbody>
</table>
<p><br></p>
<p>
Deltacloud uses basic HTTP <a href="rest-api.html#auth">authentication</a> to receive credentials from the client and passes them through to the particular back-end cloud. The credentials always consist of a username and password and they are never stored on the server. The exact credentials for logging into the server, and a place where you can find them, depends on the backend cloud that the server is talking to.
</p>
<p>
The following table gives details about the credentials that must be provided for each of the supported clouds. The entry from the Driver column needs to be passed as the -i option to the deltacloudd server daemon. Note that some of the drivers require additional information, e.g. API endpoint URL's. For more details see the <a href="#notes">Notes on specific drivers</a> section.
</p>
<style>
table { table-layout: fixed; }
table th, table td { overflow: hidden; }
</style>
<h4 id="credentials">Cloud provider credentials</h4>
<table class="table-bordered table-striped table-condensed">
<thead>
<tr>
<th style="width:15%">Cloud</th>
<th style="width:8%">Driver</th>
<th style="width:20%">Username</th>
<th style="width:10%">Password</th>
<th style="width:47%">Notes</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<strong>mock</strong>
</td>
<td>mock</td>
<td>mockuser</td>
<td>mockpassword</td>
<td>The mock driver does not communicate with any cloud; it just pretends to be a cloud.</td>
</tr>
<tr>
<td>
<strong>Amazon EC2/S3</strong>
</td>
<td>ec2</td>
<td>Access Key ID</td>
<td>Secret Access Key</td>
<td>Retrieve neccessary information from the <a href="http://aws-portal.amazon.com/gp/aws/developer/account/index.html?action=access-key">Security Credentials</a> page in your AWS account.</td>
</tr>
<tr>
<td>
<strong>Eucalyptus</strong>
</td>
<td>eucalyptus</td>
<td>Access Key ID</td>
<td>Secret Access Key</td>
<td></td>
</tr>
<tr>
<td>
<strong>Fujitsu FGCP</strong>
</td>
<td>fgcp</td>
<td>User certificate's folder name</td>
<td>User certificate's passphrase</td>
<td>
<p>Set the environment variable FGCP_CERT_DIR to a folder where the folder with UserCert.p12 is stored or place UserCert.p12 in</p>
<pre> ~/.deltacloud/drivers/fgcp/&lt;Username&gt;/ </pre>
in a linux environment, or
<pre> %USERPROFILE%\.deltacloud\drivers\fgcp\&lt;Username&gt;\ </pre>
in Windows. Then use Username to authenticate.
</td>
</tr>
<tr>
<td>
<strong>GoGrid</strong>
</td>
<td>gogrid</td>
<td>API Key</td>
<td>Shared Secret</td>
<td>
Go to <span style="font-size:small">My Account &gt; API Keys</span> for <a href="https://my.gogrid.com/gogrid/com.servepath.gogrid.GoGrid/index.html">your account</a> and click on the key you want to use to find the Shared Secret.
</td>
</tr>
<tr>
<td>
<strong>IBM SmartCloud</strong>
</td>
<td>sbc</td>
<td>Username</td>
<td>Password</td>
<td></td>
</tr>
<tr>
<td>
<strong>Microsoft Azure (Storage Account only)</strong>
</td>
<td>azure</td>
<td>Public Storage Account Name</td>
<td>Primary Access Key</td>
<td>
The Storage Account Name is chosen when you create the service (e.g. name in <a href="http://name.blob.core.windows.net/">name.blob.core.windows.net</a>). The name and the access key are available from the service control panel.
</td>
</tr>
<tr>
<td>
<strong>OpenNebula</strong>
</td>
<td>opennebula</td>
<td>OpenNebula user</td>
<td>OpenNebula password</td>
<td>Set the environment variable OCCI_URL to the address on which OpenNebula's OCCI server is listening.</td>
</tr>
<tr>
<td>
<strong>OpenStack</strong>
</td>
<td>openstack</td>
<td>OpenStack user</td>
<td>The username is OpenStack user name and tenant_name concatenated with a '+' and password is your openstack service password.</td>
<td>Set the environment variable API_PROVIDER to the URL of Keystone Identity service. Alternatively use the '-P' option when starting the Deltacloud server. See <a href="drivers.html#open">notes</a> for more info.</td>
</tr>
<tr>
<td>
<strong>Rackspace Cloud Servers/Cloud Files</strong>
</td>
<td>rackspace</td>
<td>Rackspace user name</td>
<td>API Key</td>
<td>Obtain the key from the <a href="https://manage.rackspacecloud.com/APIAccess.do">API Access</a> page in your control panel.</td>
</tr>
<tr>
<td>
<strong>RHEV-M</strong>
</td>
<td>rhevm</td>
<td>
<a href="http://markmc.fedorapeople.org/rhevm-api/en-US/html/chap-REST_API_Guide-Authentication.html">RHEV-M user name plus Windows domain</a>, e.g., admin@rhevm.example.com
</td>
<td>RHEV-M password</td>
<td>Set the environment variable API_PROVIDER to the URL of the RHEV-M REST API endpoint. </td>
</tr>
<tr>
<td>
<strong>Rimuhosting</strong>
</td>
<td>rimuhosting</td>
<td>not used (?)</td>
<td>API Key</td>
<td></td>
</tr>
<tr>
<td>
<strong>Terremark</strong>
</td>
<td>terremark</td>
<td>Username</td>
<td>Password</td>
<td></td>
</tr>
<tr>
<td>
<strong>VMware vSphere</strong>
</td>
<td>vsphere</td>
<td>vSphere user</td>
<td>vSphere user password</td>
<td>Set the environment variable API_PROVIDER to the hostname of the vSphere server and the Datastore.</td>
</tr>
<tr>
<td>
<strong>Arubacloud</strong>
</td>
<td>arubacloud</td>
<td>Username</td>
<td>Password</td>
<td>Username and password used for log-in to <a href="https://admin.dc1.computing.cloud.it/Login.aspx" target="_blank">Arubacloud web panel</a> are valid for compute functionality. For storage functionality you have to generate (from the admin panel) a region-bounded username password pair. Within a single (master) account you can have many storage accounts for each region, the only constraint being that username must be unique in the region.</td>
</tr>
<tr>
<td>
<strong>DigitalOcean</strong>
</td>
<td>digitalocean</td>
<td>Client Key</td>
<td>API Key</td>
<td>Obtain these credentials from the <a href="https://www.digitalocean.com/api_access">API access</a> page of your digitalocean account.</td>
</tr>
<tr>
<td>
<strong>ProfitBricks</strong>
</td>
<td>profitbricks</td>
<td>Username (email)</td>
<td>Password</td>
<td>The same credientals used for log-in to the <a href="https://my.profitbricks.com/dashboard/">Profitbricks DCD</a>.</td>
</tr>
</tbody>
</table>
<p><br></p>
<h3 id="notes">Notes on specific drivers</h3>
<div class="accordion" id="specific">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#ec2">
EC2 driver
</a>
</div>
<div id="ec2" class="accordion-body collapse in">
<div class="accordion-inner">
The providers for the EC2 driver correspond to AWS's regions, and currently support all EC2 regions.
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#eucalyptus">
Eucalyptus driver
</a>
</div>
<div id="eucalyptus" class="accordion-body collapse">
<div class="accordion-inner">
<p>
The Eucalyptus driver is based on the EC2 driver.
</p>
<p>
The driver allows selecting the Eucalyptus installation by setting a provider in the format
</p>
<p>
For example, for the Eucalyptus installation at 192.168.1.1:8773 and a Walrus installation at 192.168.1.2:8773, the driver can be pointed at that installation by passing the request headers
</p>
<pre>
X-Deltacloud-Driver: eucalyptus
X-Deltacloud-Provider: ec2=192.168.1.1:8773;s3=192.168.1.2:8773
</pre>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#ibm">
IBM Smartcloud driver
</a>
</div>
<div id="ibm" class="accordion-body collapse">
<div class="accordion-inner">
When using the IBM SmartCloud driver, the credentials passed in response to the HTTP 401 authentication challenge should be your IBM SmartCloud username and password.
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#nebula">
OpenNebula
</a>
</div>
<div id="nebula" class="accordion-body collapse">
<div class="accordion-inner">
<p>
When you use the <a href="http://www.opennebula.org/">OpenNebula</a> driver, the credentials passed in response to the HTTP 401 authentication challenge should be your OpenNebula user and password.
</p>
<p>
The address, on which the OCCI server is listening, needs to be defined in an environment variable called OCCI_URL.
</p>
<p>
The OpenNebula driver has been updated to support v3.x of the OpenNebula API. The driver is contributed by Daniel Molina who has also put together a <a href="http://wiki.opennebula.org/deltacloud">guide</a> for using OpenNebula through Deltacloud.
</p>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#fgcp">
Fujitsu FGCP driver
</a>
</div>
<div id="fgcp" class="accordion-body collapse">
<div class="accordion-inner">
<p>
When you use the Fujitsu FGCP driver, do not authenticate with your FGCP Portal username. Use the name of the folder in which your UserCert.p12 is stored. UserCert.p12 is the certificate you issued on the FGCP Portal to access MyPortal.
</p>
<p>
Set the environment variable FGCP_CERT_DIR to override the default path <strong>~/.deltacloud/drivers/fgcp/</strong> to locate the Username folder with the UserCert.p12 file.
</p>
<p>
FGCP virtual systems and networks are both mapped to realms:
</p>
<ul>
<li>Creating a firewall is equivalent to creating a FGCP virtual system. Specify a system descriptor ID as firewall description (e.g. "1-tier Skeleton").</li>
<li>Destroying a firewall destroys the virtual system. All instances in it need to be in the STOPPED state. This operation first stops the firewall and therefore it can take five minutes until the firewall actually disappears.</li>
<li>When creating an instance, specify a network segment realm as target location.</li>
</ul>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#open">
OpenStack driver
</a>
</div>
<div id="open" class="accordion-body collapse">
<div class="accordion-inner">
To use the Openstack driver you need to set the API_PROVIDER environment variable, or the 'X-Deltacloud-Provider' HTTP header to the URI of the Keystone Identity service (you should get this from your Openstack service administrator). You can also pass this with the '-P' option when starting the Deltacloud server. <br><br>
Furthermore, you need to provide username, tenant_name and password for authentication. The username and tenant_name are specified as one string, concatenated with '+'. For example, with a username of "you@domain.com" and tenantname of "you@domain.com-default-tenant", you would pass "you@domain.com+you@domain.com-default-tenant" as the username in HTTP basic authentication to Deltacloud. This is explained further in this
<a href="http://mariosandreou.com/deltacloud/2012/02/23/deltacloud-openstack_v2API-driver.html">blog post</a>.
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#rack">
Rackspace driver
</a>
</div>
<div id="rack" class="accordion-body collapse">
<div class="accordion-inner">
When you use the Rackspace-cloud driver (Rackspace cloud used to be called "Mosso") - the password in a HTTP 401 challenge should be your API key, NOT your Rackspace account password. You can get the API-key, or generate a new one, from the Rackspace console.
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#rhev">
RHEV-M driver
</a>
</div>
<div id="rhev" class="accordion-body collapse">
<div class="accordion-inner">
<p>
The RHEV-M driver supports latest release of Red Hat Enterprise Virtualization Manager (3.0 currently). In order to make the driver work with this provider, you need to set the API_PROVIDER environment variable or use the 'X-Deltacloud-Provider' request header to the URL of the RHEV-M REST API entry point. The usual URL looks like:
</p>
<pre>
API_PROVIDER="https://rhevm.hostname.com:8443/api;645e425e-66fe-4ac9-8874-537bd10ef08d"
</pre>
<p>
To make sure that you have right credentials, try to access https://rhevm.hostname.com:8443/rhevm-api in your browser. If you're able to authenticate within the browser, then the crendentials you used are valid Deltacloud credentials.
</p>
<p>
In order to make RHEV-M driver work properly, you need to set the RHEV-M Data Center UUID you want to speak with in API_PROVIDER url (see the example above). To obtain a list of all Data Centers you can choose from, start Deltacloud API without specifying a datacenter in the API_PROVIDER URL and do this request:
</p>
<pre>
GET /api/drivers/rhevm?format=xml
</pre>
<p>
The list of possible datacenters will appear in the 'providers' section.
</p>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#rimu">
RimuHosting
</a>
</div>
<div id="rimu" class="accordion-body collapse">
<div class="accordion-inner">
Further details coming soon.
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#vmware">
VMware vSphere driver
</a>
</div>
<div id="vmware" class="accordion-body collapse">
<div class="accordion-inner">
<p>
You can find the details on how to make the VMware vSphere driver work with Deltacloud API in <a href="https://redmine.aeolusproject.org/redmine/projects/aeolus/wiki/VSphere_Setup">vSphere Setup</a> in Aeolus project wiki.
</p>
<p>
In order to connect to vSphere, you need to set the API_PROVIDER environment variable or use the 'X-Deltacloud-Provider' HTTP header in the request to the vSphere host you want to use and the Datastore you want to speak to. For example:
</p>
<pre>API_PROVIDER="vsphere.hostname.com;DATASTORE-ID"</pre>
<p>
The username and password in 401 challenge should be the same as you use in the vSphere Control Center.
</p>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#ec2">
Arubacloud
</a>
</div>
<div id="ec2" class="accordion-body collapse in">
<div class="accordion-inner">
Arubacloud services are provided from 4 datacenters, which are mapped to providers (and realms). The regions of storage services are related to datacenters; compute services are available in all datacenters, while storage is not present in DC2
<br>
Since storage accounts (specific username and passowrd to access storgae functionalities) are bounded to a certain datacenter (chosen during credentials creation), when using Arubacloud driver for storage functionalities you have to pass as params the location (datacenter name) or the realm_id (1 for DC1, 3 for DC3, 4 for DC4), otherwise the driver will assume that you are operting in the default region (which is DC1)
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#ec2">
ProfitBricks
</a>
</div>
<div id="ec2" class="accordion-body collapse in">
<div class="accordion-inner">
ProfitBricks is different from other cloud providers because it does not have fixed Realms. Realms, called Datacenters at ProfitBricks, can be created and deleted by the user. Because this functionality is not implemented in Deltacloud you first have to create a Datacenter via the <a href="https://my.profitbricks.com/dashboard/dcd/">ProfitBricks DCD</a>.
<br>
</div>
</div>
</div>
</div>
<footer class="footer">
<p class="pull-right"><span class='icon-circle-arrow-up'>&nbsp;</span><a href="#">Back to top</a></p>
<div class='row'>
<div class='span3'>
<img src="/assets/img/asf.png" alt="Apache Software Foundation"/>
</div>
<div class='span9'>
<strong>Apache Deltacloud</strong> is a top-level project at the <a
href="http://www.apache.org">Apache Software Foundation</a>,
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.
</div>
</div>
</footer>
</div> <!-- /container -->
<!-- Piwik -->
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://stats.salasaga.org/aeolus/piwik/" : "http://stats.salasaga.org/aeolus/piwik/");
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 2);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
</script><noscript><p><img src="http://stats.salasaga.org/aeolus/piwik/piwik.php?idsite=2" style="border:0" alt="" /></p></noscript>
<!-- End Piwik Tracking Code -->
</body>
</html>