Author: everett
Date: Tue Aug 19 22:48:39 2014
New Revision: 1619006
URL: http://svn.apache.org/r1619006
Log:
deploy jclouds site content
Added:
jclouds/site-content/guides/glacier/
jclouds/site-content/guides/glacier/index.html
Modified:
jclouds/site-content/guides/index.html
jclouds/site-content/guides/rackspace/index.html
Added: jclouds/site-content/guides/glacier/index.html
URL:
http://svn.apache.org/viewvc/jclouds/site-content/guides/glacier/index.html?rev=1619006&view=auto
==============================================================================
--- jclouds/site-content/guides/glacier/index.html (added)
+++ jclouds/site-content/guides/glacier/index.html Tue Aug 19 22:48:39 2014
@@ -0,0 +1,324 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>Apache jclouds® :: Glacier: In Depth</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="description" content="">
+<meta name="author" content="">
+
+<!--link rel="stylesheet/less" href="less/bootstrap.less" type="text/css" /-->
+<!--link rel="stylesheet/less" href="less/responsive.less" type="text/css" /-->
+<!--script src="js/less-1.3.3.min.js"></script-->
+<!--append â#!watchâ to the browser URL, then refresh the page. -->
+
+<link href="/css/bootstrap.min.css" rel="stylesheet">
+<link href="/css/style.css" rel="stylesheet">
+<link href="/css/syntax.css" rel="stylesheet">
+
+<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+<!--[if lt IE 9]>
+<script src="js/html5shiv.js"></script>
+<![endif]-->
+
+<!-- Fav and touch icons -->
+<!--
+<link rel="apple-touch-icon-precomposed" sizes="144x144"
href="/img/apple-touch-icon-144-precomposed.png">
+<link rel="apple-touch-icon-precomposed" sizes="114x114"
href="/img/apple-touch-icon-114-precomposed.png">
+<link rel="apple-touch-icon-precomposed" sizes="72x72"
href="/img/apple-touch-icon-72-precomposed.png">
+<link rel="apple-touch-icon-precomposed"
href="/img/apple-touch-icon-57-precomposed.png">
+-->
+<link rel="shortcut icon" href="/favicon.ico">
+
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml"
title="Blog Posts Feed">
+<link rel="alternate" type="application/atom+xml"
href="/releasenotes/atom.xml" title="Release Notes Feed">
+
+<script type="text/javascript" src="/js/jquery.min.js"></script>
+<script type="text/javascript" src="/js/bootstrap.min.js"></script>
+<script type="text/javascript" src="/js/toc.js"></script>
+
+<script type="text/javascript">
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-8638379-1']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript';
ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' :
'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
+ })();
+</script>
+<script type="text/javascript">
+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new
Date();a=s.createElement(o),
+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-47106724-1', 'jclouds.apache.org');
+ ga('send', 'pageview');
+</script>
+
+ </head>
+ <body>
+ <nav class="navbar navbar-default navbar-fixed-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse"
data-target="#bs-example-navbar-collapse-1">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="/">Apache jclouds ®</a>
+ </div>
+
+ <div class="collapse navbar-collapse"
id="bs-example-navbar-collapse-1">
+ <ul class="nav navbar-nav">
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle"
data-toggle="dropdown">Getting Started<strong class="caret"></strong></a>
+ <ul class="dropdown-menu">
+ <li><a href="/start/what-is-jclouds/">What Is Apache
jclouds?</a></li>
+ <li><a href="/start/install/">Installation
Guide</a></li>
+ <li class="divider"></li>
+ <li><a href="/start/concepts/">Core Concepts</a></li>
+ <li><a href="/start/compute/">ComputeService</a></li>
+ <li><a href="/start/blobstore/">BlobStore</a></li>
+ <li><a
href="http://github.com/jclouds/jclouds-examples">Examples</a></li>
+ </ul>
+ </li>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle"
data-toggle="dropdown">Documentation<strong class="caret"></strong></a>
+ <ul class="dropdown-menu">
+ <li><a href="/reference/providers/">Cloud
Providers</a></li>
+ <li><a href="/guides">User Guides</a></li>
+ <li><a
href="/reference/troubleshooting/">Troubleshooting</a></li>
+ <li><a
href="/reference/configuration/">Configuration</a></li>
+ <li><a href="/reference/logging/">Logging</a></li>
+ <li><a href="/reference/javadoc/">Javadoc</a></li>
+ <li class="divider"></li>
+ <li class="dropdown-header">Developer Guides</li>
+ <li><a
href="http://wiki.apache.org/jclouds/">Wiki</a></li>
+ </ul>
+ </li>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle"
data-toggle="dropdown">Community<strong class="caret"></strong></a>
+ <ul class="dropdown-menu">
+ <li><a href="/community/">Get In Touch!</a></li>
+ <li><a href="http://www.meetup.com/jclouds/">Attend An
Event</a></li>
+ <li><a href="/community/users/">Who Is Using
jclouds?</a></li>
+ <li class="divider"></li>
+ <li class="dropdown-header">Contribute</li>
+ <li><a href="/reference/report-a-bug/">Report a
Bug</a></li>
+ <li><a
href="http://wiki.apache.org/jclouds/How%20to%20Contribute">How To Contribute
Code</a></li>
+ <li><a
href="http://wiki.apache.org/jclouds/How%20to%20Contribute%20Documentation">How
To Contribute Documentation</a></li>
+ </ul>
+ </li>
+ <li><a href="/blog">Blog</a></li>
+ </ul>
+ <ul class="nav navbar-nav navbar-right">
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle"
data-toggle="dropdown">Release Notes<strong class="caret"></strong></a>
+ <ul class="dropdown-menu">
+ <!-- only keep the release notes for supported
versions in this list -->
+ <li><a href="/releasenotes/1.8.0">1.8.0</a></li>
+ <li><a href="/releasenotes/1.7.3">1.7.3</a></li>
+ <li><a href="/releasenotes/1.7.2">1.7.2</a></li>
+ <li><a href="/releasenotes/1.7.1">1.7.1</a></li>
+ <li><a href="/releasenotes/1.7.0">1.7.0</a></li>
+ <li class="divider"></li>
+ <li class="dropdown-header">Previous releases</li>
+ <li><a href="/releasenotes">Release archive</a></li>
+ </ul>
+ </li>
+ <li>
+ <div>
+ <a class="btn btn-success navbar-btn"
href="/start/install/">
+ <span class="glyphicon glyphicon-download"></span>
+ Install
+ </a>
+ </div>
+ </li>
+ </ul>
+ </div>
+ </div>
+</nav>
+
+ <div class="container">
+ <div class="page-header">
+ <h1>Glacier: In Depth</h1>
+ </div>
+ <p>Amazon Glacier is a cold storage service which can be used as
an alternative to traditional storage services for data archiving and backup.
It is optimized for data infrequently accessed and offers nice scalability and
an extremely low cost. There is no limit to the amount of data you can store,
and you only pay for what you use.</p>
+
+<p>The main downside of Glacier is its very long retrieval time. Once you've
requested your data, it will take several hours until it's ready to be
downloaded.</p>
+
+<p>You can find more information in the Amazon Glacier <a
href="https://aws.amazon.com/glacier/">documentation</a>.</p>
+
+<h2>Terminology</h2>
+
+<p>The following resources are defined by the Glacier API:</p>
+
+<h5>Vault</h5>
+
+<p>A vault defines a container in a region for a collection of archives and is
associated to an account. Each vault can store an unlimited amount of archives
but cannot contain other vaults.</p>
+
+<h5>Archive</h5>
+
+<p>Archives are the basic storage unit in Glacier. An archive has an unique
identifier and an optional description. The identifier is both set and returned
by Amazon Glacier when the archive is uploaded.</p>
+
+<p><strong>Note</strong>: When uploading a blob to a Glacier provider using
the BlobStore interface, the blob name will be ignored. When retrieving a blob
using the BlobStore interface, the blob name will be the archive identifier.</p>
+
+<h5>Multipart upload</h5>
+
+<p>In order to upload an archive in parts, we need to create a new multipart
upload. Each multipart upload is associated with a single vault.</p>
+
+<h5>Job</h5>
+
+<p>A Job represents a request we send to Glacier to read data. When a job
finishes it produces an output
+that we can read. The estimated time to finish a job is ~4 hours.</p>
+
+<p>There are two different kinds of jobs:
+* Inventory retrieval: Used to list the archives within a vault.
+* Archive retrieval: Used to read an archive.</p>
+
+<p><strong>Note</strong>: Inventories are updated only once every 24 hours.
The archive list in an inventory may be outdated.</p>
+
+<p>There are also two different ways to discover if a job has finished: by
polling or setting a Notification-Configuration to the vault. This
Notification-Configuration will notify Amazon SNS when is the data ready to be
retrieved. Only one Notification-Configuration can be set per Vault.</p>
+
+<p>At the time of writing only polling is supported by the jclouds Glacier
provider.</p>
+
+<h2>BlobStore View</h2>
+
+<p>Due to the Glacier's nature, many of the BlobStore view methods are will be
very slow. Many Glacier users maintain their own application index of Glacier
archives to this. In addition, you can interrupt long-running Glacier
operations by sending an interrupt to the thread and catching the resulting
exception.</p>
+
+<h2>Using Glacier</h2>
+
+<p>These snippets are taken from the jclouds-examples repository, you will
find the full code in it.</p>
+
+<h3>Basic usage of the BlobStore view</h3>
+
+<div class="highlight"><pre><code class="java"><span class="c1">// get a
context with amazon that offers the portable BlobStore API</span>
+<span class="n">BlobStoreContext</span> <span class="n">context</span> <span
class="o">=</span> <span class="n">ContextBuilder</span><span
class="o">.</span><span class="na">newBuilder</span><span
class="o">(</span><span class="s">"glacier"</span><span
class="o">)</span>
+ <span class="o">.</span><span class="na">credentials</span><span
class="o">(</span><span class="n">accesskeyid</span><span class="o">,</span>
<span class="n">secretkey</span><span class="o">)</span>
+ <span class="o">.</span><span class="na">buildView</span><span
class="o">(</span><span class="n">BlobStoreContext</span><span
class="o">.</span><span class="na">class</span><span class="o">);</span>
+
+<span class="k">try</span> <span class="o">{</span>
+ <span class="c1">// create a container in the default location</span>
+ <span class="n">BlobStore</span> <span class="n">blobstore</span> <span
class="o">=</span> <span class="n">context</span><span class="o">.</span><span
class="na">getBlobStore</span><span class="o">();</span>
+ <span class="n">blobstore</span><span class="o">.</span><span
class="na">createContainerInLocation</span><span class="o">(</span><span
class="kc">null</span><span class="o">,</span> <span
class="n">containerName</span><span class="o">);</span>
+
+ <span class="c1">// add blob</span>
+ <span class="n">ByteSource</span> <span class="n">payload</span> <span
class="o">=</span> <span class="n">ByteSource</span><span
class="o">.</span><span class="na">wrap</span><span class="o">(</span><span
class="s">"data"</span><span class="o">.</span><span
class="na">getBytes</span><span class="o">(</span><span
class="n">Charsets</span><span class="o">.</span><span
class="na">UTF_8</span><span class="o">));</span>
+ <span class="n">Blob</span> <span class="n">blob</span> <span
class="o">=</span> <span class="n">blobstore</span><span
class="o">.</span><span class="na">blobBuilder</span><span
class="o">(</span><span class="s">"ignored"</span><span
class="o">)</span> <span class="c1">// The blob name is ignored in
Glacier</span>
+ <span class="o">.</span><span class="na">payload</span><span
class="o">(</span><span class="n">payload</span><span class="o">)</span>
+ <span class="o">.</span><span class="na">contentLength</span><span
class="o">(</span><span class="n">payload</span><span class="o">.</span><span
class="na">size</span><span class="o">())</span>
+ <span class="o">.</span><span class="na">build</span><span
class="o">();</span>
+ <span class="n">String</span> <span class="n">key</span> <span
class="o">=</span> <span class="n">blobstore</span><span
class="o">.</span><span class="na">putBlob</span><span class="o">(</span><span
class="n">containerName</span><span class="o">,</span> <span
class="n">blob</span><span class="o">);</span>
+<span class="o">}</span> <span class="k">finally</span> <span
class="o">{</span>
+ <span class="n">context</span><span class="o">.</span><span
class="na">close</span><span class="o">();</span>
+<span class="o">}</span>
+</code></pre></div>
+
+
+<h3>Basic usage of the provider API</h3>
+
+<div class="highlight"><pre><code class="java"><span class="c1">// get a
context with amazon that offers the portable BlobStore API</span>
+<span class="n">BlobStoreContext</span> <span class="n">context</span> <span
class="o">=</span> <span class="n">ContextBuilder</span><span
class="o">.</span><span class="na">newBuilder</span><span
class="o">(</span><span class="s">"glacier"</span><span
class="o">)</span>
+ <span class="o">.</span><span class="na">credentials</span><span
class="o">(</span><span class="n">accesskeyid</span><span class="o">,</span>
<span class="n">secretkey</span><span class="o">)</span>
+ <span class="o">.</span><span class="na">buildView</span><span
class="o">(</span><span class="n">BlobStoreContext</span><span
class="o">.</span><span class="na">class</span><span class="o">);</span>
+
+<span class="k">try</span> <span class="o">{</span>
+ <span class="c1">// When you need access to glacier specific
features,</span>
+ <span class="c1">// use the provider context</span>
+ <span class="n">GlacierClient</span> <span class="n">client</span> <span
class="o">=</span> <span class="n">context</span><span class="o">.</span><span
class="na">unwrapApi</span><span class="o">(</span><span
class="n">GlacierClient</span><span class="o">.</span><span
class="na">class</span><span class="o">);</span>
+
+ <span class="n">JobRequest</span> <span
class="n">archiveRetrievalJobRequest</span> <span class="o">=</span> <span
class="n">ArchiveRetrievalJobRequest</span><span class="o">.</span><span
class="na">builder</span><span class="o">()</span>
+ <span class="o">.</span><span class="na">archiveId</span><span
class="o">(</span><span class="n">key</span><span class="o">)</span>
+ <span class="o">.</span><span class="na">description</span><span
class="o">(</span><span class="s">"retrieval job"</span><span
class="o">)</span>
+ <span class="o">.</span><span class="na">build</span><span
class="o">();</span>
+ <span class="n">String</span> <span class="n">jobId</span> <span
class="o">=</span> <span class="n">client</span><span class="o">.</span><span
class="na">initiateJob</span><span class="o">(</span><span
class="n">containerName</span><span class="o">,</span> <span
class="n">archiveRetrievalJobRequest</span><span class="o">);</span>
+
+ <span class="c1">// Retrieve output when the job is done</span>
+ <span class="n">Payload</span> <span class="n">payload</span> <span
class="o">=</span> <span class="n">client</span><span class="o">.</span><span
class="na">getJobOutput</span><span class="o">(</span><span
class="n">containerName</span><span class="o">,</span> <span
class="n">jobId</span><span class="o">);</span>
+ <span class="kt">byte</span><span class="o">[]</span> <span
class="n">data</span> <span class="o">=</span> <span
class="n">ByteStreams2</span><span class="o">.</span><span
class="na">toByteArrayAndClose</span><span class="o">(</span><span
class="n">payload</span><span class="o">.</span><span
class="na">openStream</span><span class="o">());</span>
+<span class="o">}</span> <span class="k">finally</span> <span
class="o">{</span>
+ <span class="n">context</span><span class="o">.</span><span
class="na">close</span><span class="o">();</span>
+<span class="o">}</span>
+</code></pre></div>
+
+
+<h2>Known Issues</h2>
+
+<ul>
+<li>Only the us-east-1 region is supported by our signer. <a
href="https://issues.apache.org/jira/browse/JCLOUDS-659">JCLOUDS_659</a></li>
+<li>Due to an issue with java 6 only archives up to 1GB are supported using
uploadArchive operation. You still can download bigger files using multipart
upload. This will be fixed in jclouds 2.0.</li>
+</ul>
+
+
+<h2>Resources</h2>
+
+<ul>
+<li><a href="https://aws.amazon.com/glacier/">Glacier information</a></li>
+<li><a
href="http://docs.aws.amazon.com/amazonglacier/latest/dev/amazon-glacier-api.html">API
reference</a></li>
+<li><a href="http://aws.amazon.com/glacier/faqs/#data-inventories">About
Inventories</a></li>
+<li><a
href="http://docs.aws.amazon.com/amazonglacier/latest/dev/api-initiate-job-post.html">Job
options</a></li>
+</ul>
+
+
+ <div class="row clearfix">
+ <div id="footer" class="col-md-12 column">
+ <div id="footer">
+ <hr/>
+ <div class="row clearfix">
+ <div class="col-md-2 column">
+ <p class="text-center">
+ <a class="text-primary" href="/start/">Getting Started</a>
+ </p>
+ </div>
+ <div class="col-md-2 column">
+ <p class="text-center">
+ <a class="text-primary" href="/reference/report-a-bug/">Report
a Bug</a>
+ </p>
+ </div>
+ <div class="col-md-2 column">
+ <p class="text-center">
+ <a
href="https://github.com/jclouds/jclouds-site/edit/master/guides/glacier.md">Fix
This Page</a><a class="text-primary"
href="https://wiki.apache.org/jclouds/How%20to%20Contribute%20Documentation"><sup>*</sup></a>
+ </p>
+ </div>
+ <div class="col-md-2 column">
+ <p class="text-center">
+ <a class="text-primary"
href="https://wiki.apache.org/jclouds/How%20to%20Contribute">Contribute Code</a>
+ </p>
+ </div>
+ <div class="col-md-2 column">
+ <p class="text-center">
+ <a class="text-primary" href="/community/">Contact Us</a>
+ </p>
+ </div>
+ <div class="col-md-2 column">
+ <p class="text-center">
+ <a class="text-primary"
href="https://twitter.com/jclouds">Follow Us</a>
+ </p>
+ </div>
+ </div>
+ <hr style="margin-top: 10px"/>
+ <div class="row clearfix">
+ <div class="col-md-12 column">
+ <p class="text-center">
+ Copyright © 2011-2014 <a href="http://www.apache.org">The
Apache Software Foundation</a>. All Rights Reserved.
+ </p>
+ <p class="text-center">
+ Apache, jclouds, Apache jclouds, the jclouds logo, and the
Apache feather logos are registered trademarks or trademarks of the Apache
Software Foundation.
+ </p>
+ <p class="text-center">
+ <img src="/img/feather-small.gif" width="80", height="24"/>
+ </p>
+ <br/>
+ </div>
+ </div>
+</div>
+
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
Modified: jclouds/site-content/guides/index.html
URL:
http://svn.apache.org/viewvc/jclouds/site-content/guides/index.html?rev=1619006&r1=1619005&r2=1619006&view=diff
==============================================================================
--- jclouds/site-content/guides/index.html (original)
+++ jclouds/site-content/guides/index.html Tue Aug 19 22:48:39 2014
@@ -175,7 +175,8 @@
<ul>
<li><a href="aws-ebs">Elastic Block Store (EBS)</a></li>
<li><a href="aws-ec2">Elastic Compute Cloud (EC2)</a></li>
-<li><a href="aws-s3">Simple Storage Service (SQS)</a></li>
+<li><a href="glacier">Glacier</a></li>
+<li><a href="aws-s3">Simple Storage Service (S3)</a></li>
<li><a href="aws-sqs">Simple Queue Service (SQS)</a></li>
</ul>
</li>
Modified: jclouds/site-content/guides/rackspace/index.html
URL:
http://svn.apache.org/viewvc/jclouds/site-content/guides/rackspace/index.html?rev=1619006&r1=1619005&r2=1619006&view=diff
==============================================================================
--- jclouds/site-content/guides/rackspace/index.html (original)
+++ jclouds/site-content/guides/rackspace/index.html Tue Aug 19 22:48:39 2014
@@ -174,14 +174,17 @@
<h2><a id="account"></a>Get a Username and API Key</h2>
<ol>
-<li>Sign up for the Developer Discount for the <a
href="http://developer.rackspace.com/devtrial/">Rackspace Cloud (US)</a>.</li>
-<li>Login to the <a href="https://mycloud.rackspace.com/">Cloud Control Panel
(US)</a>.</li>
+<li>If you don't have a Username and API Key already, sign up for <a
href="https://developer.rackspace.com/signup/">developer+</a> to try the
Rackspace Cloud.
+
+<ul>
+<li>developer+ gives you a 12-month infrastructure credit that can be used
with all of the Rackspace services.</li>
+</ul>
+</li>
+<li>Login to the <a href="https://mycloud.rackspace.com/">Cloud Control Panel
(US)</a> or the <a href="https://mycloud.rackspace.co.uk/">Cloud Control Panel
(UK)</a>.</li>
<li>In the top right corner click on your username and then click Account
Settings to locate your API Key.</li>
</ol>
-<p>Likewise you can go to the <a
href="https://buyonline.rackspace.co.uk/cloud/">Rackspace Cloud (UK)</a> and
login to the <a href="https://mycloud.rackspace.co.uk/">Cloud Control Panel
(UK)</a>.</p>
-
<h2><a id="install"></a>Get jclouds</h2>
<ol>