cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From seb...@apache.org
Subject git commit: updated refs/heads/ACS101 to e2aae33
Date Wed, 05 Jun 2013 16:12:13 GMT
Updated Branches:
  refs/heads/ACS101 31b001f08 -> e2aae33f7


More clients demo/docs


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/e2aae33f
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/e2aae33f
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/e2aae33f

Branch: refs/heads/ACS101
Commit: e2aae33f77411edceef0c137c7dfa6b8d081f590
Parents: 31b001f
Author: Sebastien Goasguen <runseb@gmail.com>
Authored: Wed Jun 5 12:12:20 2013 -0400
Committer: Sebastien Goasguen <runseb@gmail.com>
Committed: Wed Jun 5 12:12:20 2013 -0400

----------------------------------------------------------------------
 docs/acs101/en-US/Clientsandshells.xml |    3 +-
 docs/acs101/en-US/Wrappers.xml         |    1 -
 docs/acs101/en-US/boto.xml             |    2 +-
 docs/acs101/en-US/clostack.xml         |  120 ++++++++++++++++++
 docs/acs101/en-US/jcloudscli.xml       |  178 ++++++++++++++++++++++++++-
 docs/acs101/en-US/libcloud.xml         |   24 ++++-
 6 files changed, 321 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e2aae33f/docs/acs101/en-US/Clientsandshells.xml
----------------------------------------------------------------------
diff --git a/docs/acs101/en-US/Clientsandshells.xml b/docs/acs101/en-US/Clientsandshells.xml
index ff084e7..b4d3dd3 100644
--- a/docs/acs101/en-US/Clientsandshells.xml
+++ b/docs/acs101/en-US/Clientsandshells.xml
@@ -31,9 +31,10 @@
 
     <xi:include href="cloudstackapi.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
     <xi:include href="cloudmonkey.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-    <xi:include href="boto.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
     <xi:include href="jcloudscli.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
     <xi:include href="libcloud.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+    <xi:include href="clostack.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+    <xi:include href="boto.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 
 </chapter>
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e2aae33f/docs/acs101/en-US/Wrappers.xml
----------------------------------------------------------------------
diff --git a/docs/acs101/en-US/Wrappers.xml b/docs/acs101/en-US/Wrappers.xml
index 7c15745..70f2977 100644
--- a/docs/acs101/en-US/Wrappers.xml
+++ b/docs/acs101/en-US/Wrappers.xml
@@ -33,7 +33,6 @@
   <xi:include href="saltcloud.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
   <xi:include href="whirr.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
   <xi:include href="pallet.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-  <xi:include href="stormdeploy.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 
 </chapter>
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e2aae33f/docs/acs101/en-US/boto.xml
----------------------------------------------------------------------
diff --git a/docs/acs101/en-US/boto.xml b/docs/acs101/en-US/boto.xml
index 8d2be64..aac1317 100644
--- a/docs/acs101/en-US/boto.xml
+++ b/docs/acs101/en-US/boto.xml
@@ -23,7 +23,7 @@
 -->
 
 <section id="boto">
-    <title>Examples</title>
+    <title>Pyton Boto</title>
     <para>There are many tools available to interface with a AWS compatible API. In
this section we provide
     a few examples that users of &PRODUCT; can build upon.</para>
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e2aae33f/docs/acs101/en-US/clostack.xml
----------------------------------------------------------------------
diff --git a/docs/acs101/en-US/clostack.xml b/docs/acs101/en-US/clostack.xml
new file mode 100644
index 0000000..c5ea05d
--- /dev/null
+++ b/docs/acs101/en-US/clostack.xml
@@ -0,0 +1,120 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
[
+<!ENTITY % BOOK_ENTITIES SYSTEM "ACS101.ent">
+%BOOK_ENTITIES;
+]>
+
+<!-- Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<section id="clostack">
+    <title>Clostack, a Clojure client</title>
+    <para>There are many tools available to interface with the &PRODUCT; API. Apache
Libcloud is one of those. In this section
+          we provide a basic.</para>
+
+    <para>To install Libcloud refer to the libcloud website. If you are familiar with
Pypi simply do:</para>
+    <programlisting>pip install apache-libcloud</programlisting>
+
+    <para>You should see the following output:</para>
+
+    <programlisting>
+pip install apache-libcloud
+Downloading/unpacking apache-libcloud
+    </programlisting>
+    
+    <para>You can then open a Python interactive shell, create an instance of a &PRODUCT;
driver and call the available methods via the libcloud API.</para>
+
+    <programlisting>
+ <![CDATA[
+$ lein repl
+Retrieving codox/codox/0.6.4/codox-0.6.4.pom from clojars
+Retrieving codox/codox.leiningen/0.6.4/codox.leiningen-0.6.4.pom from clojars
+Retrieving leinjacker/leinjacker/0.4.1/leinjacker-0.4.1.pom from clojars
+Retrieving org/clojure/core.contracts/0.0.1/core.contracts-0.0.1.pom from central
+Retrieving org/clojure/core.unify/0.5.3/core.unify-0.5.3.pom from central
+Retrieving org/clojure/core.contracts/0.0.1/core.contracts-0.0.1.jar from central
+Retrieving org/clojure/core.unify/0.5.3/core.unify-0.5.3.jar from central
+Retrieving codox/codox/0.6.4/codox-0.6.4.jar from clojars
+Retrieving codox/codox.leiningen/0.6.4/codox.leiningen-0.6.4.jar from clojars
+Retrieving leinjacker/leinjacker/0.4.1/leinjacker-0.4.1.jar from clojars
+nREPL server started on port 59373
+REPL-y 0.1.4
+Clojure 1.5.1
+    Exit: Control+D or (exit) or (quit)
+Commands: (user/help)
+    Docs: (doc function-name-here)
+          (find-doc "part-of-name-here")
+  Source: (source function-name-here)
+          (user/sourcery function-name-here)
+ Javadoc: (javadoc java-object-or-class-here)
+Examples from clojuredocs.org: [clojuredocs or cdoc]
+          (user/clojuredocs name-here)
+          (user/clojuredocs "ns-here" "name-here")
+user=> (use 'clostack.client)
+SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
+SLF4J: Defaulting to no-operation (NOP) logger implementation
+SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
+nil
+user=> (list
+list                                list*                               list-accounts   
                   list-async-jobs                     
+list-capabilities                   list-disk-offerings                 list-event-types
                   list-events                         
+list-firewall-rules                 list-hypervisors                    list-instance-groups
               list-ip-forwarding-rules            
+list-iso-permissions                list-isos                           list-lb-stickiness-policies
        list-load-balancer-rule-instances   
+list-load-balancer-rules            list-network-ac-ls                  list-network-offerings
             list-networks                       
+list-os-categories                  list-os-types                       list-port-forwarding-rules
         list-private-gateways               
+list-project-accounts               list-project-invitations            list-projects   
                   list-public-ip-addresses            
+list-remote-access-vpns             list-resource-limits                list-security-groups
               list-service-offerings              
+list-snapshot-policies              list-snapshots                      list-ssh-key-pairs
                 list-static-routes                  
+list-tags                           list-template-permissions           list-templates  
                   list-virtual-machines               
+list-volumes                        list-vp-cs                          list-vpc-offerings
                 list-vpn-connections                
+list-vpn-customer-gateways          list-vpn-gateways                   list-vpn-users  
                   list-zones                          
+list?                               
+user=> (list
+list                                list*                               list-accounts   
                   list-async-jobs                     
+list-capabilities                   list-disk-offerings                 list-event-types
                   list-events                         
+list-firewall-rules                 list-hypervisors                    list-instance-groups
               list-ip-forwarding-rules            
+list-iso-permissions                list-isos                           list-lb-stickiness-policies
        list-load-balancer-rule-instances   
+list-load-balancer-rules            list-network-ac-ls                  list-network-offerings
             list-networks                       
+list-os-categories                  list-os-types                       list-port-forwarding-rules
         list-private-gateways               
+list-project-accounts               list-project-invitations            list-projects   
                   list-public-ip-addresses            
+list-remote-access-vpns             list-resource-limits                list-security-groups
               list-service-offerings              
+list-snapshot-policies              list-snapshots                      list-ssh-key-pairs
                 list-static-routes                  
+list-tags                           list-template-permissions           list-templates  
                   list-virtual-machines               
+list-volumes                        list-vp-cs                          list-vpc-offerings
                 list-vpn-connections                
+list-vpn-customer-gateways          list-vpn-gateways                   list-vpn-users  
                   list-zones                          
+list?                               
+user=> (def cs (http-client))
+#'user/cs
+user=> cs
+#clostack.client.CloudstackHTTPClient{:api-key "mnH5EbKcKeJdJcsSnav7SKoqwNtZFGXOiITNCev5AKAd3ArKkMF5FlpurvguEIwQG_Fn-N0lcRt8AZW4kYV55Q",
:api-secret nil, :endpoint "https://api.exoscale.ch/compute", :http-client #<AsyncHttpClient
com.ning.http.client.AsyncHttpClient@5aa370c7>}
+user=> (list-templates cs :templatefilter "featured")
+NullPointerException   clojure.lang.Reflector.invokeNoArgInstanceMember (Reflector.java:296)
+
+user=> (def cs (http-client :api-secret "Hv97W5UKHG-268UN_UKIzPgw7B0zgnJKdReeUmtDHGfbWneOyJO621TdqdFR07Co38iby5PWL1ylC4oJlslicg"))
+#'user/cs
+user=> (list-templates cs :templatefilter "featured")
+]]>
+    </programlisting>
+
+    <para>Clojure seems to be getting a lot of attention these days, mostly for its
functional programming aspect.
+          It offers a very clean syntax with the strength of java and the rapid prototyping
characteristics of scripting languages.
+          Frameworks like Pallet are making use of clojure to build advanced cloud services.
In the next chapter we will have a quick look at pallet-exoscale
+          which lets you create <emphasis>crates</emphasis> in the cloud, defining
node dependencies and software packages that need to be configured.
+    </para>
+
+ </section>

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e2aae33f/docs/acs101/en-US/jcloudscli.xml
----------------------------------------------------------------------
diff --git a/docs/acs101/en-US/jcloudscli.xml b/docs/acs101/en-US/jcloudscli.xml
index dc75a24..b592e2d 100644
--- a/docs/acs101/en-US/jcloudscli.xml
+++ b/docs/acs101/en-US/jcloudscli.xml
@@ -24,9 +24,181 @@
 
 <section id="jcloudscli">
     <title>jClouds CLI</title>
-    <para>DevCloud is the &PRODUCT; sandbox. It is provided as a Virtual Box appliance.
It is meant to be used as a development environment to easily test new &PRODUCT; development.
It has also been used for training and &PRODUCT; demos since it provides a <emphasis>Cloud
in a box</emphasis>.</para>
+    <para>jclouds is a Java wrapper for many Cloud Providers APIs, it used in a large
number of Cloud application to access providers that do not offer a standard APIs. jclouds-cli
is the command line interface to jclouds and in &PRODUCT; terminology could be seen as
an equivalent to CloudMonkey.</para>
+    <para>However CloudMonkey covers the entire &PRODUCT; API and jclouds-cli does
not. Management of virtual machines, blobstore (i.e S3 like) and configuration management
via chef are the main features.</para>
+    <warning>
+        <para>jclouds is under going incubation at the Apache Software Foundation,
jclouds-cli is available on github. Changes may occur in the sofware from the time of this
writing to the time of you reading it.</para>
+    </warning>
+
+    <para>
+        First install jclouds-cli via github and build it with maven:
+    </para>
+    <programlisting>
+$git clone https://github.com/jclouds/jclouds-cli.git
+$cd jclouds-cli
+$mvn install
+    </programlisting>
+
+    <para>
+        Locate the tarball generated by the build in <emphasis>assembly/target</emphasis>,
extract the tarball in the directory of your choice and add the bin directory to your path.
For instance:
+    </para>
+    <programlisting>
+export PATH=/Users/sebastiengoasguen/Documents/jclouds-cli-1.7.0/bin
+    </programlisting>
+    <para>
+        Define a few environmental variables to set your endpoint and your credentials, the
ones listed below are just examples. Adapt to your own endpoint and keys.
+    </para>
+    <programlisting>
+export JCLOUDS_COMPUTE_API=cloudstack
+export JCLOUDS_COMPUTE_ENDPOINT=http://localhost:8080/client/api
+export JCLOUDS_COMPUTE_CREDENTIAL=_UKIzPgw7BneOyJO621Tdlslicg
+export JCLOUDS_COMPUTE_IDENTITY=mnH5EbKcKeJdJrvguEIwQG_Fn-N0l
+    </programlisting>
+   
+    <para>
+        You should now be able to use jclouds-cli, check that it is in your path and runs,
you should see the following output: 
+    </para>
+    <programlisting>
+sebmini:jclouds-cli-1.7.0-SNAPSHOT sebastiengoasguen$ jclouds-cli
+   _       _                 _      
+  (_)     | |               | |     
+   _  ____| | ___  _   _  _ | | ___ 
+  | |/ ___) |/ _ \| | | |/ || |/___)
+  | ( (___| | |_| | |_| ( (_| |___ |
+ _| |\____)_|\___/ \____|\____(___/ 
+(__/                                 
+
+  jclouds cli (1.7.0-SNAPSHOT)
+  http://jclouds.org
+
+Hit '<tab>' for a list of available commands
+and '[cmd] --help' for help on a specific command.
+Hit '<ctrl-d>' to shutdown jclouds cli.
+
+jclouds> features:list
+State         Version          Name                                    Repository       
     Description
+[installed  ] [1.7.0-SNAPSHOT] jclouds-guice                           jclouds-1.7.0-SNAPSHOT
Jclouds - Google Guice
+[installed  ] [1.7.0-SNAPSHOT] jclouds                                 jclouds-1.7.0-SNAPSHOT
JClouds
+[installed  ] [1.7.0-SNAPSHOT] jclouds-blobstore                       jclouds-1.7.0-SNAPSHOT
JClouds Blobstore
+[installed  ] [1.7.0-SNAPSHOT] jclouds-compute                         jclouds-1.7.0-SNAPSHOT
JClouds Compute
+[installed  ] [1.7.0-SNAPSHOT] jclouds-management                      jclouds-1.7.0-SNAPSHOT
JClouds Management
+[uninstalled] [1.7.0-SNAPSHOT] jclouds-api-filesystem                  jclouds-1.7.0-SNAPSHOT
JClouds - API - FileSystem
+[uninstalled] [1.7.0-SNAPSHOT] jclouds-api-openstack-cinder            jclouds-1.7.0-SNAPSHOT
JClouds - API - OpenStack Cinder
+[installed  ] [1.7.0-SNAPSHOT] jclouds-api-s3                          jclouds-1.7.0-SNAPSHOT
S3 API
+[uninstalled] [1.7.0-SNAPSHOT] jclouds-api-sqs                         jclouds-1.7.0-SNAPSHOT
SQS API
+[installed  ] [1.7.0-SNAPSHOT] jclouds-api-ec2                         jclouds-1.7.0-SNAPSHOT
EC2 API
+[uninstalled] [1.7.0-SNAPSHOT] jclouds-api-cloudstack                  jclouds-1.7.0-SNAPSHOT
Cloudstack API
+[installed  ] [1.7.0-SNAPSHOT] jclouds-api-chef                        jclouds-1.7.0-SNAPSHOT
Jclouds - API - Chef
+[installed  ] [1.7.0-SNAPSHOT] jclouds-api-sts                         jclouds-1.7.0-SNAPSHOT
Jclouds - API - STS
+[uninstalled] [1.7.0-SNAPSHOT] jclouds-api-route53                     jclouds-1.7.0-SNAPSHOT
Jclouds - API - Route53
+[uninstalled] [1.7.0-SNAPSHOT] jclouds-aws-cloudwatch                  jclouds-1.7.0-SNAPSHOT
Amazon Web Service - Cloudwatch
+[installed  ] [1.7.0-SNAPSHOT] jclouds-aws-ec2                         jclouds-1.7.0-SNAPSHOT
Amazon Web Service - EC2
+[uninstalled] [1.7.0-SNAPSHOT] jclouds-aws-route53                     jclouds-1.7.0-SNAPSHOT
Amazon Web Service - Route 53
+[installed  ] [1.7.0-SNAPSHOT] jclouds-aws-s3                          jclouds-1.7.0-SNAPSHOT
Amazon Web Service - S3
+[uninstalled] [1.7.0-SNAPSHOT] jclouds-aws-sqs                         jclouds-1.7.0-SNAPSHOT
Amazon Web Service - SQS
+[uninstalled] [1.7.0-SNAPSHOT] jclouds-aws-sts                         jclouds-1.7.0-SNAPSHOT
Amazon Web Service - STS
+...<snip>
+    </programlisting>
     <note>
-        <para>DevCloud is provided as a convenience by community members. It is not
an official &PRODUCT; release artifact.</para>
-        <para>The &PRODUCT; source code however, contains tools to build your own
DevCloud.</para>
+        <para>I edited the output of jclouds-cli to gain some space, there a lot more
providers available</para>
     </note>
+    <para>The &PRODUCT; API driver is not installed by default. Install it with:</para>
+
+    <programlisting>
+jclouds> features:install jclouds-api-cloudstack
+    </programlisting>
+    
+    <para>For now we will only test the virtual machine management functionality. Pretty
basic but that's what we want to do to get a feel for jclouds-cli.
+          If you have set your endpoint and keys properly, you should be able to list the
location of your cloud like so:
+    </para>
+    <programlisting>
+$ jclouds location list
+[id]                                 [scope]  [description]                   [parent]  
+cloudstack                           PROVIDER https://api.exoscale.ch/compute           
+1128bd56-b4d9-4ac6-a7b9-c715b187ce11 ZONE     CH-GV2                          cloudstack
+    </programlisting>
+    <para>Again this is an example, you will see something different depending on your
endpoint.</para>
+    <para>You can list the service offerings with:</para>
+    <programlisting>
+$ jclouds hardware list
+[id]                                 [ram]   [cpu] [cores]
+71004023-bb72-4a97-b1e9-bc66dfce9470   512  2198.0     1.0
+b6cd1ff5-3a2f-4e9d-a4d1-8988c1191fe8  1024  2198.0     1.0
+21624abb-764e-4def-81d7-9fc54b5957fb  2048  4396.0     2.0
+b6e9d1e8-89fc-4db3-aaa4-9b4c5b1d0844  4096  4396.0     2.0
+c6f99499-7f59-4138-9427-a09db13af2bc  8182  8792.0     4.0
+350dc5ea-fe6d-42ba-b6c0-efb8b75617ad 16384  8792.0     4.0
+a216b0d1-370f-4e21-a0eb-3dfc6302b564 32184 17584.0     8.0
+    </programlisting>
+    <para>List the images available with:</para>
+    <programlisting>
+$ jclouds image list
+[id]                                 [location] [os family]  [os version] [status] 
+0f9f4f49-afc2-4139-b26b-b05a9f51ea74            windows      null         AVAILABLE
+1d16c78d-268f-47d0-be0c-b80d31e765d2            unrecognized null         AVAILABLE
+3cfd96dc-acce-4423-a095-e558f740db5c            unrecognized null         AVAILABLE
+5a536efc-e935-4d77-912d-7585694b1501            unrecognized null         AVAILABLE
+5da4b141-19e4-45ac-8460-8262a2d7bcbd            unrecognized null         AVAILABLE
+7d36b6bc-ec34-4e76-beac-7d6e956b6527            unrecognized null         AVAILABLE
+01df77c3-0150-412a-a580-413a50924a18            windows      null         AVAILABLE
+29cba09f-4569-4bb3-95e7-71f833876e3e            windows      null         AVAILABLE
+77d32782-6866-43d4-9524-6fe346594d09            centos       5.5          AVAILABLE
+81cdfcdd-d696-4642-bf69-c73532579455            unrecognized null         AVAILABLE
+89ee852c-a5f5-4ab9-a311-89f39d133e88            windows      null         AVAILABLE
+93d5b5d7-9ce3-4ff3-9c99-b0133afa679b            unrecognized null         AVAILABLE
+350ff2a1-57d3-4d33-8610-a3e13791512d            unrecognized null         AVAILABLE
+754ea486-d649-49e5-a70e-5e5d458f0df0            windows      null         AVAILABLE
+0324d2e4-3fd9-4ee5-b65d-7619cc74a560            unrecognized null         AVAILABLE
+8835e545-bf94-4cc9-a9f5-48a8bc22ea15            unrecognized null         AVAILABLE
+954752a8-0486-46bb-8e3f-0adb3e01c619            unrecognized null         AVAILABLE
+ccd142ec-83e3-4108-b1c5-8e1fdb353ff9            unrecognized null         AVAILABLE
+d605b563-7007-40e6-acd4-bd8db14d30f6            unrecognized null         AVAILABLE
+de670627-6fe6-48ac-9955-04efed6e8356            unrecognized null         AVAILABLE
+e3b5fa29-ebb4-4486-b923-420437141177            unrecognized null         AVAILABLE
+ee241b47-4303-40c8-af58-42ed6bf09f8c            windows      null         AVAILABLE
+ef22eae7-128e-4132-917f-3f47eac2aa00            unrecognized null         AVAILABLE
+f2101a0c-eaf7-4760-a143-0a5c940fd864            windows      null         AVAILABLE
+    </programlisting>
+
+    <para>We see that the os family is not listed properly, this is probably due to
some regex used by jclouds to guess the OS type. Unfortunately the name key is not given.</para>
+
+    <para>To start an instance we can check the syntax of </emphasis>jclouds
node create</emphasis></para>
+    <programlisting>
+$ jclouds node create --help
+DESCRIPTION
+        jclouds:node-create
+
+	Creates a node.
+
+SYNTAX
+        jclouds:node-create [options] group [number] 
+
+ARGUMENTS
+        group
+                Node group.
+        number
+                Number of nodes to create.
+                (defaults to 1)
+    </programlisting>
+
+    <para>We need to define the name of a group and give the number of instance that
we want to start. Plus the hardware and image id.
+          In terms of hardware, we want to save money so we are going to use the smallest
possible hardware and for image we give a uuid from the previous list.
+    </para>
+    <programlisting>
+$ jclouds node list
+[id]                                 [location]                           [hardware]    
                      [group] [status]
+4e733609-4c4a-4de1-9063-6fe5800ccb10 1128bd56-b4d9-4ac6-a7b9-c715b187ce11 71004023-bb72-4a97-b1e9-bc66dfce9470
foobar  RUNNING 
+$ jclouds node info 4e733609-4c4a-4de1-9063-6fe5800ccb10
+[id]                                 [location]                           [hardware]    
                      [group] [status]
+4e733609-4c4a-4de1-9063-6fe5800ccb10 1128bd56-b4d9-4ac6-a7b9-c715b187ce11 71004023-bb72-4a97-b1e9-bc66dfce9470
foobar  RUNNING 
+
+   Operating System: unrecognized null null                                      
+    Configured User: root                                                        
+     Public Address: 9.9.9.9                                                
+    Private Address:                                                             
+           Image Id: 1d16c78d-268f-47d0-be0c-b80d31e765d2    
+    </programlisting>
+
+    <para>With this short intro, you are well on your way to using jclouds-cli. Check
out the interactive shell, the blobstore and chef facility and commit back to this section.</para>
+
 </section>

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e2aae33f/docs/acs101/en-US/libcloud.xml
----------------------------------------------------------------------
diff --git a/docs/acs101/en-US/libcloud.xml b/docs/acs101/en-US/libcloud.xml
index 3c98e06..e7bc353 100644
--- a/docs/acs101/en-US/libcloud.xml
+++ b/docs/acs101/en-US/libcloud.xml
@@ -69,7 +69,29 @@ Cleaning up...
 u'toto'
 ]]>
     </programlisting>
-   
+
+    <para>
+        I recently added support for keypair management in libcloud. For instace, given a
conn object obtained from the previous interactive session:
+    </para>
+    <programlisting>
+conn.ex_list_keypairs()
+conn.ex_create_keypair(name='foobar')
+conn.ex_list_keypairs()
+conn.ex_delete_keypair(name='foobar')
+    </programlisting>
+
+    <para>
+        Management of security groups was also added. Below we show how to list, create and
delete security groups. As well as add an ingree rule to open port 22 to the world.
+        Both keypair and security groups are key for access to a &PRODUCT; Basic zone
like Exoscale.
+    </para>
+    <programlisting>
+conn.ex_list_security_groups()
+conn.ex_create_security_group(name='libcloud')
+conn.ex_authorize_security_group_ingress(securitygroupname='llibcloud',protocol='TCP',startport=22,cidrlist='0.0.0.0/0')
+conn.ex_delete_security_group('llibcloud')
+    </programlisting>   
+
+
     <para>One of the interesting use cases of Libcloud is that you can use multiple
Cloud Providers, such as AWS, Rackspace, OpenNebula, vCloud and so on. You can then create
Driver instances to each of these clouds and create your own multi cloud application.</para>
 
  </section>


Mime
View raw message