You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by se...@apache.org on 2014/01/27 22:12:14 UTC

[9/9] git commit: break file into chapters

break file into chapters


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

Branch: refs/heads/master
Commit: b1401796de624934d81de5c5ce7db94c7ff6e0ea
Parents: 9593606
Author: Sebastien Goasguen <ru...@gmail.com>
Authored: Mon Jan 27 16:11:46 2014 -0500
Committer: Sebastien Goasguen <ru...@gmail.com>
Committed: Mon Jan 27 16:11:46 2014 -0500

----------------------------------------------------------------------
 source/aws_interface.rst                    |   641 +
 source/best_practices.rst                   |   204 +
 source/building_from_source.rst             |   548 +
 source/choosing_deployment_architecture.rst |   404 +
 source/concepts.rst                         |   313 +
 source/config_params.rst                    |   445 +
 source/configuration.rst                    |  2265 +++
 source/hypervisor_installation.rst          |  4466 +++++
 source/index.rst                            |   103 +-
 source/installation.rst                     | 20303 +--------------------
 source/managing_networks.rst                |  7067 +++++++
 source/network_setup.rst                    |  1547 ++
 source/optional_installation.rst            |   366 +
 source/storage_setup.rst                    |   376 +
 source/terminology.rst                      |   644 +
 source/ui.rst                               |   443 +
 16 files changed, 20684 insertions(+), 19451 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack-docs-install/blob/b1401796/source/aws_interface.rst
----------------------------------------------------------------------
diff --git a/source/aws_interface.rst b/source/aws_interface.rst
new file mode 100644
index 0000000..e101769
--- /dev/null
+++ b/source/aws_interface.rst
@@ -0,0 +1,641 @@
+.. 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.
+
+
+Amazon Web Services Interface
+============================
+
+Amazon Web Services Compatible Interface
+----------------------------------------
+
+CloudStack can translate Amazon Web Services (AWS) API calls to native
+CloudStack API calls so that users can continue using existing
+AWS-compatible tools. This translation service runs as a separate web
+application in the same tomcat server as the management server of
+CloudStack, listening on a different port. The Amazon Web Services (AWS)
+compatible interface provides the EC2 SOAP and Query APIs as well as the
+S3 REST API.
+
+.. note:: This service was previously enabled by separate software called
+CloudBridge. It is now fully integrated with the CloudStack management
+server.
+
+.. warning:: The compatible interface for the EC2 Query API and the S3 API are Work
+In Progress. The S3 compatible API offers a way to store data on the
+management server file system, it is not an implementation of the S3
+backend.
+
+Limitations
+
+-  
+
+   Supported only in zones that use basic networking.
+
+-  
+
+   Available in fresh installations of CloudStack. Not available through
+   upgrade of previous versions.
+
+-  
+
+   Features such as Elastic IP (EIP) and Elastic Load Balancing (ELB)
+   are only available in an infrastructure with a Citrix NetScaler
+   device. Users accessing a Zone with a NetScaler device will need to
+   use a NetScaler-enabled network offering (DefaultSharedNetscalerEIP
+   and ELBNetworkOffering).
+
+Supported API Version
+---------------------
+
+-  
+
+   The EC2 interface complies with Amazon's WDSL version dated November
+   15, 2010, available at
+   `http://ec2.amazonaws.com/doc/2010-11-15/ <http://ec2.amazonaws.com/doc/2010-11-15/>`__.
+
+-  
+
+   The interface is compatible with the EC2 command-line tools *EC2
+   tools v. 1.3.6230*, which can be downloaded at
+   `http://s3.amazonaws.com/ec2-downloads/ec2-api-tools-1.3-62308.zip <http://s3.amazonaws.com/ec2-downloads/ec2-api-tools-1.3-62308.zip>`__.
+
+.. note:: Work is underway to support a more recent version of the EC2 API
+
+Enabling the EC2 and S3 Compatible Interface
+--------------------------------------------
+
+The software that provides AWS API compatibility is installed along with
+CloudStack. You must enable the services and perform some setup steps
+prior to using it.
+
+#. 
+
+   Set the global configuration parameters for each service to true. See
+   `Chapter 7, *Setting Configuration Parameters* <#global-config>`__.
+
+#. 
+
+   Create a set of CloudStack service offerings with names that match
+   the Amazon service offerings. You can do this through the CloudStack
+   UI as described in the Administration Guide.
+
+   .. warning:: Be sure you have included the Amazon default service offering,
+   m1.small. As well as any EC2 instance types that you will use.
+
+#. 
+
+   If you did not already do so when you set the configuration parameter
+   in step `1 <#set-global-config>`__, restart the Management Server.
+
+::
+
+       # service cloudstack-management restart
+
+The following sections provides details to perform these steps
+
+Enabling the Services
+~~~~~~~~~~~~~~~~~~~~~
+
+To enable the EC2 and S3 compatible services you need to set the
+configuration variables *enable.ec2.api* and *enable.s3.api* to true.
+You do not have to enable both at the same time. Enable the ones you
+need. This can be done via the CloudStack GUI by going in *Global
+Settings* or via the API.
+
+The snapshot below shows you how to use the GUI to enable these services
+
+|Use the GUI to set the configuration variable to true|
+
+Using the CloudStack API, the easiest is to use the so-called
+integration port on which you can make unauthenticated calls. In Global
+Settings set the port to 8096 and subsequently call the
+*updateConfiguration* method. The following urls shows you how:
+
+::
+
+    http://localhost:8096/client/api?command=updateConfiguration&name=enable.ec2.api&value=true
+    http://localhost:8096/client/api?command=updateConfiguration&name=enable.ec2.api&value=true
+
+Once you have enabled the services, restart the server.
+
+Creating EC2 Compatible Service Offerings
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+You will also need to define compute service offerings with names
+compatible with the `Amazon EC2 instance
+types <http://aws.amazon.com/ec2/instance-types/>`__ API names (e.g
+m1.small,m1.large). This can be done via the CloudStack GUI. Go under
+*Service Offerings* select *Compute offering* and either create a new
+compute offering or modify an existing one, ensuring that the name
+matches an EC2 instance type API name. The snapshot below shows you how:
+
+|Use the GUI to set the name of a compute service offering to an EC2
+instance type API name.|
+
+Modifying the AWS API Port
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. note:: (Optional) The AWS API listens for requests on port 7080. If you prefer
+AWS API to listen on another port, you can change it as follows:
+
+#. 
+
+   Edit the files /etc/cloudstack/management/server.xml,
+   /etc/cloudstack/management/server-nonssl.xml, and
+   /etc/cloudstack/management/server-ssl.xml.
+
+#. 
+
+   In each file, find the tag <Service name="Catalina7080">. Under this
+   tag, locate <Connector executor="tomcatThreadPool-internal" port=
+   ....<.
+
+#. 
+
+   Change the port to whatever port you want to use, then save the
+   files.
+
+#. 
+
+   Restart the Management Server.
+
+If you re-install CloudStack, you will have to re-enable the services
+and if need be update the port.
+
+AWS API User Setup
+------------------
+
+In general, users need not be aware that they are using a translation
+service provided by CloudStack. They only need to send AWS API calls to
+CloudStack's endpoint, and it will translate the calls to the native
+CloudStack API. Users of the Amazon EC2 compatible interface will be
+able to keep their existing EC2 tools and scripts and use them with
+their CloudStack deployment, by specifying the endpoint of the
+management server and using the proper user credentials. In order to do
+this, each user must perform the following configuration steps:
+
+-  
+
+   Generate user credentials.
+
+-  
+
+   Register with the service.
+
+-  
+
+   For convenience, set up environment variables for the EC2 SOAP
+   command-line tools.
+
+
+AWS API Command-Line Tools Setup
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To use the EC2 command-line tools, the user must perform these steps:
+
+#. 
+
+   Be sure you have the right version of EC2 Tools. The supported
+   version is available at
+   `http://s3.amazonaws.com/ec2-downloads/ec2-api-tools-1.3-62308.zip <http://s3.amazonaws.com/ec2-downloads/ec2-api-tools-1.3-62308.zip>`__.
+
+#. 
+
+   Set up the EC2 environment variables. This can be done every time you
+   use the service or you can set them up in the proper shell profile.
+   Replace the endpoint (i.e EC2\_URL) with the proper address of your
+   CloudStack management server and port. In a bash shell do the
+   following.
+
+   .. code:: bash
+
+                         $ export EC2_CERT=/path/to/cert.pem
+                         $ export EC2_PRIVATE_KEY=/path/to/private_key.pem
+                         $ export EC2_URL=http://localhost:7080/awsapi
+                         $ export EC2_HOME=/path/to/EC2_tools_directory
+
+Using Timeouts to Ensure AWS API Command Completion
+---------------------------------------------------
+
+The Amazon EC2 command-line tools have a default connection timeout.
+When used with CloudStack, a longer timeout might be needed for some
+commands. If you find that commands are not completing due to timeouts,
+you can specify a custom timeouts. You can add the following optional
+command-line parameters to any CloudStack-supported EC2 command:
+
+.. code:: bash
+
+    --connection-timeout TIMEOUT
+
+Specifies a connection timeout (in seconds). Example:
+
+.. code:: bash
+
+    --connection-timeout 30
+
+.. code:: bash
+
+    --request-timeout TIMEOUT
+
+Specifies a request timeout (in seconds). Example:
+
+.. code:: bash
+
+    --request-timeout 45
+
+Example:
+
+.. code:: bash
+
+    ec2-run-instances 2 –z us-test1 –n 1-3 --connection-timeout 120 --request-timeout 120
+
+.. note:: The timeouts optional arguments are not specific to CloudStack.
+
+Supported AWS API Calls
+-----------------------
+
+The following Amazon EC2 commands are supported by CloudStack when the
+AWS API compatible interface is enabled. For a few commands, there are
+differences between the CloudStack and Amazon EC2 versions, and these
+differences are noted. The underlying SOAP call for each command is also
+given, for those who have built tools using those calls.
+
+Table 1. Elastic IP API mapping
+                                  
+
++---------------------------+-----------------------+-------------------------+
+| EC2 command               | SOAP call             | CloudStack API call     |
++===========================+=======================+=========================+
+| ec2-allocate-address      | AllocateAddress       | associateIpAddress      |
++---------------------------+-----------------------+-------------------------+
+| ec2-associate-address     | AssociateAddress      | enableStaticNat         |
++---------------------------+-----------------------+-------------------------+
+| ec2-describe-addresses    | DescribeAddresses     | listPublicIpAddresses   |
++---------------------------+-----------------------+-------------------------+
+| ec2-diassociate-address   | DisassociateAddress   | disableStaticNat        |
++---------------------------+-----------------------+-------------------------+
+| ec2-release-address       | ReleaseAddress        | disassociateIpAddress   |
++---------------------------+-----------------------+-------------------------+
+
+| 
+
+Table 2. Availability Zone API mapping
+                                         
+
++-----------------------------------+-----------------------------+-----------------------+
+| EC2 command                       | SOAP call                   | CloudStack API call   |
++===================================+=============================+=======================+
+| ec2-describe-availability-zones   | DescribeAvailabilityZones   | listZones             |
++-----------------------------------+-----------------------------+-----------------------+
+
+| 
+
+Table 3. Images API mapping
+                              
+
++-----------------------+-------------------+-----------------------+
+| EC2 command           | SOAP call         | CloudStack API call   |
++=======================+===================+=======================+
+| ec2-create-image      | CreateImage       | createTemplate        |
++-----------------------+-------------------+-----------------------+
+| ec2-deregister        | DeregisterImage   | DeleteTemplate        |
++-----------------------+-------------------+-----------------------+
+| ec2-describe-images   | DescribeImages    | listTemplates         |
++-----------------------+-------------------+-----------------------+
+| ec2-register          | RegisterImage     | registerTemplate      |
++-----------------------+-------------------+-----------------------+
+
+| 
+
+Table 4. Image Attributes API mapping
+                                        
+
++--------------------------------+--------------------------+-----------------------------+
+| EC2 command                    | SOAP call                | CloudStack API call         |
++================================+==========================+=============================+
+| ec2-describe-image-attribute   | DescribeImageAttribute   | listTemplatePermissions     |
++--------------------------------+--------------------------+-----------------------------+
+| ec2-modify-image-attribute     | ModifyImageAttribute     | updateTemplatePermissions   |
++--------------------------------+--------------------------+-----------------------------+
+| ec2-reset-image-attribute      | ResetImageAttribute      | updateTemplatePermissions   |
++--------------------------------+--------------------------+-----------------------------+
+
+| 
+
+Table 5. Instances API mapping
+                                 
+
++---------------------------+----------------------+-------------------------+
+| EC2 command               | SOAP call            | CloudStack API call     |
++===========================+======================+=========================+
+| ec2-describe-instances    | DescribeInstances    | listVirtualMachines     |
++---------------------------+----------------------+-------------------------+
+| ec2-run-instances         | RunInstances         | deployVirtualMachine    |
++---------------------------+----------------------+-------------------------+
+| ec2-reboot-instances      | RebootInstances      | rebootVirtualMachine    |
++---------------------------+----------------------+-------------------------+
+| ec2-start-instances       | StartInstances       | startVirtualMachine     |
++---------------------------+----------------------+-------------------------+
+| ec2-stop-instances        | StopInstances        | stopVirtualMachine      |
++---------------------------+----------------------+-------------------------+
+| ec2-terminate-instances   | TerminateInstances   | destroyVirtualMachine   |
++---------------------------+----------------------+-------------------------+
+
+| 
+
+Table 6. Instance Attributes Mapping
+                                       
+
++-----------------------------------+-----------------------------+-----------------------+
+| EC2 command                       | SOAP call                   | CloudStack API call   |
++===================================+=============================+=======================+
+| ec2-describe-instance-attribute   | DescribeInstanceAttribute   | listVirtualMachines   |
++-----------------------------------+-----------------------------+-----------------------+
+
+| 
+
+Table 7. Keys Pairs Mapping
+                              
+
++-------------------------+--------------------+-----------------------+
+| EC2 command             | SOAP call          | CloudStack API call   |
++=========================+====================+=======================+
+| ec2-add-keypair         | CreateKeyPair      | createSSHKeyPair      |
++-------------------------+--------------------+-----------------------+
+| ec2-delete-keypair      | DeleteKeyPair      | deleteSSHKeyPair      |
++-------------------------+--------------------+-----------------------+
+| ec2-describe-keypairs   | DescribeKeyPairs   | listSSHKeyPairs       |
++-------------------------+--------------------+-----------------------+
+| ec2-import-keypair      | ImportKeyPair      | registerSSHKeyPair    |
++-------------------------+--------------------+-----------------------+
+
+| 
+
+Table 8. Passwords API Mapping
+                                 
+
++--------------------+-------------------+-----------------------+
+| EC2 command        | SOAP call         | CloudStack API call   |
++====================+===================+=======================+
+| ec2-get-password   | GetPasswordData   | getVMPassword         |
++--------------------+-------------------+-----------------------+
+
+| 
+
+Table 9. Security Groups API Mapping
+                                       
+
++----------------------+---------------------------------+---------------------------------+
+| EC2 command          | SOAP call                       | CloudStack API call             |
++======================+=================================+=================================+
+| ec2-authorize        | AuthorizeSecurityGroupIngress   | authorizeSecurityGroupIngress   |
++----------------------+---------------------------------+---------------------------------+
+| ec2-add-group        | CreateSecurityGroup             | createSecurityGroup             |
++----------------------+---------------------------------+---------------------------------+
+| ec2-delete-group     | DeleteSecurityGroup             | deleteSecurityGroup             |
++----------------------+---------------------------------+---------------------------------+
+| ec2-describe-group   | DescribeSecurityGroups          | listSecurityGroups              |
++----------------------+---------------------------------+---------------------------------+
+| ec2-revoke           | RevokeSecurityGroupIngress      | revokeSecurityGroupIngress      |
++----------------------+---------------------------------+---------------------------------+
+
+| 
+
+Table 10. Snapshots API Mapping
+                                  
+
++--------------------------+---------------------+-----------------------+
+| EC2 command              | SOAP call           | CloudStack API call   |
++==========================+=====================+=======================+
+| ec2-create-snapshot      | CreateSnapshot      | createSnapshot        |
++--------------------------+---------------------+-----------------------+
+| ec2-delete-snapshot      | DeleteSnapshot      | deleteSnapshot        |
++--------------------------+---------------------+-----------------------+
+| ec2-describe-snapshots   | DescribeSnapshots   | listSnapshots         |
++--------------------------+---------------------+-----------------------+
+
+| 
+
+Table 11. Volumes API Mapping
+                                
+
++-----------------------+------------------+-----------------------+
+| EC2 command           | SOAP call        | CloudStack API call   |
++=======================+==================+=======================+
+| ec2-attach-volume     | AttachVolume     | attachVolume          |
++-----------------------+------------------+-----------------------+
+| ec2-create-volume     | CreateVolume     | createVolume          |
++-----------------------+------------------+-----------------------+
+| ec2-delete-volume     | DeleteVolume     | deleteVolume          |
++-----------------------+------------------+-----------------------+
+| ec2-describe-volume   | DescribeVolume   | listVolumes           |
++-----------------------+------------------+-----------------------+
+| ec2-detach-volume     | DetachVolume     | detachVolume          |
++-----------------------+------------------+-----------------------+
+
+| 
+
+Examples
+--------
+
+There are many tools available to interface with a AWS compatible API.
+In this section we provide a few examples that users of CloudStack can
+build upon.
+
+Boto Examples
+~~~~~~~~~~~~~
+
+Boto is one of them. It is a Python package available at
+https://github.com/boto/boto. In this section we provide two examples of
+Python scripts that use Boto and have been tested with the CloudStack
+AWS API Interface.
+
+First is an EC2 example. Replace the Access and Secret Keys with your
+own and update the endpoint.
+
+Example 1. An EC2 Boto example
+                                 
+
+.. code:: python
+
+    #!/usr/bin/env python
+
+    import sys
+    import os
+    import boto
+    import boto.ec2
+
+    region = boto.ec2.regioninfo.RegionInfo(name="ROOT",endpoint="localhost")
+    apikey='GwNnpUPrO6KgIdZu01z_ZhhZnKjtSdRwuYd4DvpzvFpyxGMvrzno2q05MB0ViBoFYtdqKd'
+    secretkey='t4eXLEYWw7chBhDlaKf38adCMSHx_wlds6JfSx3z9fSpSOm0AbP9Moj0oGIzy2LSC8iw'
+
+    def main():
+        '''Establish connection to EC2 cloud'''
+            conn =boto.connect_ec2(aws_access_key_id=apikey,
+                           aws_secret_access_key=secretkey,
+                           is_secure=False,
+                           region=region,
+                           port=7080,
+                           path="/awsapi",
+                           api_version="2010-11-15")
+
+            '''Get list of images that I own'''
+        images = conn.get_all_images()
+        print images
+        myimage = images[0]
+        '''Pick an instance type'''
+        vm_type='m1.small'
+        reservation = myimage.run(instance_type=vm_type,security_groups=['default'])
+
+    if __name__ == '__main__':
+        main()
+
+| 
+
+Second is an S3 example. Replace the Access and Secret keys with your
+own, as well as the endpoint of the service. Be sure to also update the
+file paths to something that exists on your machine.
+
+Example 2. An S3 Boto Example
+                                
+
+.. code:: python
+
+    #!/usr/bin/env python
+
+    import sys
+    import os
+    from boto.s3.key import Key
+    from boto.s3.connection import S3Connection
+    from boto.s3.connection import OrdinaryCallingFormat
+
+    apikey='ChOw-pwdcCFy6fpeyv6kUaR0NnhzmG3tE7HLN2z3OB_s-ogF5HjZtN4rnzKnq2UjtnHeg_yLA5gOw'
+    secretkey='IMY8R7CJQiSGFk4cHwfXXN3DUFXz07cCiU80eM3MCmfLs7kusgyOfm0g9qzXRXhoAPCH-IRxXc3w'
+
+    cf=OrdinaryCallingFormat()
+
+    def main(): 
+        '''Establish connection to S3 service'''
+            conn =S3Connection(aws_access_key_id=apikey,aws_secret_access_key=secretkey, \
+                              is_secure=False, \
+                              host='localhost', \
+                              port=7080, \
+                              calling_format=cf, \
+                              path="/awsapi/rest/AmazonS3")
+
+            try:
+                bucket=conn.create_bucket('cloudstack')
+                k = Key(bucket)
+                k.key = 'test'
+                try:
+                   k.set_contents_from_filename('/Users/runseb/Desktop/s3cs.py')
+                except:
+                   print 'could not write file'
+                   pass
+            except:
+                bucket = conn.get_bucket('cloudstack')
+                k = Key(bucket)
+                k.key = 'test'
+                try:
+                   k.get_contents_to_filename('/Users/runseb/Desktop/foobar')
+                except:
+                   print 'Could not get file'
+                   pass
+
+            try:
+               bucket1=conn.create_bucket('teststring')
+               k=Key(bucket1)
+               k.key('foobar')
+               k.set_contents_from_string('This is my silly test')
+            except:
+               bucket1=conn.get_bucket('teststring')
+               k = Key(bucket1)
+               k.key='foobar'
+               k.get_contents_as_string()
+        
+    if __name__ == '__main__':
+        main()
+
+
+.. |1000-foot-view.png: Overview of CloudStack| image:: ./_static/images/1000-foot-view.png
+.. |basic-deployment.png: Basic two-machine deployment| image:: ./_static/images/basic-deployment.png
+.. |infrastructure_overview.png: Nested organization of a zone| image:: ./_static/images/infrastructure-overview.png
+.. |region-overview.png: Nested structure of a region.| image:: ./_static/images/region-overview.png
+.. |zone-overview.png: Nested structure of a simple zone.| image:: ./_static/images/zone-overview.png
+.. |pod-overview.png: Nested structure of a simple pod| image:: ./_static/images/pod-overview.png
+.. |cluster-overview.png: Structure of a simple cluster| image:: ./_static/images/cluster-overview.png
+.. |installation-complete.png: Finished installs with single Management Server and multiple Management Servers| image:: ./_static/images/installation-complete.png
+.. |change-password.png: button to change a user's password| image:: ./_static/images/change-password.png
+.. |provisioning-overview.png: Conceptual overview of a basic deployment| image:: ./_static/images/provisioning-overview.png
+.. |vsphereclient.png: vSphere client| image:: ./_static/images/vsphere-client.png
+.. |addcluster.png: add a cluster| image:: ./_static/images/add-cluster.png
+.. |ConsoleButton.png: button to launch a console| image:: ./_static/images/console-icon.png
+.. |DeleteButton.png: button to delete dvSwitch| image:: ./_static/images/delete-button.png
+.. |vds-name.png: Name of the dvSwitch as specified in the vCenter.| image:: ./_static/images/vds-name.png
+.. |traffic-type.png: virtual switch type| image:: ./_static/images/traffic-type.png
+.. |dvSwitchConfig.png: Configuring dvSwitch| image:: ./_static/images/dvSwitch-config.png
+.. |Small-Scale Deployment| image:: ./_static/images/small-scale-deployment.png
+.. |Large-Scale Redundant Setup| image:: ./_static/images/large-scale-redundant-setup.png
+.. |Multi-Node Management Server| image:: ./_static/images/multi-node-management-server.png
+.. |Example Of A Multi-Site Deployment| image:: ./_static/images/multi-site-deployment.png
+.. |Separate Storage Network| image:: ./_static/images/separate-storage-network.png
+.. |NIC Bonding And Multipath I/O| image:: ./_static/images/nic-bonding-and-multipath-io.png
+.. |Use the GUI to set the configuration variable to true| image:: ./_static/images/ec2-s3-configuration.png
+.. |Use the GUI to set the name of a compute service offering to an EC2 instance type API name.| image:: ./_static/images/compute-service-offerings.png
+.. |parallel-mode.png: adding a firewall and load balancer in parallel mode.| image:: ./_static/images/parallel-mode.png
+.. |guest-traffic-setup.png: Depicts a guest traffic setup| image:: ./_static/images/guest-traffic-setup.png
+.. |networksinglepod.png: diagram showing logical view of network in a pod| image:: ./_static/images/network-singlepod.png
+.. |networksetupzone.png: Depicts network setup in a single zone| image:: ./_static/images/network-setup-zone.png
+.. |addguestnetwork.png: Add Guest network setup in a single zone| image:: ./_static/images/add-guest-network.png
+.. |remove-nic.png: button to remove a NIC| image:: ./_static/images/remove-nic.png
+.. |set-default-nic.png: button to set a NIC as default one.| image:: ./_static/images/set-default-nic.png
+.. |EditButton.png: button to edit a network| image:: ./_static/images/edit-icon.png
+.. |edit-icon.png: button to edit a network| image:: ./_static/images/edit-icon.png
+.. |addAccount-icon.png: button to assign an IP range to an account.| image:: ./_static/images/addAccount-icon.png
+.. |eip-ns-basiczone.png: Elastic IP in a NetScaler-enabled Basic Zone.| image:: ./_static/images/eip-ns-basiczone.png
+.. |add-ip-range.png: adding an IP range to a network.| image:: ./_static/images/add-ip-range.png
+.. |httpaccess.png: allows inbound HTTP access from anywhere| image:: ./_static/images/http-access.png
+.. |autoscaleateconfig.png: Configuring AutoScale| image:: ./_static/images/autoscale-config.png
+.. |EnableDisable.png: button to enable or disable AutoScale.| image:: ./_static/images/enable-disable-autoscale.png
+.. |gslb.png: GSLB architecture| image:: ./_static/images/gslb.png
+.. |gslb-add.png: adding a gslb rule| image:: ./_static/images/add-gslb.png
+.. |ReleaseIPButton.png: button to release an IP| image:: ./_static/images/release-ip-icon.png
+.. |EnableNATButton.png: button to enable NAT| image:: ./_static/images/enable-disable.png
+.. |egress-firewall-rule.png: adding an egress firewall rule| image:: ./_static/images/egress-firewall-rule.png
+.. |AttachDiskButton.png: button to attach a volume| image:: ./_static/images/vpn-icon.png
+.. |vpn-icon.png: button to enable VPN| image:: ./_static/images/vpn-icon.png
+.. |addvpncustomergateway.png: adding a customer gateway.| image:: ./_static/images/add-vpn-customer-gateway.png
+.. |edit.png: button to edit a VPN customer gateway| image:: ./_static/images/edit-icon.png
+.. |delete.png: button to remove a VPN customer gateway| image:: ./_static/images/delete-button.png
+.. |createvpnconnection.png: creating a VPN connection to the customer gateway.| image:: ./_static/images/create-vpn-connection.png
+.. |remove-vpn.png: button to remove a VPN connection| image:: ./_static/images/remove-vpn.png
+.. |reset-vpn.png: button to reset a VPN connection| image:: ./_static/images/reset-vpn.png
+.. |mutltier.png: a multi-tier setup.| image:: ./_static/images/multi-tier-app.png
+.. |add-vpc.png: adding a vpc.| image:: ./_static/images/add-vpc.png
+.. |add-tier.png: adding a tier to a vpc.| image:: ./_static/images/add-tier.png
+.. |replace-acl-icon.png: button to replace an ACL list| image:: ./_static/images/replace-acl-icon.png
+.. |add-new-gateway-vpc.png: adding a private gateway for the VPC.| image:: ./_static/images/add-new-gateway-vpc.png
+.. |replace-acl-icon.png: button to replace the default ACL behaviour.| image:: ./_static/images/replace-acl-icon.png
+.. |add-vm-vpc.png: adding a VM to a vpc.| image:: ./_static/images/add-vm-vpc.png
+.. |addvm-tier-sharednw.png: adding a VM to a VPC tier and shared network.| image:: ./_static/images/addvm-tier-sharednw.png
+.. |release-ip-icon.png: button to release an IP.| image:: ./_static/images/release-ip-icon.png
+.. |enable-disable.png: button to enable Static NAT.| image:: ./_static/images/enable-disable.png
+.. |select-vmstatic-nat.png: selecting a tier to apply staticNAT.| image:: ./_static/images/select-vm-staticnat-vpc.png
+.. |vpc-lb.png: Configuring internal LB for VPC| image:: ./_static/images/vpc-lb.png
+.. |del-tier.png: button to remove a tier| image:: ./_static/images/del-tier.png
+.. |remove-vpc.png: button to remove a VPC| image:: ./_static/images/remove-vpc.png
+.. |edit-icon.png: button to edit a VPC| image:: ./_static/images/edit-icon.png
+.. |restart-vpc.png: button to restart a VPC| image:: ./_static/images/restart-vpc.png

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-install/blob/b1401796/source/best_practices.rst
----------------------------------------------------------------------
diff --git a/source/best_practices.rst b/source/best_practices.rst
new file mode 100644
index 0000000..e0180d2
--- /dev/null
+++ b/source/best_practices.rst
@@ -0,0 +1,204 @@
+.. 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.
+
+Best Practices
+==============
+
+Deploying a cloud is challenging. There are many different technology
+choices to make, and CloudStack is flexible enough in its configuration
+that there are many possible ways to combine and configure the chosen
+technology. This section contains suggestions and requirements about
+cloud deployments.
+
+These should be treated as suggestions and not absolutes. However, we do
+encourage anyone planning to build a cloud outside of these guidelines
+to seek guidance and advice on the project mailing lists.
+
+Process Best Practices
+----------------------
+
+-  
+
+   A staging system that models the production environment is strongly
+   advised. It is critical if customizations have been applied to
+   CloudStack.
+
+-  
+
+   Allow adequate time for installation, a beta, and learning the
+   system. Installs with basic networking can be done in hours. Installs
+   with advanced networking usually take several days for the first
+   attempt, with complicated installations taking longer. For a full
+   production system, allow at least 4-8 weeks for a beta to work
+   through all of the integration issues. You can get help from fellow
+   users on the cloudstack-users mailing list.
+
+Setup Best Practices
+--------------------
+
+-  
+
+   Each host should be configured to accept connections only from
+   well-known entities such as the CloudStack Management Server or your
+   network monitoring software.
+
+-  
+
+   Use multiple clusters per pod if you need to achieve a certain switch
+   density.
+
+-  
+
+   Primary storage mountpoints or LUNs should not exceed 6 TB in size.
+   It is better to have multiple smaller primary storage elements per
+   cluster than one large one.
+
+-  
+
+   When exporting shares on primary storage, avoid data loss by
+   restricting the range of IP addresses that can access the storage.
+   See "Linux NFS on Local Disks and DAS" or "Linux NFS on iSCSI".
+
+-  
+
+   NIC bonding is straightforward to implement and provides increased
+   reliability.
+
+-  
+
+   10G networks are generally recommended for storage access when larger
+   servers that can support relatively more VMs are used.
+
+-  
+
+   Host capacity should generally be modeled in terms of RAM for the
+   guests. Storage and CPU may be overprovisioned. RAM may not. RAM is
+   usually the limiting factor in capacity designs.
+
+-  
+
+   (XenServer) Configure the XenServer dom0 settings to allocate more
+   memory to dom0. This can enable XenServer to handle larger numbers of
+   virtual machines. We recommend 2940 MB of RAM for XenServer dom0. For
+   instructions on how to do this, see
+   `http://support.citrix.com/article/CTX126531 <http://support.citrix.com/article/CTX126531>`__.
+   The article refers to XenServer 5.6, but the same information applies
+   to XenServer 6.0.
+
+Maintenance Best Practices
+--------------------------
+
+-  
+
+   Monitor host disk space. Many host failures occur because the host's
+   root disk fills up from logs that were not rotated adequately.
+
+-  
+
+   Monitor the total number of VM instances in each cluster, and disable
+   allocation to the cluster if the total is approaching the maximum
+   that the hypervisor can handle. Be sure to leave a safety margin to
+   allow for the possibility of one or more hosts failing, which would
+   increase the VM load on the other hosts as the VMs are redeployed.
+   Consult the documentation for your chosen hypervisor to find the
+   maximum permitted number of VMs per host, then use CloudStack global
+   configuration settings to set this as the default limit. Monitor the
+   VM activity in each cluster and keep the total number of VMs below a
+   safe level that allows for the occasional host failure. For example,
+   if there are N hosts in the cluster, and you want to allow for one
+   host in the cluster to be down at any given time, the total number of
+   VM instances you can permit in the cluster is at most (N-1) \*
+   (per-host-limit). Once a cluster reaches this number of VMs, use the
+   CloudStack UI to disable allocation to the cluster.
+
+.. warning:: The lack of up-do-date hotfixes can lead to data corruption and lost
+VMs. Be sure all the hotfixes provided by the hypervisor vendor are applied.
+Track the release of hypervisor patches through your hypervisor vendor’s
+support channel, and apply patches as soon as possible after they are
+released. CloudStack will not track or notify you of required hypervisor
+patches. It is essential that your hosts are completely up to date with
+the provided hypervisor patches. The hypervisor vendor is likely to
+refuse to support any system that is not up to date with patches.
+
+
+.. |1000-foot-view.png: Overview of CloudStack| image:: ./_static/images/1000-foot-view.png
+.. |basic-deployment.png: Basic two-machine deployment| image:: ./_static/images/basic-deployment.png
+.. |infrastructure_overview.png: Nested organization of a zone| image:: ./_static/images/infrastructure-overview.png
+.. |region-overview.png: Nested structure of a region.| image:: ./_static/images/region-overview.png
+.. |zone-overview.png: Nested structure of a simple zone.| image:: ./_static/images/zone-overview.png
+.. |pod-overview.png: Nested structure of a simple pod| image:: ./_static/images/pod-overview.png
+.. |cluster-overview.png: Structure of a simple cluster| image:: ./_static/images/cluster-overview.png
+.. |installation-complete.png: Finished installs with single Management Server and multiple Management Servers| image:: ./_static/images/installation-complete.png
+.. |change-password.png: button to change a user's password| image:: ./_static/images/change-password.png
+.. |provisioning-overview.png: Conceptual overview of a basic deployment| image:: ./_static/images/provisioning-overview.png
+.. |vsphereclient.png: vSphere client| image:: ./_static/images/vsphere-client.png
+.. |addcluster.png: add a cluster| image:: ./_static/images/add-cluster.png
+.. |ConsoleButton.png: button to launch a console| image:: ./_static/images/console-icon.png
+.. |DeleteButton.png: button to delete dvSwitch| image:: ./_static/images/delete-button.png
+.. |vds-name.png: Name of the dvSwitch as specified in the vCenter.| image:: ./_static/images/vds-name.png
+.. |traffic-type.png: virtual switch type| image:: ./_static/images/traffic-type.png
+.. |dvSwitchConfig.png: Configuring dvSwitch| image:: ./_static/images/dvSwitch-config.png
+.. |Small-Scale Deployment| image:: ./_static/images/small-scale-deployment.png
+.. |Large-Scale Redundant Setup| image:: ./_static/images/large-scale-redundant-setup.png
+.. |Multi-Node Management Server| image:: ./_static/images/multi-node-management-server.png
+.. |Example Of A Multi-Site Deployment| image:: ./_static/images/multi-site-deployment.png
+.. |Separate Storage Network| image:: ./_static/images/separate-storage-network.png
+.. |NIC Bonding And Multipath I/O| image:: ./_static/images/nic-bonding-and-multipath-io.png
+.. |Use the GUI to set the configuration variable to true| image:: ./_static/images/ec2-s3-configuration.png
+.. |Use the GUI to set the name of a compute service offering to an EC2 instance type API name.| image:: ./_static/images/compute-service-offerings.png
+.. |parallel-mode.png: adding a firewall and load balancer in parallel mode.| image:: ./_static/images/parallel-mode.png
+.. |guest-traffic-setup.png: Depicts a guest traffic setup| image:: ./_static/images/guest-traffic-setup.png
+.. |networksinglepod.png: diagram showing logical view of network in a pod| image:: ./_static/images/network-singlepod.png
+.. |networksetupzone.png: Depicts network setup in a single zone| image:: ./_static/images/network-setup-zone.png
+.. |addguestnetwork.png: Add Guest network setup in a single zone| image:: ./_static/images/add-guest-network.png
+.. |remove-nic.png: button to remove a NIC| image:: ./_static/images/remove-nic.png
+.. |set-default-nic.png: button to set a NIC as default one.| image:: ./_static/images/set-default-nic.png
+.. |EditButton.png: button to edit a network| image:: ./_static/images/edit-icon.png
+.. |edit-icon.png: button to edit a network| image:: ./_static/images/edit-icon.png
+.. |addAccount-icon.png: button to assign an IP range to an account.| image:: ./_static/images/addAccount-icon.png
+.. |eip-ns-basiczone.png: Elastic IP in a NetScaler-enabled Basic Zone.| image:: ./_static/images/eip-ns-basiczone.png
+.. |add-ip-range.png: adding an IP range to a network.| image:: ./_static/images/add-ip-range.png
+.. |httpaccess.png: allows inbound HTTP access from anywhere| image:: ./_static/images/http-access.png
+.. |autoscaleateconfig.png: Configuring AutoScale| image:: ./_static/images/autoscale-config.png
+.. |EnableDisable.png: button to enable or disable AutoScale.| image:: ./_static/images/enable-disable-autoscale.png
+.. |gslb.png: GSLB architecture| image:: ./_static/images/gslb.png
+.. |gslb-add.png: adding a gslb rule| image:: ./_static/images/add-gslb.png
+.. |ReleaseIPButton.png: button to release an IP| image:: ./_static/images/release-ip-icon.png
+.. |EnableNATButton.png: button to enable NAT| image:: ./_static/images/enable-disable.png
+.. |egress-firewall-rule.png: adding an egress firewall rule| image:: ./_static/images/egress-firewall-rule.png
+.. |AttachDiskButton.png: button to attach a volume| image:: ./_static/images/vpn-icon.png
+.. |vpn-icon.png: button to enable VPN| image:: ./_static/images/vpn-icon.png
+.. |addvpncustomergateway.png: adding a customer gateway.| image:: ./_static/images/add-vpn-customer-gateway.png
+.. |edit.png: button to edit a VPN customer gateway| image:: ./_static/images/edit-icon.png
+.. |delete.png: button to remove a VPN customer gateway| image:: ./_static/images/delete-button.png
+.. |createvpnconnection.png: creating a VPN connection to the customer gateway.| image:: ./_static/images/create-vpn-connection.png
+.. |remove-vpn.png: button to remove a VPN connection| image:: ./_static/images/remove-vpn.png
+.. |reset-vpn.png: button to reset a VPN connection| image:: ./_static/images/reset-vpn.png
+.. |mutltier.png: a multi-tier setup.| image:: ./_static/images/multi-tier-app.png
+.. |add-vpc.png: adding a vpc.| image:: ./_static/images/add-vpc.png
+.. |add-tier.png: adding a tier to a vpc.| image:: ./_static/images/add-tier.png
+.. |replace-acl-icon.png: button to replace an ACL list| image:: ./_static/images/replace-acl-icon.png
+.. |add-new-gateway-vpc.png: adding a private gateway for the VPC.| image:: ./_static/images/add-new-gateway-vpc.png
+.. |replace-acl-icon.png: button to replace the default ACL behaviour.| image:: ./_static/images/replace-acl-icon.png
+.. |add-vm-vpc.png: adding a VM to a vpc.| image:: ./_static/images/add-vm-vpc.png
+.. |addvm-tier-sharednw.png: adding a VM to a VPC tier and shared network.| image:: ./_static/images/addvm-tier-sharednw.png
+.. |release-ip-icon.png: button to release an IP.| image:: ./_static/images/release-ip-icon.png
+.. |enable-disable.png: button to enable Static NAT.| image:: ./_static/images/enable-disable.png
+.. |select-vmstatic-nat.png: selecting a tier to apply staticNAT.| image:: ./_static/images/select-vm-staticnat-vpc.png
+.. |vpc-lb.png: Configuring internal LB for VPC| image:: ./_static/images/vpc-lb.png
+.. |del-tier.png: button to remove a tier| image:: ./_static/images/del-tier.png
+.. |remove-vpc.png: button to remove a VPC| image:: ./_static/images/remove-vpc.png
+.. |edit-icon.png: button to edit a VPC| image:: ./_static/images/edit-icon.png
+.. |restart-vpc.png: button to restart a VPC| image:: ./_static/images/restart-vpc.png

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-install/blob/b1401796/source/building_from_source.rst
----------------------------------------------------------------------
diff --git a/source/building_from_source.rst b/source/building_from_source.rst
new file mode 100644
index 0000000..843953a
--- /dev/null
+++ b/source/building_from_source.rst
@@ -0,0 +1,548 @@
+.. 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.
+
+Building from Source
+====================
+
+The official CloudStack release is always in source code form. You will
+likely be able to find "convenience binaries," the source is the
+canonical release. In this section, we'll cover acquiring the source
+release and building that so that you can deploy it using Maven or
+create Debian packages or RPMs.
+
+Note that building and deploying directly from source is typically not
+the most efficient way to deploy an IaaS. However, we will cover that
+method as well as building RPMs or Debian packages for deploying
+CloudStack.
+
+The instructions here are likely version-specific. That is, the method
+for building from source for the 4.0.x series is different from the
+4.1.x series.
+
+If you are working with a unreleased version of CloudStack, see the
+INSTALL.md file in the top-level directory of the release.
+
+Getting the release
+-------------------
+
+You can download the latest CloudStack release from the `Apache
+CloudStack project download
+page <http://incubator.apache.org/cloudstack/downloads.html>`__.
+
+Prior releases are available via archive.apache.org as well. See the
+downloads page for more information on archived releases.
+
+You'll notice several links under the 'Latest release' section. A link
+to a file ending in ``tar.bz2``, as well as a PGP/GPG signature, MD5,
+and SHA512 file.
+
+-  
+
+   The ``tar.bz2`` file contains the Bzip2-compressed tarball with the
+   source code.
+
+-  
+
+   The ``.asc`` file is a detached cryptographic signature that can be
+   used to help verify the authenticity of the release.
+
+-  
+
+   The ``.md5`` file is an MD5 hash of the release to aid in verify the
+   validity of the release download.
+
+-  
+
+   The ``.sha`` file is a SHA512 hash of the release to aid in verify
+   the validity of the release download.
+
+Verifying the downloaded release
+--------------------------------
+
+There are a number of mechanisms to check the authenticity and validity
+of a downloaded release.
+
+Getting the KEYS
+~~~~~~~~~~~~~~~~
+
+To enable you to verify the GPG signature, you will need to download the
+`KEYS <http://www.apache.org/dist/incubator/cloudstack/KEYS>`__ file.
+
+You next need to import those keys, which you can do by running:
+
+.. code:: bash
+
+    # gpg --import KEYS
+
+GPG
+~~~
+
+The CloudStack project provides a detached GPG signature of the release.
+To check the signature, run the following command:
+
+.. code:: bash
+
+    $ gpg --verify apache-cloudstack-4.0.0-incubating-src.tar.bz2.asc
+
+If the signature is valid you will see a line of output that contains
+'Good signature'.
+
+MD5
+~~~
+
+In addition to the cryptographic signature, CloudStack has an MD5
+checksum that you can use to verify the download matches the release.
+You can verify this hash by executing the following command:
+
+.. code:: bash
+
+    $ gpg --print-md MD5 apache-cloudstack-4.0.0-incubating-src.tar.bz2 | diff - apache-cloudstack-4.0.0-incubating-src.tar.bz2.md5
+
+If this successfully completes you should see no output. If there is any
+output from them, then there is a difference between the hash you
+generated locally and the hash that has been pulled from the server.
+
+SHA512
+~~~~~~
+
+In addition to the MD5 hash, the CloudStack project provides a SHA512
+cryptographic hash to aid in assurance of the validity of the downloaded
+release. You can verify this hash by executing the following command:
+
+.. code:: bash
+
+    $ gpg --print-md SHA512 apache-cloudstack-4.0.0-incubating-src.tar.bz2 | diff - apache-cloudstack-4.0.0-incubating-src.tar.bz2.sha
+
+If this command successfully completes you should see no output. If
+there is any output from them, then there is a difference between the
+hash you generated locally and the hash that has been pulled from the
+server.
+
+Prerequisites for building Apache CloudStack
+--------------------------------------------
+
+There are a number of prerequisites needed to build CloudStack. This
+document assumes compilation on a Linux system that uses RPMs or DEBs
+for package management.
+
+You will need, at a minimum, the following to compile CloudStack:
+
+#. 
+
+   Maven (version 3)
+
+#. 
+
+   Java (OpenJDK 1.6 or Java 7/OpenJDK 1.7)
+
+#. 
+
+   Apache Web Services Common Utilities (ws-commons-util)
+
+#. 
+
+   MySQL
+
+#. 
+
+   MySQLdb (provides Python database API)
+
+#. 
+
+   Tomcat 6 (not 6.0.35)
+
+#. 
+
+   genisoimage
+
+#. 
+
+   rpmbuild or dpkg-dev
+
+Extracting source
+-----------------
+
+Extracting the CloudStack release is relatively simple and can be done
+with a single command as follows:
+
+.. code:: bash
+
+    $ tar -jxvf apache-cloudstack-4.1.0.src.tar.bz2
+
+You can now move into the directory:
+
+.. code:: bash
+
+    $ cd ./apache-cloudstack-4.1.0-src
+
+Building DEB packages
+---------------------
+
+In addition to the bootstrap dependencies, you'll also need to install
+several other dependencies. Note that we recommend using Maven 3, which
+is not currently available in 12.04.1 LTS. So, you'll also need to add a
+PPA repository that includes Maven 3. After running the command
+``add-apt-repository``, you will be prompted to continue and a GPG key
+will be added.
+
+.. code:: bash
+
+    $ sudo apt-get update
+    $ sudo apt-get install python-software-properties
+    $ sudo add-apt-repository ppa:natecarlson/maven3
+    $ sudo apt-get update
+    $ sudo apt-get install ant debhelper openjdk-6-jdk tomcat6 libws-commons-util-java genisoimage python-mysqldb libcommons-codec-java libcommons-httpclient-java liblog4j1.2-java maven3
+
+While we have defined, and you have presumably already installed the
+bootstrap prerequisites, there are a number of build time prerequisites
+that need to be resolved. CloudStack uses maven for dependency
+resolution. You can resolve the buildtime depdencies for CloudStack by
+running:
+
+.. code:: bash
+
+    $ mvn3 -P deps
+
+Now that we have resolved the dependencies we can move on to building
+CloudStack and packaging them into DEBs by issuing the following
+command.
+
+.. code:: bash
+
+    $ dpkg-buildpackage -uc -us
+
+This command will build the following debian packages. You should have
+all of the following:
+
+.. code:: bash
+
+    cloudstack-common-4.2.0.amd64.deb
+    cloudstack-management-4.2.0.amd64.deb
+    cloudstack-agent-4.2.0.amd64.deb
+    cloudstack-usage-4.2.0.amd64.deb
+    cloudstack-awsapi-4.2.0.amd64.deb
+    cloudstack-cli-4.2.0.amd64.deb
+    cloudstack-docs-4.2.0.amd64.deb
+
+Setting up an APT repo
+~~~~~~~~~~~~~~~~~~~~~~
+
+After you've created the packages, you'll want to copy them to a system
+where you can serve the packages over HTTP. You'll create a directory
+for the packages and then use ``dpkg-scanpackages`` to create
+``Packages.gz``, which holds information about the archive structure.
+Finally, you'll add the repository to your system(s) so you can install
+the packages using APT.
+
+The first step is to make sure that you have the **dpkg-dev** package
+installed. This should have been installed when you pulled in the
+**debhelper** application previously, but if you're generating
+``Packages.gz`` on a different system, be sure that it's installed there
+as well.
+
+.. code:: bash
+
+    $ sudo apt-get install dpkg-dev
+
+The next step is to copy the DEBs to the directory where they can be
+served over HTTP. We'll use ``/var/www/cloudstack/repo`` in the
+examples, but change the directory to whatever works for you.
+
+.. code:: bash
+
+    sudo mkdir -p /var/www/cloudstack/repo/binary
+    sudo cp *.deb /var/www/cloudstack/repo/binary
+    sudo cd /var/www/cloudstack/repo/binary
+    sudo dpkg-scanpackages . /dev/null | tee Packages | gzip -9 > Packages.gz
+
+.. note:: You can safely ignore the warning about a missing override file.
+
+Now you should have all of the DEB packages and ``Packages.gz`` in the
+``binary`` directory and available over HTTP. (You may want to use
+``wget`` or ``curl`` to test this before moving on to the next step.)
+
+Configuring your machines to use the APT repository
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Now that we have created the repository, you need to configure your
+machine to make use of the APT repository. You can do this by adding a
+repository file under ``/etc/apt/sources.list.d``. Use your preferred
+editor to create ``/etc/apt/sources.list.d/cloudstack.list`` with this
+line:
+
+.. code:: bash
+
+    deb http://server.url/cloudstack/repo binary ./
+
+Now that you have the repository info in place, you'll want to run
+another update so that APT knows where to find the CloudStack packages.
+
+.. code:: bash
+
+    $ sudo apt-get update
+
+You can now move on to the instructions under Install on Ubuntu.
+
+Building RPMs from Source
+-------------------------
+
+As mentioned previously in `Section 3.3, “Prerequisites for building
+Apache CloudStack” <#sect-source-prereq>`__, you will need to install
+several prerequisites before you can build packages for CloudStack. Here
+we'll assume you're working with a 64-bit build of CentOS or Red Hat
+Enterprise Linux.
+
+::
+
+    # yum groupinstall "Development Tools"
+
+::
+
+    # yum install java-1.6.0-openjdk-devel.x86_64 genisoimage mysql mysql-server ws-commons-util MySQL-python tomcat6 createrepo
+
+Next, you'll need to install build-time dependencies for CloudStack with
+Maven. We're using Maven 3, so you'll want to `grab a Maven 3
+tarball <http://maven.apache.org/download.cgi>`__ and uncompress it in
+your home directory (or whatever location you prefer):
+
+::
+
+    $ tar zxvf apache-maven-3.0.4-bin.tar.gz
+
+::
+
+    $ export PATH=/usr/local/apache-maven-3.0.4//bin:$PATH
+
+Maven also needs to know where Java is, and expects the JAVA\_HOME
+environment variable to be set:
+
+::
+
+    $ export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/
+
+Verify that Maven is installed correctly:
+
+::
+
+    $ mvn --version
+
+You probably want to ensure that your environment variables will survive
+a logout/reboot. Be sure to update ``~/.bashrc`` with the PATH and
+JAVA\_HOME variables.
+
+Building RPMs for CloudStack is fairly simple. Assuming you already have
+the source downloaded and have uncompressed the tarball into a local
+directory, you're going to be able to generate packages in just a few
+minutes.
+
+.. note:: Packaging has Changed. If you've created packages for CloudStack previously, you should be
+aware that the process has changed considerably since the project has moved to using Apache Maven. Please be sure to follow the steps in this section closely.
+
+Generating RPMS
+~~~~~~~~~~~~~~~
+
+Now that we have the prerequisites and source, you will cd to the `packaging/centos63/` directory.
+
+::
+
+    $ cd packaging/centos63
+
+Generating RPMs is done using the ``package.sh`` script:
+
+::
+
+    $./package.sh
+
+That will run for a bit and then place the finished packages in
+``dist/rpmbuild/RPMS/x86_64/``.
+
+You should see the following RPMs in that directory:
+
+::
+
+    cloudstack-agent-4.2.0.el6.x86_64.rpm
+    cloudstack-awsapi-4.2.0.el6.x86_64.rpm
+    cloudstack-cli-4.2.0.el6.x86_64.rpm
+    cloudstack-common-4.2.0.el6.x86_64.rpm
+    cloudstack-docs-4.2.0.el6.x86_64.rpm
+    cloudstack-management-4.2.0.el6.x86_64.rpm
+    cloudstack-usage-4.2.0.el6.x86_64.rpm
+
+Creating a yum repo
+^^^^^^^^^^^^^^^^^^^
+
+While RPMs is a useful packaging format - it's most easily consumed from
+Yum repositories over a network. The next step is to create a Yum Repo
+with the finished packages:
+
+::
+
+    $ mkdir -p ~/tmp/repo
+
+::
+
+    $ cp dist/rpmbuild/RPMS/x86_64/*rpm ~/tmp/repo/
+
+::
+
+    $ createrepo ~/tmp/repo
+
+The files and directories within ``~/tmp/repo`` can now be uploaded to a
+web server and serve as a yum repository.
+
+Configuring your systems to use your new yum repository
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Now that your yum repository is populated with RPMs and metadata we need
+to configure the machines that need to install CloudStack. Create a file
+named ``/etc/yum.repos.d/cloudstack.repo`` with this information:
+
+::
+
+   [apache-cloudstack]
+   name=Apache CloudStack
+   baseurl=http://webserver.tld/path/to/repo
+   enabled=1
+   gpgcheck=0
+
+Completing this step will allow you to easily install CloudStack on a
+number of machines across the network.
+
+Building Non-OSS
+----------------
+
+If you need support for the VMware, NetApp, F5, NetScaler, SRX, or any
+other non-Open Source Software (nonoss) plugins, you'll need to download
+a few components on your own and follow a slightly different procedure
+to build from source.
+
+Why Non-OSS?
+------------
+
+Some of the plugins supported by CloudStack cannot be distributed with
+CloudStack for licensing reasons. In some cases, some of the required
+libraries/JARs are under a proprietary license. In other cases, the
+required libraries may be under a license that's not compatible with
+`Apache's licensing guidelines for third-party
+products <http://www.apache.org/legal/resolved.html#category-x>`__.
+
+#. 
+
+   To build the Non-OSS plugins, you'll need to have the requisite JARs
+   installed under the ``deps`` directory.
+
+   Because these modules require dependencies that can't be distributed
+   with CloudStack you'll need to download them yourself. Links to the
+   most recent dependencies are listed on the `*How to build on master
+   branch* <https://cwiki.apache.org/CLOUDSTACK/how-to-build-on-master-branch.html>`__
+   page on the wiki.
+
+#. 
+
+   You may also need to download
+   `vhd-util <http://download.cloud.com.s3.amazonaws.com/tools/vhd-util>`__,
+   which was removed due to licensing issues. You'll copy vhd-util to
+   the ``scripts/vm/hypervisor/xenserver/`` directory.
+
+#. 
+
+   Once you have all the dependencies copied over, you'll be able to
+   build CloudStack with the ``nonoss`` option:
+
+::
+
+    $ mvn clean
+    $ mvn install -Dnonoss
+
+#. 
+
+   Once you've built CloudStack with the ``nonoss`` profile, you can
+   package it using the `Section 3.6, “Building RPMs from
+   Source” <#sect-source-buildrpm>`__ or `Section 3.5, “Building DEB
+   packages” <#sect-source-builddebs>`__ instructions.
+
+
+
+
+.. |1000-foot-view.png: Overview of CloudStack| image:: ./_static/images/1000-foot-view.png
+.. |basic-deployment.png: Basic two-machine deployment| image:: ./_static/images/basic-deployment.png
+.. |infrastructure_overview.png: Nested organization of a zone| image:: ./_static/images/infrastructure-overview.png
+.. |region-overview.png: Nested structure of a region.| image:: ./_static/images/region-overview.png
+.. |zone-overview.png: Nested structure of a simple zone.| image:: ./_static/images/zone-overview.png
+.. |pod-overview.png: Nested structure of a simple pod| image:: ./_static/images/pod-overview.png
+.. |cluster-overview.png: Structure of a simple cluster| image:: ./_static/images/cluster-overview.png
+.. |installation-complete.png: Finished installs with single Management Server and multiple Management Servers| image:: ./_static/images/installation-complete.png
+.. |change-password.png: button to change a user's password| image:: ./_static/images/change-password.png
+.. |provisioning-overview.png: Conceptual overview of a basic deployment| image:: ./_static/images/provisioning-overview.png
+.. |vsphereclient.png: vSphere client| image:: ./_static/images/vsphere-client.png
+.. |addcluster.png: add a cluster| image:: ./_static/images/add-cluster.png
+.. |ConsoleButton.png: button to launch a console| image:: ./_static/images/console-icon.png
+.. |DeleteButton.png: button to delete dvSwitch| image:: ./_static/images/delete-button.png
+.. |vds-name.png: Name of the dvSwitch as specified in the vCenter.| image:: ./_static/images/vds-name.png
+.. |traffic-type.png: virtual switch type| image:: ./_static/images/traffic-type.png
+.. |dvSwitchConfig.png: Configuring dvSwitch| image:: ./_static/images/dvSwitch-config.png
+.. |Small-Scale Deployment| image:: ./_static/images/small-scale-deployment.png
+.. |Large-Scale Redundant Setup| image:: ./_static/images/large-scale-redundant-setup.png
+.. |Multi-Node Management Server| image:: ./_static/images/multi-node-management-server.png
+.. |Example Of A Multi-Site Deployment| image:: ./_static/images/multi-site-deployment.png
+.. |Separate Storage Network| image:: ./_static/images/separate-storage-network.png
+.. |NIC Bonding And Multipath I/O| image:: ./_static/images/nic-bonding-and-multipath-io.png
+.. |Use the GUI to set the configuration variable to true| image:: ./_static/images/ec2-s3-configuration.png
+.. |Use the GUI to set the name of a compute service offering to an EC2 instance type API name.| image:: ./_static/images/compute-service-offerings.png
+.. |parallel-mode.png: adding a firewall and load balancer in parallel mode.| image:: ./_static/images/parallel-mode.png
+.. |guest-traffic-setup.png: Depicts a guest traffic setup| image:: ./_static/images/guest-traffic-setup.png
+.. |networksinglepod.png: diagram showing logical view of network in a pod| image:: ./_static/images/network-singlepod.png
+.. |networksetupzone.png: Depicts network setup in a single zone| image:: ./_static/images/network-setup-zone.png
+.. |addguestnetwork.png: Add Guest network setup in a single zone| image:: ./_static/images/add-guest-network.png
+.. |remove-nic.png: button to remove a NIC| image:: ./_static/images/remove-nic.png
+.. |set-default-nic.png: button to set a NIC as default one.| image:: ./_static/images/set-default-nic.png
+.. |EditButton.png: button to edit a network| image:: ./_static/images/edit-icon.png
+.. |edit-icon.png: button to edit a network| image:: ./_static/images/edit-icon.png
+.. |addAccount-icon.png: button to assign an IP range to an account.| image:: ./_static/images/addAccount-icon.png
+.. |eip-ns-basiczone.png: Elastic IP in a NetScaler-enabled Basic Zone.| image:: ./_static/images/eip-ns-basiczone.png
+.. |add-ip-range.png: adding an IP range to a network.| image:: ./_static/images/add-ip-range.png
+.. |httpaccess.png: allows inbound HTTP access from anywhere| image:: ./_static/images/http-access.png
+.. |autoscaleateconfig.png: Configuring AutoScale| image:: ./_static/images/autoscale-config.png
+.. |EnableDisable.png: button to enable or disable AutoScale.| image:: ./_static/images/enable-disable-autoscale.png
+.. |gslb.png: GSLB architecture| image:: ./_static/images/gslb.png
+.. |gslb-add.png: adding a gslb rule| image:: ./_static/images/add-gslb.png
+.. |ReleaseIPButton.png: button to release an IP| image:: ./_static/images/release-ip-icon.png
+.. |EnableNATButton.png: button to enable NAT| image:: ./_static/images/enable-disable.png
+.. |egress-firewall-rule.png: adding an egress firewall rule| image:: ./_static/images/egress-firewall-rule.png
+.. |AttachDiskButton.png: button to attach a volume| image:: ./_static/images/vpn-icon.png
+.. |vpn-icon.png: button to enable VPN| image:: ./_static/images/vpn-icon.png
+.. |addvpncustomergateway.png: adding a customer gateway.| image:: ./_static/images/add-vpn-customer-gateway.png
+.. |edit.png: button to edit a VPN customer gateway| image:: ./_static/images/edit-icon.png
+.. |delete.png: button to remove a VPN customer gateway| image:: ./_static/images/delete-button.png
+.. |createvpnconnection.png: creating a VPN connection to the customer gateway.| image:: ./_static/images/create-vpn-connection.png
+.. |remove-vpn.png: button to remove a VPN connection| image:: ./_static/images/remove-vpn.png
+.. |reset-vpn.png: button to reset a VPN connection| image:: ./_static/images/reset-vpn.png
+.. |mutltier.png: a multi-tier setup.| image:: ./_static/images/multi-tier-app.png
+.. |add-vpc.png: adding a vpc.| image:: ./_static/images/add-vpc.png
+.. |add-tier.png: adding a tier to a vpc.| image:: ./_static/images/add-tier.png
+.. |replace-acl-icon.png: button to replace an ACL list| image:: ./_static/images/replace-acl-icon.png
+.. |add-new-gateway-vpc.png: adding a private gateway for the VPC.| image:: ./_static/images/add-new-gateway-vpc.png
+.. |replace-acl-icon.png: button to replace the default ACL behaviour.| image:: ./_static/images/replace-acl-icon.png
+.. |add-vm-vpc.png: adding a VM to a vpc.| image:: ./_static/images/add-vm-vpc.png
+.. |addvm-tier-sharednw.png: adding a VM to a VPC tier and shared network.| image:: ./_static/images/addvm-tier-sharednw.png
+.. |release-ip-icon.png: button to release an IP.| image:: ./_static/images/release-ip-icon.png
+.. |enable-disable.png: button to enable Static NAT.| image:: ./_static/images/enable-disable.png
+.. |select-vmstatic-nat.png: selecting a tier to apply staticNAT.| image:: ./_static/images/select-vm-staticnat-vpc.png
+.. |vpc-lb.png: Configuring internal LB for VPC| image:: ./_static/images/vpc-lb.png
+.. |del-tier.png: button to remove a tier| image:: ./_static/images/del-tier.png
+.. |remove-vpc.png: button to remove a VPC| image:: ./_static/images/remove-vpc.png
+.. |edit-icon.png: button to edit a VPC| image:: ./_static/images/edit-icon.png
+.. |restart-vpc.png: button to restart a VPC| image:: ./_static/images/restart-vpc.png

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-install/blob/b1401796/source/choosing_deployment_architecture.rst
----------------------------------------------------------------------
diff --git a/source/choosing_deployment_architecture.rst b/source/choosing_deployment_architecture.rst
new file mode 100644
index 0000000..7874f64
--- /dev/null
+++ b/source/choosing_deployment_architecture.rst
@@ -0,0 +1,404 @@
+.. 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.
+
+Choosing a Deployment Architecture
+==================================
+
+The architecture used in a deployment will vary depending on the size
+and purpose of the deployment. This section contains examples of
+deployment architecture, including a small-scale deployment useful for
+test and trial deployments and a fully-redundant large-scale setup for
+production deployments.
+
+Small-Scale Deployment
+----------------------
+
+|Small-Scale Deployment|
+
+This diagram illustrates the network architecture of a small-scale
+CloudStack deployment.
+
+-  
+
+   A firewall provides a connection to the Internet. The firewall is
+   configured in NAT mode. The firewall forwards HTTP requests and API
+   calls from the Internet to the Management Server. The Management
+   Server resides on the management network.
+
+-  
+
+   A layer-2 switch connects all physical servers and storage.
+
+-  
+
+   A single NFS server functions as both the primary and secondary
+   storage.
+
+-  
+
+   The Management Server is connected to the management network.
+
+Large-Scale Redundant Setup
+---------------------------
+
+|Large-Scale Redundant Setup|
+
+This diagram illustrates the network architecture of a large-scale
+CloudStack deployment.
+
+-  
+
+   A layer-3 switching layer is at the core of the data center. A router
+   redundancy protocol like VRRP should be deployed. Typically high-end
+   core switches also include firewall modules. Separate firewall
+   appliances may also be used if the layer-3 switch does not have
+   integrated firewall capabilities. The firewalls are configured in NAT
+   mode. The firewalls provide the following functions:
+
+   -  
+
+      Forwards HTTP requests and API calls from the Internet to the
+      Management Server. The Management Server resides on the management
+      network.
+
+   -  
+
+      When the cloud spans multiple zones, the firewalls should enable
+      site-to-site VPN such that servers in different zones can directly
+      reach each other.
+
+-  
+
+   A layer-2 access switch layer is established for each pod. Multiple
+   switches can be stacked to increase port count. In either case,
+   redundant pairs of layer-2 switches should be deployed.
+
+-  
+
+   The Management Server cluster (including front-end load balancers,
+   Management Server nodes, and the MySQL database) is connected to the
+   management network through a pair of load balancers.
+
+-  
+
+   Secondary storage servers are connected to the management network.
+
+-  
+
+   Each pod contains storage and computing servers. Each storage and
+   computing server should have redundant NICs connected to separate
+   layer-2 access switches.
+
+Separate Storage Network
+------------------------
+
+In the large-scale redundant setup described in the previous section,
+storage traffic can overload the management network. A separate storage
+network is optional for deployments. Storage protocols such as iSCSI are
+sensitive to network delays. A separate storage network ensures guest
+network traffic contention does not impact storage performance.
+
+Multi-Node Management Server
+----------------------------
+
+The CloudStack Management Server is deployed on one or more front-end
+servers connected to a single MySQL database. Optionally a pair of
+hardware load balancers distributes requests from the web. A backup
+management server set may be deployed using MySQL replication at a
+remote site to add DR capabilities.
+
+|Multi-Node Management Server|
+
+The administrator must decide the following.
+
+-  
+
+   Whether or not load balancers will be used.
+
+-  
+
+   How many Management Servers will be deployed.
+
+-  
+
+   Whether MySQL replication will be deployed to enable disaster
+   recovery.
+
+Multi-Site Deployment
+---------------------
+
+The CloudStack platform scales well into multiple sites through the use
+of zones. The following diagram shows an example of a multi-site
+deployment.
+
+|Example Of A Multi-Site Deployment|
+
+Data Center 1 houses the primary Management Server as well as zone 1.
+The MySQL database is replicated in real time to the secondary
+Management Server installation in Data Center 2.
+
+|Separate Storage Network|
+
+This diagram illustrates a setup with a separate storage network. Each
+server has four NICs, two connected to pod-level network switches and
+two connected to storage network switches.
+
+There are two ways to configure the storage network:
+
+-  
+
+   Bonded NIC and redundant switches can be deployed for NFS. In NFS
+   deployments, redundant switches and bonded NICs still result in one
+   network (one CIDR block+ default gateway address).
+
+-  
+
+   iSCSI can take advantage of two separate storage networks (two CIDR
+   blocks each with its own default gateway). Multipath iSCSI client can
+   failover and load balance between separate storage networks.
+
+|NIC Bonding And Multipath I/O|
+
+This diagram illustrates the differences between NIC bonding and
+Multipath I/O (MPIO). NIC bonding configuration involves only one
+network. MPIO involves two separate networks.
+
+CloudStack supports many popular hypervisors. Your cloud can consist
+entirely of hosts running a single hypervisor, or you can use multiple
+hypervisors. Each cluster of hosts must run the same hypervisor.
+
+You might already have an installed base of nodes running a particular
+hypervisor, in which case, your choice of hypervisor has already been
+made. If you are starting from scratch, you need to decide what
+hypervisor software best suits your needs. A discussion of the relative
+advantages of each hypervisor is outside the scope of our documentation.
+However, it will help you to know which features of each hypervisor are
+supported by CloudStack. The following table provides this information.
+
+Feature
+
+XenServer 6.0.2
+
+vSphere 4.1/5.0
+
+KVM - RHEL 6.2
+
+OVM 2.3
+
+Bare Metal
+
+Network Throttling
+
+Yes
+
+Yes
+
+No
+
+No
+
+N/A
+
+Security groups in zones that use basic networking
+
+Yes
+
+No
+
+Yes
+
+No
+
+No
+
+iSCSI
+
+Yes
+
+Yes
+
+Yes
+
+Yes
+
+N/A
+
+FibreChannel
+
+Yes
+
+Yes
+
+Yes
+
+No
+
+N/A
+
+Local Disk
+
+Yes
+
+Yes
+
+Yes
+
+No
+
+Yes
+
+HA
+
+Yes
+
+Yes (Native)
+
+Yes
+
+Yes
+
+N/A
+
+Snapshots of local disk
+
+Yes
+
+Yes
+
+Yes
+
+No
+
+N/A
+
+Local disk as data disk
+
+No
+
+No
+
+No
+
+No
+
+N/A
+
+Work load balancing
+
+No
+
+DRS
+
+No
+
+No
+
+N/A
+
+Manual live migration of VMs from host to host
+
+Yes
+
+Yes
+
+Yes
+
+Yes
+
+N/A
+
+Conserve management traffic IP address by using link local network to
+communicate with virtual router
+
+Yes
+
+No
+
+Yes
+
+Yes
+
+N/A
+
+
+.. |1000-foot-view.png: Overview of CloudStack| image:: ./_static/images/1000-foot-view.png
+.. |basic-deployment.png: Basic two-machine deployment| image:: ./_static/images/basic-deployment.png
+.. |infrastructure_overview.png: Nested organization of a zone| image:: ./_static/images/infrastructure-overview.png
+.. |region-overview.png: Nested structure of a region.| image:: ./_static/images/region-overview.png
+.. |zone-overview.png: Nested structure of a simple zone.| image:: ./_static/images/zone-overview.png
+.. |pod-overview.png: Nested structure of a simple pod| image:: ./_static/images/pod-overview.png
+.. |cluster-overview.png: Structure of a simple cluster| image:: ./_static/images/cluster-overview.png
+.. |installation-complete.png: Finished installs with single Management Server and multiple Management Servers| image:: ./_static/images/installation-complete.png
+.. |change-password.png: button to change a user's password| image:: ./_static/images/change-password.png
+.. |provisioning-overview.png: Conceptual overview of a basic deployment| image:: ./_static/images/provisioning-overview.png
+.. |vsphereclient.png: vSphere client| image:: ./_static/images/vsphere-client.png
+.. |addcluster.png: add a cluster| image:: ./_static/images/add-cluster.png
+.. |ConsoleButton.png: button to launch a console| image:: ./_static/images/console-icon.png
+.. |DeleteButton.png: button to delete dvSwitch| image:: ./_static/images/delete-button.png
+.. |vds-name.png: Name of the dvSwitch as specified in the vCenter.| image:: ./_static/images/vds-name.png
+.. |traffic-type.png: virtual switch type| image:: ./_static/images/traffic-type.png
+.. |dvSwitchConfig.png: Configuring dvSwitch| image:: ./_static/images/dvSwitch-config.png
+.. |Small-Scale Deployment| image:: ./_static/images/small-scale-deployment.png
+.. |Large-Scale Redundant Setup| image:: ./_static/images/large-scale-redundant-setup.png
+.. |Multi-Node Management Server| image:: ./_static/images/multi-node-management-server.png
+.. |Example Of A Multi-Site Deployment| image:: ./_static/images/multi-site-deployment.png
+.. |Separate Storage Network| image:: ./_static/images/separate-storage-network.png
+.. |NIC Bonding And Multipath I/O| image:: ./_static/images/nic-bonding-and-multipath-io.png
+.. |Use the GUI to set the configuration variable to true| image:: ./_static/images/ec2-s3-configuration.png
+.. |Use the GUI to set the name of a compute service offering to an EC2 instance type API name.| image:: ./_static/images/compute-service-offerings.png
+.. |parallel-mode.png: adding a firewall and load balancer in parallel mode.| image:: ./_static/images/parallel-mode.png
+.. |guest-traffic-setup.png: Depicts a guest traffic setup| image:: ./_static/images/guest-traffic-setup.png
+.. |networksinglepod.png: diagram showing logical view of network in a pod| image:: ./_static/images/network-singlepod.png
+.. |networksetupzone.png: Depicts network setup in a single zone| image:: ./_static/images/network-setup-zone.png
+.. |addguestnetwork.png: Add Guest network setup in a single zone| image:: ./_static/images/add-guest-network.png
+.. |remove-nic.png: button to remove a NIC| image:: ./_static/images/remove-nic.png
+.. |set-default-nic.png: button to set a NIC as default one.| image:: ./_static/images/set-default-nic.png
+.. |EditButton.png: button to edit a network| image:: ./_static/images/edit-icon.png
+.. |edit-icon.png: button to edit a network| image:: ./_static/images/edit-icon.png
+.. |addAccount-icon.png: button to assign an IP range to an account.| image:: ./_static/images/addAccount-icon.png
+.. |eip-ns-basiczone.png: Elastic IP in a NetScaler-enabled Basic Zone.| image:: ./_static/images/eip-ns-basiczone.png
+.. |add-ip-range.png: adding an IP range to a network.| image:: ./_static/images/add-ip-range.png
+.. |httpaccess.png: allows inbound HTTP access from anywhere| image:: ./_static/images/http-access.png
+.. |autoscaleateconfig.png: Configuring AutoScale| image:: ./_static/images/autoscale-config.png
+.. |EnableDisable.png: button to enable or disable AutoScale.| image:: ./_static/images/enable-disable-autoscale.png
+.. |gslb.png: GSLB architecture| image:: ./_static/images/gslb.png
+.. |gslb-add.png: adding a gslb rule| image:: ./_static/images/add-gslb.png
+.. |ReleaseIPButton.png: button to release an IP| image:: ./_static/images/release-ip-icon.png
+.. |EnableNATButton.png: button to enable NAT| image:: ./_static/images/enable-disable.png
+.. |egress-firewall-rule.png: adding an egress firewall rule| image:: ./_static/images/egress-firewall-rule.png
+.. |AttachDiskButton.png: button to attach a volume| image:: ./_static/images/vpn-icon.png
+.. |vpn-icon.png: button to enable VPN| image:: ./_static/images/vpn-icon.png
+.. |addvpncustomergateway.png: adding a customer gateway.| image:: ./_static/images/add-vpn-customer-gateway.png
+.. |edit.png: button to edit a VPN customer gateway| image:: ./_static/images/edit-icon.png
+.. |delete.png: button to remove a VPN customer gateway| image:: ./_static/images/delete-button.png
+.. |createvpnconnection.png: creating a VPN connection to the customer gateway.| image:: ./_static/images/create-vpn-connection.png
+.. |remove-vpn.png: button to remove a VPN connection| image:: ./_static/images/remove-vpn.png
+.. |reset-vpn.png: button to reset a VPN connection| image:: ./_static/images/reset-vpn.png
+.. |mutltier.png: a multi-tier setup.| image:: ./_static/images/multi-tier-app.png
+.. |add-vpc.png: adding a vpc.| image:: ./_static/images/add-vpc.png
+.. |add-tier.png: adding a tier to a vpc.| image:: ./_static/images/add-tier.png
+.. |replace-acl-icon.png: button to replace an ACL list| image:: ./_static/images/replace-acl-icon.png
+.. |add-new-gateway-vpc.png: adding a private gateway for the VPC.| image:: ./_static/images/add-new-gateway-vpc.png
+.. |replace-acl-icon.png: button to replace the default ACL behaviour.| image:: ./_static/images/replace-acl-icon.png
+.. |add-vm-vpc.png: adding a VM to a vpc.| image:: ./_static/images/add-vm-vpc.png
+.. |addvm-tier-sharednw.png: adding a VM to a VPC tier and shared network.| image:: ./_static/images/addvm-tier-sharednw.png
+.. |release-ip-icon.png: button to release an IP.| image:: ./_static/images/release-ip-icon.png
+.. |enable-disable.png: button to enable Static NAT.| image:: ./_static/images/enable-disable.png
+.. |select-vmstatic-nat.png: selecting a tier to apply staticNAT.| image:: ./_static/images/select-vm-staticnat-vpc.png
+.. |vpc-lb.png: Configuring internal LB for VPC| image:: ./_static/images/vpc-lb.png
+.. |del-tier.png: button to remove a tier| image:: ./_static/images/del-tier.png
+.. |remove-vpc.png: button to remove a VPC| image:: ./_static/images/remove-vpc.png
+.. |edit-icon.png: button to edit a VPC| image:: ./_static/images/edit-icon.png
+.. |restart-vpc.png: button to restart a VPC| image:: ./_static/images/restart-vpc.png