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 16:23:59 UTC

[1/2] first pass at correcting warning and errors in build

Updated Branches:
  refs/heads/master 1a2b64345 -> 959360641


http://git-wip-us.apache.org/repos/asf/cloudstack-docs-install/blob/95936064/source/installation.rst
----------------------------------------------------------------------
diff --git a/source/installation.rst b/source/installation.rst
index ae7d305..b5c504a 100644
--- a/source/installation.rst
+++ b/source/installation.rst
@@ -32,8 +32,8 @@ 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.
 
-Abstract
-
+Concepts
+========
 
 1.1. What Is CloudStack?
 ------------------------
@@ -237,7 +237,7 @@ cloud infrastructure is organized as follows:
    Secondary storage is associated with a zone, and it stores templates,
    ISO images, and disk volume snapshots.
 
-|infrastructure\_overview.png: Nested organization of a zone|
+|infrastructure_overview.png: Nested organization of a zone|
 
 **More Information**
 
@@ -260,40 +260,8 @@ CloudStack offers two types of networking scenario:
    Advanced. For more sophisticated network topologies. This network
    model provides the most flexibility in defining guest networks.
 
-For more details, see Network Setup.
-
-`2.1. About Regions <#about-regions>`__
-
-`2.2. About Zones <#about-zones>`__
-
-`2.3. About Pods <#about-pods>`__
-
-`2.4. About Clusters <#about-clusters>`__
-
-`2.5. About Hosts <#about-hosts>`__
-
-`2.6. About Primary Storage <#about-primary-storage>`__
-
-`2.7. About Secondary Storage <#about-secondary-storage>`__
-
-`2.8. About Physical Networks <#about-physical-networks>`__
-
-`2.8.1. Basic Zone Network Traffic
-Types <#basic-zone-network-traffic-types>`__
-
-`2.8.2. Basic Zone Guest IP
-Addresses <#basic-zone-guest-ip-addresses>`__
-
-`2.8.3. Advanced Zone Network Traffic
-Types <#advanced-zone-network-traffic-types>`__
-
-`2.8.4. Advanced Zone Guest IP
-Addresses <#advanced-zone-guest-ip-addresses>`__
-
-`2.8.5. Advanced Zone Public IP
-Addresses <#advanced-zone-public-ip-addresses>`__
-
-`2.8.6. System Reserved IP Addresses <#system-reserved-ip-addresses>`__
+CloudStack Terminology
+======================
 
 2.1. About Regions
 ------------------
@@ -411,15 +379,7 @@ creating a new CloudStack zone, you can select a VMware Datacenter for
 the zone. If you are provisioning multiple VMware Datacenters, each one
 will be set up as a single zone in CloudStack.
 
-Note
-----
-
-If you are upgrading from a previous CloudStack version, and your
-existing deployment contains a zone with clusters from multiple VMware
-Datacenters, that zone will not be forcibly migrated to the new model.
-It will continue to function as before. However, any new zone-wide
-operations, such as zone-wide primary storage and live storage
-migration, will not be available in that zone.
+.. note:: If you are upgrading from a previous CloudStack version, and your existing deployment contains a zone with clusters from multiple VMware Datacenters, that zone will not be forcibly migrated to the new model. It will continue to function as before. However, any new zone-wide operations, such as zone-wide primary storage and live storage migration, will not be available in that zone.
 
 2.3. About Pods
 ---------------
@@ -609,12 +569,7 @@ to Swift or S3. The backing object storage acts as a cloud-wide
 resource, making templates and other data available to any zone in the
 cloud.
 
-Warning
--------
-
-Heterogeneous Secondary Storage is not supported in Regions. For
-example, you cannot set up multiple zones, one using NFS secondary and
-the other using S3 or Swift secondary.
+.. warning:: Heterogeneous Secondary Storage is not supported in Regions. For example, you cannot set up multiple zones, one using NFS secondary and the other using S3 or Swift secondary.
 
 2.8. About Physical Networks
 ----------------------------
@@ -678,10 +633,7 @@ the zone. That physical network carries the following traffic types:
    communicates directly with the CloudStack Management Server. You must
    configure the IP range for the system VMs to use.
 
-   Note
-   ----
-
-   We strongly recommend the use of separate NICs for management traffic
+.. note:: We strongly recommend the use of separate NICs for management traffic
    and guest traffic.
 
 -  
@@ -865,35 +817,8 @@ techniques:
    create 10 pods and each pod has 255 IPs, this will provide 2,550 IP
    addresses.
 
-`3.1. Getting the release <#sect-source-gettingrelease>`__
-
-`3.2. Verifying the downloaded release <#sect-source-verify>`__
-
-`3.2.1. Getting the KEYS <#sect-source-verify-keys>`__
-
-`3.2.2. GPG <#sect-source-verify-gpg>`__
-
-`3.2.3. MD5 <#sect-source-verify-md5>`__
-
-`3.2.4. SHA512 <#sect-source-verify-sha512>`__
-
-`3.3. Prerequisites for building Apache
-CloudStack <#sect-source-prereq>`__
-
-`3.4. Extracting source <#sect-source-extract>`__
-
-`3.5. Building DEB packages <#sect-source-builddebs>`__
-
-`3.5.1. Setting up an APT repo <#sect-source-builddebs-repo>`__
-
-`3.5.2. Configuring your machines to use the APT
-repository <#sect-source-builddebs-repo2>`__
-
-`3.6. Building RPMs from Source <#sect-source-buildrpm>`__
-
-`3.6.1. Generating RPMS <#generating-rpms>`__
-
-`3.7. Building Non-OSS <#sect-source-nonoss>`__
+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
@@ -961,7 +886,7 @@ To enable you to verify the GPG signature, you will need to download the
 
 You next need to import those keys, which you can do by running:
 
-.. code:: programlisting
+.. code:: bash
 
     # gpg --import KEYS
 
@@ -971,7 +896,7 @@ You next need to import those keys, which you can do by running:
 The CloudStack project provides a detached GPG signature of the release.
 To check the signature, run the following command:
 
-.. code:: programlisting
+.. code:: bash
 
     $ gpg --verify apache-cloudstack-4.0.0-incubating-src.tar.bz2.asc
 
@@ -985,7 +910,7 @@ 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:: programlisting
+.. 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
 
@@ -1000,7 +925,7 @@ 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:: programlisting
+.. 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
 
@@ -1056,13 +981,13 @@ You will need, at a minimum, the following to compile CloudStack:
 Extracting the CloudStack release is relatively simple and can be done
 with a single command as follows:
 
-.. code:: programlisting
+.. code:: bash
 
     $ tar -jxvf apache-cloudstack-4.1.0.src.tar.bz2
 
 You can now move into the directory:
 
-.. code:: programlisting
+.. code:: bash
 
     $ cd ./apache-cloudstack-4.1.0-src
 
@@ -1076,7 +1001,7 @@ 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:: screen
+.. code:: bash
 
     $ sudo apt-get update
     $ sudo apt-get install python-software-properties
@@ -1090,7 +1015,7 @@ that need to be resolved. CloudStack uses maven for dependency
 resolution. You can resolve the buildtime depdencies for CloudStack by
 running:
 
-.. code:: screen
+.. code:: bash
 
     $ mvn3 -P deps
 
@@ -1098,14 +1023,14 @@ 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:: screen
+.. code:: bash
 
     $ dpkg-buildpackage -uc -us
 
 This command will build the following debian packages. You should have
 all of the following:
 
-.. code:: programlisting
+.. code:: bash
 
     cloudstack-common-4.2.0.amd64.deb
     cloudstack-management-4.2.0.amd64.deb
@@ -1131,7 +1056,7 @@ installed. This should have been installed when you pulled in the
 ``Packages.gz`` on a different system, be sure that it's installed there
 as well.
 
-.. code:: screen
+.. code:: bash
 
     $ sudo apt-get install dpkg-dev
 
@@ -1139,17 +1064,14 @@ 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:: screen
+.. 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: Override Files
---------------------
-
-You can safely ignore the warning about a missing override file.
+.. 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
@@ -1164,14 +1086,14 @@ 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:: programlisting
+.. 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:: screen
+.. code:: bash
 
     $ sudo apt-get update
 
@@ -1186,11 +1108,11 @@ 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.
 
-.. code:: programlisting
+::
 
     # yum groupinstall "Development Tools"
 
-.. code:: programlisting
+::
 
     # yum install java-1.6.0-openjdk-devel.x86_64 genisoimage mysql mysql-server ws-commons-util MySQL-python tomcat6 createrepo
 
@@ -1199,24 +1121,24 @@ 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):
 
-.. code:: programlisting
+::
 
     $ tar zxvf apache-maven-3.0.4-bin.tar.gz
 
-.. code:: programlisting
+::
 
     $ 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:
 
-.. code:: programlisting
+::
 
     $ export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/
 
 Verify that Maven is installed correctly:
 
-.. code:: programlisting
+::
 
     $ mvn --version
 
@@ -1229,27 +1151,21 @@ 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.
 
-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.
+.. 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.
 
 3.6.1. Generating RPMS
 ~~~~~~~~~~~~~~~~~~~~~~
 
-Now that we have the prerequisites and source, you will cd to the
-``packaging/centos63/`` directory.
+Now that we have the prerequisites and source, you will cd to the `packaging/centos63/` directory.
 
-.. code:: programlisting
+::
 
     $ cd packaging/centos63
 
 Generating RPMs is done using the ``package.sh`` script:
 
-.. code:: programlisting
+::
 
     $./package.sh
 
@@ -1258,15 +1174,15 @@ That will run for a bit and then place the finished packages in
 
 You should see the following RPMs in that directory:
 
-.. code:: programlisting
+::
 
-                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
+    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
 
 3.6.1.1. Creating a yum repo
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -1275,15 +1191,15 @@ 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:
 
-.. code:: programlisting
+::
 
     $ mkdir -p ~/tmp/repo
 
-.. code:: programlisting
+::
 
     $ cp dist/rpmbuild/RPMS/x86_64/*rpm ~/tmp/repo/
 
-.. code:: programlisting
+::
 
     $ createrepo ~/tmp/repo
 
@@ -1297,13 +1213,13 @@ 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:
 
-.. code:: programlisting
+::
 
-                            [apache-cloudstack]
-                            name=Apache CloudStack
-                            baseurl=http://webserver.tld/path/to/repo
-                            enabled=1
-                            gpgcheck=0
+   [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.
@@ -1349,7 +1265,7 @@ products <http://www.apache.org/legal/resolved.html#category-x>`__.
    Once you have all the dependencies copied over, you'll be able to
    build CloudStack with the ``nonoss`` option:
 
-   .. code:: programlisting
+::
 
                        $ mvn clean
                        $ mvn install -Dnonoss
@@ -1361,51 +1277,8 @@ products <http://www.apache.org/legal/resolved.html#category-x>`__.
    Source” <#sect-source-buildrpm>`__ or `Section 3.5, “Building DEB
    packages” <#sect-source-builddebs>`__ instructions.
 
-`4.1. Who Should Read This <#who-should-read-installation>`__
-
-`4.2. Overview of Installation Steps <#installation-steps-overview>`__
-
-`4.3. Minimum System Requirements <#minimum-system-requirements>`__
-
-`4.3.1. Management Server, Database, and Storage System
-Requirements <#management-server-system-requirements>`__
-
-`4.3.2. Host/Hypervisor System
-Requirements <#hypervisor-system-requirements>`__
-
-`4.4. Configure package repository <#configure-package-repository>`__
-
-`4.4.1. DEB package repository <#configure-package-repository-deb>`__
-
-`4.4.2. RPM package repository <#configure-package-repository-rpm>`__
-
-`4.5. Management Server
-Installation <#management-server-install-flow>`__
-
-`4.5.1. Management Server Installation
-Overview <#management-server-installation-overview>`__
-
-`4.5.2. Prepare the Operating System <#prepare-os>`__
-
-`4.5.3. Install the Management Server on the First
-Host <#management-server-install>`__
-
-`4.5.4. Install the database server <#management-server-install-db>`__
-
-`4.5.5. About Password and Key
-Encryption <#about-password-encryption>`__
-
-`4.5.6. Changing the Default Password
-Encryption <#password-storage-engine>`__
-
-`4.5.7. Prepare NFS Shares <#prepare-nfs-shares>`__
-
-`4.5.8. Prepare and Start Additional Management
-Servers <#install-management-server-multi-nodes>`__
-
-`4.5.9. Prepare the System VM Template <#prepare-system-vm-template>`__
-
-`4.5.10. Installation Complete! Next Steps <#installation-complete>`__
+Installation
+============
 
 4.1. Who Should Read This
 -------------------------
@@ -1570,12 +1443,7 @@ requirements:
 
    At least 1 NIC
 
--  Note
-   ----
-
-   If DHCP is used for hosts, ensure that no conflict occurs between
-   DHCP server used for these hosts and the DHCP router created by
-   CloudStack.
+.. note::If DHCP is used for hosts, ensure that no conflict occurs between DHCP server used for these hosts and the DHCP router created by CloudStack.
 
 -  
 
@@ -1595,38 +1463,7 @@ Hosts have additional requirements depending on the hypervisor. See the
 requirements listed at the top of the Installation section for your
 chosen hypervisor:
 
-Warning
--------
-
-Be sure you fulfill the additional hypervisor requirements and
-installation steps provided in this Guide. Hypervisor hosts must be
-properly prepared to work with CloudStack. For example, the requirements
-for XenServer are listed under Citrix XenServer Installation.
-
--  
-
-   `Section 8.1.1, “System Requirements for KVM Hypervisor
-   Hosts” <#hypervisor-kvm-requirements>`__
-
--  
-
-   `Section 8.2.1, “System Requirements for XenServer
-   Hosts” <#system-requirements-xenserver-hosts>`__
-
--  
-
-   `Section 8.3.1, “System Requirements for Hyper-V Hypervisor
-   Hosts” <#hyperv-requirements>`__
-
--  
-
-   `Section 8.4.1, “System Requirements for vSphere
-   Hosts” <#vmware-requirements>`__
-
--  
-
-   `Section 8.5.1, “System Requirements for LXC
-   Hosts” <#lxc-requirements>`__
+.. warning::Be sure you fulfill the additional hypervisor requirements and installation steps provided in this Guide. Hypervisor hosts must be properly prepared to work with CloudStack. For example, the requirements for XenServer are listed under Citrix XenServer Installation.
 
 4.4. Configure package repository
 ---------------------------------
@@ -1643,11 +1480,7 @@ packages” <#sect-source-builddebs>`__ you may find pre-built DEB and RPM
 packages for your convenience linked from the
 `downloads <http://cloudstack.apache.org/downloads.html>`__ page.
 
-Note
-----
-
-These repositories contain both the Management Server and KVM Hypervisor
-packages.
+.. note::These repositories contain both the Management Server and KVM Hypervisor packages.
 
 4.4.1. DEB package repository
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1660,19 +1493,19 @@ Use your preferred editor and open (or create)
 ``/etc/apt/sources.list.d/cloudstack.list``. Add the community provided
 repository to the file:
 
-.. code:: programlisting
+.. code:: bash
 
     deb http://cloudstack.apt-get.eu/ubuntu precise 4.2
 
 We now have to add the public key to the trusted keys.
 
-.. code:: programlisting
+.. code:: bash
 
     $ wget -O - http://cloudstack.apt-get.eu/release.asc|apt-key add -
 
 Now update your local apt cache.
 
-.. code:: programlisting
+.. code:: bash
 
     $ apt-get update
 
@@ -1695,7 +1528,7 @@ To add the CloudStack repository, create
 ``/etc/yum.repos.d/cloudstack.repo`` and insert the following
 information.
 
-.. code:: programlisting
+.. code:: bash
 
     [cloudstack]
     name=cloudstack
@@ -1727,10 +1560,7 @@ Server nodes will be in your cloud:
 In either case, each machine must meet the system requirements described
 in System Requirements.
 
-Warning
--------
-
-For the sake of security, be sure the public Internet can not access
+.. warning::For the sake of security, be sure the public Internet can not access
 port 8096 or port 8250 on the Management Server.
 
 The procedure for installing the Management Server is:
@@ -1778,7 +1608,7 @@ node.
 
    Check for a fully qualified hostname.
 
-   .. code:: programlisting
+   .. code:: bash
 
        hostname --fqdn
 
@@ -1790,7 +1620,7 @@ node.
 
    Make sure that the machine can reach the Internet.
 
-   .. code:: programlisting
+   .. code:: bash
 
        ping www.cloudstack.org
 
@@ -1798,21 +1628,18 @@ node.
 
    Turn on NTP for time synchronization.
 
-   Note
-   ----
-
-   NTP is required to synchronize the clocks of the servers in your
+.. note::NTP is required to synchronize the clocks of the servers in your
    cloud.
 
    #. 
 
       Install NTP.
 
-      .. code:: programlisting
+      .. code:: bash
 
           yum install ntp
 
-      .. code:: programlisting
+      .. code:: bash
 
           apt-get install openntpd
 
@@ -1828,10 +1655,7 @@ The first step in installation, whether you are installing the
 Management Server on one host or many, is to install the software on a
 single node.
 
-Note
-----
-
-If you are planning to install the Management Server on multiple nodes
+.. note::If you are planning to install the Management Server on multiple nodes
 for high availability, do not proceed to the additional nodes yet. That
 step will come later.
 
@@ -1844,14 +1668,14 @@ the Management server.
 
 We start by installing the required packages:
 
-.. code:: programlisting
+.. code:: bash
 
     yum install cloudstack-management
 
 4.5.3.2. Install on Ubuntu
 ^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-.. code:: programlisting
+.. code:: bash
 
     apt-get install cloudstack-management
 
@@ -1896,11 +1720,11 @@ Node” <#management-server-install-db-external>`__.
 
    Install MySQL from the package repository of your distribution:
 
-   .. code:: programlisting
+   .. code:: bash
 
        yum install mysql-server
 
-   .. code:: programlisting
+   .. code:: bash
 
        apt-get install mysql-server
 
@@ -1918,14 +1742,11 @@ Node” <#management-server-install-db-external>`__.
    Servers you are deploying. This example assumes one Management
    Server.
 
-   Note
-   ----
-
-   On Ubuntu, you can also create a file
-   ``/etc/mysql/conf.d/cloudstack.cnf`` and add these directives there.
+.. note::On Ubuntu, you can also create a file
+   `/etc/mysql/conf.d/cloudstack.cnf` and add these directives there.
    Don't forget to add [mysqld] on the first line of the file.
 
-   .. code:: programlisting
+   .. code:: bash
 
        innodb_rollback_on_timeout=1
        innodb_lock_wait_timeout=600
@@ -1940,13 +1761,13 @@ Node” <#management-server-install-db-external>`__.
    On RHEL/CentOS, MySQL doesn't automatically start after installation.
    Start it manually.
 
-   .. code:: programlisting
+   .. code:: bash
 
        service mysqld start
 
    On Ubuntu, restart MySQL.
 
-   .. code:: programlisting
+   .. code:: bash
 
        service mysql restart
 
@@ -1955,8 +1776,7 @@ Node” <#management-server-install-db-external>`__.
    (CentOS and RHEL only; not required on Ubuntu)
 
    Warning
-   -------
-
+   
    On RHEL and CentOS, MySQL does not set a root password by default. It
    is very strongly recommended that you set a root password as a
    security precaution.
@@ -1964,7 +1784,7 @@ Node” <#management-server-install-db-external>`__.
    Run the following command to secure your installation. You can answer
    "Y" to all questions.
 
-   .. code:: programlisting
+   .. code:: bash
 
        mysql_secure_installation
 
@@ -1984,7 +1804,7 @@ Node” <#management-server-install-db-external>`__.
       In RHEL or CentOS, SELinux is installed and enabled by default.
       You can verify this with:
 
-      .. code:: programlisting
+      .. code:: bash
 
           $ rpm -qa | grep selinux
 
@@ -1996,19 +1816,19 @@ Node” <#management-server-install-db-external>`__.
 
       In RHEL or CentOS:
 
-      .. code:: programlisting
+      .. code:: bash
 
           vi /etc/selinux/config
 
       Change the following line
 
-      .. code:: programlisting
+      .. code:: bash
 
           SELINUX=enforcing
 
       to this:
 
-      .. code:: programlisting
+      .. code:: bash
 
           SELINUX=permissive
 
@@ -2017,7 +1837,7 @@ Node” <#management-server-install-db-external>`__.
       Set SELinux to permissive starting immediately, without requiring
       a system reboot.
 
-      .. code:: programlisting
+      .. code:: bash
 
           $ setenforce permissive
 
@@ -2069,7 +1889,7 @@ Node” <#management-server-install-db-external>`__.
       cluster management server node IP. If not specified, the local IP
       address will be used.
 
-   .. code:: programlisting
+   .. code:: bash
 
        cloudstack-setup-databases cloud:<dbpassword>@localhost \
        --deploy-as=root:<password> \
@@ -2082,7 +1902,7 @@ Node” <#management-server-install-db-external>`__.
    “Successfully initialized the database.”
 
    Note
-   ----
+
 
    If the script is unable to connect to the MySQL database, check the
    "localhost" loopback address in ``/etc/hosts``. It should be pointing
@@ -2095,7 +1915,7 @@ Node” <#management-server-install-db-external>`__.
    If you are running the KVM hypervisor on the same machine with the
    Management Server, edit /etc/sudoers and add the following line:
 
-   .. code:: programlisting
+   .. code:: bash
 
        Defaults:cloud !requiretty
 
@@ -2105,7 +1925,7 @@ Node” <#management-server-install-db-external>`__.
    for the Management Server. This command will set up iptables,
    sudoers, and start the Management Server.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # cloudstack-setup-management
 
@@ -2123,7 +1943,7 @@ same node for MySQL. See `Section 4.5.4.1, “Install the Database on the
 Management Server Node” <#management-server-install-db-local>`__.
 
 Note
-----
+
 
 The management server doesn't require a specific distribution for the
 MySQL node. You can use a distribution or Operating System of your
@@ -2136,11 +1956,11 @@ Requirements” <#management-server-system-requirements>`__.
 
    Install MySQL from the package repository from your distribution:
 
-   .. code:: programlisting
+   .. code:: bash
 
        yum install mysql-server
 
-   .. code:: programlisting
+   .. code:: bash
 
        apt-get install mysql-server
 
@@ -2154,13 +1974,13 @@ Requirements” <#management-server-system-requirements>`__.
    two Management Servers.
 
    Note
-   ----
+
 
    On Ubuntu, you can also create /etc/mysql/conf.d/cloudstack.cnf file
    and add these directives there. Don't forget to add [mysqld] on the
    first line of the file.
 
-   .. code:: programlisting
+   .. code:: bash
 
        innodb_rollback_on_timeout=1
        innodb_lock_wait_timeout=600
@@ -2176,13 +1996,13 @@ Requirements” <#management-server-system-requirements>`__.
    On RHEL/CentOS, MySQL doesn't automatically start after installation.
    Start it manually.
 
-   .. code:: programlisting
+   .. code:: bash
 
        service mysqld start
 
    On Ubuntu, restart MySQL.
 
-   .. code:: programlisting
+   .. code:: bash
 
        service mysql restart
 
@@ -2191,7 +2011,7 @@ Requirements” <#management-server-system-requirements>`__.
    (CentOS and RHEL only; not required on Ubuntu)
 
    Warning
-   -------
+
 
    On RHEL and CentOS, MySQL does not set a root password by default. It
    is very strongly recommended that you set a root password as a
@@ -2201,7 +2021,7 @@ Requirements” <#management-server-system-requirements>`__.
    "Y" to all questions except "Disallow root login remotely?". Remote
    root login is required to set up the databases.
 
-   .. code:: programlisting
+   .. code:: bash
 
        mysql_secure_installation
 
@@ -2213,7 +2033,7 @@ Requirements” <#management-server-system-requirements>`__.
    On Ubuntu, UFW is the default firewall. Open the port with this
    command:
 
-   .. code:: programlisting
+   .. code:: bash
 
        ufw allow mysql
 
@@ -2224,7 +2044,7 @@ Requirements” <#management-server-system-requirements>`__.
       Edit the /etc/sysconfig/iptables file and add the following line
       at the beginning of the INPUT chain.
 
-      .. code:: programlisting
+      .. code:: bash
 
           -A INPUT -p tcp --dport 3306 -j ACCEPT
 
@@ -2232,7 +2052,7 @@ Requirements” <#management-server-system-requirements>`__.
 
       Now reload the iptables rules.
 
-      .. code:: programlisting
+      .. code:: bash
 
           service iptables restart
 
@@ -2286,7 +2106,7 @@ Requirements” <#management-server-system-requirements>`__.
       cluster management server node IP. If not specified, the local IP
       address will be used.
 
-   .. code:: programlisting
+   .. code:: bash
 
        cloudstack-setup-databases cloud:<dbpassword>@<ip address mysql server> \
        --deploy-as=root:<password> \
@@ -2397,7 +2217,7 @@ Modify the following list properties available in
 ``client/tomcatconf/componentContext.xml.in`` as applicable, to the
 desired order:
 
-.. code:: programlisting
+.. code:: bash
 
     <property name="UserAuthenticators">
              <list>
@@ -2433,9 +2253,6 @@ Cloud Infrastructure Overview). Both of these can be NFS shares. This
 section tells how to set up the NFS shares before adding the storage to
 CloudStack.
 
-Alternative Storage
--------------------
-
 NFS is not the only option for primary or secondary storage. For
 example, you may use Ceph RBD, GlusterFS, iSCSI, and others. The choice
 of storage system will depend on the choice of hypervisor and whether
@@ -2471,7 +2288,7 @@ The exact commands for the following steps may vary depending on your
 operating system version.
 
 Warning
--------
+
 
 (KVM only) Ensure that no volume is already mounted at your NFS mount
 point.
@@ -2482,7 +2299,7 @@ point.
    if you are using NFS for primary storage as well, create a second NFS
    share. For example:
 
-   .. code:: programlisting
+   .. code:: bash
 
        # mkdir -p /export/primary
        # mkdir -p /export/secondary
@@ -2493,13 +2310,13 @@ point.
    Export the NFS share(s) with
    rw,async,no\_root\_squash,no\_subtree\_check. For example:
 
-   .. code:: programlisting
+   .. code:: bash
 
        # vi /etc/exports
 
    Insert the following line.
 
-   .. code:: programlisting
+   .. code:: bash
 
        /export  *(rw,async,no_root_squash,no_subtree_check)
 
@@ -2507,7 +2324,7 @@ point.
 
    Export the /export directory.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # exportfs -a
 
@@ -2516,7 +2333,7 @@ point.
    On the management server, create a mount point for secondary storage.
    For example:
 
-   .. code:: programlisting
+   .. code:: bash
 
        # mkdir -p /mnt/secondary
 
@@ -2525,7 +2342,7 @@ point.
    Mount the secondary storage on your Management Server. Replace the
    example NFS server name and NFS share paths below with your own.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # mount -t nfs nfsservername:/nfs/share/secondary /mnt/secondary
 
@@ -2545,7 +2362,7 @@ operating system version.
 
    On RHEL/CentOS systems, you'll need to install the nfs-utils package:
 
-   .. code:: programlisting
+   .. code:: bash
 
        $ sudo yum install nfs-utils
 
@@ -2554,7 +2371,7 @@ operating system version.
    On the Management Server host, create two directories that you will
    use for primary and secondary storage. For example:
 
-   .. code:: programlisting
+   .. code:: bash
 
        # mkdir -p /export/primary
        # mkdir -p /export/secondary
@@ -2565,13 +2382,13 @@ operating system version.
    Export the NFS share(s) with
    rw,async,no\_root\_squash,no\_subtree\_check. For example:
 
-   .. code:: programlisting
+   .. code:: bash
 
        # vi /etc/exports
 
    Insert the following line.
 
-   .. code:: programlisting
+   .. code:: bash
 
        /export  *(rw,async,no_root_squash,no_subtree_check)
 
@@ -2579,7 +2396,7 @@ operating system version.
 
    Export the /export directory.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # exportfs -a
 
@@ -2587,13 +2404,13 @@ operating system version.
 
    Edit the /etc/sysconfig/nfs file.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # vi /etc/sysconfig/nfs
 
    Uncomment the following lines:
 
-   .. code:: programlisting
+   .. code:: bash
 
        LOCKD_TCPPORT=32803
        LOCKD_UDPPORT=32769
@@ -2606,14 +2423,14 @@ operating system version.
 
    Edit the /etc/sysconfig/iptables file.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # vi /etc/sysconfig/iptables
 
    Add the following lines at the beginning of the INPUT chain, where
    <NETWORK> is the network that you'll be using:
 
-   .. code:: programlisting
+   .. code:: bash
 
        -A INPUT -s <NETWORK> -m state --state NEW -p udp --dport 111 -j ACCEPT
        -A INPUT -s <NETWORK> -m state --state NEW -p tcp --dport 111 -j ACCEPT
@@ -2631,7 +2448,7 @@ operating system version.
 
    Run the following commands:
 
-   .. code:: programlisting
+   .. code:: bash
 
        # service iptables restart
        # service iptables save
@@ -2642,7 +2459,7 @@ operating system version.
    domain to /etc/idmapd.conf on both the hypervisor host and Management
    Server.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # vi /etc/idmapd.conf
 
@@ -2650,7 +2467,7 @@ operating system version.
    idmapd.conf and replace the value in the file with your own domain.
    In the example below, the domain is company.com.
 
-   .. code:: programlisting
+   .. code:: bash
 
        Domain = company.com
 
@@ -2675,7 +2492,7 @@ operating system version.
       Be sure NFS and rpcbind are running. The commands might be
       different depending on your OS. For example:
 
-      .. code:: programlisting
+      .. code:: bash
 
           # service rpcbind start
           # service nfs start
@@ -2689,7 +2506,7 @@ operating system version.
       directories. For example, substitute your own management server
       name:
 
-      .. code:: programlisting
+      .. code:: bash
 
           # mkdir /primary
           # mount -t nfs <management-server-name>:/export/primary
@@ -2727,7 +2544,7 @@ OS for the Management Server.
 
    Ensure that necessary services are started and set to start on boot.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # service rpcbind start
        # service nfs start
@@ -2741,7 +2558,7 @@ OS for the Management Server.
    command, see `Section 4.5.4.2, “Install the Database on a Separate
    Node” <#management-server-install-db-external>`__.)
 
-   .. code:: programlisting
+   .. code:: bash
 
        # cloudstack-setup-databases cloud:dbpassword@dbhost -e encryption_type -m management_server_key -k database_key -i management_server_ip
 
@@ -2749,7 +2566,7 @@ OS for the Management Server.
 
    Configure the OS and start the Management Server:
 
-   .. code:: programlisting
+   .. code:: bash
 
        # cloudstack-setup-management
 
@@ -2772,7 +2589,7 @@ Secondary storage must be seeded with a template that is used for
 CloudStack system VMs.
 
 Note
-----
+
 
 When copying and pasting a command, be sure the command has pasted as a
 single line before executing. Some document viewers may introduce
@@ -2800,7 +2617,7 @@ unwanted line breaks in copied text.
 
       For Hyper-V
 
-      .. code:: programlisting
+      .. code:: bash
 
           # /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u http://download.cloud.com/templates/4.3/systemvm64template-2013-12-23-hyperv.vhd.bz2 -h hyperv -s <optional-management-server-secret-key> -F
 
@@ -2808,7 +2625,7 @@ unwanted line breaks in copied text.
 
       For XenServer:
 
-      .. code:: programlisting
+      .. code:: bash
 
           # /usr/lib64/cloud/common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u http://download.cloud.com/templates/acton/acton-systemvm-02062012.vhd.bz2 -h xenserver -s <optional-management-server-secret-key> -F
 
@@ -2816,7 +2633,7 @@ unwanted line breaks in copied text.
 
       For vSphere:
 
-      .. code:: programlisting
+      .. code:: bash
 
           # /usr/lib64/cloud/common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u http://download.cloud.com/templates/burbank/burbank-systemvm-08012012.ova -h vmware -s <optional-management-server-secret-key>  -F
 
@@ -2824,7 +2641,7 @@ unwanted line breaks in copied text.
 
       For KVM:
 
-      .. code:: programlisting
+      .. code:: bash
 
           # /usr/lib64/cloud/common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u http://download.cloud.com/templates/acton/acton-systemvm-02062012.qcow2.bz2 -h kvm -s <optional-management-server-secret-key> -F
 
@@ -2832,13 +2649,13 @@ unwanted line breaks in copied text.
 
       For LXC:
 
-      .. code:: programlisting
+      .. code:: bash
 
           # /usr/lib64/cloud/common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u http://download.cloud.com/templates/acton/acton-systemvm-02062012.qcow2.bz2 -h lxc -s <optional-management-server-secret-key> -F
 
    On Ubuntu, use the following path instead:
 
-   .. code:: programlisting
+   .. code:: bash
 
        # /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt
 
@@ -2851,7 +2668,7 @@ unwanted line breaks in copied text.
    When the script has finished, unmount secondary storage and remove
    the created directory.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # umount /mnt/secondary
        # rmdir /mnt/secondary
@@ -2883,28 +2700,8 @@ What should you do next?
    virtual machines on it, so you can watch how CloudStack manages the
    infrastructure. See Provision Your Cloud Infrastructure.
 
-`5.1. Log In to the UI <#log-in>`__
-
-`5.1.1. End User's UI Overview <#end-user-ui-overview>`__
-
-`5.1.2. Root Administrator's UI Overview <#root-admin-ui-overview>`__
-
-`5.1.3. Logging In as the Root Administrator <#log-in-root-admin>`__
-
-`5.1.4. Changing the Root Password <#changing-root-password>`__
-
-`5.2. Using SSH Keys for Authentication <#using-sshkeys>`__
-
-`5.2.1. Creating an Instance Template that Supports SSH
-Keys <#create-ssh-template>`__
-
-`5.2.2. Creating the SSH Keypair <#create-ssh-keypair>`__
-
-`5.2.3. Creating an Instance <#creating-ssh-instance>`__
-
-`5.2.4. Logging In Using the SSH Keypair <#logging-in-ssh>`__
-
-`5.2.5. Resetting SSH Keys <#reset-ssh>`__
+User Interface
+==============
 
 5.1. Log In to the UI
 ---------------------
@@ -2916,7 +2713,7 @@ available in popular browsers including IE7, IE8, IE9, Firefox 3.5+,
 Firefox 4, Safari 4, and Safari 5. The URL is: (substitute your own
 management server IP address)
 
-.. code:: programlisting
+.. code:: bash
 
     http://<management-server-ip-address>:8080/client
 
@@ -2924,21 +2721,12 @@ On a fresh Management Server installation, a guided tour splash screen
 appears. On later visits, you’ll see a login screen where you specify
 the following to proceed to your Dashboard:
 
-Username
-''''''''
-
-The user ID of your account. The default username is admin.
+Username -> The user ID of your account. The default username is admin.
 
-Password
-''''''''
-
-The password associated with the user ID. The password for the default
+Password -> The password associated with the user ID. The password for the default
 username is password.
 
-Domain
-''''''
-
-If you are a root user, leave this field blank.
+Domain -> If you are a root user, leave this field blank.
 
 If you are a user in the sub-domains, enter the full path to the domain,
 excluding the root domain.
@@ -2985,7 +2773,7 @@ provision, view, and manage your cloud infrastructure.
    Open your favorite Web browser and go to this URL. Substitute the IP
    address of your own Management Server:
 
-   .. code:: programlisting
+   .. code:: bash
 
        http://<management-server-ip-address>:8080/client
 
@@ -3033,7 +2821,7 @@ provision, view, and manage your cloud infrastructure.
    the Root Password” <#changing-root-password>`__.
 
 Warning
--------
+
 
 You are logging in as the root administrator. This account manages the
 CloudStack deployment, including physical infrastructure. The root
@@ -3059,7 +2847,7 @@ new, unique value.
    Open your favorite Web browser and go to this URL. Substitute the IP
    address of your own Management Server:
 
-   .. code:: programlisting
+   .. code:: bash
 
        http://<management-server-ip-address>:8080/client
 
@@ -3122,7 +2910,7 @@ Create a instance template that supports SSH Keys.
    Script <http://sourceforge.net/projects/cloudstack/files/SSH%20Key%20Gen%20Script/>`__\ to
    the instance you have created.
 
-   .. code:: programlisting
+   .. code:: bash
 
        wget http://downloads.sourceforge.net/project/cloudstack/SSH%20Key%20Gen%20Script/cloud-set-guest-sshkey.in?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fcloudstack%2Ffiles%2FSSH%2520Key%2520Gen%2520Script%2F&ts=1331225219&use_mirror=iweb
 
@@ -3130,7 +2918,7 @@ Create a instance template that supports SSH Keys.
 
    Copy the file to /etc/init.d.
 
-   .. code:: programlisting
+   .. code:: bash
 
        cp cloud-set-guest-sshkey.in /etc/init.d/
 
@@ -3138,7 +2926,7 @@ Create a instance template that supports SSH Keys.
 
    Give the necessary permissions on the script:
 
-   .. code:: programlisting
+   .. code:: bash
 
        chmod +x /etc/init.d/cloud-set-guest-sshkey.in
 
@@ -3146,7 +2934,7 @@ Create a instance template that supports SSH Keys.
 
    Run the script while starting up the operating system:
 
-   .. code:: programlisting
+   .. code:: bash
 
        chkconfig --add cloud-set-guest-sshkey.in
 
@@ -3165,7 +2953,7 @@ For example, make a call from the cloudstack server to create a SSH
 keypair called "keypair-doc" for the admin account in the root domain:
 
 Note
-----
+
 
 Ensure that you adjust these values to meet your needs. If you are
 making the API call from a different server, your URL/PORT will be
@@ -3175,13 +2963,13 @@ different, and you will need to use the API keys.
 
    Run the following curl command:
 
-   .. code:: programlisting
+   .. code:: bash
 
        curl --globoff "http://localhost:8096/?command=createSSHKeyPair&name=keypair-doc&account=admin&domainid=5163440e-c44b-42b5-9109-ad75cae8e8a2"
 
    The output is something similar to what is given below:
 
-   .. code:: programlisting
+   .. code:: bash
 
        <?xml version="1.0" encoding="ISO-8859-1"?><createsshkeypairresponse cloud-stack-version="3.0.0.20120228045507"><keypair><name>keypair-doc</name><fingerprint>f6:77:39:d5:5e:77:02:22:6a:d8:7f:ce:ab:cd:b3:56</fingerprint><privatekey>-----BEGIN RSA PRIVATE KEY-----
        MIICXQIBAAKBgQCSydmnQ67jP6lNoXdX3noZjQdrMAWNQZ7y5SrEu4wDxplvhYci
@@ -3201,7 +2989,7 @@ different, and you will need to use the API keys.
 
    Copy the key data into a file. The file looks like this:
 
-   .. code:: programlisting
+   .. code:: bash
 
        -----BEGIN RSA PRIVATE KEY-----
        MIICXQIBAAKBgQCSydmnQ67jP6lNoXdX3noZjQdrMAWNQZ7y5SrEu4wDxplvhYci
@@ -3230,14 +3018,14 @@ Ensure that you use the same SSH key name that you created at
 `Section 5.2.2, “Creating the SSH Keypair” <#create-ssh-keypair>`__.
 
 Note
-----
+
 
 You cannot create the instance by using the GUI at this time and
 associate the instance with the newly created SSH keypair.
 
 A sample curl command to create a new instance is:
 
-.. code:: programlisting
+.. code:: bash
 
     curl --globoff http://localhost:<port number>/?command=deployVirtualMachine\&zoneId=1\&serviceOfferingId=18727021-7556-4110-9322-d625b52e0813\&templateId=e899c18a-ce13-4bbf-98a9-625c5026e0b5\&securitygroupids=ff03f02f-9e3b-48f8-834d-91b822da40c5\&account=admin\&domainid=1\&keypair=keypair-doc
 
@@ -3253,7 +3041,7 @@ in to the cloud setup.
 
 For exaple, from a Linux OS, run:
 
-.. code:: programlisting
+.. code:: bash
 
     ssh -i ~/.ssh/keypair-doc <ip address>
 
@@ -3269,59 +3057,8 @@ compromised SSH keypair can be changed, and the user can access the VM
 by using the new keypair. Just create or register a new keypair, then
 call resetSSHKeyForVirtualMachine.
 
-`6.1. Overview of Provisioning Steps <#provisioning-steps-overview>`__
-
-`6.2. Adding Regions (optional) <#region-add>`__
-
-`6.2.1. The First Region: The Default Region <#region-first>`__
-
-`6.2.2. Adding a Region <#region-add-2>`__
-
-`6.2.3. Adding Third and Subsequent Regions <#region-add-n>`__
-
-`6.2.4. Deleting a Region <#region-delete>`__
-
-`6.3. Adding a Zone <#zone-add>`__
-
-`6.3.1. Basic Zone Configuration <#basic-zone-configuration>`__
-
-`6.3.2. Advanced Zone Configuration <#advanced-zone-configuration>`__
-
-`6.4. Adding a Pod <#pod-add>`__
-
-`6.5. Adding a Cluster <#cluster-add>`__
-
-`6.5.1. Add Cluster: KVM or XenServer <#add-clusters-kvm-xenserver>`__
-
-`6.5.2. Add Cluster: vSphere <#add-clusters-vsphere>`__
-
-`6.6. Adding a Host <#host-add>`__
-
-`6.6.1. Adding a Host (XenServer or
-KVM) <#host-add-xenserver-kvm-ovm>`__
-
-`6.6.2. Adding a Host (vSphere) <#host-add-vsphere>`__
-
-`6.7. Add Primary Storage <#primary-storage-add>`__
-
-`6.7.1. System Requirements for Primary
-Storage <#sys-require-primary-storage>`__
-
-`6.7.2. Adding Primary Storage <#adding-primary-storage>`__
-
-`6.7.3. Configuring a Storage Plug-in <#idp140240982262208>`__
-
-`6.8. Add Secondary Storage <#secondary-storage-add>`__
-
-`6.8.1. System Requirements for Secondary
-Storage <#sys-require-secondary-storage>`__
-
-`6.8.2. Adding Secondary Storage <#adding-secondary-storage>`__
-
-`6.8.3. Adding an NFS Secondary Staging Store for Each
-Zone <#secondary-staging-store>`__
-
-`6.9. Initialize and Test <#initialize-and-test>`__
+Configuring your CloudStack Installation
+========================================
 
 This section tells how to add regions, zones, pods, clusters, hosts,
 storage, and networks to your cloud. If you are unfamiliar with these
@@ -3417,7 +3154,7 @@ region.
    for the new region. The default region is automatically assigned a
    region ID of 1, so your first additional region might be region 2.
 
-   .. code:: programlisting
+   .. code:: bash
 
        cloudstack-setup-databases cloud:<dbpassword>@localhost --deploy-as=root:<password> -e <encryption_type> -m <management_server_key> -k <database_key> -r <region_id>
 
@@ -3478,7 +3215,7 @@ region.
 
       First, run this command to copy the contents of the database:
 
-      .. code:: programlisting
+      .. code:: bash
 
           # mysqldump -u root -p<mysql_password> -h <region1_db_host> cloud account user domain > region1.sql
 
@@ -3486,7 +3223,7 @@ region.
 
       Then run this command to put the data onto the region 2 database:
 
-      .. code:: programlisting
+      .. code:: bash
 
           # mysql -u root -p<mysql_password> -h <region2_db_host> cloud < region1.sql
 
@@ -3494,7 +3231,7 @@ region.
 
    Remove project accounts. Run these commands on the region 2 database:
 
-   .. code:: programlisting
+   .. code:: bash
 
        mysql> delete from account where type = 5;
 
@@ -3502,7 +3239,7 @@ region.
 
    Set the default zone as null:
 
-   .. code:: programlisting
+   .. code:: bash
 
        mysql> update account set default_zone_id = null;
 
@@ -3522,7 +3259,7 @@ repeat certain steps additional times for each additional region:
    Install CloudStack in each additional region. Set the region ID for
    each region during the database setup step.
 
-   .. code:: programlisting
+   .. code:: bash
 
        cloudstack-setup-databases cloud:<dbpassword>@localhost --deploy-as=root:<password> -e <encryption_type> -m <management_server_key> -k <database_key> -r <region_id>
 
@@ -3580,7 +3317,7 @@ repeat certain steps additional times for each additional region:
 
       First, run this command to copy the contents of the database:
 
-      .. code:: programlisting
+      .. code:: bash
 
           # mysqldump -u root -p<mysql_password> -h <region1_db_host> cloud account user domain > region1.sql
 
@@ -3589,7 +3326,7 @@ repeat certain steps additional times for each additional region:
       Then run this command to put the data onto the new region's
       database. For example, for region 3:
 
-      .. code:: programlisting
+      .. code:: bash
 
           # mysql -u root -p<mysql_password> -h <region3_db_host> cloud < region1.sql
 
@@ -3597,7 +3334,7 @@ repeat certain steps additional times for each additional region:
 
    Remove project accounts. Run these commands on the region 3 database:
 
-   .. code:: programlisting
+   .. code:: bash
 
        mysql> delete from account where type = 5;
 
@@ -3605,7 +3342,7 @@ repeat certain steps additional times for each additional region:
 
    Set the default zone as null:
 
-   .. code:: programlisting
+   .. code:: bash
 
        mysql> update account set default_zone_id = null;
 
@@ -3962,7 +3699,7 @@ and secondary storage.
    About Hosts.
 
    Note
-   ----
+
 
    When you add a hypervisor host to CloudStack, the host must not have
    any VMs already running.
@@ -4218,7 +3955,7 @@ and secondary storage.
    `Section 2.5, “About Hosts” <#about-hosts>`__.
 
    Note
-   ----
+
 
    When you deploy CloudStack, the hypervisor host must not have any VMs
    already running.
@@ -4714,10 +4451,7 @@ To add a vSphere cluster to CloudStack:
    supported, as well as crucial additional steps to configure the
    hypervisor hosts for use with CloudStack.
 
-   Warning
-   -------
-
-   Be sure you have performed the additional CloudStack-specific
+   .. warning:: Be sure you have performed the additional CloudStack-specific
    configuration steps described in the hypervisor installation section
    for your particular hypervisor.
 
@@ -4743,10 +4477,7 @@ XenServer and KVM hosts can be added to a cluster at any time.
 6.6.1.1. Requirements for XenServer and KVM Hosts
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-Warning
--------
-
-Make sure the hypervisor host does not have any VMs already running
+.. warning:: Make sure the hypervisor host does not have any VMs already running
 before you add it to CloudStack.
 
 Configuration requirements:
@@ -4776,12 +4507,12 @@ For all additional hosts to be added to the cluster, run the following
 command. This will cause the host to join the master in a XenServer
 pool.
 
-.. code:: programlisting
+.. code:: bash
 
     # xe pool-join master-address=[master IP] master-username=root master-password=[your password]
 
 Note
-----
+
 
 When copying and pasting a command, be sure the command has pasted as a
 single line before executing. Some document viewers may introduce
@@ -4801,7 +4532,7 @@ bonds on the new hosts in the cluster.
 
    Run the script:
 
-   .. code:: programlisting
+   .. code:: bash
 
        # ./cloud-setup-bonding.sh
 
@@ -4945,17 +4676,11 @@ of that procedure. You can add primary storage servers at any time, such
 as when adding a new cluster or adding more servers to an existing
 cluster.
 
-Warning
--------
-
-When using preallocated storage for primary storage, be sure there is
+.. warning:: When using preallocated storage for primary storage, be sure there is
 nothing on the storage (ex. you have an empty SAN volume or an empty NFS
 share). Adding the storage to CloudStack will destroy any existing data.
 
-Note
-----
-
-Primary storage can also be added at the zone level through the
+.. note:: Primary storage can also be added at the zone level through the
 CloudStack API (adding zone-level primary storage is not yet supported
 through the CloudStack UI).
 
@@ -5096,7 +4821,7 @@ through the CloudStack UI.
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Note
-----
+
 
 Primary storage that is based on a custom plug-in (ex. SolidFire) must
 be added through the CloudStack API (described later in this section).
@@ -5105,13 +4830,13 @@ type of primary storage (although most of its features are available
 through the CloudStack UI).
 
 Note
-----
+
 
 At this time, a custom storage plug-in, such as the SolidFire storage
 plug-in, can only be leveraged for data disks (through Disk Offerings).
 
 Note
-----
+
 
 The SolidFire storage plug-in for CloudStack is part of the standard
 CloudStack install. There is no additional work required to add this
@@ -5293,10 +5018,7 @@ When you create a new zone, the first secondary storage is added as part
 of that procedure. You can add secondary storage servers at any time to
 add more servers to an existing zone.
 
-Warning
--------
-
-Ensure that nothing is stored on the server. Adding the server to
+.. warning:: Ensure that nothing is stored on the server. Adding the server to
 CloudStack will destroy any existing data.
 
 #. 
@@ -5348,10 +5070,7 @@ CloudStack will destroy any existing data.
       for zone-based storage, and the others for region-wide storage.
       For Hyper-V, select SMB/CIFS.
 
-      Warning
-      -------
-
-      Heterogeneous Secondary Storage is not supported in Regions. You
+      .. warning:: Heterogeneous Secondary Storage is not supported in Regions. You
       can use only a single NFS, S3, or Swift account per region.
 
    -  
@@ -5359,10 +5078,7 @@ CloudStack will destroy any existing data.
       Create NFS Secondary Staging Store. This box must always be
       checked.
 
-      Warning
-      -------
-
-      Even if the UI allows you to uncheck this box, do not do so. This
+      .. warning:: Even if the UI allows you to uncheck this box, do not do so. This
       checkbox and the three fields below it must be filled in. Even
       when Swift or S3 is used as the secondary storage provider, an NFS
       staging storage in each zone is still required.
@@ -5520,14 +5236,8 @@ Installation.
 If you decide to grow your deployment, you can add more hosts, primary
 storage, zones, pods, and clusters.
 
-`7.1. About Configuration
-Parameters <#about-global-config-parameters>`__
-
-`7.2. Setting Global Configuration Parameters <#global-config-howto>`__
-
-`7.3. Setting Local Configuration Parameters <#local-config-howto>`__
-
-`7.4. Granular Global Configuration Parameters <#granular-param>`__
+Configuration Parameters
+========================
 
 7.1. About Configuration Parameters
 -----------------------------------
@@ -5884,136 +5594,8 @@ blacklisted.routes
 Routes that are blacklisted cannot be used for creating static routes
 for a VPC Private Gateway.
 
-`8.1. KVM Hypervisor Host Installation <#hypervisor-kvm-install-flow>`__
-
-`8.1.1. System Requirements for KVM Hypervisor
-Hosts <#hypervisor-kvm-requirements>`__
-
-`8.1.2. KVM Installation Overview <#hypervisor-host-install-overview>`__
-
-`8.1.3. Prepare the Operating
-System <#hypervisor-host-install-prepare-os>`__
-
-`8.1.4. Install and configure the
-Agent <#hypervisor-host-install-agent>`__
-
-`8.1.5. Install and Configure
-libvirt <#hypervisor-host-install-libvirt>`__
-
-`8.1.6. Configure the Security
-Policies <#hypervisor-host-install-security-policies>`__
-
-`8.1.7. Configure the network
-bridges <#hypervisor-host-install-network>`__
-
-`8.1.8. Configure the network using
-OpenVswitch <#hypervisor-host-install-network-openvswitch>`__
-
-`8.1.9. Configuring the firewall <#hypervisor-host-install-firewall>`__
-
-`8.1.10. Add the host to CloudStack <#hypervisor-host-install-finish>`__
-
-`8.1.11. Hypervisor Support for Primary
-Storage <#hypervisor-support-for-primarystorage>`__
-
-`8.2. Citrix XenServer Installation for
-CloudStack <#citrix-xenserver-installation>`__
-
-`8.2.1. System Requirements for XenServer
-Hosts <#system-requirements-xenserver-hosts>`__
-
-`8.2.2. XenServer Installation Steps <#xenserver-installation-steps>`__
-
-`8.2.3. Configure XenServer dom0
-Memory <#config-xenserver-dom0-memory>`__
-
-`8.2.4. Username and Password <#xenserver-username-password>`__
-
-`8.2.5. Time Synchronization <#xenserver-time-sync>`__
-
-`8.2.6. Licensing <#xenserver-licensing>`__
-
-`8.2.7. Install CloudStack XenServer Support Package
-(CSP) <#xenserver-support-pkg-installation>`__
-
-`8.2.8. Primary Storage Setup for
-XenServer <#xenserver-primary-storage-setup>`__
-
-`8.2.9. iSCSI Multipath Setup for XenServer
-(Optional) <#xenserver-iscsi-multipath-setup>`__
-
-`8.2.10. Physical Networking Setup for
-XenServer <#xenserver-physical-network-setup>`__
-
-`8.2.11. Upgrading XenServer Versions <#xenserver-version-upgrading>`__
-
-`8.3. Installing Hyper-V for CloudStack <#hyperv-install>`__
-
-`8.3.1. System Requirements for Hyper-V Hypervisor
-Hosts <#hyperv-requirements>`__
-
-`8.3.2. Preparation Checklist for Hyper-V <#hyperv-checklist>`__
-
-`8.3.3. Hyper-V Installation Steps <#hyperv-install-steps>`__
-
-`8.3.4. Installing the CloudStack Agent on a Hyper-V
-Host <#hyperv-agent-install>`__
-
-`8.3.5. Physical Network Configuration for
-Hyper-V <#hyperv-install-network>`__
-
-`8.3.6. Storage Preparation for Hyper-V
-(Optional) <#hyperv-install-storage>`__
-
-`8.4. VMware vSphere Installation and Configuration <#vmware-install>`__
-
-`8.4.1. System Requirements for vSphere Hosts <#vmware-requirements>`__
-
-`8.4.2. Preparation Checklist for
-VMware <#vmware-preparation-checklist>`__
-
-`8.4.3. vSphere Installation
-Steps <#vmware-vsphere-installation-steps>`__
-
-`8.4.4. ESXi Host setup <#vmware-esxi-host-setup>`__
-
-`8.4.5. Physical Host Networking <#vmware-physical-host-networking>`__
-
-`8.4.6. Configuring a vSphere Cluster with Nexus 1000v Virtual
-Switch <#vmware-vsphere-cluster-config-nexus-vswitch>`__
-
-`8.4.7. Configuring a VMware Datacenter with VMware Distributed Virtual
-Switch <#vmware-cluster-config-dvswitch>`__
-
-`8.4.8. Storage Preparation for vSphere (iSCSI
-only) <#vmware-vsphere-iscsi-storage-preparation>`__
-
-`8.4.9. Add Hosts or Configure Clusters
-(vSphere) <#vmware-add-hosts-config-vsphere-cluster>`__
-
-`8.4.10. Applying Hotfixes to a VMware vSphere
-Host <#esxi-patch-install>`__
-
-`8.5. LXC Installation and Configuration <#lxc-install>`__
-
-`8.5.1. System Requirements for LXC Hosts <#lxc-requirements>`__
-
-`8.5.2. LXC Installation Overview <#lxc-install-overview>`__
-
-`8.5.3. Prepare the Operating System <#lxc-install-prepare-os>`__
-
-`8.5.4. Install and configure the Agent <#lxc-install-agent>`__
-
-`8.5.5. Install and Configure libvirt <#lxc-install-libvirt>`__
-
-`8.5.6. Configure the Security
-Policies <#lxc-install-security-policies>`__
-
-`8.5.7. Configure the network bridges <#lxc-install-network>`__
-
-`8.5.8. Configuring the firewall <#lxc-install-firewall>`__
-
-`8.5.9. Add the host to CloudStack <#lxc-install-finish>`__
+Hypervisor Installation
+=======================
 
 8.1. KVM Hypervisor Host Installation
 -------------------------------------
@@ -6099,16 +5681,10 @@ The material in this section doesn't duplicate KVM installation docs. It
 provides the CloudStack-specific steps that are needed to prepare a KVM
 host to work with CloudStack.
 
-Warning
--------
-
-Before continuing, make sure that you have applied the latest updates to
+.. warning:: Before continuing, make sure that you have applied the latest updates to
 your host.
 
-Warning
--------
-
-It is NOT recommended to run services on this host not controlled by
+.. warning:: It is NOT recommended to run services on this host not controlled by
 CloudStack.
 
 The procedure for installing a KVM Hypervisor Host is:
@@ -6143,7 +5719,7 @@ KVM instances.
 
    Check for a fully qualified hostname.
 
-   .. code:: programlisting
+   .. code:: bash
 
        $ hostname --fqdn
 
@@ -6155,7 +5731,7 @@ KVM instances.
 
    Make sure that the machine can reach the Internet.
 
-   .. code:: programlisting
+   .. code:: bash
 
        $ ping www.cloudstack.org
 
@@ -6163,21 +5739,18 @@ KVM instances.
 
    Turn on NTP for time synchronization.
 
-   Note
-   ----
-
-   NTP is required to synchronize the clocks of the servers in your
+   .. note:: NTP is required to synchronize the clocks of the servers in your
    cloud. Unsynchronized clocks can cause unexpected problems.
 
    #. 
 
       Install NTP
 
-      .. code:: programlisting
+      .. code:: bash
 
           $ yum install ntp
 
-      .. code:: programlisting
+      .. code:: bash
 
           $ apt-get install openntpd
 
@@ -6196,13 +5769,13 @@ First we start by installing the agent:
 
 In RHEL or CentOS:
 
-.. code:: programlisting
+.. code:: bash
 
     $ yum install cloudstack-agent
 
 In Ubuntu:
 
-.. code:: programlisting
+.. code:: bash
 
     $ apt-get install cloudstack-agent
 
@@ -6235,7 +5808,7 @@ specify the guest CPU config in the per-host configuration file
 (/etc/cloudstack/agent/agent.properties). This will be achieved by
 introducing two new configuration parameters:
 
-.. code:: programlisting
+.. code:: bash
 
     guest.cpu.mode=custom|host-model|host-passthrough
     guest.cpu.model=from /usr/share/libvirt/cpu_map.xml(only valid when guest.cpu.mode=custom)
@@ -6272,7 +5845,7 @@ Here are some examples:
 
    custom
 
-   .. code:: programlisting
+   .. code:: bash
 
        guest.cpu.mode=custom
        guest.cpu.model=SandyBridge
@@ -6281,7 +5854,7 @@ Here are some examples:
 
    host-model
 
-   .. code:: programlisting
+   .. code:: bash
 
        guest.cpu.mode=host-model
 
@@ -6289,14 +5862,11 @@ Here are some examples:
 
    host-passthrough
 
-   .. code:: programlisting
+   .. code:: bash
 
        guest.cpu.mode=host-passthrough
 
-Note
-----
-
-host-passthrough may lead to migration failure,if you have this
+.. note:: host-passthrough may lead to migration failure,if you have this
 problem,you should use host-model or custom
 
 8.1.5. Install and Configure libvirt
@@ -6315,23 +5885,23 @@ cloudstack-agent and should already be installed.
 
    Set the following parameters:
 
-   .. code:: programlisting
+   .. code:: bash
 
        listen_tls = 0
 
-   .. code:: programlisting
+   .. code:: bash
 
        listen_tcp = 1
 
-   .. code:: programlisting
+   .. code:: bash
 
        tcp_port = "16509"
 
-   .. code:: programlisting
+   .. code:: bash
 
        auth_tcp = "none"
 
-   .. code:: programlisting
+   .. code:: bash
 
        mdns_adv = 0
 
@@ -6344,7 +5914,7 @@ cloudstack-agent and should already be installed.
 
    Uncomment the following line:
 
-   .. code:: programlisting
+   .. code:: bash
 
        #LIBVIRTD_ARGS="--listen"
 
@@ -6352,13 +5922,13 @@ cloudstack-agent and should already be installed.
 
    Add "-l" to the following line::
 
-   .. code:: programlisting
+   .. code:: bash
 
        libvirtd_opts="-d"
 
    so it looks like:
 
-   .. code:: programlisting
+   .. code:: bash
 
        libvirtd_opts="-d -l"
 
@@ -6369,7 +5939,7 @@ cloudstack-agent and should already be installed.
 
    Make sure this parameter is set:
 
-   .. code:: programlisting
+   .. code:: bash
 
        vnc_listen = "0.0.0.0"
 
@@ -6379,13 +5949,13 @@ cloudstack-agent and should already be installed.
 
    In RHEL or CentOS:
 
-   .. code:: programlisting
+   .. code:: bash
 
        $ service libvirtd restart
 
    In Ubuntu:
 
-   .. code:: programlisting
+   .. code:: bash
 
        $ service libvirt-bin restart
 
@@ -6408,7 +5978,7 @@ ensure the Agent has all the required permissions.
       In RHEL or CentOS, SELinux is installed and enabled by default.
       You can verify this with:
 
-      .. code:: programlisting
+      .. code:: bash
 
           $ rpm -qa | grep selinux
 
@@ -6420,19 +5990,19 @@ ensure the Agent has all the required permissions.
 
       In RHEL or CentOS:
 
-      .. code:: programlisting
+      .. code:: bash
 
           vi /etc/selinux/config
 
       Change the following line
 
-      .. code:: programlisting
+      .. code:: bash
 
           SELINUX=enforcing
 
       to this
 
-      .. code:: programlisting
+      .. code:: bash
 
           SELINUX=permissive
 
@@ -6441,7 +6011,7 @@ ensure the Agent has all the required permissions.
       Then set SELinux to permissive starting immediately, without
       requiring a system reboot.
 
-      .. code:: programlisting
+      .. code:: bash
 
           $ setenforce permissive
 
@@ -6457,7 +6027,7 @@ ensure the Agent has all the required permissions.
       In Ubuntu AppArmor is installed and enabled by default. You can
       verify this with:
 
-      .. code:: programlisting
+      .. code:: bash
 
           $ dpkg --list 'apparmor'
 
@@ -6465,35 +6035,29 @@ ensure the Agent has all the required permissions.
 
       Disable the AppArmor profiles for libvirt
 
-      .. code:: programlisting
+      .. code:: bash
 
           $ ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/
 
-      .. code:: programlisting
+      .. code:: bash
 
           $ ln -s /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper /etc/apparmor.d/disable/
 
-      .. code:: programlisting
+      .. code:: bash
 
           $ apparmor_parser -R /etc/apparmor.d/usr.sbin.libvirtd
 
-      .. code:: programlisting
+      .. code:: bash
 
           $ apparmor_parser -R /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper
 
 8.1.7. Configure the network bridges
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Warning
--------
-
-This is a very important section, please make sure you read this
+.. warning:: This is a very important section, please make sure you read this
 thoroughly.
 
-Note
-----
-
-This section details how to configure bridges using the native
+.. note:: This section details how to configure bridges using the native
 implementation in Linux. Please refer to the next section if you intend
 to use OpenVswitch
 
@@ -6531,10 +6095,7 @@ VLAN's:
 On VLAN 100 we give the Hypervisor the IP-Address 192.168.42.11/24 with
 the gateway 192.168.42.1
 
-Note
-----
-
-The Hypervisor and Management server don't have to be in the same
+.. note:: The Hypervisor and Management server don't have to be in the same
 subnet!
 
 8.1.7.2. Configuring the network bridges
@@ -6543,10 +6104,7 @@ subnet!
 It depends on the distribution you are using how to configure these,
 below you'll find examples for RHEL/CentOS and Ubuntu.
 
-Note
-----
-
-The goal is to have two bridges called 'cloudbr0' and 'cloudbr1' after
+.. note:: The goal is to have two bridges called 'cloudbr0' and 'cloudbr1' after
 this section. This should be used as a guideline only. The exact
 configuration will depend on your network layout.
 
@@ -6558,13 +6116,13 @@ proceed to configuring the network.
 
 First we configure eth0
 
-.. code:: programlisting
+.. code:: bash
 
     vi /etc/sysconfig/network-scripts/ifcfg-eth0
 
 Make sure it looks similar to:
 
-.. code:: programlisting
+.. code:: bash
 
     DEVICE=eth0
     HWADDR=00:04:xx:xx:xx:xx
@@ -6575,11 +6133,11 @@ Make sure it looks similar to:
 
 We now have to configure the three VLAN interfaces:
 
-.. code:: programlisting
+.. code:: bash
 
     vi /etc/sysconfig/network-scripts/ifcfg-eth0.100
 
-.. code:: programlisting
+.. code:: bash
 
     DEVICE=eth0.100
     HWADDR=00:04:xx:xx:xx:xx
@@ -6592,11 +6150,11 @@ We now have to configure the three VLAN interfaces:
     GATEWAY=192.168.42.1
     NETMASK=255.255.255.0
 
-.. code:: programlisting
+.. code:: bash
 
     vi /etc/sysconfig/network-scripts/ifcfg-eth0.200
 
-.. code:: programlisting
+.. code:: bash
 
     DEVICE=eth0.200
     HWADDR=00:04:xx:xx:xx:xx
@@ -6607,11 +6165,11 @@ We now have to configure the three VLAN interfaces:
     VLAN=yes
     BRIDGE=cloudbr0
 
-.. code:: programlisting
+.. code:: bash
 
     vi /etc/sysconfig/network-scripts/ifcfg-eth0.300
 
-.. code:: programlisting
+.. code:: bash
 
     DEVICE=eth0.300
     HWADDR=00:04:xx:xx:xx:xx
@@ -6625,13 +6183,13 @@ We now have to configure the three VLAN interfaces:
 Now we have the VLAN interfaces configured we can add the bridges on top
 of them.
 
-.. code:: programlisting
+.. code:: bash
 
     vi /etc/sysconfig/network-scripts/ifcfg-cloudbr0
 
 Now we just configure it is a plain bridge without an IP-Address
 
-.. code:: programlisting
+.. code:: bash
 
     DEVICE=cloudbr0
     TYPE=Bridge
@@ -6644,11 +6202,11 @@ Now we just configure it is a plain bridge without an IP-Address
 
 We do the same for cloudbr1
 
-.. code:: programlisting
+.. code:: bash
 
     vi /etc/sysconfig/network-scripts/ifcfg-cloudbr1
 
-.. code:: programlisting
+.. code:: bash
 
     DEVICE=cloudbr1
     TYPE=Bridge
@@ -6662,10 +6220,7 @@ We do the same for cloudbr1
 With this configuration you should be able to restart the network,
 although a reboot is recommended to see if everything works properly.
 
-Warning
--------
-
-Make sure you have an alternative way like IPMI or ILO to reach the
+.. warning:: Make sure you have an alternative way like IPMI or ILO to reach the
 machine in case you made a configuration error and the network stops
 functioning!
 
@@ -6675,13 +6230,13 @@ functioning!
 All the required packages were installed when you installed libvirt, so
 we only have to configure the network.
 
-.. code:: programlisting
+.. code:: bash
 
     vi /etc/network/interfaces
 
 Modify the interfaces file to look like this:
 
-.. code:: programlisting
+.. code:: bash
 
     auto lo
     iface lo inet loopback
@@ -6714,20 +6269,14 @@ Modify the interfaces file to look like this:
 With this configuration you should be able to restart the network,
 although a reboot is recommended to see if everything works properly.
 
-Warning
--------
-
-Make sure you have an alternative way like IPMI or ILO to reach the
+.. warning:: Make sure you have an alternative way like IPMI or ILO to reach the
 machine in case you made a configuration error and the network stops
 functioning!
 
 8.1.8. Configure the network using OpenVswitch
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Warning
--------
-
-This is a very important section, please make sure you read this
+.. warning:: This is a very important section, please make sure you read this
 thoroughly.
 
 In order to forward traffic to your instances you will need at least two
@@ -6777,10 +6326,7 @@ VLAN's:
 On VLAN 100 we give the Hypervisor the IP-Address 192.168.42.11/24 with
 the gateway 192.168.42.1
 
-Note
-----
-
-The Hypervisor and Management server don't have to be in the same
+.. note:: The Hypervisor and Management server don't have to be in the same
 subnet!
 
 8.1.8.3. Configuring the network bridges
@@ -6789,10 +6335,7 @@ subnet!
 It depends on the distribution you are using how to configure these,
 below you'll find examples for RHEL/CentOS.
 
-Note
-----
-
-The goal is to have three bridges called 'mgmt0', 'cloudbr0' and
+.. note:: The goal is to have three bridges called 'mgmt0', 'cloudbr0' and
 'cloudbr1' after this section. This should be used as a guideline only.
 The exact configuration will depend on your network layout.
 
@@ -6806,7 +6349,7 @@ the OpenVswitch database.
 First we create a main bridge connected to the eth0 interface. Next we
 create three fake bridges, each connected to a specific vlan tag.
 
-.. code:: programlisting
+.. code:: bash
 
     # ovs-vsctl add-br cloudbr
     # ovs-vsctl add-port cloudbr eth0 
@@ -6823,13 +6366,13 @@ installed, we can proceed to configuring the network.
 
 First we configure eth0
 
-.. code:: programlisting
+.. code:: bash
 
     vi /etc/sysconfig/network-scripts/ifcfg-eth0
 
 Make sure it looks similar to:
 
-.. code:: programlisting
+.. code:: bash
 
     DEVICE=eth0
     HWADDR=00:04:xx:xx:xx:xx
@@ -6840,11 +6383,11 @@ Make sure it looks similar to:
 
 We have to configure the base bridge with the trunk.
 
-.. code:: programlisting
+.. code:: bash
 
     vi /etc/sysconfig/network-scripts/ifcfg-cloudbr
 
-.. code:: programlisting
+.. code:: bash
 
     DEVICE=cloudbr
     ONBOOT=yes
@@ -6855,11 +6398,11 @@ We have to configure the base bridge with the trunk.
 
 We now have to configure the three VLAN bridges:
 
-.. code:: programlisting
+.. code:: bash
 
     vi /etc/sysconfig/network-scripts/ifcfg-mgmt0
 
-.. code:: programlisting
+.. code:: bash
 
     DEVICE=mgmt0
     ONBOOT=yes
@@ -6871,11 +6414,11 @@ We now have to configure the three VLAN bridges:
     GATEWAY=192.168.42.1
     NETMASK=255.255.255.0
 
-.. code:: programlisting
+.. code:: bash
 
     vi /etc/sysconfig/network-scripts/ifcfg-cloudbr0
 
-.. code:: programlisting
+.. code:: bash
 
     DEVICE=cloudbr0
     ONBOOT=yes
@@ -6884,11 +6427,11 @@ We now have to configure the three VLAN bridges:
     DEVICETYPE=ovs
     TYPE=OVSBridge
 
-.. code:: programlisting
+.. code:: bash
 
     vi /etc/sysconfig/network-scripts/ifcfg-cloudbr1
 
-.. code:: programlisting
+.. code:: bash
 
     DEVICE=cloudbr1
     ONBOOT=yes
@@ -6900,10 +6443,7 @@ We now have to configure the three VLAN bridges:
 With this configuration you should be able to restart the network,
 although a reboot is recommended to see if everything works properly.
 
-Warning
--------
-
-Make sure you have an alternative way like IPMI or ILO to reach the
+.. warning:: Make sure you have an alternative way like IPMI or ILO to reach the
 machine in case you made a configuration error and the network stops
 functioning!
 
@@ -6945,30 +6485,30 @@ you'll find examples how to open these ports in RHEL/CentOS and Ubuntu.
 RHEL and CentOS use iptables for firewalling the system, you can open
 extra ports by executing the following iptable commands:
 
-.. code:: programlisting
+.. code:: bash
 
     $ iptables -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT
 
-.. code:: programlisting
+.. code:: bash
 
     $ iptables -I INPUT -p tcp -m tcp --dport 1798 -j ACCEPT
 
-.. code:: programlisting
+.. code:: bash
 
     $ iptables -I INPUT -p tcp -m tcp --dport 16509 -j ACCEPT
 
-.. code:: programlisting
+.. code:: bash
 
     $ iptables -I INPUT -p tcp -m tcp --dport 5900:6100 -j ACCEPT
 
-.. code:: programlisting
+.. code:: bash
 
     $ iptables -I INPUT -p tcp -m tcp --dport 49152:49216 -j ACCEPT
 
 These iptable settings are not persistent accross reboots, we have to
 save them first.
 
-.. code:: programlisting
+.. code:: bash
 
     $ iptables-save > /etc/sysconfig/iptables
 
@@ -6980,30 +6520,27 @@ is a Python wrapper around iptables.
 
 To open the required ports, execute the following commands:
 
-.. code:: programlisting
+.. code:: bash
 
     $ ufw allow proto tcp from any to any port 22
 
-.. code:: programlisting
+.. code:: bash
 
     $ ufw allow proto tcp from any to any port 1798
 
-.. code:: programlisting
+.. code:: bash
 
     $ ufw allow proto tcp from any to any port 16509
 
-.. code:: programlisting
+.. code:: bash
 
     $ ufw allow proto tcp from any to any port 5900:6100
 
-.. code:: programlisting
+.. code:: bash
 
     $ ufw allow proto tcp from any to any port 49152:49216
 
-Note
-----
-
-By default UFW is not enabled on Ubuntu. Executing these commands with
+.. note:: By default UFW is not enabled on Ubuntu. Executing these commands with
 the firewall disabled does not enable the firewall.
 
 8.1.10. Add the host to CloudStack
@@ -7219,10 +6756,7 @@ Versions” <#xenserver-version-upgrading>`__.
    When you deploy CloudStack, the hypervisor host must not have any VMs
    already running
 
-Warning
--------
-
-The lack of up-do-date hotfixes can lead to data corruption and lost
+.. warning:: The lack of up-do-date hotfixes can lead to data corruption and lost
 VMs.
 
 8.2.2. XenServer Installation Steps
@@ -7305,7 +6839,7 @@ time.
 
    Install NTP.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # yum install ntp
 
@@ -7313,14 +6847,14 @@ time.
 
    Edit the NTP configuration file to point to your NTP server.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # vi /etc/ntp.conf
 
    Add one or more server lines in this file with the names of the NTP
    servers you want to use. For example:
 
-   .. code:: programlisting
+   .. code:: bash
 
        server 0.xenserver.pool.ntp.org
        server 1.xenserver.pool.ntp.org
@@ -7331,7 +6865,7 @@ time.
 
    Restart the NTP client.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # service ntpd restart
 
@@ -7339,7 +6873,7 @@ time.
 
    Make sure NTP will start again upon reboot.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # chkconfig ntpd on
 
@@ -7404,7 +6938,7 @@ steps on each XenServer host.
 
    Extract the file:
 
-   .. code:: programlisting
+   .. code:: bash
 
        # tar xf xenserver-cloud-supp.tgz
 
@@ -7412,7 +6946,7 @@ steps on each XenServer host.
 
    Run the following script:
 
-   .. code:: programlisting
+   .. code:: bash
 
        # xe-install-supplemental-pack xenserver-cloud-supp.iso
 
@@ -7421,7 +6955,7 @@ steps on each XenServer host.
    If the XenServer host is part of a zone that uses basic networking,
    disable Open vSwitch (OVS):
 
-   .. code:: programlisting
+   .. code:: bash
 
        # xe-switch-network-backend  bridge
 
@@ -7453,7 +6987,7 @@ that XenServer.
    Rescan the SCSI bus. Either use the following command or use
    XenCenter to perform an HBA rescan.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # scsi-rescan
 
@@ -7465,14 +6999,14 @@ that XenServer.
 
    Check to be sure you see the new SCSI disk.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # ls /dev/disk/by-id/scsi-360a98000503365344e6f6177615a516b -l
 
    The output should look like this, although the specific file name
    will be different (scsi-<scsiID>):
 
-   .. code:: programlisting
+   .. code:: bash
 
        lrwxrwxrwx 1 root root 9 Mar 16 13:47
        /dev/disk/by-id/scsi-360a98000503365344e6f6177615a516b -> ../../sdc
@@ -7486,14 +7020,14 @@ that XenServer.
    On the storage server, run this command to get a unique ID for the
    new SR.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # uuidgen
 
    The output should look like this, although the specific ID will be
    different:
 
-   .. code:: programlisting
+   .. code:: bash
 
        e6849e96-86c3-4f2c-8fcc-350cc711be3d
 
@@ -7502,7 +7036,7 @@ that XenServer.
    Create the FiberChannel SR. In name-label, use the unique ID you just
    generated.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # xe sr-create type=lvmohba shared=true
        device-config:SCSIid=360a98000503365344e6f6177615a516b
@@ -7511,7 +7045,7 @@ that XenServer.
    This command returns a unique ID for the SR, like the following
    example (your ID will be different):
 
-   .. code:: programlisting
+   .. code:: bash
 
        7a143820-e893-6c6a-236e-472da6ee66bf
 
@@ -7521,7 +7055,7 @@ that XenServer.
    command. In uuid, use the SR ID returned by the previous command. In
    name-description, set whatever friendly text you prefer.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # xe sr-param-set uuid=7a143820-e893-6c6a-236e-472da6ee66bf name-description="Fiber Channel storage repository"
 
@@ -7599,7 +7133,7 @@ name-label of the XenServer network must match the XenServer traffic
 label specified while creating the CloudStack network. This is set by
 running the following command:
 
-.. code:: programlisting
+.. code:: bash
 
     xe network-param-set uuid=<network id> name-label=<CloudStack traffic label>
 
@@ -7637,7 +7171,7 @@ CloudStack before adding the host.
 
    Run the following command.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # xe network-param-set name-label=cloud-public uuid=<UUID-Public>
 
@@ -7664,7 +7198,7 @@ CloudStack:
    Run the following command, substituting your own name-label and uuid
    values.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # xe network-param-set name-label=<cloud-guestN> uuid=<UUID-Guest>
 
@@ -7704,7 +7238,7 @@ separate storage network on all hosts (masters and slaves).
 Here is an example to set up eth5 to access a storage network on
 172.16.0.0/24.
 
-.. code:: programlisting
+.. code:: bash
 
     # xe pif-list host-name-label='hostname' device=eth5
     uuid(RO): ab0d3dd4-5744-8fae-9693-a022c7a3471d
@@ -7775,7 +7309,7 @@ into it.
 
    Find the physical NICs that you want to bond together.
 
-   .. code:: programlisting
+   .. code:: bash
 
        # xe pif-list host-name-label='hostname' device=eth0
        # xe pif-list host-name-label='hostname' device=eth1
@@ -7793,7 +7327,7 @@ into it.
    you configure. You must use the same name-label for all hosts in the
    cloud for the management network.**
 
-   .. code:: programlisting
+   .. code:: bash
 
        # xe network-create name-label=cloud-private
        # xe bond-create network-uuid=[uuid of cloud-private created above]
@@ -7821,7 +7355,7 @@ and eth3) bonded into it.
 
    Find the physical NICs that you want to bond together.
 
-   .. code:: programlisting
+   .. code:: bash
 
        #xe pif-list host-name-label='hostname' device=eth2
        # xe pif-list host-name-label='hostname' device=eth3
@@ -7839,7 +7373,7 @@ and eth3) bonded into it.
    you configure. You must use the same name-label for all hosts in the
    cloud for the public network.**
 
-   .. code:: programlisting
+   .. code:: bash
 
        # xe network-create name-label=cloud-public
        # xe bond-create network-uuid=[uuid of cloud-public created above]
@@ -7856,7 +7390,7 @@ additional, slave hosts. Run the following command for all additional
 hosts to be added to the cluster. This will cause the host to join the
 master in a single XenServer pool.
 
-.. code:: programlisting
+.. code:: bash
 
     # xe pool-join master-address=[master IP] master-username=root
     master-password=[your password]
@@ -7878,7 +7412,7 @@ all hosts in the cluster.
 
    Run the script:
 
-   .. code:: programlisting
+   .. code:: bash
 
        # ./cloud-setup-bonding.sh
 
@@ -7892,10 +7426,7 @@ hosts. The actual upgrade is described in XenServer documentation, but
 there are some additional steps you must perform before and after the
 upgrade.
 
-Note
-----
-
-Be sure the hardware is certified compatible with the new version of
+.. note:: Be sure the hardware is certified compatible with the new version of
 XenServer.
 
 To upgrade XenServer:
@@ -7908,7 +7439,7 @@ To upgrade XenServer:
 
       Back up the database:
 
-      .. code:: programlisting
+      .. code:: bash
 
           # mysqldump --user=root --databases cloud > cloud.backup.sql
           # mysqldump --user=root --databases cloud_usage > cloud_usage.backup.sql
@@ -7947,7 +7478,7 @@ To upgrade XenServer:
       Restart the Management Server and Usage Server. You only need to
       do this once for all clusters.
 
-      .. code:: programlisting
+      .. code:: bash
 
           # service cloudstack-management start
           # service cloudstack-usage start
@@ -7973,7 +7504,7 @@ To upgrade XenServer:
    Log in to one of the hosts in the cluster, and run this command to
    clean up the VLAN:
 
-   .. code:: programlisting
+   .. code:: bash
 
        # . /opt/xensource/bin/cloud-clean-vlan.sh
 
@@ -7981,7 +7512,7 @@ To upgrade XenServer:
 
    Still logged in to the host, run the upgrade preparation script:
 
-   .. code:: programlisting
+   .. code:: bash
 
        # /opt/xensource/bin/cloud-prepare-upgrade.sh
 
@@ -8001,7 +7532,7 @@ To upgrade XenServer:
       Troubleshooting: You might see the following error when you
       migrate a VM:
 
-      .. code:: programlisting
+      .. code:: bash
 
           [root@xenserver-qa-2-49-4 ~]# xe vm-migrate live=true host=xenserver-qa-2-49-5 vm=i-2-8-VM
           You attempted an operation on a VM which requires PV drivers to be installed but the drivers were not detected.
@@ -8009,7 +7540,7 @@ To upgrade XenServer:
 
       To solve this issue, run the following:
 
-      .. code:: programlisting
+      .. code:: bash
 
           # /opt/xensource/bin/make_migratable.sh  b6cf79c8-02ee-050b-922f-49583d9f1a14
 
@@ -8052,14 +7583,14 @@ To upgrade XenServer:
 
       Run the following script:
 
-      .. code:: programlisting
+      .. code:: bash
 
           # /opt/xensource/bin/setupxenserver.sh
 
       Troubleshooting: If you see the following error message, you can
       safely ignore it.
 
-      .. code:: programlisting
+      .. code:: bash
 
           mv: cannot stat `/etc/cron.daily/logrotate': No such file or directory
 
@@ -8068,11 +7599,11 @@ To upgrade XenServer:
       Plug in the storage repositories (physical block devices) to the
       XenServer host:
 
-      .. code:: programlisting
+      .. code:: bash
 
           # for pbd in `xe pbd-list currently-attached=false| grep ^uuid | awk '{print $NF}'`; do xe pbd-plug uuid=$pbd ; done
 
-      Note: If you add a host to this XenServer pool, you need to
+      .. note:: If you add a host to this XenServer pool, you need to
       migrate all VMs on this host to other hosts, and eject this host
       from XenServer pool.
 
@@ -8086,14 +7617,11 @@ To upgrade XenServer:
    Run the following command on one host in the XenServer cluster to
    clean up the host tags:
 
-   .. code:: programlisting
+   .. code:: bash
 
        # for host in $(xe host-list | grep ^uuid | awk '{print $NF}') ; do xe host-param-clear uuid=$host param-name=tags; done;
 
-   Note
-   ----
-
-   When copying and pasting a command, be sure the command has pasted as
+   .. note:: When copying and pasting a command, be sure the command has pasted as
    a single line before executing. Some document viewers may introduce
    unwanted line breaks in copied text.
 
@@ -8117,7 +7645,7 @@ To upgrade XenServer:
 
    After all hosts are up, run the following on one host in the cluster:
 
-   .. code:: programlisting
+   .. code:: bash
 
        # /opt/xensource/bin/cloud-clean-vlan.sh
 
@@ -8364,10 +7892,7 @@ CloudStack Management Server communicates with Hyper-V Agent by using
 HTTPS. For secure communication between the Management Server and the
 host, install a self-signed certificate on port 8250.
 
-Note
-----
-
-The Agent installer automatically perform this operation. You have not
+.. note:: The Agent installer automatically perform this operation. You have not
 selected this option during the Agent installation, it can also be done
 manually as given in step 1.
 
@@ -8379,7 +7904,7 @@ manually as given in step 1.
 
       Create A self-signed SSL certificate:
 
-      .. code:: programlisting
+      .. code:: bash
 
           #  New-SelfSignedCertificate -DnsName apachecloudstack -CertStoreLocation Cert:\LocalMachine\My
 
@@ -8390,7 +7915,7 @@ manually as given in step 1.
 
       Add the created certificate to port 8250 for https communication:
 
-      .. code:: programlisting
+      .. code:: bash
 
           netsh http add sslcert ipport=0.0.0.0:8250 certhash=<thumbprint> appid="{727beb1c-6e7c-49b2-8fbd-f03dbe481b08}"
 
@@ -8887,7 +8412,7 @@ with VMware-based VMs. The default additional port range is 59000-60000.
 To extend the port range, log in to the VMware ESX service console on
 each host and run the following commands:
 
-.. code:: programlisting
+.. code:: bash
 
     esxcfg-firewall -o 59000-60000,tcp,in,vncextras
     esxcfg-firewall -o 59000-60000,tcp,out,vncextras
@@ -9074,10 +8599,7 @@ Packet Port Group VLAN ID
 The VLAN ID of the Packet Port Group. The packet VLAN forwards relevant
 data packets from the VEMs to the VSM.
 
-Note
-----
-
-The VLANs used for control, packet, and management port groups can be
+.. note:: The VLANs used for control, packet, and management port groups can be
 the same.
 
 For more information, see `Cisco Nexus 1000V Getting Started
@@ -9189,7 +8711,7 @@ vlan<range> command to add the VLAN ranges to the port profile.
 
 For example:
 
-.. code:: programlisting
+.. code:: bash
 
     switchport trunk allowed vlan 1,140-147,196-203
 
@@ -9198,10 +8720,7 @@ In this example, the allowed VLANs added are 1, 140-147, and 196-203
 You must also add all the public and private VLANs or VLAN ranges to the
 switch. This range is the VLAN range you specify in your zone.
 
-Note
-----
-
-Before you run the vlan command, ensure that the configuration mode is
+.. note:: Before you run the vlan command, ensure that the configuration mode is
 enabled in Nexus 1000v virtual switch.
 
 For example:
@@ -9209,14 +8728,14 @@ For example:
 If you want the VLAN 200 to be used on the switch, run the following
 command:
 
-.. code:: programlisting
+.. code:: bash
 
     vlan 200
 
 If you want the VLAN range 1350-1750 to be used on the switch, run the
 following command:
 
-.. code:: programlisting
+.. code:: bash
 
     vlan 1350-1750
 
@@ -9847,16 +9366,10 @@ to the KVM installation. The material in this section doesn't duplicate
 KVM installation docs. It provides the CloudStack-specific steps that
 are needed to prepare a KVM host to work with CloudStack.
 
-Warning
--------
-
-Before continuing, make sure that you have applied the latest updates to
+.. warning:: Before continuing, make sure that you have applied the latest updates to
 your host.
 
-Warning
--------
-
-It is NOT recommended to run services on this host not controlled by
+.. warning:: It is NOT recommended to run services on this host not controlled by
 CloudStack.
 
 The procedure for installing an LXC Host is:
@@ -9891,7 +9404,7 @@ KVM instances.
 
    Check for a fully qualified hostname.
 
-   .. code:: programlisting
+   .. code:: bash
 
        $ hostname --fqdn
 
@@ -9903,7 +9416,7 @@ KVM instances.
 
    Make sure that the machine can reach the Internet.
 
-   .. code:: programlisting
+   .. code:: bash
 
        $ ping www.cloudstack.org
 
@@ -9911,21 +9424,18 @@ KVM instances.
 
    Turn on NTP for time synchronization.
 
-   Note
-   ----
-
-   NTP is required to synchronize the clocks of the servers in your
+   .. note:: NTP is required to synchronize the clocks of the servers in your
    cloud. Unsynchronized clocks can cause unexpected problems.
 
    #. 
 
       Install NTP
 
-      .. code:: programlisting
+      .. code:: bash
 
           $ yum install ntp
 
-      .. code:: programlisting
+      .. code:: bash
 
           $ apt-get install openntpd
 
@@ -9944,13 +9454,13 @@ First we start by installing the agent:
 
 In 

<TRUNCATED>

[2/2] git commit: first pass at correcting warning and errors in build

Posted by se...@apache.org.
first pass at correcting warning and errors in build


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/95936064
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack-docs-install/tree/95936064
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack-docs-install/diff/95936064

Branch: refs/heads/master
Commit: 9593606416a6c091603dd1809ba48ced5286148a
Parents: 1a2b643
Author: Sebastien Goasguen <ru...@gmail.com>
Authored: Mon Jan 27 16:23:48 2014 +0100
Committer: Sebastien Goasguen <ru...@gmail.com>
Committed: Mon Jan 27 16:23:48 2014 +0100

----------------------------------------------------------------------
 source/installation.rst | 2167 +++++++++++-------------------------------
 1 file changed, 566 insertions(+), 1601 deletions(-)
----------------------------------------------------------------------