You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ev...@apache.org on 2014/08/20 00:48:40 UTC

svn commit: r1619006 - in /jclouds/site-content/guides: glacier/ glacier/index.html index.html rackspace/index.html

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&reg; :: 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 &reg;</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">&quot;glacier&quot;</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">&quot;data&quot;</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">&quot;ignored&quot;</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">&quot;glacier&quot;</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">&quot;retrieval job&quot;</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 &copy; 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>