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/05/21 08:25:21 UTC

[1/4] Fixed formatting by Will stevens

Repository: cloudstack-docs-admin
Updated Branches:
  refs/heads/4.3 72a3a7c10 -> 68c20df48


http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/usage.rst
----------------------------------------------------------------------
diff --git a/source/usage.rst b/source/usage.rst
index 16d6e9c..6324bbb 100644
--- a/source/usage.rst
+++ b/source/usage.rst
@@ -29,48 +29,35 @@ template storage space, consumed by guest instances.
 The Usage Server runs at least once per day. It can be configured to run
 multiple times per day.
 
+
 Configuring the Usage Server
 ----------------------------
 
 To configure the usage server:
 
-#. 
-
-   Be sure the Usage Server has been installed. This requires extra
+#. Be sure the Usage Server has been installed. This requires extra
    steps beyond just installing the CloudStack software. See Installing
    the Usage Server (Optional) in the Advanced Installation Guide.
 
-#. 
-
-   Log in to the CloudStack UI as administrator.
-
-#. 
-
-   Click Global Settings.
+#. Log in to the CloudStack UI as administrator.
 
-#. 
+#. Click Global Settings.
 
-   In Search, type usage. Find the configuration parameter that controls
+#. In Search, type usage. Find the configuration parameter that controls
    the behavior you want to set. See the table below for a description
    of the available parameters.
 
-#. 
+#. In Actions, click the Edit icon.
 
-   In Actions, click the Edit icon.
+#. Type the desired value and click the Save icon.
 
-#. 
-
-   Type the desired value and click the Save icon.
-
-#. 
-
-   Restart the Management Server (as usual with any global configuration
+#. Restart the Management Server (as usual with any global configuration
    change) and also the Usage Server:
 
    .. code:: bash
 
-       # service cloudstack-management restart
-       # service cloudstack-usage restart
+      # service cloudstack-management restart
+      # service cloudstack-usage restart
 
 The following table shows the global configuration settings that control
 the behavior of the Usage Server.
@@ -88,18 +75,20 @@ for the 24 hours from 00:00:00 GMT to 23:59:59 GMT:
 
 .. code:: bash
 
-    usage.stats.job.exec.time = 00:15   
-    usage.execution.timezone = PST
-    usage.aggregation.timezone = GMT
+   usage.stats.job.exec.time = 00:15   
+   usage.execution.timezone = PST
+   usage.aggregation.timezone = GMT
 
-Valid values for the time zone are specified in `Appendix A, *Time Zones* <http://docs.cloudstack.apache.org/en/latest/dev.html?highlight=time%20zones#time-zones>`_
+Valid values for the time zone are specified in `Appendix A, *Time Zones* 
+<http://docs.cloudstack.apache.org/en/latest/dev.html?highlight=time%20zones#time-zones>`_
 
 Default: GMT
 
 usage.execution.timezone
 
 The time zone of usage.stats.job.exec.time. Valid values for the time
-zone are specified in `Appendix A, *Time Zones* <http://docs.cloudstack.apache.org/en/latest/dev.html?highlight=time%20zones#time-zones>`_
+zone are specified in `Appendix A, *Time Zones* 
+<http://docs.cloudstack.apache.org/en/latest/dev.html?highlight=time%20zones#time-zones>`_
 
 Default: The time zone of the management server.
 
@@ -150,33 +139,26 @@ predominantly in the East Coast of the United States, and you would like
 to process usage records every night at 2 AM local (EST) time. Choose
 these settings:
 
--  
-
-   enable.usage.server = true
-
--  
+-  enable.usage.server = true
 
-   usage.execution.timezone = America/New\_York
+-  usage.execution.timezone = America/New\_York
 
--  
-
-   usage.stats.job.exec.time = 07:00. This will run the Usage job at
+-  usage.stats.job.exec.time = 07:00. This will run the Usage job at
    2:00 AM EST. Note that this will shift by an hour as the East Coast
    of the U.S. enters and exits Daylight Savings Time.
 
--  
-
-   usage.stats.job.aggregation.range = 1440
+-  usage.stats.job.aggregation.range = 1440
 
 With this configuration, the Usage job will run every night at 2 AM EST
 and will process records for the previous day’s midnight-midnight as
 defined by the EST (America/New\_York) time zone.
 
 .. note:: 
-    Because the special value 1440 has been used for
-    usage.stats.job.aggregation.range, the Usage Server will ignore the data
-    between midnight and 2 AM. That data will be included in the next day's
-    run.
+   Because the special value 1440 has been used for
+   usage.stats.job.aggregation.range, the Usage Server will ignore the data
+   between midnight and 2 AM. That data will be included in the next day's
+   run.
+
 
 Setting Usage Limits
 --------------------
@@ -186,6 +168,7 @@ resource usage by users. Some of these limits are global configuration
 parameters. Others are applied at the ROOT domain and may be overridden
 on a per-account basis.
 
+
 Globally Configured Limits
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -241,21 +224,13 @@ classified as CPU, RAM, Primary storage, and Secondary storage. The root
 administrator is able to impose resource usage limit by the following
 resource types for Domain, Project, and Accounts.
 
--  
-
-   CPUs
+-  CPUs
 
--  
+-  Memory (RAM)
 
-   Memory (RAM)
+-  Primary Storage (Volumes)
 
--  
-
-   Primary Storage (Volumes)
-
--  
-
-   Secondary Storage (Snapshots, Templates, ISOs)
+-  Secondary Storage (Snapshots, Templates, ISOs)
 
 To control the behaviour of this feature, the following configuration
 parameters have been added:
@@ -281,6 +256,7 @@ max.project.secondary.storage (GB)  Maximum secondary storage space that can be
                                     Default is 400.
 =================================== =================================================================
 
+
 User Permission
 ~~~~~~~~~~~~~~~
 
@@ -288,53 +264,38 @@ The root administrator, domain administrators and users are able to list
 resources. Ensure that proper logs are maintained in the ``vmops.log``
 and ``api.log`` files.
 
--  
-
-   The root admin will have the privilege to list and update resource
+-  The root admin will have the privilege to list and update resource
    limits.
 
--  
-
-   The domain administrators are allowed to list and change these
+-  The domain administrators are allowed to list and change these
    resource limits only for the sub-domains and accounts under their own
    domain or the sub-domains.
 
--  
-
-   The end users will the privilege to list resource limits. Use the
+-  The end users will the privilege to list resource limits. Use the
    listResourceLimits API.
 
+
 Limit Usage Considerations
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
--  
-
-   Primary or Secondary storage space refers to the stated size of the
+-  Primary or Secondary storage space refers to the stated size of the
    volume and not the physical size— the actual consumed size on disk in
    case of thin provisioning.
 
--  
-
-   If the admin reduces the resource limit for an account and set it to
+-  If the admin reduces the resource limit for an account and set it to
    less than the resources that are currently being consumed, the
    existing VMs/templates/volumes are not destroyed. Limits are imposed
    only if the user under that account tries to execute a new operation
    using any of these resources. For example, the existing behavior in
    the case of a VM are:
 
-   -  
-
-      migrateVirtualMachine: The users under that account will be able
+   -  migrateVirtualMachine: The users under that account will be able
       to migrate the running VM into any other host without facing any
       limit issue.
 
-   -  
-
-      recoverVirtualMachine: Destroyed VMs cannot be recovered.
-
--  
+   -  recoverVirtualMachine: Destroyed VMs cannot be recovered.
 
-   For any resource type, if a domain has limit X, sub-domains or
+-  For any resource type, if a domain has limit X, sub-domains or
    accounts under that domain can have there own limits. However, the
    sum of resource allocated to a sub-domain or accounts under the
    domain at any point of time should not exceed the value X.
@@ -344,15 +305,14 @@ Limit Usage Considerations
    time the resource allocated to D1 and A1 should not exceed the limit
    of 40.
 
--  
-
-   If any operation needs to pass through two of more resource limit
+-  If any operation needs to pass through two of more resource limit
    check, then the lower of 2 limits will be enforced, For example: if
    an account has the VM limit of 10 and CPU limit of 20, and a user
    under that account requests 5 VMs of 4 CPUs each. The user can deploy
    5 more VMs because VM limit is 10. However, the user cannot deploy
    any more instances because the CPU limit has been exhausted.
 
+
 Limiting Resource Usage in a Domain
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -367,76 +327,65 @@ domain.
 
 To set a domain limit:
 
-#. 
-
-   Log in to the CloudStack UI.
-
-#. 
-
-   In the left navigation tree, click Domains.
+#. Log in to the CloudStack UI.
 
-#. 
+#. In the left navigation tree, click Domains.
 
-   Select the domain you want to modify. The current domain limits are
+#. Select the domain you want to modify. The current domain limits are
    displayed.
 
    A value of -1 shows that there is no limit in place.
 
-#. 
+#. Click the Edit button |editbutton.png|
 
-   Click the Edit button |editbutton.png|
+#. Edit the following as per your requirement:
 
-#. 
+   -  Parameter Name
 
-   Edit the following as per your requirement:
+   -  Description
 
-   Parameter Name
+   -  Instance Limits
 
-   Description
+      The number of instances that can be used in a domain.
 
-   Instance Limits
+   -  Public IP Limits
 
-   The number of instances that can be used in a domain.
+      The number of public IP addresses that can be used in a domain.
 
-   Public IP Limits
+   -  Volume Limits
 
-   The number of public IP addresses that can be used in a domain.
+      The number of disk volumes that can be created in a domain.
 
-   Volume Limits
+   -  Snapshot Limits
 
-   The number of disk volumes that can be created in a domain.
+      The number of snapshots that can be created in a domain.
 
-   Snapshot Limits
+   -  Template Limits
 
-   The number of snapshots that can be created in a domain.
+      The number of templates that can be registered in a domain.
 
-   Template Limits
+   -  VPC limits
 
-   The number of templates that can be registered in a domain.
+      The number of VPCs that can be created in a domain.
 
-   VPC limits
+   -  CPU limits
 
-   The number of VPCs that can be created in a domain.
+      The number of CPU cores that can be used for a domain.
 
-   CPU limits
+   -  Memory limits (MB)
 
-   The number of CPU cores that can be used for a domain.
+      The number of RAM that can be used for a domain.
 
-   Memory limits (MB)
+   -  Primary Storage limits (GB)
 
-   The number of RAM that can be used for a domain.
+      The primary storage space that can be used for a domain.
 
-   Primary Storage limits (GB)
+   -  Secondary Storage limits (GB)
 
-   The primary storage space that can be used for a domain.
+      The secondary storage space that can be used for a domain.
 
-   Secondary Storage limits (GB)
+#. Click Apply.
 
-   The secondary storage space that can be used for a domain.
-
-#. 
-
-   Click Apply.
 
 Default Account Resource Limits
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -449,96 +398,84 @@ max.account, for example: max.account.snapshots.
 To override a default limit for a particular account, set a per-account
 resource limit.
 
-#. 
-
-   Log in to the CloudStack UI.
-
-#. 
+#. Log in to the CloudStack UI.
 
-   In the left navigation tree, click Accounts.
+#. In the left navigation tree, click Accounts.
 
-#. 
-
-   Select the account you want to modify. The current limits are
+#. Select the account you want to modify. The current limits are
    displayed.
 
    A value of -1 shows that there is no limit in place.
 
-#. 
-
-   Click the Edit button. |editbutton.png|
-
-#. 
+#. Click the Edit button. |editbutton.png|
 
-   Edit the following as per your requirement:
+#. Edit the following as per your requirement:
 
-   Parameter Name
+   -  Parameter Name
 
-   Description
+   -  Description
 
-   Instance Limits
+   -  Instance Limits
 
-   The number of instances that can be used in an account.
+      The number of instances that can be used in an account.
 
-   The default is 20.
+      The default is 20.
 
-   Public IP Limits
+   -  Public IP Limits
 
-   The number of public IP addresses that can be used in an account.
+      The number of public IP addresses that can be used in an account.
 
-   The default is 20.
+      The default is 20.
 
-   Volume Limits
+   -  Volume Limits
 
-   The number of disk volumes that can be created in an account.
+      The number of disk volumes that can be created in an account.
 
-   The default is 20.
+      The default is 20.
 
-   Snapshot Limits
+   -  Snapshot Limits
 
-   The number of snapshots that can be created in an account.
+      The number of snapshots that can be created in an account.
 
-   The default is 20.
+      The default is 20.
 
-   Template Limits
+   -  Template Limits
 
-   The number of templates that can be registered in an account.
+      The number of templates that can be registered in an account.
 
-   The default is 20.
+      The default is 20.
 
-   VPC limits
+   -  VPC limits
 
-   The number of VPCs that can be created in an account.
+      The number of VPCs that can be created in an account.
 
-   The default is 20.
+      The default is 20.
 
-   CPU limits
+   -  CPU limits
 
-   The number of CPU cores that can be used for an account.
+      The number of CPU cores that can be used for an account.
 
-   The default is 40.
+      The default is 40.
 
-   Memory limits (MB)
+   -  Memory limits (MB)
 
-   The number of RAM that can be used for an account.
+      The number of RAM that can be used for an account.
 
-   The default is 40960.
+      The default is 40960.
 
-   Primary Storage limits (GB)
+   -  Primary Storage limits (GB)
 
-   The primary storage space that can be used for an account.
+      The primary storage space that can be used for an account.
 
-   The default is 200.
+      The default is 200.
 
-   Secondary Storage limits (GB)
+   -  Secondary Storage limits (GB)
 
-   The secondary storage space that can be used for an account.
+      The secondary storage space that can be used for an account.
 
-   The default is 400.
+      The default is 400.
 
-#. 
-
-   Click Apply.
+#. Click Apply.
 
 
 Usage Record Format
@@ -550,450 +487,257 @@ Virtual Machine Usage Record Format
 For running and allocated virtual machine usage, the following fields
 exist in a usage record:
 
--  
-
-   account – name of the account
-
--  
-
-   accountid – ID of the account
-
--  
-
-   domainid – ID of the domain in which this account resides
-
--  
+-  account – name of the account
 
-   zoneid – Zone where the usage occurred
+-  accountid – ID of the account
 
--  
+-  domainid – ID of the domain in which this account resides
 
-   description – A string describing what the usage record is tracking
+-  zoneid – Zone where the usage occurred
 
--  
+-  description – A string describing what the usage record is tracking
 
-   usage – String representation of the usage, including the units of
+-  usage – String representation of the usage, including the units of
    usage (e.g. 'Hrs' for VM running time)
 
--  
+-  usagetype – A number representing the usage type (see Usage Types)
 
-   usagetype – A number representing the usage type (see Usage Types)
+-  rawusage – A number representing the actual usage in hours
 
--  
+-  virtualMachineId – The ID of the virtual machine
 
-   rawusage – A number representing the actual usage in hours
+-  name – The name of the virtual machine
 
--  
+-  offeringid – The ID of the service offering
 
-   virtualMachineId – The ID of the virtual machine
-
--  
-
-   name – The name of the virtual machine
-
--  
-
-   offeringid – The ID of the service offering
-
--  
-
-   templateid – The ID of the template or the ID of the parent template.
+-  templateid – The ID of the template or the ID of the parent template.
    The parent template value is present when the current template was
    created from a volume.
 
--  
-
-   usageid – Virtual machine
-
--  
-
-   type – Hypervisor
+-  usageid – Virtual machine
 
--  
+-  type – Hypervisor
 
-   startdate, enddate – The range of time for which the usage is
+-  startdate, enddate – The range of time for which the usage is
    aggregated; see Dates in the Usage Record
 
+
 Network Usage Record Format
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 For network usage (bytes sent/received), the following fields exist in a
 usage record.
 
--  
-
-   account – name of the account
-
--  
-
-   accountid – ID of the account
-
--  
-
-   domainid – ID of the domain in which this account resides
-
--  
-
-   zoneid – Zone where the usage occurred
-
--  
+-  account – name of the account
 
-   description – A string describing what the usage record is tracking
+-  accountid – ID of the account
 
--  
+-  domainid – ID of the domain in which this account resides
 
-   usagetype – A number representing the usage type (see Usage Types)
+-  zoneid – Zone where the usage occurred
 
--  
+-  description – A string describing what the usage record is tracking
 
-   rawusage – A number representing the actual usage in hours
+-  usagetype – A number representing the usage type (see Usage Types)
 
--  
+-  rawusage – A number representing the actual usage in hours
 
-   usageid – Device ID (virtual router ID or external device ID)
+-  usageid – Device ID (virtual router ID or external device ID)
 
--  
+-  type – Device type (domain router, external load balancer, etc.)
 
-   type – Device type (domain router, external load balancer, etc.)
-
--  
-
-   startdate, enddate – The range of time for which the usage is
+-  startdate, enddate – The range of time for which the usage is
    aggregated; see Dates in the Usage Record
 
+
 IP Address Usage Record Format
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 For IP address usage the following fields exist in a usage record.
 
--  
-
-   account - name of the account
-
--  
-
-   accountid - ID of the account
-
--  
-
-   domainid - ID of the domain in which this account resides
-
--  
+-  account - name of the account
 
-   zoneid - Zone where the usage occurred
+-  accountid - ID of the account
 
--  
+-  domainid - ID of the domain in which this account resides
 
-   description - A string describing what the usage record is tracking
+-  zoneid - Zone where the usage occurred
 
--  
+-  description - A string describing what the usage record is tracking
 
-   usage - String representation of the usage, including the units of
+-  usage - String representation of the usage, including the units of
    usage
 
--  
+-  usagetype - A number representing the usage type (see Usage Types)
 
-   usagetype - A number representing the usage type (see Usage Types)
+-  rawusage - A number representing the actual usage in hours
 
--  
+-  usageid - IP address ID
 
-   rawusage - A number representing the actual usage in hours
-
--  
-
-   usageid - IP address ID
-
--  
-
-   startdate, enddate - The range of time for which the usage is
+-  startdate, enddate - The range of time for which the usage is
    aggregated; see Dates in the Usage Record
 
--  
-
-   issourcenat - Whether source NAT is enabled for the IP address
+-  issourcenat - Whether source NAT is enabled for the IP address
 
--  
+-  iselastic - True if the IP address is elastic.
 
-   iselastic - True if the IP address is elastic.
 
 Disk Volume Usage Record Format
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 For disk volumes, the following fields exist in a usage record.
 
--  
-
-   account – name of the account
-
--  
-
-   accountid – ID of the account
-
--  
-
-   domainid – ID of the domain in which this account resides
+-  account – name of the account
 
--  
+-  accountid – ID of the account
 
-   zoneid – Zone where the usage occurred
+-  domainid – ID of the domain in which this account resides
 
--  
+-  zoneid – Zone where the usage occurred
 
-   description – A string describing what the usage record is tracking
+-  description – A string describing what the usage record is tracking
 
--  
-
-   usage – String representation of the usage, including the units of
+-  usage – String representation of the usage, including the units of
    usage (e.g. 'Hrs' for hours)
 
--  
-
-   usagetype – A number representing the usage type (see Usage Types)
-
--  
-
-   rawusage – A number representing the actual usage in hours
-
--  
-
-   usageid – The volume ID
-
--  
-
-   offeringid – The ID of the disk offering
-
--  
+-  usagetype – A number representing the usage type (see Usage Types)
 
-   type – Hypervisor
+-  rawusage – A number representing the actual usage in hours
 
--  
+-  usageid – The volume ID
 
-   templateid – ROOT template ID
+-  offeringid – The ID of the disk offering
 
--  
+-  type – Hypervisor
 
-   size – The amount of storage allocated
+-  templateid – ROOT template ID
 
--  
+-  size – The amount of storage allocated
 
-   startdate, enddate – The range of time for which the usage is
+-  startdate, enddate – The range of time for which the usage is
    aggregated; see Dates in the Usage Record
 
+
 Template, ISO, and Snapshot Usage Record Format
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
--  
-
-   account – name of the account
-
--  
-
-   accountid – ID of the account
-
--  
+-  account – name of the account
 
-   domainid – ID of the domain in which this account resides
+-  accountid – ID of the account
 
--  
+-  domainid – ID of the domain in which this account resides
 
-   zoneid – Zone where the usage occurred
+-  zoneid – Zone where the usage occurred
 
--  
+-  description – A string describing what the usage record is tracking
 
-   description – A string describing what the usage record is tracking
-
--  
-
-   usage – String representation of the usage, including the units of
+-  usage – String representation of the usage, including the units of
    usage (e.g. 'Hrs' for hours)
 
--  
-
-   usagetype – A number representing the usage type (see Usage Types)
-
--  
+-  usagetype – A number representing the usage type (see Usage Types)
 
-   rawusage – A number representing the actual usage in hours
+-  rawusage – A number representing the actual usage in hours
 
--  
+-  usageid – The ID of the the template, ISO, or snapshot
 
-   usageid – The ID of the the template, ISO, or snapshot
+-  offeringid – The ID of the disk offering
 
--  
-
-   offeringid – The ID of the disk offering
-
--  
-
-   templateid – – Included only for templates (usage type 7). Source
+-  templateid – – Included only for templates (usage type 7). Source
    template ID.
 
--  
-
-   size – Size of the template, ISO, or snapshot
-
--  
+-  size – Size of the template, ISO, or snapshot
 
-   startdate, enddate – The range of time for which the usage is
+-  startdate, enddate – The range of time for which the usage is
    aggregated; see Dates in the Usage Record
 
+
 Load Balancer Policy or Port Forwarding Rule Usage Record Format
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
--  
-
-   account - name of the account
-
--  
-
-   accountid - ID of the account
+-  account - name of the account
 
--  
+-  accountid - ID of the account
 
-   domainid - ID of the domain in which this account resides
+-  domainid - ID of the domain in which this account resides
 
--  
+-  zoneid - Zone where the usage occurred
 
-   zoneid - Zone where the usage occurred
+-  description - A string describing what the usage record is tracking
 
--  
-
-   description - A string describing what the usage record is tracking
-
--  
-
-   usage - String representation of the usage, including the units of
+-  usage - String representation of the usage, including the units of
    usage (e.g. 'Hrs' for hours)
 
--  
-
-   usagetype - A number representing the usage type (see Usage Types)
-
--  
+-  usagetype - A number representing the usage type (see Usage Types)
 
-   rawusage - A number representing the actual usage in hours
+-  rawusage - A number representing the actual usage in hours
 
--  
+-  usageid - ID of the load balancer policy or port forwarding rule
 
-   usageid - ID of the load balancer policy or port forwarding rule
+-  usagetype - A number representing the usage type (see Usage Types)
 
--  
-
-   usagetype - A number representing the usage type (see Usage Types)
-
--  
-
-   startdate, enddate - The range of time for which the usage is
+-  startdate, enddate - The range of time for which the usage is
    aggregated; see Dates in the Usage Record
 
+
 Network Offering Usage Record Format
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
--  
-
-   account – name of the account
+-  account – name of the account
 
--  
+-  accountid – ID of the account
 
-   accountid – ID of the account
+-  domainid – ID of the domain in which this account resides
 
--  
+-  zoneid – Zone where the usage occurred
 
-   domainid – ID of the domain in which this account resides
+-  description – A string describing what the usage record is tracking
 
--  
-
-   zoneid – Zone where the usage occurred
-
--  
-
-   description – A string describing what the usage record is tracking
-
--  
-
-   usage – String representation of the usage, including the units of
+-  usage – String representation of the usage, including the units of
    usage (e.g. 'Hrs' for hours)
 
--  
-
-   usagetype – A number representing the usage type (see Usage Types)
-
--  
-
-   rawusage – A number representing the actual usage in hours
-
--  
+-  usagetype – A number representing the usage type (see Usage Types)
 
-   usageid – ID of the network offering
+-  rawusage – A number representing the actual usage in hours
 
--  
+-  usageid – ID of the network offering
 
-   usagetype – A number representing the usage type (see Usage Types)
+-  usagetype – A number representing the usage type (see Usage Types)
 
--  
+-  offeringid – Network offering ID
 
-   offeringid – Network offering ID
+-  virtualMachineId – The ID of the virtual machine
 
--  
+-  virtualMachineId – The ID of the virtual machine
 
-   virtualMachineId – The ID of the virtual machine
-
--  
-
-   virtualMachineId – The ID of the virtual machine
-
--  
-
-   startdate, enddate – The range of time for which the usage is
+-  startdate, enddate – The range of time for which the usage is
    aggregated; see Dates in the Usage Record
 
+
 VPN User Usage Record Format
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
--  
-
-   account – name of the account
-
--  
-
-   accountid – ID of the account
-
--  
+-  account – name of the account
 
-   domainid – ID of the domain in which this account resides
+-  accountid – ID of the account
 
--  
+-  domainid – ID of the domain in which this account resides
 
-   zoneid – Zone where the usage occurred
+-  zoneid – Zone where the usage occurred
 
--  
+-  description – A string describing what the usage record is tracking
 
-   description – A string describing what the usage record is tracking
-
--  
-
-   usage – String representation of the usage, including the units of
+-  usage – String representation of the usage, including the units of
    usage (e.g. 'Hrs' for hours)
 
--  
-
-   usagetype – A number representing the usage type (see Usage Types)
-
--  
-
-   rawusage – A number representing the actual usage in hours
+-  usagetype – A number representing the usage type (see Usage Types)
 
--  
+-  rawusage – A number representing the actual usage in hours
 
-   usageid – VPN user ID
+-  usageid – VPN user ID
 
--  
+-  usagetype – A number representing the usage type (see Usage Types)
 
-   usagetype – A number representing the usage type (see Usage Types)
-
--  
-
-   startdate, enddate – The range of time for which the usage is
+-  startdate, enddate – The range of time for which the usage is
    aggregated; see Dates in the Usage Record
 
 
@@ -1115,29 +859,30 @@ the following whether in HTTP or HTTPS:
 
 ::
 
-                <listusagerecordsresponse>
-                      <count>1816</count>
-                     <usagerecord>
-                        <account>user5</account>
-                        <accountid>10004</accountid>
-                        <domainid>1</domainid>
-                        <zoneid>1</zoneid>
-                            <description>i-3-4-WC running time (ServiceOffering: 1) (Template: 3)</description>
-                        <usage>2.95288 Hrs</usage>
-                           <usagetype>1</usagetype>
-                        <rawusage>2.95288</rawusage>
-                           <virtualmachineid>4</virtualmachineid>
-                        <name>i-3-4-WC</name>
-                           <offeringid>1</offeringid>
-                        <templateid>3</templateid>
-                        <usageid>245554</usageid>
-                        <type>XenServer</type>
-                        <startdate>2009-09-15T00:00:00-0700</startdate>
-                        <enddate>2009-09-18T16:14:26-0700</enddate>
-                      </usagerecord>
-
-                   … (1,815 more usage records)
-                </listusagerecordsresponse>
+   <listusagerecordsresponse>
+      <count>1816</count>
+      <usagerecord>
+         <account>user5</account>
+         <accountid>10004</accountid>
+         <domainid>1</domainid>
+         <zoneid>1</zoneid>
+         <description>i-3-4-WC running time (ServiceOffering: 1) (Template: 3)</description>
+         <usage>2.95288 Hrs</usage>
+         <usagetype>1</usagetype>
+         <rawusage>2.95288</rawusage>
+         <virtualmachineid>4</virtualmachineid>
+         <name>i-3-4-WC</name>
+         <offeringid>1</offeringid>
+         <templateid>3</templateid>
+         <usageid>245554</usageid>
+         <type>XenServer</type>
+         <startdate>2009-09-15T00:00:00-0700</startdate>
+         <enddate>2009-09-18T16:14:26-0700</enddate>
+      </usagerecord>
+
+      … (1,815 more usage records)
+   </listusagerecordsresponse>
+
 
 Dates in the Usage Record
 -------------------------
@@ -1174,5 +919,6 @@ date and time of the earliest event. For other types of usage, such as
 IP addresses and VMs, the old unprocessed data is not included in daily
 aggregation.
 
+
 .. |editbutton.png| image:: _static/images/edit-icon.png
    :alt: edits the settings.

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/virtual_machines.rst
----------------------------------------------------------------------
diff --git a/source/virtual_machines.rst b/source/virtual_machines.rst
index 2c9e8a3..a4db70f 100644
--- a/source/virtual_machines.rst
+++ b/source/virtual_machines.rst
@@ -30,24 +30,20 @@ CloudStack and are available for end users to organize their VMs. Each
 VM can have three names for use in different contexts. Only two of these
 names can be controlled by the user:
 
--  
-
-   Instance name – a unique, immutable ID that is generated by
+-  Instance name – a unique, immutable ID that is generated by
    CloudStack and can not be modified by the user. This name conforms to
    the requirements in IETF RFC 1123.
 
--  
-
-   Display name – the name displayed in the CloudStack web UI. Can be
+-  Display name – the name displayed in the CloudStack web UI. Can be
    set by the user. Defaults to instance name.
 
--  
-
-   Name – host name that the DHCP server assigns to the VM. Can be set
+-  Name – host name that the DHCP server assigns to the VM. Can be set
    by the user. Defaults to instance name
 
 .. note:: 
-   You can append the display name of a guest VM to its internal name. For more information, see `“Appending a Display Name to the Guest VM’s Internal Name” <#appending-a-display-name-to-the-guest-vms-internal-name>`_.
+   You can append the display name of a guest VM to its internal name. 
+   For more information, see `“Appending a Display Name to the Guest VM’s 
+   Internal Name” <#appending-a-display-name-to-the-guest-vms-internal-name>`_.
 
 Guest VMs can be configured to be Highly Available (HA). An HA-enabled
 VM is monitored by the system. If the system detects that the VM is
@@ -74,10 +70,13 @@ unexpectedly. If an HA-enabled VM is shut down from inside the VM,
 CloudStack will restart it. To shut down an HA-enabled VM, you must go
 through the CloudStack UI or API.
 
+
 Best Practices for Virtual Machines
 -----------------------------------
 
-For VMs to work as expected and provide excellent service, follow these guidelines.
+For VMs to work as expected and provide excellent service, follow these 
+guidelines.
+
 
 Monitor VMs for Max Capacity
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -99,45 +98,37 @@ cluster is at most (N-1) \* (per-host-limit). Once a cluster reaches
 this number of VMs, use the CloudStack UI to disable allocation of more
 VMs to the cluster.
 
+
 Install Required Tools and Drivers
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Be sure the following are installed on each VM:
 
--  
-
-   For XenServer, install PV drivers and Xen tools on each VM. This will
+-  For XenServer, install PV drivers and Xen tools on each VM. This will
    enable live migration and clean guest shutdown. Xen tools are
    required in order for dynamic CPU and RAM scaling to work.
 
--  
-
-   For vSphere, install VMware Tools on each VM. This will enable
+-  For vSphere, install VMware Tools on each VM. This will enable
    console view to work properly. VMware Tools are required in order for
    dynamic CPU and RAM scaling to work.
 
 To be sure that Xen tools or VMware Tools is installed, use one of the
 following techniques:
 
--  
-
-   Create each VM from a template that already has the tools installed;
+-  Create each VM from a template that already has the tools installed;
    or,
 
--  
-
-   When registering a new template, the administrator or user can
+-  When registering a new template, the administrator or user can
    indicate whether tools are installed on the template. This can be
    done through the UI or using the updateTemplate API; or,
 
--  
-
-   If a user deploys a virtual machine with a template that does not
+-  If a user deploys a virtual machine with a template that does not
    have Xen tools or VMware Tools, and later installs the tools on the
    VM, then the user can inform CloudStack using the
    updateVirtualMachine API. After installing the tools and updating the
    virtual machine, stop and start the VM.
 
+
 VM Lifecycle
 ------------
 
@@ -171,6 +162,7 @@ The user can manually restart the virtual machine from the down state.
 The system will start the virtual machine from the down state
 automatically if the virtual machine is marked as HA-enabled.
 
+
 Creating VMs
 ------------
 
@@ -180,72 +172,55 @@ machine without an OS template. Users can attach an ISO file and install
 the OS from the CD/DVD-ROM.
 
 .. note:: 
-   You can create a VM without starting it. You can determine whether the VM needs to be started as part of the VM deployment. A request parameter, startVM, in the deployVm API provides this feature. For more information, see the Developer's Guide.
+   You can create a VM without starting it. You can determine whether the 
+   VM needs to be started as part of the VM deployment. A request parameter, 
+   startVM, in the deployVm API provides this feature. For more information, 
+   see the Developer's Guide.
 
 To create a VM from a template:
 
-#. 
-
-   Log in to the CloudStack UI as an administrator or user.
-
-#. 
-
-   In the left navigation bar, click Instances.
-
-#. 
+#. Log in to the CloudStack UI as an administrator or user.
 
-   Click Add Instance.
+#. In the left navigation bar, click Instances.
 
-#. 
+#. Click Add Instance.
 
-   Select a zone.
+#. Select a zone.
 
-#. 
-
-   Select a template, then follow the steps in the wizard. For more
+#. Select a template, then follow the steps in the wizard. For more
    information about how the templates came to be in this list, see
    `*Working with Templates* <templates.html>`_.
 
-#. 
-
-   Be sure that the hardware you have allows starting the selected
+#. Be sure that the hardware you have allows starting the selected
    service offering.
 
-#. 
-
-   Click Submit and your VM will be created and started.
+#. Click Submit and your VM will be created and started.
 
    .. note:: 
-      For security reason, the internal name of the VM is visible only to the root admin.
+      For security reason, the internal name of the VM is visible 
+      only to the root admin.
 
 To create a VM from an ISO:
 
 .. note:: 
-   (XenServer) Windows VMs running on XenServer require PV drivers, which may be provided in the template or added after the VM is created. The PV drivers are necessary for essential management functions such as mounting additional volumes and ISO images, live migration, and graceful shutdown.
-
-#. 
-
-   Log in to the CloudStack UI as an administrator or user.
+   (XenServer) Windows VMs running on XenServer require PV drivers, 
+   which may be provided in the template or added after the VM is 
+   created. The PV drivers are necessary for essential management 
+   functions such as mounting additional volumes and ISO images, 
+   live migration, and graceful shutdown.
 
-#. 
+#. Log in to the CloudStack UI as an administrator or user.
 
-   In the left navigation bar, click Instances.
+#. In the left navigation bar, click Instances.
 
-#. 
+#. Click Add Instance.
 
-   Click Add Instance.
+#. Select a zone.
 
-#. 
+#. Select ISO Boot, and follow the steps in the wizard.
 
-   Select a zone.
+#. Click Submit and your VM will be created and started.
 
-#. 
-
-   Select ISO Boot, and follow the steps in the wizard.
-
-#. 
-
-   Click Submit and your VM will be created and started.
 
 Accessing VMs
 -------------
@@ -255,43 +230,32 @@ access all VMs running in the cloud.
 
 To access a VM through the CloudStack UI:
 
-#. 
-
-   Log in to the CloudStack UI as a user or admin.
-
-#. 
-
-   Click Instances, then click the name of a running VM.
+#. Log in to the CloudStack UI as a user or admin.
 
-#. 
+#. Click Instances, then click the name of a running VM.
 
-   Click the View Console button |console-icon.png|.
+#. Click the View Console button |console-icon.png|.
 
 To access a VM directly over the network:
 
-#. 
-
-   The VM must have some port open to incoming traffic. For example, in
+#. The VM must have some port open to incoming traffic. For example, in
    a basic zone, a new VM might be assigned to a security group which
    allows incoming traffic. This depends on what security group you
    picked when creating the VM. In other cases, you can open a port by
    setting up a port forwarding policy. See `“IP
    Forwarding and Firewalling” <networking2.html#ip-forwarding-and-firewalling>`_.
 
-#. 
-
-   If a port is open but you can not access the VM using ssh, it’s
+#. If a port is open but you can not access the VM using ssh, it’s
    possible that ssh is not already enabled on the VM. This will depend
    on whether ssh is enabled in the template you picked when creating
    the VM. Access the VM through the CloudStack UI and enable ssh on the
    machine using the commands for the VM’s operating system.
 
-#. 
-
-   If the network has an external firewall device, you will need to
+#. If the network has an external firewall device, you will need to
    create a firewall rule to allow access. See `“IP
    Forwarding and Firewalling” <networking2.html#ip-forwarding-and-firewalling>`_.
 
+
 Stopping and Starting VMs
 -------------------------
 
@@ -299,6 +263,7 @@ Once a VM instance is created, you can stop, restart, or delete it as
 needed. In the CloudStack UI, click Instances, select the VM, and use
 the Stop, Start, Reboot, and Destroy buttons.
 
+
 Assigning VMs to Hosts
 ----------------------
 
@@ -306,14 +271,10 @@ At any point in time, each virtual machine instance is running on a
 single host. How does CloudStack determine which host to place a VM on?
 There are several ways:
 
--  
-
-   Automatic default host allocation. CloudStack can automatically pick
+-  Automatic default host allocation. CloudStack can automatically pick
    the most appropriate host to run each virtual machine.
 
--  
-
-   Instance type preferences. CloudStack administrators can specify that
+-  Instance type preferences. CloudStack administrators can specify that
    certain hosts should have a preference for particular types of guest
    instances. For example, an administrator could state that a host
    should have a preference to run Windows guests. The default host
@@ -321,41 +282,32 @@ There are several ways:
    first. If no such host is available, the allocator will place the
    instance wherever there is sufficient physical capacity.
 
--  
-
-   Vertical and horizontal allocation. Vertical allocation consumes all
+-  Vertical and horizontal allocation. Vertical allocation consumes all
    the resources of a given host before allocating any guests on a
    second host. This reduces power consumption in the cloud. Horizontal
    allocation places a guest on each host in a round-robin fashion. This
    may yield better performance to the guests in some cases.
 
--  
-
-   End user preferences. Users can not control exactly which host will
+-  End user preferences. Users can not control exactly which host will
    run a given VM instance, but they can specify a zone for the VM.
    CloudStack is then restricted to allocating the VM only to one of the
    hosts in that zone.
 
--  
-
-   Host tags. The administrator can assign tags to hosts. These tags can
+-  Host tags. The administrator can assign tags to hosts. These tags can
    be used to specify which host a VM should use. The CloudStack
    administrator decides whether to define host tags, then create a
    service offering using those tags and offer it to the user.
 
--  
-
-   Affinity groups. By defining affinity groups and assigning VMs to
+-  Affinity groups. By defining affinity groups and assigning VMs to
    them, the user or administrator can influence (but not dictate) which
    VMs should run on separate hosts. This feature is to let users
    specify that certain VMs won't be on the same host.
 
--  
-
-   CloudStack also provides a pluggable interface for adding new
+-  CloudStack also provides a pluggable interface for adding new
    allocators. These custom allocators can provide any policy the
    administrator desires.
 
+
 Affinity Groups
 ~~~~~~~~~~~~~~~
 
@@ -369,77 +321,57 @@ running on another host.
 
 The scope of an affinity group is per user account.
 
+
 Creating a New Affinity Group
 '''''''''''''''''''''''''''''
 
 To add an affinity group:
 
-#. 
-
-   Log in to the CloudStack UI as an administrator or user.
-
-#. 
+#. Log in to the CloudStack UI as an administrator or user.
 
-   In the left navigation bar, click Affinity Groups.
+#. In the left navigation bar, click Affinity Groups.
 
-#. 
-
-   Click Add affinity group. In the dialog box, fill in the following
+#. Click Add affinity group. In the dialog box, fill in the following
    fields:
 
-   -  
-
-      Name. Give the group a name.
-
-   -  
+   -  Name. Give the group a name.
 
-      Description. Any desired text to tell more about the purpose of
+   -  Description. Any desired text to tell more about the purpose of
       the group.
 
-   -  
-
-      Type. The only supported type shipped with CloudStack is Host
+   -  Type. The only supported type shipped with CloudStack is Host
       Anti-Affinity. This indicates that the VMs in this group should
       avoid being placed on the same host with each other. If you see
       other types in this list, it means that your installation of
       CloudStack has been extended with customized affinity group
       plugins.
 
+
 Assign a New VM to an Affinity Group
 ''''''''''''''''''''''''''''''''''''
 
 To assign a new VM to an affinity group:
 
--  
+-  Create the VM as usual, as described in `“Creating
+   VMs” <virtual_machines.html#creating-vms>`_. In the Add Instance 
+   wizard, there is a new Affinity tab where you can select the 
+   affinity group.
 
-   Create the VM as usual, as described in `“Creating
-   VMs” <virtual_machines.html#creating-vms>`_. In the Add Instance wizard, there is a new
-   Affinity tab where you can select the affinity group.
 
 Change Affinity Group for an Existing VM
 ''''''''''''''''''''''''''''''''''''''''
 
 To assign an existing VM to an affinity group:
 
-#. 
-
-   Log in to the CloudStack UI as an administrator or user.
+#. Log in to the CloudStack UI as an administrator or user.
 
-#. 
+#. In the left navigation bar, click Instances.
 
-   In the left navigation bar, click Instances.
+#. Click the name of the VM you want to work with.
 
-#. 
+#. Stop the VM by clicking the Stop button.
 
-   Click the name of the VM you want to work with.
-
-#. 
-
-   Stop the VM by clicking the Stop button.
-
-#. 
-
-   Click the Change Affinity button. |change-affinity-button.png|
+#. Click the Change Affinity button. |change-affinity-button.png|
 
 
 View Members of an Affinity Group
@@ -447,37 +379,26 @@ View Members of an Affinity Group
 
 To see which VMs are currently assigned to a particular affinity group:
 
-#. 
-
-   In the left navigation bar, click Affinity Groups.
+#. In the left navigation bar, click Affinity Groups.
 
-#. 
+#. Click the name of the group you are interested in.
 
-   Click the name of the group you are interested in.
-
-#. 
-
-   Click View Instances. The members of the group are listed.
+#. Click View Instances. The members of the group are listed.
 
    From here, you can click the name of any VM in the list to access all
    its details and controls.
 
+
 Delete an Affinity Group
 ''''''''''''''''''''''''
 
 To delete an affinity group:
 
-#. 
-
-   In the left navigation bar, click Affinity Groups.
-
-#. 
-
-   Click the name of the group you are interested in.
+#. In the left navigation bar, click Affinity Groups.
 
-#. 
+#. Click the name of the group you are interested in.
 
-   Click Delete.
+#. Click Delete.
 
    Any VM that is a member of the affinity group will be disassociated
    from the group. The former group members will continue to run
@@ -485,6 +406,7 @@ To delete an affinity group:
    longer follow the host allocation rules from its former affinity
    group.
 
+
 Virtual Machine Snapshots
 -------------------------
 
@@ -515,37 +437,31 @@ original.
 
 If you need more information about VM snapshots on VMware, check out the
 VMware documentation and the VMware Knowledge Base, especially
-`Understanding virtual machine
-snapshots <http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1015180>`_.
+`Understanding virtual machine snapshots 
+<http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1015180>`_.
+
 
 Limitations on VM Snapshots
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
--  
-
-   If a VM has some stored snapshots, you can't attach new volume to the
+-  If a VM has some stored snapshots, you can't attach new volume to the
    VM or delete any existing volumes. If you change the volumes on the
    VM, it would become impossible to restore the VM snapshot which was
    created with the previous volume structure. If you want to attach a
    volume to such a VM, first delete its snapshots.
 
--  
-
-   VM snapshots which include both data volumes and memory can't be kept
+-  VM snapshots which include both data volumes and memory can't be kept
    if you change the VM's service offering. Any existing VM snapshots of
    this type will be discarded.
 
--  
-
-   You can't make a VM snapshot at the same time as you are taking a
+-  You can't make a VM snapshot at the same time as you are taking a
    volume snapshot.
 
--  
-
-   You should use only CloudStack to create VM snapshots on hosts
+-  You should use only CloudStack to create VM snapshots on hosts
    managed by CloudStack. Any snapshots that you make directly on the
    hypervisor will not be tracked in CloudStack.
 
+
 Configuring VM Snapshots
 ~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -570,45 +486,34 @@ vmsnapshot.create.wait
 Number of seconds to wait for a snapshot job to succeed before declaring
 failure and issuing an error.
 
+
 Using VM Snapshots
 ~~~~~~~~~~~~~~~~~~
 
 To create a VM snapshot using the CloudStack UI:
 
-#. 
-
-   Log in to the CloudStack UI as a user or administrator.
-
-#. 
-
-   Click Instances.
+#. Log in to the CloudStack UI as a user or administrator.
 
-#. 
+#. Click Instances.
 
-   Click the name of the VM you want to snapshot.
+#. Click the name of the VM you want to snapshot.
 
-#. 
+#. Click the Take VM Snapshot button. |VMSnapshotButton.png|
 
-   Click the Take VM Snapshot button. |VMSnapshotButton.png|
-
-   .. note:: If a snapshot is already in progress, then clicking this button will have no effect.
-
-#. 
+   .. note:: 
+      If a snapshot is already in progress, then clicking this button 
+      will have no effect.
 
-   Provide a name and description. These will be displayed in the VM
+#. Provide a name and description. These will be displayed in the VM
    Snapshots list.
 
-#. 
-
-   (For running VMs only) If you want to include the VM's memory in the
+#. (For running VMs only) If you want to include the VM's memory in the
    snapshot, click the Memory checkbox. This saves the CPU and memory
    state of the virtual machine. If you don't check this box, then only
    the current state of the VM disk is saved. Checking this box makes
    the snapshot take longer.
 
-#. 
-
-   Quiesce VM: check this box if you want to quiesce the file system on
+#. Quiesce VM: check this box if you want to quiesce the file system on
    the VM before taking the snapshot. Not supported on XenServer when
    used with CloudStack-provided primary storage.
 
@@ -618,35 +523,28 @@ To create a VM snapshot using the CloudStack UI:
    vendor's plugin, the quiesce operation is provided according to the
    vendor's implementation.
 
-#. 
-
-   Click OK.
+#. Click OK.
 
 To delete a snapshot or restore a VM to the state saved in a particular
 snapshot:
 
-#. 
-
-   Navigate to the VM as described in the earlier steps.
-
-#. 
+#. Navigate to the VM as described in the earlier steps.
 
-   Click View VM Snapshots.
+#. Click View VM Snapshots.
 
-#. 
-
-   In the list of snapshots, click the name of the snapshot you want to
+#. In the list of snapshots, click the name of the snapshot you want to
    work with.
 
-#. 
-
-   Depending on what you want to do:
+#. Depending on what you want to do:
 
    To delete the snapshot, click the Delete button. |delete-button.png|
 
    To revert to the snapshot, click the Revert button. |revert-vm.png|
 
-.. note:: VM snapshots are deleted automatically when a VM is destroyed. You don't have to manually delete the snapshots in this case.
+.. note:: 
+   VM snapshots are deleted automatically when a VM is destroyed. You don't 
+   have to manually delete the snapshots in this case.
+
 
 Changing the VM Name, OS, or Group
 ----------------------------------
@@ -656,46 +554,27 @@ system, and the group it belongs to.
 
 To access a VM through the CloudStack UI:
 
-#. 
-
-   Log in to the CloudStack UI as a user or admin.
-
-#. 
-
-   In the left navigation, click Instances.
-
-#. 
+#. Log in to the CloudStack UI as a user or admin.
 
-   Select the VM that you want to modify.
+#. In the left navigation, click Instances.
 
-#. 
+#. Select the VM that you want to modify.
 
-   Click the Stop button to stop the VM. |StopButton.png|
-
-#. 
-
-   Click Edit. |EditButton.png|
+#. Click the Stop button to stop the VM. |StopButton.png|
 
-#. 
+#. Click Edit. |EditButton.png|
 
-   Make the desired changes to the following:
+#. Make the desired changes to the following:
 
-#. 
-
-   **Display name**: Enter a new display name if you want to change the
+#. **Display name**: Enter a new display name if you want to change the
    name of the VM.
 
-#. 
-
-   **OS Type**: Select the desired operating system.
-
-#. 
+#. **OS Type**: Select the desired operating system.
 
-   **Group**: Enter the group name for the VM.
+#. **Group**: Enter the group name for the VM.
 
-#. 
+#. Click Apply.
 
-   Click Apply.
 
 Appending a Display Name to the Guest VM’s Internal Name
 --------------------------------------------------------
@@ -736,38 +615,25 @@ Changing the Service Offering for a VM
 To upgrade or downgrade the level of compute resources available to a
 virtual machine, you can change the VM's compute offering.
 
-#. 
+#. Log in to the CloudStack UI as a user or admin.
 
-   Log in to the CloudStack UI as a user or admin.
+#. In the left navigation, click Instances.
 
-#. 
+#. Choose the VM that you want to work with.
 
-   In the left navigation, click Instances.
-
-#. 
-
-   Choose the VM that you want to work with.
-
-#. 
-
-   (Skip this step if you have enabled dynamic VM scaling; see
+#. (Skip this step if you have enabled dynamic VM scaling; see
    :ref:`cpu-and-memory-scaling`.)
 
    Click the Stop button to stop the VM. |StopButton.png|
 
-#. 
-
-   Click the Change Service button. |ChangeServiceButton.png|
+#. Click the Change Service button. |ChangeServiceButton.png|
 
    The Change service dialog box is displayed.
 
-#. 
+#. Select the offering you want to apply to the selected VM.
 
-   Select the offering you want to apply to the selected VM.
+#. Click OK.
 
-#. 
-
-   Click OK.
 
 .. _cpu-and-memory-scaling:
 
@@ -784,32 +650,23 @@ without incurring any downtime.
 
 Dynamic CPU and RAM scaling can be used in the following cases:
 
--  
-
-   User VMs on hosts running VMware and XenServer.
-
--  
+-  User VMs on hosts running VMware and XenServer.
 
-   System VMs on VMware.
+-  System VMs on VMware.
 
--  
-
-   VMware Tools or XenServer Tools must be installed on the virtual
+-  VMware Tools or XenServer Tools must be installed on the virtual
    machine.
 
--  
-
-   The new requested CPU and RAM values must be within the constraints
+-  The new requested CPU and RAM values must be within the constraints
    allowed by the hypervisor and the VM operating system.
 
--  
-
-   New VMs that are created after the installation of CloudStack 4.2 can
+-  New VMs that are created after the installation of CloudStack 4.2 can
    use the dynamic scaling feature. If you are upgrading from a previous
    version of CloudStack, your existing VMs created with previous
    versions will not have the dynamic scaling capability unless you
    update them using the following procedure.
 
+
 Updating Existing VMs
 ~~~~~~~~~~~~~~~~~~~~~
 
@@ -817,37 +674,24 @@ If you are upgrading from a previous version of CloudStack, and you want
 your existing VMs created with previous versions to have the dynamic
 scaling capability, update the VMs using the following steps:
 
-#. 
-
-   Make sure the zone-level setting enable.dynamic.scale.vm is set to
+#. Make sure the zone-level setting enable.dynamic.scale.vm is set to
    true. In the left navigation bar of the CloudStack UI, click
    Infrastructure, then click Zones, click the zone you want, and click
    the Settings tab.
 
-#. 
-
-   Install Xen tools (for XenServer hosts) or VMware Tools (for VMware
+#. Install Xen tools (for XenServer hosts) or VMware Tools (for VMware
    hosts) on each VM if they are not already installed.
 
-#. 
-
-   Stop the VM.
-
-#. 
+#. Stop the VM.
 
-   Click the Edit button.
+#. Click the Edit button.
 
-#. 
+#. Click the Dynamically Scalable checkbox.
 
-   Click the Dynamically Scalable checkbox.
+#. Click Apply.
 
-#. 
+#. Restart the VM.
 
-   Click Apply.
-
-#. 
-
-   Restart the VM.
 
 Configuring Dynamic CPU and RAM Scaling
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -855,16 +699,13 @@ Configuring Dynamic CPU and RAM Scaling
 To configure this feature, use the following new global configuration
 variables:
 
--  
-
-   enable.dynamic.scale.vm: Set to True to enable the feature. By
+-  enable.dynamic.scale.vm: Set to True to enable the feature. By
    default, the feature is turned off.
 
--  
-
-   scale.retry: How many times to attempt the scaling operation. Default
+-  scale.retry: How many times to attempt the scaling operation. Default
    = 2.
 
+
 How to Dynamically Scale CPU and RAM
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -883,42 +724,34 @@ cluster. If there is no host in the cluster that can fulfill the
 requested level of CPU and RAM, the scaling operation will fail. The VM
 will continue to run as it was before.
 
+
 Limitations
 ~~~~~~~~~~~
 
--  
+-  You can not do dynamic scaling for system VMs on XenServer.
 
-   You can not do dynamic scaling for system VMs on XenServer.
-
--  
-
-   CloudStack will not check to be sure that the new CPU and RAM levels
+-  CloudStack will not check to be sure that the new CPU and RAM levels
    are compatible with the OS running on the VM.
 
--  
-
-   When scaling memory or CPU for a Linux VM on VMware, you might need
+-  When scaling memory or CPU for a Linux VM on VMware, you might need
    to run scripts in addition to the other steps mentioned above. For
    more information, see `Hot adding memory in Linux
    (1012764) <http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1012764>`_
    in the VMware Knowledge Base.
 
--  
-
-   (VMware) If resources are not available on the current host, scaling
+-  (VMware) If resources are not available on the current host, scaling
    up will fail on VMware because of a known issue where CloudStack and
    vCenter calculate the available capacity differently. For more
    information, see
    `https://issues.apache.org/jira/browse/CLOUDSTACK-1809 <https://issues.apache.org/jira/browse/CLOUDSTACK-1809>`_.
 
--  
-
-   On VMs running Linux 64-bit and Windows 7 32-bit operating systems,
+-  On VMs running Linux 64-bit and Windows 7 32-bit operating systems,
    if the VM is initially assigned a RAM of less than 3 GB, it can be
    dynamically scaled up to 3 GB, but not more. This is due to a known
    issue with these operating systems, which will freeze if an attempt
    is made to dynamically scale from less than 3 GB to more than 3 GB.
 
+
 Resetting the Virtual Machine Root Volume on Reboot
 ---------------------------------------------------
 
@@ -927,6 +760,7 @@ across reboots, you can reset the root disk. For more information, see
 `“Reset VM to New Root Disk on
 Reboot” <storage.html#reset-vm-to-new-root-disk-on-reboot>`_.
 
+
 Moving VMs Between Hosts (Manual Live Migration)
 ------------------------------------------------
 
@@ -935,63 +769,44 @@ another without interrupting service to users or going into maintenance
 mode. This is called manual live migration, and can be done under the
 following conditions:
 
--  
-
-   The root administrator is logged in. Domain admins and users can not
+-  The root administrator is logged in. Domain admins and users can not
    perform manual live migration of VMs.
 
--  
+-  The VM is running. Stopped VMs can not be live migrated.
 
-   The VM is running. Stopped VMs can not be live migrated.
-
--  
-
-   The destination host must have enough available capacity. If not, the
+-  The destination host must have enough available capacity. If not, the
    VM will remain in the "migrating" state until memory becomes
    available.
 
--  
-
-   (KVM) The VM must not be using local disk storage. (On XenServer and
+-  (KVM) The VM must not be using local disk storage. (On XenServer and
    VMware, VM live migration with local disk is enabled by CloudStack
    support for XenMotion and vMotion.)
 
--  
-
-   (KVM) The destination host must be in the same cluster as the
+-  (KVM) The destination host must be in the same cluster as the
    original host. (On XenServer and VMware, VM live migration from one
    cluster to another is enabled by CloudStack support for XenMotion and
    vMotion.)
 
 To manually live migrate a virtual machine
 
-#. 
-
-   Log in to the CloudStack UI as a user or admin.
-
-#. 
-
-   In the left navigation, click Instances.
-
-#. 
+#. Log in to the CloudStack UI as a user or admin.
 
-   Choose the VM that you want to migrate.
+#. In the left navigation, click Instances.
 
-#. 
+#. Choose the VM that you want to migrate.
 
-   Click the Migrate Instance button. |Migrateinstance.png|
+#. Click the Migrate Instance button. |Migrateinstance.png|
 
-#. 
-
-   From the list of suitable hosts, choose the one to which you want to
+#. From the list of suitable hosts, choose the one to which you want to
    move the VM.
 
    .. note:: 
-      If the VM's storage has to be migrated along with the VM, this will be noted in the host list. CloudStack will take care of the storage migration for you.
+      If the VM's storage has to be migrated along with the VM, this will 
+      be noted in the host list. CloudStack will take care of the storage 
+      migration for you.
 
-#. 
+#. Click OK.
 
-   Click OK.
 
 Deleting VMs
 ------------
@@ -1002,21 +817,14 @@ any virtual machines.
 
 To delete a virtual machine:
 
-#. 
-
-   Log in to the CloudStack UI as a user or admin.
-
-#. 
+#. Log in to the CloudStack UI as a user or admin.
 
-   In the left navigation, click Instances.
+#. In the left navigation, click Instances.
 
-#. 
+#. Choose the VM that you want to delete.
 
-   Choose the VM that you want to delete.
+#. Click the Destroy Instance button. |Destroyinstance.png|
 
-#. 
-
-   Click the Destroy Instance button. |Destroyinstance.png|
 
 Working with ISOs
 -----------------
@@ -1041,6 +849,7 @@ can also attach ISO images to guest VMs. For example, this enables
 installing PV drivers into Windows. ISO images are not
 hypervisor-specific.
 
+
 Adding an ISO
 ~~~~~~~~~~~~~
 
@@ -1050,166 +859,121 @@ an operating system image, but you can also add ISOs for other types of
 software, such as desktop applications that you want to be installed as
 part of a template.
 
-#. 
-
-   Log in to the CloudStack UI as an administrator or end user.
-
-#. 
-
-   In the left navigation bar, click Templates.
-
-#. 
-
-   In Select View, choose ISOs.
-
-#. 
+#. Log in to the CloudStack UI as an administrator or end user.
 
-   Click Add ISO.
+#. In the left navigation bar, click Templates.
 
-#. 
+#. In Select View, choose ISOs.
 
-   In the Add ISO screen, provide the following:
+#. Click Add ISO.
 
-   -  
+#. In the Add ISO screen, provide the following:
 
-      **Name**: Short name for the ISO image. For example, CentOS 6.2
+   -  **Name**: Short name for the ISO image. For example, CentOS 6.2
       64-bit.
 
-   -  
-
-      **Description**: Display test for the ISO image. For example,
+   -  **Description**: Display test for the ISO image. For example,
       CentOS 6.2 64-bit.
 
-   -  
-
-      **URL**: The URL that hosts the ISO image. The Management Server
+   -  **URL**: The URL that hosts the ISO image. The Management Server
       must be able to access this location via HTTP. If needed you can
       place the ISO image directly on the Management Server
 
-   -  
-
-      **Zone**: Choose the zone where you want the ISO to be available,
+   -  **Zone**: Choose the zone where you want the ISO to be available,
       or All Zones to make it available throughout CloudStack.
 
-   -  
-
-      **Bootable**: Whether or not a guest could boot off this ISO
+   -  **Bootable**: Whether or not a guest could boot off this ISO
       image. For example, a CentOS ISO is bootable, a Microsoft Office
       ISO is not bootable.
 
-   -  
-
-      **OS Type**: This helps CloudStack and the hypervisor perform
+   -  **OS Type**: This helps CloudStack and the hypervisor perform
       certain operations and make assumptions that improve the
       performance of the guest. Select one of the following.
 
-      -  
-
-         If the operating system of your desired ISO image is listed,
+      -  If the operating system of your desired ISO image is listed,
          choose it.
 
-      -  
-
-         If the OS Type of the ISO is not listed or if the ISO is not
+      -  If the OS Type of the ISO is not listed or if the ISO is not
          bootable, choose Other.
 
-      -  
-
-         (XenServer only) If you want to boot from this ISO in PV mode,
+      -  (XenServer only) If you want to boot from this ISO in PV mode,
          choose Other PV (32-bit) or Other PV (64-bit)
 
-      -  
-
-         (KVM only) If you choose an OS that is PV-enabled, the VMs
+      -  (KVM only) If you choose an OS that is PV-enabled, the VMs
          created from this ISO will have a SCSI (virtio) root disk. If
          the OS is not PV-enabled, the VMs will have an IDE root disk.
          The PV-enabled types are:
 
-         Fedora 13
+         -  Fedora 13
 
-         Fedora 12
+         -  Fedora 12
 
-         Fedora 11
+         -  Fedora 11
 
-         Fedora 10
+         -  Fedora 10
 
-         Fedora 9
+         -  Fedora 9
 
-         Other PV
+         -  Other PV
 
-         Debian GNU/Linux
+         -  Debian GNU/Linux
 
-         CentOS 5.3
+         -  CentOS 5.3
 
-         CentOS 5.4
+         -  CentOS 5.4
 
-         CentOS 5.5
+         -  CentOS 5.5
 
-         Red Hat Enterprise Linux 5.3
+         -  Red Hat Enterprise Linux 5.3
 
-         Red Hat Enterprise Linux 5.4
+         -  Red Hat Enterprise Linux 5.4
 
-         Red Hat Enterprise Linux 5.5
+         -  Red Hat Enterprise Linux 5.5
 
-         Red Hat Enterprise Linux 6
+         -  Red Hat Enterprise Linux 6
 
       .. note:: 
-         It is not recommended to choose an older version of the OS than the version in the image. For example, choosing CentOS 5.4 to support a CentOS 6.2 image will usually not work. In these cases, choose Other.
+         It is not recommended to choose an older version of the OS than 
+         the version in the image. For example, choosing CentOS 5.4 to 
+         support a CentOS 6.2 image will usually not work. In these 
+         cases, choose Other.
 
-   -  
-
-      **Extractable**: Choose Yes if the ISO should be available for
+   -  **Extractable**: Choose Yes if the ISO should be available for
       extraction.
 
-   -  
-
-      **Public**: Choose Yes if this ISO should be available to other
+   -  **Public**: Choose Yes if this ISO should be available to other
       users.
 
-   -  
-
-      **Featured**: Choose Yes if you would like this ISO to be more
+   -  **Featured**: Choose Yes if you would like this ISO to be more
       prominent for users to select. The ISO will appear in the Featured
       ISOs list. Only an administrator can make an ISO Featured.
 
-#. 
-
-   Click OK.
+#. Click OK.
 
    The Management Server will download the ISO. Depending on the size of
    the ISO, this may take a long time. The ISO status column will
    display Ready once it has been successfully downloaded into secondary
    storage. Clicking Refresh updates the download percentage.
 
-#. 
-
-   **Important**: Wait for the ISO to finish downloading. If you move on
+#. **Important**: Wait for the ISO to finish downloading. If you move on
    to the next task and try to use the ISO right away, it will appear to
    fail. The entire ISO must be available before CloudStack can work
    with it.
 
+
 Attaching an ISO to a VM
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 
-#. 
-
-   In the left navigation, click Instances.
-
-#. 
+#. In the left navigation, click Instances.
 
-   Choose the virtual machine you want to work with.
+#. Choose the virtual machine you want to work with.
 
-#. 
+#. Click the Attach ISO button. |iso.png|
 
-   Click the Attach ISO button. |iso.png|
+#. In the Attach ISO dialog box, select the desired ISO.
 
-#. 
+#. Click OK.
 
-   In the Attach ISO dialog box, select the desired ISO.
-
-#. 
-
-   Click OK.
 
 Changing a VM's Base Image
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1243,6 +1007,7 @@ restoreVirtualMachine call. In this case, the VM's root disk is
 destroyed and recreated, but from the same template or ISO that was
 already in use by the VM.
 
+
 Using SSH Keys for Authentication
 ---------------------------------
 
@@ -1255,52 +1020,44 @@ Because each cloud user has their own SSH key, one cloud user cannot log
 in to another cloud user's instances unless they share their SSH key
 files. Using a single SSH key pair, you can manage multiple instances.
 
+
 Creating an Instance Template that Supports SSH Keys
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Create an instance template that supports SSH Keys.
 
-#. 
-
-   Create a new instance by using the template provided by cloudstack.
+#. Create a new instance by using the template provided by cloudstack.
 
    For more information on creating a new instance, see
 
-#. 
-
-   Download the cloudstack script from `The SSH Key Gen Script <http://sourceforge.net/projects/cloudstack/files/SSH%20Key%20Gen%20Script/>`_ to the instance you have created.
+#. Download the cloudstack script from `The SSH Key Gen Script 
+   <http://sourceforge.net/projects/cloudstack/files/SSH%20Key%20Gen%20Script/>`_ 
+   to the instance you have created.
 
    .. sourcecode:: 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
-
-#. 
+      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
 
-   Copy the file to /etc/init.d.
+#. Copy the file to /etc/init.d.
 
    .. sourcecode:: bash
 
-       cp cloud-set-guest-sshkey.in /etc/init.d/
-
-#. 
+      cp cloud-set-guest-sshkey.in /etc/init.d/
 
-   Give the necessary permissions on the script:
+#. Give the necessary permissions on the script:
 
    .. sourcecode:: bash
 
-       chmod +x /etc/init.d/cloud-set-guest-sshkey.in
+      chmod +x /etc/init.d/cloud-set-guest-sshkey.in
 
-#. 
-
-   Run the script while starting up the operating system:
+#. Run the script while starting up the operating system:
 
    .. sourcecode:: bash
 
-       chkconfig --add cloud-set-guest-sshkey.in
+      chkconfig --add cloud-set-guest-sshkey.in
 
-#. 
+#. Stop the instance.
 
-   Stop the instance.
 
 Creating the SSH Keypair
 ~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1313,56 +1070,53 @@ 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 different, and you will need to use the API keys.
-
-#. 
+   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 
+   different, and you will need to use the API keys.
 
-   Run the following curl command:
+#. Run the following curl command:
 
    .. sourcecode:: bash
 
-       curl --globoff "http://localhost:8096/?command=createSSHKeyPair&name=keypair-doc&account=admin&domainid=5163440e-c44b-42b5-9109-ad75cae8e8a2"
+      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:
 
    .. sourcecode:: 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
-       dXYBeZVwakDVsU2MLGl/K+wefwefwefwefwefJyKJaogMKn7BperPD6n1wIDAQAB
-       AoGAdXaJ7uyZKeRDoy6wA0UmF0kSPbMZCR+UTIHNkS/E0/4U+6lhMokmFSHtu
-       mfDZ1kGGDYhMsdytjDBztljawfawfeawefawfawfawQQDCjEsoRdgkduTy
-       QpbSGDIa11Jsc+XNDx2fgRinDsxXI/zJYXTKRhSl/LIPHBw/brW8vzxhOlSOrwm7
-       VvemkkgpAkEAwSeEw394LYZiEVv395ar9MLRVTVLwpo54jC4tsOxQCBlloocK
-       lYaocpk0yBqqOUSBawfIiDCuLXSdvBo1Xz5ICTM19vgvEp/+kMuECQBzm
-       nVo8b2Gvyagqt/KEQo8wzH2THghZ1qQ1QRhIeJG2aissEacF6bGB2oZ7Igim5L14
-       4KR7OeEToyCLC2k+02UCQQCrniSnWKtDVoVqeK/zbB32JhW3Wullv5p5zUEcd
-       KfEEuzcCUIxtJYTahJ1pvlFkQ8anpuxjSEDp8x/18bq3
-       -----END RSA PRIVATE KEY-----
-       </privatekey></keypair></createsshkeypairresponse>
-
-#. 
-
-   Copy the key data into a file. The file looks like this:
+      <?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
+      dXYBeZVwakDVsU2MLGl/K+wefwefwefwefwefJyKJaogMKn7BperPD6n1wIDAQAB
+      AoGAdXaJ7uyZKeRDoy6wA0UmF0kSPbMZCR+UTIHNkS/E0/4U+6lhMokmFSHtu
+      mfDZ1kGGDYhMsdytjDBztljawfawfeawefawfawfawQQDCjEsoRdgkduTy
+      QpbSGDIa11Jsc+XNDx2fgRinDsxXI/zJYXTKRhSl/LIPHBw/brW8vzxhOlSOrwm7
+      VvemkkgpAkEAwSeEw394LYZiEVv395ar9MLRVTVLwpo54jC4tsOxQCBlloocK
+      lYaocpk0yBqqOUSBawfIiDCuLXSdvBo1Xz5ICTM19vgvEp/+kMuECQBzm
+      nVo8b2Gvyagqt/KEQo8wzH2THghZ1qQ1QRhIeJG2aissEacF6bGB2oZ7Igim5L14
+      4KR7OeEToyCLC2k+02UCQQCrniSnWKtDVoVqeK/zbB32JhW3Wullv5p5zUEcd
+      KfEEuzcCUIxtJYTahJ1pvlFkQ8anpuxjSEDp8x/18bq3
+      -----END RSA PRIVATE KEY-----
+      </privatekey></keypair></createsshkeypairresponse>
+
+#. Copy the key data into a file. The file looks like this:
 
    .. sourcecode:: bash
 
-       -----BEGIN RSA PRIVATE KEY-----
-       MIICXQIBAAKBgQCSydmnQ67jP6lNoXdX3noZjQdrMAWNQZ7y5SrEu4wDxplvhYci
-       dXYBeZVwakDVsU2MLGl/K+wefwefwefwefwefJyKJaogMKn7BperPD6n1wIDAQAB
-       AoGAdXaJ7uyZKeRDoy6wA0UmF0kSPbMZCR+UTIHNkS/E0/4U+6lhMokmFSHtu
-       mfDZ1kGGDYhMsdytjDBztljawfawfeawefawfawfawQQDCjEsoRdgkduTy
-       QpbSGDIa11Jsc+XNDx2fgRinDsxXI/zJYXTKRhSl/LIPHBw/brW8vzxhOlSOrwm7
-       VvemkkgpAkEAwSeEw394LYZiEVv395ar9MLRVTVLwpo54jC4tsOxQCBlloocK
-       lYaocpk0yBqqOUSBawfIiDCuLXSdvBo1Xz5ICTM19vgvEp/+kMuECQBzm
-       nVo8b2Gvyagqt/KEQo8wzH2THghZ1qQ1QRhIeJG2aissEacF6bGB2oZ7Igim5L14
-       4KR7OeEToyCLC2k+02UCQQCrniSnWKtDVoVqeK/zbB32JhW3Wullv5p5zUEcd
-       KfEEuzcCUIxtJYTahJ1pvlFkQ8anpuxjSEDp8x/18bq3
-       -----END RSA PRIVATE KEY-----
+      -----BEGIN RSA PRIVATE KEY-----
+      MIICXQIBAAKBgQCSydmnQ67jP6lNoXdX3noZjQdrMAWNQZ7y5SrEu4wDxplvhYci
+      dXYBeZVwakDVsU2MLGl/K+wefwefwefwefwefJyKJaogMKn7BperPD6n1wIDAQAB
+      AoGAdXaJ7uyZKeRDoy6wA0UmF0kSPbMZCR+UTIHNkS/E0/4U+6lhMokmFSHtu
+      mfDZ1kGGDYhMsdytjDBztljawfawfeawefawfawfawQQDCjEsoRdgkduTy
+      QpbSGDIa11Jsc+XNDx2fgRinDsxXI/zJYXTKRhSl/LIPHBw/brW8vzxhOlSOrwm7
+      VvemkkgpAkEAwSeEw394LYZiEVv395ar9MLRVTVLwpo54jC4tsOxQCBlloocK
+      lYaocpk0yBqqOUSBawfIiDCuLXSdvBo1Xz5ICTM19vgvEp/+kMuECQBzm
+      nVo8b2Gvyagqt/KEQo8wzH2THghZ1qQ1QRhIeJG2aissEacF6bGB2oZ7Igim5L14
+      4KR7OeEToyCLC2k+02UCQQCrniSnWKtDVoVqeK/zbB32JhW3Wullv5p5zUEcd
+      KfEEuzcCUIxtJYTahJ1pvlFkQ8anpuxjSEDp8x/18bq3
+      -----END RSA PRIVATE KEY-----
 
-#. 
+#. Save the file.
 
-   Save the file.
 
 Creating an Instance
 ~~~~~~~~~~~~~~~~~~~~
@@ -1374,19 +1128,20 @@ 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.
+   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:
 
 .. sourcecode:: 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
+   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
 
 Substitute the template, service offering and security group IDs (if you
 are using the security group feature) that are in your cloud
 environment.
 
+
 Logging In Using the SSH Keypair
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -1397,11 +1152,12 @@ For example, from a Linux OS, run:
 
 .. sourcecode:: bash
 
-    ssh -i ~/.ssh/keypair-doc <ip address>
+   ssh -i ~/.ssh/keypair-doc <ip address>
 
 The -i parameter tells the ssh client to use a ssh key found at
 ~/.ssh/keypair-doc.
 
+
 Resetting SSH Keys
 ~~~~~~~~~~~~~~~~~~
 
@@ -1411,6 +1167,7 @@ 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.
 
+
 .. |basic-deployment.png| image:: _static/images/basic-deployment.png
    :alt: Basic two-machine CloudStack deployment
 .. |VMSnapshotButton.png| image:: _static/images/VMSnapshotButton.png


[2/4] Fixed formatting by Will stevens

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/templates.rst
----------------------------------------------------------------------
diff --git a/source/templates.rst b/source/templates.rst
index c4d33b2..bc55aa2 100644
--- a/source/templates.rst
+++ b/source/templates.rst
@@ -12,7 +12,8 @@
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
-   
+
+
 Working with Templates
 ======================
 
@@ -30,6 +31,7 @@ CloudStack ships with a default template. In order to present more
 choices to users, CloudStack administrators and users can create
 templates and add them to CloudStack.
 
+
 Creating Templates: Overview
 ----------------------------
 
@@ -38,18 +40,12 @@ system. There are a variety of ways to add more templates.
 Administrators and end users can add templates. The typical sequence of
 events is:
 
-#. 
-
-   Launch a VM instance that has the operating system you want. Make any
+#. Launch a VM instance that has the operating system you want. Make any
    other desired configuration changes to the VM.
 
-#. 
-
-   Stop the VM.
-
-#. 
+#. Stop the VM.
 
-   Convert the volume into a template.
+#. Convert the volume into a template.
 
 There are other ways to add templates to CloudStack. For example, you
 can take a snapshot of the VM's volume and create a template from the
@@ -58,19 +54,17 @@ snapshot, or import a VHD from another system into CloudStack.
 The various techniques for creating templates are described in the next
 few sections.
 
+
 Requirements for Templates
 --------------------------
 
--  
-
-   For XenServer, install PV drivers / Xen tools on each template that
+-  For XenServer, install PV drivers / Xen tools on each template that
    you create. This will enable live migration and clean guest shutdown.
 
--  
-
-   For vSphere, install VMware Tools on each template that you create.
+-  For vSphere, install VMware Tools on each template that you create.
    This will enable console view to work properly.
 
+
 Best Practices for Templates
 ----------------------------
 
@@ -78,6 +72,7 @@ If you plan to use large templates (100 GB or larger), be sure you have
 a 10-gigabit network to support the large templates. A slower network
 can lead to timeouts and other errors when large templates are used.
 
+
 The Default Template
 --------------------
 
@@ -98,30 +93,31 @@ block most access to the template excluding ssh.
 
 .. code:: bash
 
-    # iptables --list
-    Chain INPUT (policy ACCEPT)
-    target     prot opt source               destination
-    RH-Firewall-1-INPUT  all  --  anywhere             anywhere
-
-    Chain FORWARD (policy ACCEPT)
-    target     prot opt source               destination
-    RH-Firewall-1-INPUT  all  --  anywhere             anywhere
-
-    Chain OUTPUT (policy ACCEPT)
-    target     prot opt source               destination
-
-    Chain RH-Firewall-1-INPUT (2 references)
-    target     prot opt source               destination
-    ACCEPT     all  --  anywhere             anywhere
-    ACCEPT     icmp --  anywhere        anywhere       icmp any
-    ACCEPT     esp  --  anywhere        anywhere
-    ACCEPT     ah   --  anywhere        anywhere
-    ACCEPT     udp  --  anywhere        224.0.0.251    udp dpt:mdns
-    ACCEPT     udp  --  anywhere        anywhere       udp dpt:ipp
-    ACCEPT     tcp  --  anywhere        anywhere       tcp dpt:ipp
-    ACCEPT     all  --  anywhere        anywhere       state RELATED,ESTABLISHED
-    ACCEPT     tcp  --  anywhere        anywhere       state NEW tcp dpt:ssh
-    REJECT     all  --  anywhere        anywhere       reject-with icmp-host-
+   # iptables --list
+   Chain INPUT (policy ACCEPT)
+   target     prot opt source               destination
+   RH-Firewall-1-INPUT  all  --  anywhere             anywhere
+
+   Chain FORWARD (policy ACCEPT)
+   target     prot opt source               destination
+   RH-Firewall-1-INPUT  all  --  anywhere             anywhere
+
+   Chain OUTPUT (policy ACCEPT)
+   target     prot opt source               destination
+
+   Chain RH-Firewall-1-INPUT (2 references)
+   target     prot opt source               destination
+   ACCEPT     all  --  anywhere             anywhere
+   ACCEPT     icmp --  anywhere        anywhere       icmp any
+   ACCEPT     esp  --  anywhere        anywhere
+   ACCEPT     ah   --  anywhere        anywhere
+   ACCEPT     udp  --  anywhere        224.0.0.251    udp dpt:mdns
+   ACCEPT     udp  --  anywhere        anywhere       udp dpt:ipp
+   ACCEPT     tcp  --  anywhere        anywhere       tcp dpt:ipp
+   ACCEPT     all  --  anywhere        anywhere       state RELATED,ESTABLISHED
+   ACCEPT     tcp  --  anywhere        anywhere       state NEW tcp dpt:ssh
+   REJECT     all  --  anywhere        anywhere       reject-with icmp-host-
+
 
 Private and Public Templates
 ----------------------------
@@ -141,92 +137,75 @@ in a private Zone, it is available only to users in the domain assigned
 to that Zone. If a public template is created in a public Zone, it is
 available to all users in all domains.
 
+
 Creating a Template from an Existing Virtual Machine
 ----------------------------------------------------
 
 Once you have at least one VM set up in the way you want, you can use it
 as the prototype for other VMs.
 
-#. 
-
-   Create and start a virtual machine using any of the techniques given
+#. Create and start a virtual machine using any of the techniques given
    in `“Creating VMs” <virtual_machines.html#creating-vms>`_.
 
-#. 
-
-   Make any desired configuration changes on the running VM, then click
+#. Make any desired configuration changes on the running VM, then click
    Stop.
 
-#. 
-
-   Wait for the VM to stop. When the status shows Stopped, go to the
+#. Wait for the VM to stop. When the status shows Stopped, go to the
    next step.
 
-#. 
-
-   Click Create Template and provide the following:
-
-   -  
+#. Click Create Template and provide the following:
 
-      **Name and Display Text**. These will be shown in the UI, so
+   -  **Name and Display Text**. These will be shown in the UI, so
       choose something descriptive.
 
-   -  
-
-      **OS Type**. This helps CloudStack and the hypervisor perform
+   -  **OS Type**. This helps CloudStack and the hypervisor perform
       certain operations and make assumptions that improve the
       performance of the guest. Select one of the following.
 
-      -  
-
-         If the operating system of the stopped VM is listed, choose it.
-
-      -  
+      -  If the operating system of the stopped VM is listed, choose it.
 
-         If the OS type of the stopped VM is not listed, choose Other.
+      -  If the OS type of the stopped VM is not listed, choose Other.
 
-      -  
-
-         If you want to boot from this template in PV mode, choose Other
+      -  If you want to boot from this template in PV mode, choose Other
          PV (32-bit) or Other PV (64-bit). This choice is available only
          for XenServere:
 
          .. note:: 
-            Generally you should not choose an older version of the OS than the version in the image. For example, choosing CentOS 5.4 to support a CentOS 6.2 image will in general not work. In those cases you should choose Other.
-
-   -  
+            Generally you should not choose an older version of the OS 
+            than the version in the image. For example, choosing CentOS 
+            5.4 to support a CentOS 6.2 image will in general not work. 
+            In those cases you should choose Other.
 
-      **Public**. Choose Yes to make this template accessible to all
+   -  **Public**. Choose Yes to make this template accessible to all
       users of this CloudStack installation. The template will appear in
       the Community Templates list. See `“Private and
       Public Templates” <#private-and-public-templates>`_.
 
-   -  
-
-      **Password Enabled**. Choose Yes if your template has the
+   -  **Password Enabled**. Choose Yes if your template has the
       CloudStack password change script installed. See 
       :ref:`adding-password-management-to-templates`.
 
-#. 
-
-   Click Add.
+#. Click Add.
 
 The new template will be visible in the Templates section when the
 template creation process has been completed. The template is then
 available when creating a new VM.
 
+
 Creating a Template from a Snapshot
 -----------------------------------
 
 If you do not want to stop the VM in order to use the Create Template
-menu item (as described in `“Creating a Template from an
-Existing Virtual Machine” <#creating-a-template-from-an-existing-virtual-machine>`_), you
-can create a template directly from any snapshot through the CloudStack
-UI.
+menu item (as described in `“Creating a Template from an Existing 
+Virtual Machine” <#creating-a-template-from-an-existing-virtual-machine>`_), 
+you can create a template directly from any snapshot through the 
+CloudStack UI.
+
 
 Uploading Templates
 -------------------
 
+
 vSphere Templates and ISOs
 --------------------------
 
@@ -240,86 +219,61 @@ them to decrease upload times.
 
 To upload a template:
 
-#. 
+#. In the left navigation bar, click Templates.
 
-   In the left navigation bar, click Templates.
+#. Click Register Template.
 
-#. 
+#. Provide the following:
 
-   Click Register Template.
-
-#. 
-
-   Provide the following:
-
-   -  
-
-      **Name and Description**. These will be shown in the UI, so choose
+   -  **Name and Description**. These will be shown in the UI, so choose
       something descriptive.
 
-   -  
-
-      **URL**. The Management Server will download the file from the
+   -  **URL**. The Management Server will download the file from the
       specified URL, such as ``http://my.web.server/filename.vhd.gz``.
 
-   -  
-
-      **Zone**. Choose the zone where you want the template to be
+   -  **Zone**. Choose the zone where you want the template to be
       available, or All Zones to make it available throughout
       CloudStack.
 
-   -  
-
-      **OS Type**: This helps CloudStack and the hypervisor perform
+   -  **OS Type**: This helps CloudStack and the hypervisor perform
       certain operations and make assumptions that improve the
       performance of the guest. Select one of the following:
 
-      -  
-
-         If the operating system of the stopped VM is listed, choose it.
+      -  If the operating system of the stopped VM is listed, choose it.
 
-      -  
-
-         If the OS type of the stopped VM is not listed, choose Other.
+      -  If the OS type of the stopped VM is not listed, choose Other.
 
          .. note:: 
-            You should not choose an older version of the OS than the version in the image. For example, choosing CentOS 5.4 to support a CentOS 6.2 image will in general not work. In those cases you should choose Other.
-
-   -  
+            You should not choose an older version of the OS than the 
+            version in the image. For example, choosing CentOS 5.4 to 
+            support a CentOS 6.2 image will in general not work. In 
+            those cases you should choose Other.
 
-      **Hypervisor**: The supported hypervisors are listed. Select the
+   -  **Hypervisor**: The supported hypervisors are listed. Select the
       desired one.
 
-   -  
-
-      **Format**. The format of the template upload file, such as VHD or
+   -  **Format**. The format of the template upload file, such as VHD or
       OVA.
 
-   -  
-
-      **Password Enabled**. Choose Yes if your template has the
-      CloudStack password change script installed. See :ref:`adding-password-management-to-templates`.
-
-   -  
+   -  **Password Enabled**. Choose Yes if your template has the
+      CloudStack password change script installed. 
+      See :ref:`adding-password-management-to-templates`.
 
-      **Extractable**. Choose Yes if the template is available for
+   -  **Extractable**. Choose Yes if the template is available for
       extraction. If this option is selected, end users can download a
       full image of a template.
 
-   -  
-
-      **Public**. Choose Yes to make this template accessible to all
+   -  **Public**. Choose Yes to make this template accessible to all
       users of this CloudStack installation. The template will appear in
       the Community Templates list. See `“Private and
       Public Templates” <#private-and-public-templates>`_.
 
-   -  
-
-      **Featured**. Choose Yes if you would like this template to be
+   -  **Featured**. Choose Yes if you would like this template to be
       more prominent for users to select. The template will appear in
       the Featured Templates list. Only an administrator can make a
       template Featured.
 
+
 Exporting Templates
 -------------------
 
@@ -327,6 +281,7 @@ End users and Administrators may export templates from the CloudStack.
 Navigate to the template in the UI and choose the Download function from
 the Actions menu.
 
+
 Creating a Linux Template
 -------------------------
 
@@ -339,30 +294,23 @@ assumes openssh-server is installed during installation.
 
 An overview of the procedure is as follow:
 
-#. 
-
-   Upload your Linux ISO.
+#. Upload your Linux ISO.
 
    For more information, see `“Adding an
    ISO” <virtual_machines.html#adding-an-iso>`_.
 
-#. 
-
-   Create a VM Instance with this ISO.
+#. Create a VM Instance with this ISO.
 
    For more information, see `“Creating
    VMs” <virtual_machines.html#creating-vms>`_.
 
-#. 
-
-   Prepare the Linux VM
+#. Prepare the Linux VM
 
-#. 
+#. Create a template from the VM.
 
-   Create a template from the VM.
+   For more information, see `“Creating a Template from an Existing 
+   Virtual Machine” <#creating-a-template-from-an-existing-virtual-machine>`_.
 
-   For more information, see `“Creating a Template from an
-   Existing Virtual Machine” <#creating-a-template-from-an-existing-virtual-machine>`_.
 
 System preparation for Linux
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -370,9 +318,7 @@ System preparation for Linux
 The following steps will prepare a basic Linux installation for
 templating.
 
-#. 
-
-   **Installation**
+#. **Installation**
 
    It is good practice to name your VM something generic during
    installation, this will ensure components such as LVM do not appear
@@ -387,69 +333,61 @@ templating.
 
    .. code:: bash
 
-                DEVICE=eth0
-                TYPE=Ethernet
-                BOOTPROTO=dhcp
-                ONBOOT=yes
+      DEVICE=eth0
+      TYPE=Ethernet
+      BOOTPROTO=dhcp
+      ONBOOT=yes
 
    The next steps updates the packages on the Template Master.
 
-   -  
-
-      Ubuntu
+   -  Ubuntu
 
       .. code:: bash
 
-                          sudo -i
-                          apt-get update
-                          apt-get upgrade -y
-                          apt-get install -y acpid ntp
-                          reboot
-
-   -  
+         sudo -i
+         apt-get update
+         apt-get upgrade -y
+         apt-get install -y acpid ntp
+         reboot
 
-      CentOS
+   -  CentOS
 
       .. code:: bash
 
-                          ifup eth0
-                          yum update -y
-                          reboot
+         ifup eth0
+         yum update -y
+         reboot
 
-#. 
-
-   **Password management**
+#. **Password management**
 
    .. note:: 
-      If preferred, custom users (such as ones created during the Ubuntu installation) should be removed. First ensure the root user account is enabled by giving it a password and then login as root to continue.
+      If preferred, custom users (such as ones created during the Ubuntu 
+      installation) should be removed. First ensure the root user account 
+      is enabled by giving it a password and then login as root to continue.
 
    .. code:: bash
 
-                sudo passwd root
-                logout
+      sudo passwd root
+      logout
 
    As root, remove any custom user accounts created during the
    installation process.
 
    .. code:: bash
 
-                deluser myuser --remove-home
+      deluser myuser --remove-home
 
    See :ref:`adding-password-management-to-templates` for
    instructions to setup the password management script, this will allow
    CloudStack to change your root password from the web interface.
 
-#. 
-
-   **Hostname Management**
+#. **Hostname Management**
 
    CentOS configures the hostname by default on boot. Unfortunately
    Ubuntu does not have this functionality, for Ubuntu installations use
    the following steps.
 
-   -  
-
-      Ubuntu
+   -  Ubuntu
 
       The hostname of a Templated VM is set by a custom script in
       `/etc/dhcp/dhclient-exit-hooks.d`, this script first checks if the
@@ -466,64 +404,60 @@ templating.
 
       .. code:: bash
 
-            #!/bin/sh
-            # dhclient change hostname script for Ubuntu
-            oldhostname=$(hostname -s)
-            if [ $oldhostname = 'localhost' ]
-            then
-                sleep 10 # Wait for configuration to be written to disk
-                hostname=$(cat /var/lib/dhcp/dhclient.eth0.leases  |  awk ' /host-name/ { host = $3 }  END { printf host } ' | sed     's/[";]//g' )
-                fqdn="$hostname.$(cat /var/lib/dhcp/dhclient.eth0.leases  |  awk ' /domain-name/ { domain = $3 }  END { printf     domain } ' | sed 's/[";]//g')"
-                ip=$(cat /var/lib/dhcp/dhclient.eth0.leases  |  awk ' /fixed-address/ { lease = $2 }  END { printf lease } ' | sed     's/[";]//g')
-                echo "cloudstack-hostname: Hostname _localhost_ detected. Changing hostname and adding hosts."
-                echo " Hostname: $hostname \n FQDN: $fqdn \n IP: $ip"
-                # Update /etc/hosts
-                awk -v i="$ip" -v f="$fqdn" -v h="$hostname" "/^127/{x=1} !/^127/ && x { x=0; print i,f,h; } { print $0; }" /etc/  hosts > /etc/hosts.dhcp.tmp
-                mv /etc/hosts /etc/hosts.dhcp.bak
-                mv /etc/hosts.dhcp.tmp /etc/hosts
-                # Rename Host
-                echo $hostname > /etc/hostname
-                hostname $hostname
-                # Recreate SSH2
-                export DEBIAN_FRONTEND=noninteractive
-                dpkg-reconfigure openssh-server
-            fi
-            ### End of Script ###
-            
-            chmod 774  /etc/dhcp/dhclient-exit-hooks.d/sethostname
+         #!/bin/sh
+         # dhclient change hostname script for Ubuntu
+         oldhostname=$(hostname -s)
+         if [ $oldhostname = 'localhost' ]
+         then
+             sleep 10 # Wait for configuration to be written to disk
+             hostname=$(cat /var/lib/dhcp/dhclient.eth0.leases  |  awk ' /host-name/ { host = $3 }  END { printf host } ' | sed     's/[";]//g' )
+             fqdn="$hostname.$(cat /var/lib/dhcp/dhclient.eth0.leases  |  awk ' /domain-name/ { domain = $3 }  END { printf     domain } ' | sed 's/[";]//g')"
+             ip=$(cat /var/lib/dhcp/dhclient.eth0.leases  |  awk ' /fixed-address/ { lease = $2 }  END { printf lease } ' | sed     's/[";]//g')
+             echo "cloudstack-hostname: Hostname _localhost_ detected. Changing hostname and adding hosts."
+             echo " Hostname: $hostname \n FQDN: $fqdn \n IP: $ip"
+             # Update /etc/hosts
+             awk -v i="$ip" -v f="$fqdn" -v h="$hostname" "/^127/{x=1} !/^127/ && x { x=0; print i,f,h; } { print $0; }" /etc/  hosts > /etc/hosts.dhcp.tmp
+             mv /etc/hosts /etc/hosts.dhcp.bak
+             mv /etc/hosts.dhcp.tmp /etc/hosts
+             # Rename Host
+             echo $hostname > /etc/hostname
+             hostname $hostname
+             # Recreate SSH2
+             export DEBIAN_FRONTEND=noninteractive
+             dpkg-reconfigure openssh-server
+         fi
+         ### End of Script ###
+         
+         chmod 774  /etc/dhcp/dhclient-exit-hooks.d/sethostname
 
    .. warning:: 
-        The following steps should be run when you are ready to template your Template Master. If the Template Master is rebooted during these steps you will have to run all the steps again. At the end of this process the Template Master should be shutdown and the template created in order to create and deploy the final template.
-
-#. 
+      The following steps should be run when you are ready to template 
+      your Template Master. If the Template Master is rebooted during 
+      these steps you will have to run all the steps again. At the end 
+      of this process the Template Master should be shutdown and the 
+      template created in order to create and deploy the final template.
 
-   **Remove the udev persistent device rules**
+#. **Remove the udev persistent device rules**
 
    This step removes information unique to your Template Master such as
    network MAC addresses, lease files and CD block devices, the files
    are automatically generated on next boot.
 
-   -  
-
-      Ubuntu
+   -  Ubuntu
 
       .. code:: bash
 
-                          rm -f /etc/udev/rules.d/70*
-                          rm -f /var/lib/dhcp/dhclient.*
+         rm -f /etc/udev/rules.d/70*
+         rm -f /var/lib/dhcp/dhclient.*
 
-   -  
-
-      CentOS
+   -  CentOS
 
       .. code:: bash
 
-                          rm -f /etc/udev/rules.d/70*
-                          rm -f /var/lib/dhclient/*
-
-#. 
+         rm -f /etc/udev/rules.d/70*
+         rm -f /var/lib/dhclient/*
 
-   **Remove SSH Keys**
+#. **Remove SSH Keys**
 
    This step is to ensure all your Templated VMs do not have the same
    SSH keys, which would decrease the security of the machines
@@ -531,24 +465,20 @@ templating.
 
    .. code:: bash
 
-                rm -f /etc/ssh/*key*
+      rm -f /etc/ssh/*key*
 
-#. 
-
-   **Cleaning log files**
+#. **Cleaning log files**
 
    It is good practice to remove old logs from the Template Master.
 
    .. code:: bash
 
-                cat /dev/null > /var/log/audit/audit.log 2>/dev/null
-                cat /dev/null > /var/log/wtmp 2>/dev/null
-                logrotate -f /etc/logrotate.conf 2>/dev/null
-                rm -f /var/log/*-* /var/log/*.gz 2>/dev/null
-
-#. 
+      cat /dev/null > /var/log/audit/audit.log 2>/dev/null
+      cat /dev/null > /var/log/wtmp 2>/dev/null
+      logrotate -f /etc/logrotate.conf 2>/dev/null
+      rm -f /var/log/*-* /var/log/*.gz 2>/dev/null
 
-   **Setting hostname**
+#. **Setting hostname**
 
    In order for the Ubuntu DHCP script to function and the CentOS
    dhclient to set the VM hostname they both require the Template
@@ -557,89 +487,81 @@ templating.
 
    .. code:: bash
 
-                hostname localhost
-                echo "localhost" > /etc/hostname
-
-#. 
+      hostname localhost
+      echo "localhost" > /etc/hostname
 
-   **Set user password to expire**
+#. **Set user password to expire**
 
    This step forces the user to change the password of the VM after the
    template has been deployed.
 
    .. code:: bash
 
-                passwd --expire root
+      passwd --expire root
 
-#. 
-
-   **Clearing User History**
+#. **Clearing User History**
 
    The next step clears the bash commands you have just run.
 
    .. code:: bash
 
-                history -c
-                unset HISTFILE
-
-#. 
+      history -c
+      unset HISTFILE
 
-   **Shutdown the VM**
+#. **Shutdown the VM**
 
    Your now ready to shutdown your Template Master and create a
    template!
 
    .. code:: bash
 
-                halt -p
+      halt -p
 
-#. 
-
-   **Create the template!**
+#. **Create the template!**
 
    You are now ready to create the template, for more information see
    `“Creating a Template from an Existing Virtual
    Machine” <#creating-a-template-from-an-existing-virtual-machine>`_.
 
-.. note:: Templated VMs for both Ubuntu and CentOS may require a reboot after provisioning in order to pickup the hostname.
+.. note::
+   Templated VMs for both Ubuntu and CentOS may require a reboot after 
+   provisioning in order to pickup the hostname.
+
 
 Creating a Windows Template
-----------------------------------
+---------------------------
 
 Windows templates must be prepared with Sysprep before they can be
 provisioned on multiple machines. Sysprep allows you to create a generic
 Windows template and avoid any possible SID conflicts.
 
 .. note:: 
-    (XenServer) Windows VMs running on XenServer require PV drivers, which may be provided in the template or added after the VM is created. The PV drivers are necessary for essential management functions such as mounting additional volumes and ISO images, live migration, and graceful shutdown.
+   (XenServer) Windows VMs running on XenServer require PV drivers, which 
+   may be provided in the template or added after the VM is created. The 
+   PV drivers are necessary for essential management functions such as 
+   mounting additional volumes and ISO images, live migration, and 
+   graceful shutdown.
 
 An overview of the procedure is as follows:
 
-#. 
-
-   Upload your Windows ISO.
+#. Upload your Windows ISO.
 
    For more information, see `“Adding an
    ISO” <virtual_machines.html#adding-an-iso>`_.
 
-#. 
-
-   Create a VM Instance with this ISO.
+#. Create a VM Instance with this ISO.
 
    For more information, see `“Creating
    VMs” <virtual_machines.html#creating-vms>`_.
 
-#. 
-
-   Follow the steps in Sysprep for Windows Server 2008 R2 (below) or
+#. Follow the steps in Sysprep for Windows Server 2008 R2 (below) or
    Sysprep for Windows Server 2003 R2, depending on your version of
    Windows Server
 
-#. 
-
-   The preparation steps are complete. Now you can actually create the
+#. The preparation steps are complete. Now you can actually create the
    template as described in Creating the Windows Template.
 
+
 System Preparation for Windows Server 2008 R2
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -652,50 +574,40 @@ Center <http://www.microsoft.com/en-us/download/details.aspx?id=9085>`_.
 Use the following steps to run sysprep for Windows 2008 R2:
 
 .. note:: 
-    The steps outlined here are derived from the excellent guide by Charity Shelbourne, originally published at `Windows Server 2008 Sysprep Mini-Setup. <http://blogs.technet.com/askcore/archive/2008/10/31/automating-the-oobe-process-during-windows-server-2008-sysprep-mini-setup.aspx>`_
-
-#. 
+   The steps outlined here are derived from the excellent guide by 
+   Charity Shelbourne, originally published at `Windows Server 2008 
+   Sysprep Mini-Setup. 
+   <http://blogs.technet.com/askcore/archive/2008/10/31/automating-the-oobe-process-during-windows-server-2008-sysprep-mini-setup.aspx>`_
 
-   Download and install the Windows AIK
+#. Download and install the Windows AIK
 
-   .. note:: Windows AIK should not be installed on the Windows 2008 R2 VM you just created. Windows AIK should not be part of the template you create. It is only used to create the sysprep answer file.
-
-#. 
+   .. note:: 
+      Windows AIK should not be installed on the Windows 2008 R2 VM you 
+      just created. Windows AIK should not be part of the template you 
+      create. It is only used to create the sysprep answer file.
 
-   Copy the install.wim file in the \\sources directory of the Windows
+#. Copy the install.wim file in the \\sources directory of the Windows
    2008 R2 installation DVD to the hard disk. This is a very large file
    and may take a long time to copy. Windows AIK requires the WIM file
    to be writable.
 
-#. 
-
-   Start the Windows System Image Manager, which is part of the Windows
+#. Start the Windows System Image Manager, which is part of the Windows
    AIK.
 
-#. 
-
-   In the Windows Image pane, right click the Select a Windows image or
+#. In the Windows Image pane, right click the Select a Windows image or
    catalog file option to load the install.wim file you just copied.
 
-#. 
-
-   Select the Windows 2008 R2 Edition.
+#. Select the Windows 2008 R2 Edition.
 
    You may be prompted with a warning that the catalog file cannot be
    opened. Click Yes to create a new catalog file.
 
-#. 
-
-   In the Answer File pane, right click to create a new answer file.
-
-#. 
+#. In the Answer File pane, right click to create a new answer file.
 
-   Generate the answer file from the Windows System Image Manager using
+#. Generate the answer file from the Windows System Image Manager using
    the following steps:
 
-   #. 
-
-      The first page you need to automate is the Language and Country or
+   #. The first page you need to automate is the Language and Country or
       Region Selection page. To automate this, expand Components in your
       Windows Image pane, right-click and add the
       Microsoft-Windows-International-Core setting to Pass 7 oobeSystem.
@@ -709,9 +621,7 @@ Use the following steps to run sysprep for Windows 2008 R2:
 
       |sysmanager.png|
 
-   #. 
-
-      You need to automate the Software License Terms Selection page,
+   #. You need to automate the Software License Terms Selection page,
       otherwise known as the End-User License Agreement (EULA). To do
       this, expand the Microsoft-Windows-Shell-Setup component.
       High-light the OOBE setting, and add the setting to the Pass 7
@@ -719,18 +629,15 @@ Use the following steps to run sysprep for Windows 2008 R2:
 
       |software-license.png|
 
-   #. 
-
-      Make sure the license key is properly set. If you use MAK key, you
+   #. Make sure the license key is properly set. If you use MAK key, you
       can just enter the MAK key on the Windows 2008 R2 VM. You need not
       input the MAK into the Windows System Image Manager. If you use
       KMS host for activation you need not enter the Product Key.
       Details of Windows Volume Activation can be found at
-      `http://technet.microsoft.com/en-us/library/bb892849.aspx <http://technet.microsoft.com/en-us/library/bb892849.aspx>`_
+      `http://technet.microsoft.com/en-us/library/bb892849.aspx 
+      <http://technet.microsoft.com/en-us/library/bb892849.aspx>`_
 
-   #. 
-
-      You need to automate is the Change Administrator Password page.
+   #. You need to automate is the Change Administrator Password page.
       Expand the Microsoft-Windows-Shell-Setup component (if it is not
       still expanded), expand UserAccounts, right-click on
       AdministratorPassword, and add the setting to the Pass 7
@@ -743,140 +650,90 @@ Use the following steps to run sysprep for Windows 2008 R2:
       suit your deployment. The steps above are the minimum needed to
       make Windows unattended setup work.
 
-#. 
-
-   Save the answer file as unattend.xml. You can ignore the warning
+#. Save the answer file as unattend.xml. You can ignore the warning
    messages that appear in the validation window.
 
-#. 
-
-   Copy the unattend.xml file into the c:\\windows\\system32\\sysprep
+#. Copy the unattend.xml file into the c:\\windows\\system32\\sysprep
    directory of the Windows 2008 R2 Virtual Machine
 
-#. 
-
-   Once you place the unattend.xml file in
+#. Once you place the unattend.xml file in
    c:\\windows\\system32\\sysprep directory, you run the sysprep tool as
    follows:
 
    .. code:: bash
 
-       cd c:\Windows\System32\sysprep
-       sysprep.exe /oobe /generalize /shutdown
+      cd c:\Windows\System32\sysprep
+      sysprep.exe /oobe /generalize /shutdown
 
    The Windows 2008 R2 VM will automatically shut down after sysprep is
    complete.
 
+
 System Preparation for Windows Server 2003 R2
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Earlier versions of Windows have a different sysprep tool. Follow these
 steps for Windows Server 2003 R2.
 
-#. 
-
-   Extract the content of \\support\\tools\\deploy.cab on the Windows
+#. Extract the content of \\support\\tools\\deploy.cab on the Windows
    installation CD into a directory called c:\\sysprep on the Windows
    2003 R2 VM.
 
-#. 
-
-   Run c:\\sysprep\\setupmgr.exe to create the sysprep.inf file.
-
-   #. 
+#. Run c:\\sysprep\\setupmgr.exe to create the sysprep.inf file.
 
-      Select Create New to create a new Answer File.
+   #. Select Create New to create a new Answer File.
 
-   #. 
+   #. Enter “Sysprep setup” for the Type of Setup.
 
-      Enter “Sysprep setup” for the Type of Setup.
+   #. Select the appropriate OS version and edition.
 
-   #. 
-
-      Select the appropriate OS version and edition.
-
-   #. 
-
-      On the License Agreement screen, select “Yes fully automate the
+   #. On the License Agreement screen, select “Yes fully automate the
       installation”.
 
-   #. 
-
-      Provide your name and organization.
-
-   #. 
-
-      Leave display settings at default.
-
-   #. 
-
-      Set the appropriate time zone.
-
-   #. 
-
-      Provide your product key.
+   #. Provide your name and organization.
 
-   #. 
+   #. Leave display settings at default.
 
-      Select an appropriate license mode for your deployment
+   #. Set the appropriate time zone.
 
-   #. 
+   #. Provide your product key.
 
-      Select “Automatically generate computer name”.
+   #. Select an appropriate license mode for your deployment
 
-   #. 
+   #. Select “Automatically generate computer name”.
 
-      Type a default administrator password. If you enable the password
+   #. Type a default administrator password. If you enable the password
       reset feature, the users will not actually use this password. This
       password will be reset by the instance manager after the guest
       boots up.
 
-   #. 
+   #. Leave Network Components at “Typical Settings”.
 
-      Leave Network Components at “Typical Settings”.
+   #. Select the “WORKGROUP” option.
 
-   #. 
+   #. Leave Telephony options at default.
 
-      Select the “WORKGROUP” option.
+   #. Select appropriate Regional Settings.
 
-   #. 
+   #. Select appropriate language settings.
 
-      Leave Telephony options at default.
+   #. Do not install printers.
 
-   #. 
+   #. Do not specify “Run Once commands”.
 
-      Select appropriate Regional Settings.
+   #. You need not specify an identification string.
 
-   #. 
+   #. Save the Answer File as c:\\sysprep\\sysprep.inf.
 
-      Select appropriate language settings.
-
-   #. 
-
-      Do not install printers.
-
-   #. 
-
-      Do not specify “Run Once commands”.
-
-   #. 
-
-      You need not specify an identification string.
-
-   #. 
-
-      Save the Answer File as c:\\sysprep\\sysprep.inf.
-
-#. 
-
-   Run the following command to sysprep the image:
+#. Run the following command to sysprep the image:
 
    .. code:: bash
 
-       c:\sysprep\sysprep.exe -reseal -mini -activated
+      c:\sysprep\sysprep.exe -reseal -mini -activated
 
    After this step the machine will automatically shut down
 
+
 Importing Amazon Machine Images
 -------------------------------
 
@@ -892,52 +749,46 @@ You need to have a XenServer host with a file-based storage repository
 file has been customized on the Centos/Fedora host.
 
 .. 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.
+   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.
 
 To import an AMI:
 
-#. 
-
-   Set up loopback on image file:
+#. Set up loopback on image file:
 
    .. code:: bash
 
-       # mkdir -p /mnt/loop/centos62
-       # mount -o loop  CentOS_6.2_x64 /mnt/loop/centos54
-
-#. 
+      # mkdir -p /mnt/loop/centos62
+      # mount -o loop  CentOS_6.2_x64 /mnt/loop/centos54
 
-   Install the kernel-xen package into the image. This downloads the PV
+#. Install the kernel-xen package into the image. This downloads the PV
    kernel and ramdisk to the image.
 
    .. code:: bash
 
-       # yum -c /mnt/loop/centos54/etc/yum.conf --installroot=/mnt/loop/centos62/ -y install kernel-xen
+      # yum -c /mnt/loop/centos54/etc/yum.conf --installroot=/mnt/loop/centos62/ -y install kernel-xen
 
-#. 
-
-   Create a grub entry in /boot/grub/grub.conf.
+#. Create a grub entry in /boot/grub/grub.conf.
 
    .. code:: bash
 
-       # mkdir -p /mnt/loop/centos62/boot/grub
-       # touch /mnt/loop/centos62/boot/grub/grub.conf
-       # echo "" > /mnt/loop/centos62/boot/grub/grub.conf
-
-#. 
+      # mkdir -p /mnt/loop/centos62/boot/grub
+      # touch /mnt/loop/centos62/boot/grub/grub.conf
+      # echo "" > /mnt/loop/centos62/boot/grub/grub.conf
 
-   Determine the name of the PV kernel that has been installed into the
+#. Determine the name of the PV kernel that has been installed into the
    image.
 
    .. code:: bash
 
-       # cd /mnt/loop/centos62
-       # ls lib/modules/
-       2.6.16.33-xenU  2.6.16-xenU  2.6.18-164.15.1.el5xen  2.6.18-164.6.1.el5.centos.plus  2.6.18-xenU-ec2-v1.0  2.6.21.7-2.fc8xen  2.6.31-302-ec2
-       # ls boot/initrd*
-       boot/initrd-2.6.18-164.6.1.el5.centos.plus.img boot/initrd-2.6.18-164.15.1.el5xen.img
-       # ls boot/vmlinuz*
-       boot/vmlinuz-2.6.18-164.15.1.el5xen  boot/vmlinuz-2.6.18-164.6.1.el5.centos.plus  boot/vmlinuz-2.6.18-xenU-ec2-v1.0  boot/vmlinuz-2.6.21-2952.fc8xen
+      # cd /mnt/loop/centos62
+      # ls lib/modules/
+      2.6.16.33-xenU  2.6.16-xenU  2.6.18-164.15.1.el5xen  2.6.18-164.6.1.el5.centos.plus  2.6.18-xenU-ec2-v1.0  2.6.21.7-2.fc8xen  2.6.31-302-ec2
+      # ls boot/initrd*
+      boot/initrd-2.6.18-164.6.1.el5.centos.plus.img boot/initrd-2.6.18-164.15.1.el5xen.img
+      # ls boot/vmlinuz*
+      boot/vmlinuz-2.6.18-164.15.1.el5xen  boot/vmlinuz-2.6.18-164.6.1.el5.centos.plus  boot/vmlinuz-2.6.18-xenU-ec2-v1.0  boot/vmlinuz-2.6.21-2952.fc8xen
 
    Xen kernels/ramdisk always end with "xen". For the kernel version you
    choose, there has to be an entry for that version under lib/modules,
@@ -945,146 +796,121 @@ To import an AMI:
    the only kernel that satisfies this condition is
    2.6.18-164.15.1.el5xen.
 
-#. 
-
-   Based on your findings, create an entry in the grub.conf file. Below
+#. Based on your findings, create an entry in the grub.conf file. Below
    is an example entry.
 
    .. code:: bash
 
-       default=0
-       timeout=5
-       hiddenmenu
-       title CentOS (2.6.18-164.15.1.el5xen)
-               root (hd0,0)
-               kernel /boot/vmlinuz-2.6.18-164.15.1.el5xen ro root=/dev/xvda 
-               initrd /boot/initrd-2.6.18-164.15.1.el5xen.img
-
-#. 
+      default=0
+      timeout=5
+      hiddenmenu
+      title CentOS (2.6.18-164.15.1.el5xen)
+         root (hd0,0)
+         kernel /boot/vmlinuz-2.6.18-164.15.1.el5xen ro root=/dev/xvda 
+         initrd /boot/initrd-2.6.18-164.15.1.el5xen.img
 
-   Edit etc/fstab, changing “sda1” to “xvda” and changing “sdb” to
+#. Edit etc/fstab, changing “sda1” to “xvda” and changing “sdb” to
    “xvdb”.
 
    .. code:: bash
 
-       # cat etc/fstab
-       /dev/xvda  /         ext3    defaults        1 1
-       /dev/xvdb  /mnt      ext3    defaults        0 0
-       none       /dev/pts  devpts  gid=5,mode=620  0 0
-       none       /proc     proc    defaults        0 0
-       none       /sys      sysfs   defaults        0 0
-
-#. 
+      # cat etc/fstab
+      /dev/xvda  /         ext3    defaults        1 1
+      /dev/xvdb  /mnt      ext3    defaults        0 0
+      none       /dev/pts  devpts  gid=5,mode=620  0 0
+      none       /proc     proc    defaults        0 0
+      none       /sys      sysfs   defaults        0 0
 
-   Enable login via the console. The default console device in a
+#. Enable login via the console. The default console device in a
    XenServer system is xvc0. Ensure that etc/inittab and etc/securetty
    have the following lines respectively:
 
    .. code:: bash
 
-       # grep xvc0 etc/inittab 
-       co:2345:respawn:/sbin/agetty xvc0 9600 vt100-nav
-       # grep xvc0 etc/securetty 
-       xvc0
+      # grep xvc0 etc/inittab 
+      co:2345:respawn:/sbin/agetty xvc0 9600 vt100-nav
+      # grep xvc0 etc/securetty 
+      xvc0
 
-#. 
-
-   Ensure the ramdisk supports PV disk and PV network. Customize this
+#. Ensure the ramdisk supports PV disk and PV network. Customize this
    for the kernel version you have determined above.
 
    .. code:: bash
 
-       # chroot /mnt/loop/centos54
-       # cd /boot/
-       # mv initrd-2.6.18-164.15.1.el5xen.img initrd-2.6.18-164.15.1.el5xen.img.bak
-       # mkinitrd -f /boot/initrd-2.6.18-164.15.1.el5xen.img --with=xennet --preload=xenblk --omit-scsi-modules 2.6.18-164.15.1.el5xen
-
-#. 
+      # chroot /mnt/loop/centos54
+      # cd /boot/
+      # mv initrd-2.6.18-164.15.1.el5xen.img initrd-2.6.18-164.15.1.el5xen.img.bak
+      # mkinitrd -f /boot/initrd-2.6.18-164.15.1.el5xen.img --with=xennet --preload=xenblk --omit-scsi-modules 2.6.18-164.15.1.el5xen
 
-   Change the password.
+#. Change the password.
 
    .. code:: bash
 
-       # passwd
-       Changing password for user root.
-       New UNIX password: 
-       Retype new UNIX password: 
-       passwd: all authentication tokens updated successfully.
+      # passwd
+      Changing password for user root.
+      New UNIX password: 
+      Retype new UNIX password: 
+      passwd: all authentication tokens updated successfully.
 
-#. 
-
-   Exit out of chroot.
+#. Exit out of chroot.
 
    .. code:: bash
 
-       # exit
-
-#. 
+      # exit
 
-   Check `etc/ssh/sshd_config` for lines allowing ssh login using a
+#. Check `etc/ssh/sshd_config` for lines allowing ssh login using a
    password.
 
    .. code:: bash
 
-       # egrep "PermitRootLogin|PasswordAuthentication" /mnt/loop/centos54/etc/ssh/sshd_config  
-       PermitRootLogin yes
-       PasswordAuthentication yes
-
-#. 
+      # egrep "PermitRootLogin|PasswordAuthentication" /mnt/loop/centos54/etc/ssh/sshd_config  
+      PermitRootLogin yes
+      PasswordAuthentication yes
 
-   If you need the template to be enabled to reset passwords from the
+#. If you need the template to be enabled to reset passwords from the
    CloudStack UI or API, install the password change script into the
    image at this point. See :ref:`adding-password-management-to-templates`.
 
-#. 
-
-   Unmount and delete loopback mount.
+#. Unmount and delete loopback mount.
 
    .. code:: bash
 
-       # umount /mnt/loop/centos54
-       # losetup -d /dev/loop0
-
-#. 
+      # umount /mnt/loop/centos54
+      # losetup -d /dev/loop0
 
-   Copy the image file to your XenServer host's file-based storage
+#. Copy the image file to your XenServer host's file-based storage
    repository. In the example below, the Xenserver is "xenhost". This
    XenServer has an NFS repository whose uuid is
    a9c5b8c8-536b-a193-a6dc-51af3e5ff799.
 
    .. code:: bash
 
-       # scp CentOS_6.2_x64 xenhost:/var/run/sr-mount/a9c5b8c8-536b-a193-a6dc-51af3e5ff799/
+      # scp CentOS_6.2_x64 xenhost:/var/run/sr-mount/a9c5b8c8-536b-a193-a6dc-51af3e5ff799/
 
-#. 
-
-   Log in to the Xenserver and create a VDI the same size as the image.
+#. Log in to the Xenserver and create a VDI the same size as the image.
 
    .. code:: bash
 
-       [root@xenhost ~]# cd /var/run/sr-mount/a9c5b8c8-536b-a193-a6dc-51af3e5ff799
-       [root@xenhost a9c5b8c8-536b-a193-a6dc-51af3e5ff799]#  ls -lh CentOS_6.2_x64
-       -rw-r--r-- 1 root root 10G Mar 16 16:49 CentOS_6.2_x64
-       [root@xenhost a9c5b8c8-536b-a193-a6dc-51af3e5ff799]# xe vdi-create virtual-size=10GiB sr-uuid=a9c5b8c8-536b-a193-a6dc-51af3e5ff799 type=user name-label="Centos 6.2 x86_64"
-       cad7317c-258b-4ef7-b207-cdf0283a7923
-
-#. 
+      [root@xenhost ~]# cd /var/run/sr-mount/a9c5b8c8-536b-a193-a6dc-51af3e5ff799
+      [root@xenhost a9c5b8c8-536b-a193-a6dc-51af3e5ff799]#  ls -lh CentOS_6.2_x64
+      -rw-r--r-- 1 root root 10G Mar 16 16:49 CentOS_6.2_x64
+      [root@xenhost a9c5b8c8-536b-a193-a6dc-51af3e5ff799]# xe vdi-create virtual-size=10GiB sr-uuid=a9c5b8c8-536b-a193-a6dc-51af3e5ff799 type=user name-label="Centos 6.2 x86_64"
+      cad7317c-258b-4ef7-b207-cdf0283a7923
 
-   Import the image file into the VDI. This may take 10–20 minutes.
+#. Import the image file into the VDI. This may take 10–20 minutes.
 
    .. code:: bash
 
-       [root@xenhost a9c5b8c8-536b-a193-a6dc-51af3e5ff799]# xe vdi-import filename=CentOS_6.2_x64 uuid=cad7317c-258b-4ef7-b207-cdf0283a7923
-
-#. 
+      [root@xenhost a9c5b8c8-536b-a193-a6dc-51af3e5ff799]# xe vdi-import filename=CentOS_6.2_x64 uuid=cad7317c-258b-4ef7-b207-cdf0283a7923
 
-   Locate a the VHD file. This is the file with the VDI’s UUID as its
+#. Locate a the VHD file. This is the file with the VDI’s UUID as its
    name. Compress it and upload it to your web server.
 
    .. code:: bash
 
-       [root@xenhost a9c5b8c8-536b-a193-a6dc-51af3e5ff799]# bzip2 -c cad7317c-258b-4ef7-b207-cdf0283a7923.vhd > CentOS_6.2_x64.vhd.bz2
-       [root@xenhost a9c5b8c8-536b-a193-a6dc-51af3e5ff799]# scp CentOS_6.2_x64.vhd.bz2 webserver:/var/www/html/templates/
+      [root@xenhost a9c5b8c8-536b-a193-a6dc-51af3e5ff799]# bzip2 -c cad7317c-258b-4ef7-b207-cdf0283a7923.vhd > CentOS_6.2_x64.vhd.bz2
+      [root@xenhost a9c5b8c8-536b-a193-a6dc-51af3e5ff799]# scp CentOS_6.2_x64.vhd.bz2 webserver:/var/www/html/templates/
+
 
 Converting a Hyper-V VM to a Template
 -------------------------------------
@@ -1101,24 +927,16 @@ clone if you still want to use the VM in Hyper-V. Uninstall Hyper-V
 Integration Components and check for any references to device names in
 /etc/fstab:
 
-#. 
-
-   From the linux\_ic/drivers/dist directory, run make uninstall (where
+#. From the linux\_ic/drivers/dist directory, run make uninstall (where
    "linux\_ic" is the path to the copied Hyper-V Integration Components
    files).
 
-#. 
-
-   Restore the original initrd from backup in /boot/ (the backup is
+#. Restore the original initrd from backup in /boot/ (the backup is
    named \*.backup0).
 
-#. 
-
-   Remove the "hdX=noprobe" entries from /boot/grub/menu.lst.
-
-#. 
+#. Remove the "hdX=noprobe" entries from /boot/grub/menu.lst.
 
-   Check /etc/fstab for any partitions mounted by device name. Change
+#. Check /etc/fstab for any partitions mounted by device name. Change
    those entries (if any) to mount by LABEL or UUID. You can get that
    information with the blkid command.
 
@@ -1127,57 +945,35 @@ the VHD into XenServer. There are two options for doing this.
 
 Option one:
 
-#. 
-
-   Import the VHD using XenCenter. In XenCenter, go to Tools>Virtual
+#. Import the VHD using XenCenter. In XenCenter, go to Tools>Virtual
    Appliance Tools>Disk Image Import.
 
-#. 
-
-   Choose the VHD, then click Next.
+#. Choose the VHD, then click Next.
 
-#. 
-
-   Name the VM, choose the NFS VHD SR under Storage, enable "Run
+#. Name the VM, choose the NFS VHD SR under Storage, enable "Run
    Operating System Fixups" and choose the NFS ISO SR.
 
-#. 
-
-   Click Next, then Finish. A VM should be created.
+#. Click Next, then Finish. A VM should be created.
 
 Option two:
 
-#. 
-
-   Run XenConvert, under From choose VHD, under To choose XenServer.
+#. Run XenConvert, under From choose VHD, under To choose XenServer.
    Click Next.
 
-#. 
-
-   Choose the VHD, then click Next.
-
-#. 
+#. Choose the VHD, then click Next.
 
-   Input the XenServer host info, then click Next.
+#. Input the XenServer host info, then click Next.
 
-#. 
-
-   Name the VM, then click Next, then Convert. A VM should be created.
+#. Name the VM, then click Next, then Convert. A VM should be created.
 
 Once you have a VM created from the Hyper-V VHD, prepare it using the
 following steps:
 
-#. 
-
-   Boot the VM, uninstall Hyper-V Integration Services, and reboot.
-
-#. 
+#. Boot the VM, uninstall Hyper-V Integration Services, and reboot.
 
-   Install XenServer Tools, then reboot.
+#. Install XenServer Tools, then reboot.
 
-#. 
-
-   Prepare the VM as desired. For example, run sysprep on Windows VMs.
+#. Prepare the VM as desired. For example, run sysprep on Windows VMs.
    See `“Creating a Windows
    Template” <#creating-a-windows-template>`_.
 
@@ -1186,37 +982,26 @@ Windows VMs, but Linux VMs may not perform optimally. Converting a Linux
 VM to PV mode will require additional steps and will vary by
 distribution.
 
-#. 
-
-   Shut down the VM and copy the VHD from the NFS storage to a web
+#. Shut down the VM and copy the VHD from the NFS storage to a web
    server; for example, mount the NFS share on the web server and copy
    it, or from the XenServer host use sftp or scp to upload it to the
    web server.
 
-#. 
+#. In CloudStack, create a new template using the following values:
 
-   In CloudStack, create a new template using the following values:
+   -  URL. Give the URL for the VHD
 
-   -  
-
-      URL. Give the URL for the VHD
-
-   -  
-
-      OS Type. Use the appropriate OS. For PV mode on CentOS, choose
+   -  OS Type. Use the appropriate OS. For PV mode on CentOS, choose
       Other PV (32-bit) or Other PV (64-bit). This choice is available
       only for XenServer.
 
-   -  
-
-      Hypervisor. XenServer
-
-   -  
+   -  Hypervisor. XenServer
 
-      Format. VHD
+   -  Format. VHD
 
 The template will be created, and you can create instances from it.
 
+
 .. _adding-password-management-to-templates:
 
 Adding Password Management to Your Templates
@@ -1243,43 +1028,36 @@ any password changes.
 If the script is unable to contact the virtual router during instance
 boot it will not set the password but boot will continue normally.
 
+
 Linux OS Installation
 ~~~~~~~~~~~~~~~~~~~~~
 
 Use the following steps to begin the Linux OS installation:
 
-#. 
-
-   Download the script file cloud-set-guest-password:
-
-   -  
-
-      `http://download.cloud.com/templates/4.2/bindir/cloud-set-guest-password.in <http://download.cloud.com/templates/4.2/bindir/cloud-set-guest-password.in>`_
+#. Download the script file cloud-set-guest-password:
 
-#. 
+   -  `http://download.cloud.com/templates/4.2/bindir/cloud-set-guest-password.in 
+      <http://download.cloud.com/templates/4.2/bindir/cloud-set-guest-password.in>`_
 
-   Copy this file to /etc/init.d.
+#. Copy this file to /etc/init.d.
 
    On some Linux distributions, copy the file to ``/etc/rc.d/init.d``.
 
-#. 
-
-   Run the following command to make the script executable:
+#. Run the following command to make the script executable:
 
    .. code:: bash
 
-       chmod +x /etc/init.d/cloud-set-guest-password
-
-#. 
+      chmod +x /etc/init.d/cloud-set-guest-password
 
-   Depending on the Linux distribution, continue with the appropriate
+#. Depending on the Linux distribution, continue with the appropriate
    step.
 
    On Fedora, CentOS/RHEL, and Debian, run:
 
    .. code:: bash
 
-       chkconfig --add cloud-set-guest-password
+      chkconfig --add cloud-set-guest-password
+
 
 Windows OS Installation
 ~~~~~~~~~~~~~~~~~~~~~~~
@@ -1288,6 +1066,7 @@ Download the installer, CloudInstanceManager.msi, from the `Download
 page <http://sourceforge.net/projects/cloudstack/files/Password%20Management%20Scripts/CloudInstanceManager.msi/download>`_
 and run the installer in the newly created Windows VM.
 
+
 Deleting Templates
 ------------------
 
@@ -1301,6 +1080,7 @@ When templates are deleted, the VMs instantiated from them will continue
 to run. However, new VMs cannot be created based on the deleted
 template.
 
+
 .. |sysmanager.png| image:: _static/images/sysmanager.png
    :alt: System Image Manager
 .. |software-license.png| image:: _static/images/software-license.png

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/troubleshooting.rst
----------------------------------------------------------------------
diff --git a/source/troubleshooting.rst b/source/troubleshooting.rst
index df5782c..290622c 100644
--- a/source/troubleshooting.rst
+++ b/source/troubleshooting.rst
@@ -13,6 +13,7 @@
    specific language governing permissions and limitations
    under the License.
    
+
 TroubleShooting
 ===============
 
@@ -26,13 +27,13 @@ messages. We recommend this command to find the problematic output in
 the Management Server log:.
 
 .. 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.
+   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.
 
 .. code:: bash
 
-            grep -i -E 'exception|unable|fail|invalid|leak|warn|error' /var/log/cloudstack/management/management-server.log
+   grep -i -E 'exception|unable|fail|invalid|leak|warn|error' /var/log/cloudstack/management/management-server.log
 
 The CloudStack processes requests with a Job ID. If you find an error in
 the logs and you are interested in debugging the issue you can grep for
@@ -41,14 +42,14 @@ find the following ERROR message:
 
 .. code:: bash
 
-            2010-10-04 13:49:32,595 ERROR [cloud.vm.UserVmManagerImpl] (Job-Executor-11:job-1076) Unable to find any host for [User|i-8-42-VM-untagged]
+   2010-10-04 13:49:32,595 ERROR [cloud.vm.UserVmManagerImpl] (Job-Executor-11:job-1076) Unable to find any host for [User|i-8-42-VM-untagged]
 
 Note that the job ID is 1076. You can track back the events relating to
 job 1076 with the following grep:
 
 .. code:: bash
 
-            grep "job-1076)" management-server.log
+   grep "job-1076)" management-server.log
 
 The CloudStack Agent Server logs its activities in `/var/log/cloudstack/agent/`.
 
@@ -62,6 +63,7 @@ Symptom
 Loss of existing data on primary storage which has been exposed as a
 Linux NFS server export on an iSCSI volume.
 
+
 Cause
 ~~~~~
 
@@ -69,6 +71,7 @@ It is possible that a client from outside the intended pool has mounted
 the storage. When this occurs, the LVM is wiped and all data in the
 volume is lost
 
+
 Solution
 ~~~~~~~~
 
@@ -77,16 +80,18 @@ allowed access by specifying a subnet mask. For example:
 
 .. code:: bash
 
-    echo “/export 192.168.1.0/24(rw,async,no_root_squash,no_subtree_check)” > /etc/exports
+   echo “/export 192.168.1.0/24(rw,async,no_root_squash,no_subtree_check)” > /etc/exports
 
 Adjust the above command to suit your deployment needs.
 
+
 More Information
 ~~~~~~~~~~~~~~~~
 
 See the export procedure in the "Secondary Storage" section of the
 CloudStack Installation Guide
 
+
 Recovering a Lost Virtual Router
 --------------------------------
 
@@ -96,11 +101,13 @@ Symptom
 A virtual router is running, but the host is disconnected. A virtual
 router no longer functions as expected.
 
+
 Cause
 ~~~~~
 
 The Virtual router is lost or down.
 
+
 Solution
 ~~~~~~~~
 
@@ -109,20 +116,14 @@ functions as expected, destroy it. You must create one afresh while
 keeping the backup router up and running (it is assumed this is in a
 redundant router setup):
 
--  
-
-   Force stop the router. Use the stopRouter API with forced=true
+-  Force stop the router. Use the stopRouter API with forced=true
    parameter to do so.
 
--  
-
-   Before you continue with destroying this router, ensure that the
+-  Before you continue with destroying this router, ensure that the
    backup router is running. Otherwise the network connection will be
    lost.
 
--  
-
-   Destroy the router by using the destroyRouter API.
+-  Destroy the router by using the destroyRouter API.
 
 Recreate the missing router by using the restartNetwork API with
 cleanup=false parameter. For more information about redundant router
@@ -131,6 +132,7 @@ setup, see Creating a New Network Offering.
 For more information about the API syntax, see the API Reference at
 `http://cloudstack.apache.org/docs/api/ <http://cloudstack.apache.org/docs/api/>`_.
 
+
 Maintenance mode not working on vCenter
 ---------------------------------------
 
@@ -139,12 +141,14 @@ Symptom
 
 Host was placed in maintenance mode, but still appears live in vCenter.
 
+
 Cause
 ~~~~~~
 
 The CloudStack administrator UI was used to place the host in scheduled
 maintenance mode. This mode is separate from vCenter's maintenance mode.
 
+
 Solution
 ~~~~~~~~
 
@@ -159,6 +163,7 @@ Symptom
 
 When attempting to create a VM, the VM will not deploy.
 
+
 Cause
 ~~~~~
 
@@ -166,11 +171,13 @@ If the template was created by uploading an OVA file that was created
 using vSphere Client, it is possible the OVA contained an ISO image. If
 it does, the deployment of VMs from the template will fail.
 
+
 Solution
 ~~~~~~~~
 
 Remove the ISO and re-upload the template.
 
+
 Unable to power on virtual machine on VMware
 --------------------------------------------
 
@@ -179,17 +186,12 @@ Symptom
 
 Virtual machine does not power on. You might see errors like:
 
--  
-
-   Unable to open Swap File
-
--  
+-  Unable to open Swap File
 
-   Unable to access a file since it is locked
+-  Unable to access a file since it is locked
 
--  
+-  Unable to access Virtual machine configuration
 
-   Unable to access Virtual machine configuration
 
 Cause
 ~~~~~
@@ -200,13 +202,15 @@ Sometimes the files are not unlocked when the virtual machine is powered
 off. When a virtual machine attempts to power on, it can not access
 these critical files, and the virtual machine is unable to power on.
 
+
 Solution
 ~~~~~~~~
 
 See the following:
 
-`VMware Knowledge Base
-Article <http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=10051/>`_
+`VMware Knowledge Base Article 
+<http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=10051/>`_
+
 
 Load balancer rules fail after changing network offering
 --------------------------------------------------------
@@ -217,6 +221,7 @@ Symptom
 After changing the network offering on a network, load balancer rules
 stop working.
 
+
 Cause
 ~~~~~
 
@@ -225,18 +230,21 @@ that includes an external load balancer device such as NetScaler, and
 later the network service offering changed to one that uses the
 CloudStack virtual router.
 
+
 Solution
 ~~~~~~~~
 
 Create a firewall rule on the virtual router for each of your existing
 load balancing rules so that they continue to function.
 
+
 Troubleshooting Internet Traffic
 --------------------------------
 
 Below are a few troubleshooting steps to check whats going wrong with your
 network...
 
+
 Trouble Shooting Steps
 ~~~~~~~~~~~~~~~~~~~~~~
 
@@ -248,17 +256,17 @@ Trouble Shooting Steps
 
    ::
 
-     kvm1 ~$ vconfig add eth0 64
-     kvm1 ~$ ifconfig eth0.64 1.2.3.4 netmask 255.255.255.0 up
-     kvm1 ~$ ping 1.2.3.5
+      kvm1 ~$ vconfig add eth0 64
+      kvm1 ~$ ifconfig eth0.64 1.2.3.4 netmask 255.255.255.0 up
+      kvm1 ~$ ping 1.2.3.5
 
    On *host2 (kvm2)*
 
    ::
 
-     kvm2 ~$ vconfig add eth0 64
-     kvm2 ~$ ifconfig eth0.64 1.2.3.5 netmask 255.255.255.0 up
-     kvm2 ~$ ping 1.2.3.4
+      kvm2 ~$ vconfig add eth0 64
+      kvm2 ~$ ifconfig eth0.64 1.2.3.5 netmask 255.255.255.0 up
+      kvm2 ~$ ping 1.2.3.4
 
    If the pings dont work, run *tcpdump(8)* all over the place to check
    who is gobbling up the packets. Ultimately, if the switches are not
@@ -282,33 +290,33 @@ Trouble Shooting Steps
 
    ::
 
-     acs-manager ~$ cloudmonkey list traffictypes physicalnetworkid=41cb7ff6-8eb2-4630-b577-1da25e0e1145
-     count = 4
-     traffictype:
-     id = cd0915fe-a660-4a82-9df7-34aebf90003e
-     kvmnetworklabel = cloudbr0
-     physicalnetworkid = 41cb7ff6-8eb2-4630-b577-1da25e0e1145
-     traffictype = Guest
-     xennetworklabel = MGMT
-     ========================================================
-     id = f5524b8f-6605-41e4-a982-81a356b2a196
-     kvmnetworklabel = cloudbr0
-     physicalnetworkid = 41cb7ff6-8eb2-4630-b577-1da25e0e1145
-     traffictype = Management
-     xennetworklabel = MGMT
-     ========================================================
-     id = 266bad0e-7b68-4242-b3ad-f59739346cfd
-     kvmnetworklabel = cloudbr0
-     physicalnetworkid = 41cb7ff6-8eb2-4630-b577-1da25e0e1145
-     traffictype = Public
-     xennetworklabel = MGMT
-     ========================================================
-     id = a2baad4f-7ce7-45a8-9caf-a0b9240adf04
-     kvmnetworklabel = cloudbr0
-     physicalnetworkid = 41cb7ff6-8eb2-4630-b577-1da25e0e1145
-     traffictype = Storage
-     xennetworklabel = MGMT
-     =========================================================
+      acs-manager ~$ cloudmonkey list traffictypes physicalnetworkid=41cb7ff6-8eb2-4630-b577-1da25e0e1145
+      count = 4
+      traffictype:
+      id = cd0915fe-a660-4a82-9df7-34aebf90003e
+      kvmnetworklabel = cloudbr0
+      physicalnetworkid = 41cb7ff6-8eb2-4630-b577-1da25e0e1145
+      traffictype = Guest
+      xennetworklabel = MGMT
+      ========================================================
+      id = f5524b8f-6605-41e4-a982-81a356b2a196
+      kvmnetworklabel = cloudbr0
+      physicalnetworkid = 41cb7ff6-8eb2-4630-b577-1da25e0e1145
+      traffictype = Management
+      xennetworklabel = MGMT
+      ========================================================
+      id = 266bad0e-7b68-4242-b3ad-f59739346cfd
+      kvmnetworklabel = cloudbr0
+      physicalnetworkid = 41cb7ff6-8eb2-4630-b577-1da25e0e1145
+      traffictype = Public
+      xennetworklabel = MGMT
+      ========================================================
+      id = a2baad4f-7ce7-45a8-9caf-a0b9240adf04
+      kvmnetworklabel = cloudbr0
+      physicalnetworkid = 41cb7ff6-8eb2-4630-b577-1da25e0e1145
+      traffictype = Storage
+      xennetworklabel = MGMT
+      =========================================================
   
 #. KVM traffic labels require to be named as *"cloudbr0"*, *"cloudbr2"*,
    *"cloudbrN"* etc and the corresponding bridge must exist on the KVM
@@ -319,15 +327,15 @@ Trouble Shooting Steps
 
    ::
 
-    kvm1 ~$ ifconfig cloudbr0
-    cloudbr0  Link encap:Ethernet  HWaddr 00:0C:29:EF:7D:78  
-          inet addr:192.168.44.22  Bcast:192.168.44.255  Mask:255.255.255.0
-          inet6 addr: fe80::20c:29ff:feef:7d78/64 Scope:Link
-          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
-          RX packets:92435 errors:0 dropped:0 overruns:0 frame:0
-          TX packets:50596 errors:0 dropped:0 overruns:0 carrier:0
-          collisions:0 txqueuelen:0 
-          RX bytes:94985932 (90.5 MiB)  TX bytes:61635793 (58.7 MiB)
+      kvm1 ~$ ifconfig cloudbr0
+      cloudbr0  Link encap:Ethernet  HWaddr 00:0C:29:EF:7D:78  
+         inet addr:192.168.44.22  Bcast:192.168.44.255  Mask:255.255.255.0
+         inet6 addr: fe80::20c:29ff:feef:7d78/64 Scope:Link
+         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
+         RX packets:92435 errors:0 dropped:0 overruns:0 frame:0
+         TX packets:50596 errors:0 dropped:0 overruns:0 carrier:0
+         collisions:0 txqueuelen:0 
+         RX bytes:94985932 (90.5 MiB)  TX bytes:61635793 (58.7 MiB)
 
 #. The Virtual Router, SSVM, CPVM *public* interface would be bridged to
    a physical interface on the host. In the example below, *cloudbr0* is
@@ -341,22 +349,22 @@ Trouble Shooting Steps
 
    ::
 
-     kvm-host1 ~$ brctl show
-     bridge name  bridge id           STP enabled interfaces
-     breth0-64    8000.000c29ef7d78   no          eth0.64
-                                                  vnet2
-     cloud0       8000.fe00a9fe0219   no          vnet0
-     cloudbr0     8000.000c29ef7d78   no          eth0
-                                                  vnet1
-                                                  vnet3
-     virbr0       8000.5254008e321a   yes         virbr0-nic
+      kvm-host1 ~$ brctl show
+      bridge name  bridge id           STP enabled interfaces
+      breth0-64    8000.000c29ef7d78   no          eth0.64
+                                                   vnet2
+      cloud0       8000.fe00a9fe0219   no          vnet0
+      cloudbr0     8000.000c29ef7d78   no          eth0
+                                                   vnet1
+                                                   vnet3
+      virbr0       8000.5254008e321a   yes         virbr0-nic
 
    ::
 
-     xenserver1 ~$ brctl show
-     bridge name  bridge id           STP enabled interfaces
-     xapi0    0000.e2b76d0a1149       no          vif1.0
-     xenbr0   0000.000c299b54dc       no          eth0
+      xenserver1 ~$ brctl show
+      bridge name  bridge id           STP enabled interfaces
+      xapi0    0000.e2b76d0a1149       no          vif1.0
+      xenbr0   0000.000c299b54dc       no          eth0
                                                   xapi1
                                                   vif1.1
                                                   vif1.2
@@ -367,11 +375,11 @@ Trouble Shooting Steps
 
    ::
 
-     xenserver1 ~$ xe network-list 
-     uuid ( RO)                : aaa-bbb-ccc-ddd
-               name-label ( RW): MGMT
-         name-description ( RW): 
-                   bridge ( RO): xenbr0
+      xenserver1 ~$ xe network-list 
+      uuid ( RO)                : aaa-bbb-ccc-ddd
+                name-label ( RW): MGMT
+          name-description ( RW): 
+                    bridge ( RO): xenbr0
 
 
 #. The Internet would be accessible from both the SSVM and CPVM
@@ -385,25 +393,25 @@ Trouble Shooting Steps
 
    ::
 
-     root@s-1-VM:~# ping -c 3 google.com
-     PING google.com (74.125.236.164): 56 data bytes
-     64 bytes from 74.125.236.164: icmp_seq=0 ttl=55 time=26.932 ms
-     64 bytes from 74.125.236.164: icmp_seq=1 ttl=55 time=29.156 ms
-     64 bytes from 74.125.236.164: icmp_seq=2 ttl=55 time=25.000 ms
-     --- google.com ping statistics ---
-     3 packets transmitted, 3 packets received, 0% packet loss
-     round-trip min/avg/max/stddev = 25.000/27.029/29.156/1.698 ms
+      root@s-1-VM:~# ping -c 3 google.com
+      PING google.com (74.125.236.164): 56 data bytes
+      64 bytes from 74.125.236.164: icmp_seq=0 ttl=55 time=26.932 ms
+      64 bytes from 74.125.236.164: icmp_seq=1 ttl=55 time=29.156 ms
+      64 bytes from 74.125.236.164: icmp_seq=2 ttl=55 time=25.000 ms
+      --- google.com ping statistics ---
+      3 packets transmitted, 3 packets received, 0% packet loss
+      round-trip min/avg/max/stddev = 25.000/27.029/29.156/1.698 ms
 
    ::
 
-     root@v-2-VM:~# ping -c 3 google.com
-     PING google.com (74.125.236.164): 56 data bytes
-     64 bytes from 74.125.236.164: icmp_seq=0 ttl=55 time=32.125 ms
-     64 bytes from 74.125.236.164: icmp_seq=1 ttl=55 time=26.324 ms
-     64 bytes from 74.125.236.164: icmp_seq=2 ttl=55 time=37.001 ms
-     --- google.com ping statistics ---
-     3 packets transmitted, 3 packets received, 0% packet loss
-     round-trip min/avg/max/stddev = 26.324/31.817/37.001/4.364 ms
+      root@v-2-VM:~# ping -c 3 google.com
+      PING google.com (74.125.236.164): 56 data bytes
+      64 bytes from 74.125.236.164: icmp_seq=0 ttl=55 time=32.125 ms
+      64 bytes from 74.125.236.164: icmp_seq=1 ttl=55 time=26.324 ms
+      64 bytes from 74.125.236.164: icmp_seq=2 ttl=55 time=37.001 ms
+      --- google.com ping statistics ---
+      3 packets transmitted, 3 packets received, 0% packet loss
+      round-trip min/avg/max/stddev = 26.324/31.817/37.001/4.364 ms
 
 
 #. The Virtual Router (VR) should also be able to reach the Internet
@@ -412,14 +420,14 @@ Trouble Shooting Steps
 
    ::
 
-     root@r-4-VM:~# ping -c 3 google.com
-     PING google.com (74.125.236.164): 56 data bytes
-     64 bytes from 74.125.236.164: icmp_seq=0 ttl=55 time=28.098 ms
-     64 bytes from 74.125.236.164: icmp_seq=1 ttl=55 time=34.785 ms
-     64 bytes from 74.125.236.164: icmp_seq=2 ttl=55 time=69.179 ms
-     --- google.com ping statistics ---
-     3 packets transmitted, 3 packets received, 0% packet loss
-     round-trip min/avg/max/stddev = 28.098/44.021/69.179/17.998 ms
+      root@r-4-VM:~# ping -c 3 google.com
+      PING google.com (74.125.236.164): 56 data bytes
+      64 bytes from 74.125.236.164: icmp_seq=0 ttl=55 time=28.098 ms
+      64 bytes from 74.125.236.164: icmp_seq=1 ttl=55 time=34.785 ms
+      64 bytes from 74.125.236.164: icmp_seq=2 ttl=55 time=69.179 ms
+      --- google.com ping statistics ---
+      3 packets transmitted, 3 packets received, 0% packet loss
+      round-trip min/avg/max/stddev = 28.098/44.021/69.179/17.998 ms
 
 #. However, the Virtual Router's (VR) Source NAT Public IP address
    **WONT** be reachable until appropriate Ingress rules are
@@ -443,5 +451,6 @@ Trouble Shooting Steps
 In a vast majority of the cases, the problem has turned out to be at the
 switching layer where the L3 switches were configured incorrectly.
 
-This section was contibuted by Shanker Balan and was originally published on `Shapeblue's blog <http://shankerbalan.net/blog/internet-not-working-on-cloudstack-vms/>`_
+This section was contibuted by Shanker Balan and was originally published on 
+`Shapeblue's blog <http://shankerbalan.net/blog/internet-not-working-on-cloudstack-vms/>`_
 

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/tuning.rst
----------------------------------------------------------------------
diff --git a/source/tuning.rst b/source/tuning.rst
index 5ff2584..75b0954 100644
--- a/source/tuning.rst
+++ b/source/tuning.rst
@@ -20,6 +20,7 @@ Tuning
 This section provides tips on how to improve the performance of your
 cloud.
 
+
 Performance Monitoring
 ----------------------
 
@@ -28,55 +29,47 @@ administrators. This allows the user to monitor their utilization of
 resources and determine when it is appropriate to choose a more powerful
 service offering or larger disk.
 
+
 Increase Management Server Maximum Memory
 -----------------------------------------
 
 If the Management Server is subject to high demand, the default maximum
 JVM memory allocation can be insufficient. To increase the memory:
 
-#. 
-
-   Edit the Tomcat configuration file:
+#. Edit the Tomcat configuration file:
 
    .. code:: bash
 
-       /etc/cloudstack/management/tomcat6.conf
+      /etc/cloudstack/management/tomcat6.conf
 
-#. 
-
-   Change the command-line parameter -XmxNNNm to a higher value of N.
+#. Change the command-line parameter -XmxNNNm to a higher value of N.
 
    For example, if the current value is -Xmx128m, change it to -Xmx1024m
    or higher.
 
-#. 
-
-   To put the new setting into effect, restart the Management Server.
+#. To put the new setting into effect, restart the Management Server.
 
    .. code:: bash
 
-       # service cloudstack-management restart
+      # service cloudstack-management restart
 
 For more information about memory issues, see "FAQ: Memory" at `Tomcat
 Wiki. <http://wiki.apache.org/tomcat/FAQ/Memory>`_
 
+
 Set Database Buffer Pool Size
 -----------------------------
 
 It is important to provide enough memory space for the MySQL database to
 cache data and indexes:
 
-#. 
-
-   Edit the MySQL configuration file:
+#. Edit the MySQL configuration file:
 
    .. code:: bash
 
-       /etc/my.cnf
-
-#. 
+      /etc/my.cnf
 
-   Insert the following line in the [mysqld] section, below the datadir
+#. Insert the following line in the [mysqld] section, below the datadir
    line. Use a value that is appropriate for your situation. We
    recommend setting the buffer pool at 40% of RAM if MySQL is on the
    same server as the management server or 70% of RAM if MySQL has a
@@ -85,20 +78,19 @@ cache data and indexes:
 
    .. code:: bash
 
-       innodb_buffer_pool_size=700M
-
-#. 
+      innodb_buffer_pool_size=700M
 
-   Restart the MySQL service.
+#. Restart the MySQL service.
 
    .. code:: bash
 
-       # service mysqld restart
+      # service mysqld restart
 
 For more information about the buffer pool, see "The InnoDB Buffer Pool"
 at `MySQL Reference
 Manual <http://dev.mysql.com/doc/refman/5.5/en/innodb-buffer-pool.html>`_.
 
+
 Set and Monitor Total VM Limits per Host
 ----------------------------------------
 
@@ -119,6 +111,7 @@ cluster is at most (N-1) \* (per-host-limit). Once a cluster reaches
 this number of VMs, use the CloudStack UI to disable allocation of more
 VMs to the cluster.
 
+
 Configure XenServer dom0 Memory
 -------------------------------
 

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/ui.rst
----------------------------------------------------------------------
diff --git a/source/ui.rst b/source/ui.rst
index 9b63600..c2d6bf3 100644
--- a/source/ui.rst
+++ b/source/ui.rst
@@ -13,6 +13,7 @@
    specific language governing permissions and limitations
    under the License.
 
+
 User Interface
 ==============
 
@@ -28,7 +29,7 @@ management server IP address)
 
 .. sourcecode:: bash
 
-    http://<management-server-ip-address>:8080/client
+   http://<management-server-ip-address>:8080/client
 
 On a fresh Management Server installation, a guided tour splash screen
 appears. On later visits, you’ll see a login screen where you specify
@@ -36,8 +37,8 @@ the following to proceed to your Dashboard:
 
 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
-username is password.
+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.
 
@@ -52,6 +53,7 @@ enter Comp1/sales.
 For more guidance about the choices that appear when you log in to this
 UI, see Logging In as the Root Administrator.
 
+
 End User's UI Overview
 ~~~~~~~~~~~~~~~~~~~~~~
 
@@ -61,6 +63,7 @@ data volumes and snapshots, guest networks, and IP addresses. If the
 user is a member or administrator of one or more CloudStack projects,
 the UI can provide a project-oriented view.
 
+
 Root Administrator's UI Overview
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -74,6 +77,7 @@ screen and the navigation bar on the left provide access to a variety of
 administrative functions. The root administrator can also use the UI to
 perform all the same tasks that are present in the end-user’s UI.
 
+
 Logging In as the Root Administrator
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -81,26 +85,20 @@ After the Management Server software is installed and running, you can
 run the CloudStack user interface. This UI is there to help you
 provision, view, and manage your cloud infrastructure.
 
-#. 
-
-   Open your favorite Web browser and go to this URL. Substitute the IP
+#. Open your favorite Web browser and go to this URL. Substitute the IP
    address of your own Management Server:
 
    .. sourcecode:: bash
 
-       http://<management-server-ip-address>:8080/client
+      http://<management-server-ip-address>:8080/client
 
    After logging into a fresh Management Server installation, a guided
    tour splash screen appears. On later visits, you’ll be taken directly
    into the Dashboard.
 
-#. 
+#. If you see the first-time splash screen, choose one of the following.
 
-   If you see the first-time splash screen, choose one of the following.
-
-   -  
-
-      **Continue with basic setup.** Choose this if you're just trying
+   -  **Continue with basic setup.** Choose this if you're just trying
       CloudStack, and you want a guided walkthrough of the simplest
       possible configuration so that you can get started right away.
       We'll help you set up a cloud with the following features: a
@@ -112,9 +110,7 @@ provision, view, and manage your cloud infrastructure.
       information you need, but if you want just a bit more detail, you
       can follow along in the Trial Installation Guide.
 
-   -  
-
-      **I have used CloudStack before.** Choose this if you have already
+   -  **I have used CloudStack before.** Choose this if you have already
       gone through a design phase and planned a more sophisticated
       deployment, or you are ready to start scaling up a trial cloud
       that you set up earlier with the basic setup screens. In the
@@ -126,15 +122,17 @@ provision, view, and manage your cloud infrastructure.
 
       The root administrator Dashboard appears.
 
-#. 
-
-   You should set a new root administrator password. If you chose basic
+#. You should set a new root administrator password. If you chose basic
    setup, you’ll be prompted to create a new password right away. If you
    chose experienced user, use the steps in :ref:`changing-root-password`.
 
-.. warning:: 
-
-   You are logging in as the root administrator. This account manages the CloudStack deployment, including physical infrastructure. The root administrator can modify configuration settings to change basic functionality, create or delete user accounts, and take many actions that should be performed only by an authorized person. Please change the default password to a new, unique password.
+.. warning::
+   You are logging in as the root administrator. This account manages the 
+   CloudStack deployment, including physical infrastructure. The root 
+   administrator can modify configuration settings to change basic 
+   functionality, create or delete user accounts, and take many actions 
+   that should be performed only by an authorized person. Please change 
+   the default password to a new, unique password.
 
 .. _changing-root-password:
 
@@ -150,43 +148,27 @@ many actions that should be performed only by an authorized person. When
 first installing CloudStack, be sure to change the default password to a
 new, unique value.
 
-#. 
-
-   Open your favorite Web browser and go to this URL. Substitute the IP
+#. Open your favorite Web browser and go to this URL. Substitute the IP
    address of your own Management Server:
 
    .. sourcecode:: bash
 
-       http://<management-server-ip-address>:8080/client
-
-#. 
+      http://<management-server-ip-address>:8080/client
 
-   Log in to the UI using the current root user ID and password. The
+#. Log in to the UI using the current root user ID and password. The
    default is admin, password.
 
-#. 
-
-   Click Accounts.
-
-#. 
-
-   Click the admin account name.
-
-#. 
-
-   Click View Users.
-
-#. 
+#. Click Accounts.
 
-   Click the admin user name.
+#. Click the admin account name.
 
-#. 
+#. Click View Users.
 
-   Click the Change Password button. |change-password.png|
+#. Click the admin user name.
 
-#. 
+#. Click the Change Password button. |change-password.png|
 
-   Type the new password, and click OK.
+#. Type the new password, and click OK.
 
 
 .. |change-password.png| image:: _static/images/change-password.png


[4/4] git commit: Fixed formatting by Will stevens

Posted by se...@apache.org.
Fixed formatting by Will stevens


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

Branch: refs/heads/4.3
Commit: 68c20df481a0bc13e1794a4a897686977139a17c
Parents: 72a3a7c
Author: Will Stevens <ws...@cloudops.com>
Authored: Tue May 20 12:33:17 2014 -0400
Committer: Sebastien Goasguen <ru...@gmail.com>
Committed: Wed May 21 08:25:06 2014 +0200

----------------------------------------------------------------------
 source/accounts.rst                             |  76 +-
 source/administration.rst                       |  18 +-
 source/api.rst                                  |  34 +-
 source/events.rst                               | 189 ++--
 source/hosts.rst                                | 245 ++---
 source/index.rst                                |  34 +
 source/management.rst                           | 381 ++++----
 source/networking.rst                           | 232 ++---
 .../networking/global_server_load_balancing.rst |  20 +-
 source/networking/portable_ips.rst              |   4 +-
 source/networking/security_groups.rst           |   3 +-
 source/projects.rst                             | 261 ++----
 source/reliability.rst                          |  65 +-
 source/service_offerings.rst                    | 311 ++-----
 source/storage.rst                              | 326 +++----
 source/systemvm.rst                             | 381 +++-----
 source/templates.rst                            | 908 +++++++------------
 source/troubleshooting.rst                      | 231 ++---
 source/tuning.rst                               |  39 +-
 source/ui.rst                                   |  76 +-
 source/usage.rst                                | 734 +++++----------
 source/virtual_machines.rst                     | 781 ++++++----------
 22 files changed, 1942 insertions(+), 3407 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/accounts.rst
----------------------------------------------------------------------
diff --git a/source/accounts.rst b/source/accounts.rst
index 5367743..e5d4b6d 100644
--- a/source/accounts.rst
+++ b/source/accounts.rst
@@ -27,6 +27,7 @@ An account typically represents a customer of the service provider or a
 department in a large organization. Multiple users can exist in an
 account.
 
+
 Domains
 ~~~~~~~
 
@@ -40,6 +41,7 @@ For each account created, the Cloud installation creates three different
 types of user accounts: root administrator, domain administrator, and
 user.
 
+
 Users
 ~~~~~
 
@@ -59,6 +61,7 @@ may be multiple administrators in the system. Administrators can create
 or delete other administrators, and change the password for any user in
 the system.
 
+
 Domain Administrators
 ~~~~~~~~~~~~~~~~~~~~~
 
@@ -66,6 +69,7 @@ Domain administrators can perform administrative operations for users
 who belong to that domain. Domain administrators do not have visibility
 into physical servers or other domains.
 
+
 Root Administrator
 ~~~~~~~~~~~~~~~~~~
 
@@ -73,6 +77,7 @@ Root administrators have complete access to the system, including
 managing templates, service offerings, customer care administrators, and
 domains
 
+
 Resource Ownership
 ~~~~~~~~~~~~~~~~~~
 
@@ -86,6 +91,7 @@ account by using the assignVirtualMachine API. A domain or sub-domain
 administrator can do the same for VMs within the domain from one account
 to any other account in the domain or any of its sub-domains.
 
+
 Dedicating Resources to Accounts and Domains
 --------------------------------------------
 
@@ -99,26 +105,21 @@ that domain.
 
 There are several types of dedication available:
 
--
-
-   Explicit dedication. A zone, pod, cluster, or host is dedicated to an
+-  Explicit dedication. A zone, pod, cluster, or host is dedicated to an
    account or domain by the root administrator during initial deployment
    and configuration.
 
--
-
-   Strict implicit dedication. A host will not be shared across multiple
+-  Strict implicit dedication. A host will not be shared across multiple
    accounts. For example, strict implicit dedication is useful for
    deployment of certain types of applications, such as desktops, where
    no host can be shared between different accounts without violating
    the desktop software's terms of license.
 
--
-
-   Preferred implicit dedication. The VM will be deployed in dedicated
+-  Preferred implicit dedication. The VM will be deployed in dedicated
    infrastructure if possible. Otherwise, the VM can be deployed in
    shared infrastructure.
 
+
 How to Dedicate a Zone, Cluster, Pod, or Host to an Account or Domain
 ----------------------------------------------------------------------
 
@@ -138,6 +139,7 @@ permissible to allow some use of shared resources when dedicated
 resources are not available. Whenever a user creates a VM based on this
 service offering, it is allocated on one of the dedicated hosts.
 
+
 How to Use Dedicated Hosts
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -148,6 +150,7 @@ end user can choose to place it on dedicated infrastructure. This
 operation will succeed only if some infrastructure has already been
 assigned as dedicated to the user's account or domain.
 
+
 Behavior of Dedicated Hosts, Clusters, Pods, and Zones
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -178,6 +181,7 @@ VMs of a specific account (the default system account). However, a host
 with system VMs or virtual routers can be used for preferred implicit
 dedication.
 
+
 Using an LDAP Server for User Authentication
 --------------------------------------------
 
@@ -195,22 +199,15 @@ given password is used to authenticate the user..
 To set up LDAP authentication in CloudStack, call the CloudStack API
 command ldapConfig and provide the following:
 
--  
-
-   Hostname or IP address and listening port of the LDAP server
-
--  
-
-   Base directory and query filter
+-  Hostname or IP address and listening port of the LDAP server
 
--  
+-  Base directory and query filter
 
-   Search user DN credentials, which give CloudStack permission to
+-  Search user DN credentials, which give CloudStack permission to
    search on the LDAP server
 
--  
+-  SSL keystore and password, if SSL is used
 
-   SSL keystore and password, if SSL is used
 
 Example LDAP Configuration Commands
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -224,25 +221,25 @@ LDAP server
 
 .. code:: bash
 
-    http://127.0.0.1:8080/client/api?command=ldapConfig&hostname=127.0.0.1&searchbase=ou%3Dtesting%2Co%3Dproject&queryfilter=%28%26%28uid%3D%25u%29%29&binddn=cn%3DJohn+Singh%2Cou%3Dtesting%2Co%project&bindpass=secret&port=10389&ssl=true&truststore=C%3A%2Fcompany%2Finfo%2Ftrusted.ks&truststorepass=secret&response=json&apiKey=YourAPIKey&signature=YourSignatureHash
+   http://127.0.0.1:8080/client/api?command=ldapConfig&hostname=127.0.0.1&searchbase=ou%3Dtesting%2Co%3Dproject&queryfilter=%28%26%28uid%3D%25u%29%29&binddn=cn%3DJohn+Singh%2Cou%3Dtesting%2Co%project&bindpass=secret&port=10389&ssl=true&truststore=C%3A%2Fcompany%2Finfo%2Ftrusted.ks&truststorepass=secret&response=json&apiKey=YourAPIKey&signature=YourSignatureHash
 
 The command must be URL-encoded. Here is the same example without the
 URL encoding:
 
 .. code:: bash
-
-    http://127.0.0.1:8080/client/api?command=ldapConfig
-    &hostname=127.0.0.1
-    &searchbase=ou=testing,o=project
-    &queryfilter=(&(%uid=%u))
-    &binddn=cn=John+Singh,ou=testing,o=project
-    &bindpass=secret
-    &port=10389
-    &ssl=true
-    &truststore=C:/company/info/trusted.ks
-    &truststorepass=secret
-    &response=json
-    &apiKey=YourAPIKey&signature=YourSignatureHash
+   
+   http://127.0.0.1:8080/client/api?command=ldapConfig
+   &hostname=127.0.0.1
+   &searchbase=ou=testing,o=project
+   &queryfilter=(&(%uid=%u))
+   &binddn=cn=John+Singh,ou=testing,o=project
+   &bindpass=secret
+   &port=10389
+   &ssl=true
+   &truststore=C:/company/info/trusted.ks
+   &truststorepass=secret
+   &response=json
+   &apiKey=YourAPIKey&signature=YourSignatureHash
 
 The following shows a similar command for Active Directory. Here, the
 search base is the testing group within a company, and the users are
@@ -250,11 +247,12 @@ matched up based on email address.
 
 .. code:: bash
 
-    http://10.147.29.101:8080/client/api?command=ldapConfig&hostname=10.147.28.250&searchbase=OU%3Dtesting%2CDC%3Dcompany&queryfilter=%28%26%28mail%3D%25e%29%29 &binddn=CN%3DAdministrator%2COU%3Dtesting%2CDC%3Dcompany&bindpass=1111_aaaa&port=389&response=json&apiKey=YourAPIKey&signature=YourSignatureHash
+   http://10.147.29.101:8080/client/api?command=ldapConfig&hostname=10.147.28.250&searchbase=OU%3Dtesting%2CDC%3Dcompany&queryfilter=%28%26%28mail%3D%25e%29%29 &binddn=CN%3DAdministrator%2COU%3Dtesting%2CDC%3Dcompany&bindpass=1111_aaaa&port=389&response=json&apiKey=YourAPIKey&signature=YourSignatureHash
 
 The next few sections explain some of the concepts you will need to know
 when filling out the ldapConfig parameters.
 
+
 Search Base
 ~~~~~~~~~~~
 
@@ -275,6 +273,7 @@ ApacheDS          OU=testing, O=project
 Active Directory  OU=testing, DC=company
 ================  =======================
 
+
 Query Filter
 ~~~~~~~~~~~~
 
@@ -300,19 +299,20 @@ If the CloudStack user name is the same as the LDAP user ID:
 
 .. code:: bash
 
-    (uid=%u)
+   (uid=%u)
 
 If the CloudStack user name is the LDAP display name:
 
 .. code:: bash
 
-    (displayName=%u)
+   (displayName=%u)
 
 To find a user by email address:
 
 .. code:: bash
 
-    (mail=%e)
+   (mail=%e)
+
 
 Search User Bind DN
 ~~~~~~~~~~~~~~~~~~~

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/administration.rst
----------------------------------------------------------------------
diff --git a/source/administration.rst b/source/administration.rst
index 7c81173..4baa17f 100644
--- a/source/administration.rst
+++ b/source/administration.rst
@@ -14,7 +14,6 @@
    under the License.
 
 
-
 User Services
 =============
 
@@ -30,6 +29,7 @@ people to use your cloud – say, if the users are strictly internal to
 your organization, or just friends who are sharing your cloud – you can
 still keep track of what services they use and how much of them.
 
+
 Service Offerings, Disk Offerings, Network Offerings, and Templates
 -------------------------------------------------------------------
 
@@ -37,28 +37,20 @@ A user creating a new instance can make a variety of choices about its
 characteristics and capabilities. CloudStack provides several ways to
 present users with choices when creating a new instance:
 
--  
-
-   Service Offerings, defined by the CloudStack administrator, provide a
+-  Service Offerings, defined by the CloudStack administrator, provide a
    choice of CPU speed, number of CPUs, RAM size, tags on the root disk,
    and other choices. See Creating a New Compute Offering.
 
--  
-
-   Disk Offerings, defined by the CloudStack administrator, provide a
+-  Disk Offerings, defined by the CloudStack administrator, provide a
    choice of disk size and IOPS (Quality of Service) for primary data
    storage. See Creating a New Disk Offering.
 
--  
-
-   Network Offerings, defined by the CloudStack administrator, describe
+-  Network Offerings, defined by the CloudStack administrator, describe
    the feature set that is available to end users from the virtual
    router or external networking devices on a given guest network. See
    Network Offerings.
 
--  
-
-   Templates, defined by the CloudStack administrator or by any
+-  Templates, defined by the CloudStack administrator or by any
    CloudStack user, are the base OS images that the user can choose from
    when creating a new instance. For example, CloudStack includes CentOS
    as a template. See Working with Templates.

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/api.rst
----------------------------------------------------------------------
diff --git a/source/api.rst b/source/api.rst
index e8875fc..654c063 100644
--- a/source/api.rst
+++ b/source/api.rst
@@ -31,6 +31,7 @@ The API has a REST-like query basis and returns results in XML or JSON.
 See `the Developer’s Guide <https://cwiki.apache.org/confluence/display/CLOUDSTACK/Development+101>`_
 and `the API Reference <http://cloudstack.apache.org/docs/api/>`_.
 
+
 Provisioning and Authentication API
 -----------------------------------
 
@@ -44,6 +45,7 @@ authentication is done locally. However, external authentication is
 possible as well. For example, see Using an LDAP Server for User
 Authentication.
 
+
 User Data and Meta Data
 -----------------------
 
@@ -59,47 +61,33 @@ the user data:
 
    .. code:: bash
 
-       # cat /var/lib/dhclient/dhclient-eth0.leases | grep dhcp-server-identifier | tail -1
+      # cat /var/lib/dhclient/dhclient-eth0.leases | grep dhcp-server-identifier | tail -1
 
 #. Access user data by running the following command using the result of
    the above command
 
    .. code:: bash
 
-       # curl http://10.1.1.1/latest/user-data
+      # curl http://10.1.1.1/latest/user-data
 
 Meta Data can be accessed similarly, using a URL of the form
 http://10.1.1.1/latest/meta-data/{metadata type}. (For backwards
 compatibility, the previous URL http://10.1.1.1/latest/{metadata type}
 is also supported.) For metadata type, use one of the following:
 
--  
-
-   service-offering. A description of the VMs service offering
-
--  
-
-   availability-zone. The Zone name
+-  service-offering. A description of the VMs service offering
 
--  
+-  availability-zone. The Zone name
 
-   local-ipv4. The guest IP of the VM
+-  local-ipv4. The guest IP of the VM
 
--  
+-  local-hostname. The hostname of the VM
 
-   local-hostname. The hostname of the VM
-
--  
-
-   public-ipv4. The first public IP for the router. (E.g. the first IP
+-  public-ipv4. The first public IP for the router. (E.g. the first IP
    of eth2)
 
--  
-
-   public-hostname. This is the same as public-ipv4
-
--  
+-  public-hostname. This is the same as public-ipv4
 
-   instance-id. The instance name of the VM
+-  instance-id. The instance name of the VM
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/events.rst
----------------------------------------------------------------------
diff --git a/source/events.rst b/source/events.rst
index d18d66a..cbba93b 100644
--- a/source/events.rst
+++ b/source/events.rst
@@ -25,6 +25,7 @@ and make the right business decision. In CloudStack an event could be a
 state change of virtual or physical resources, an action performed by an
 user (action events), or policy based events (alerts).
 
+
 Event Logs
 ----------
 
@@ -39,6 +40,7 @@ information on the status of a pending job or can be used to identify a
 job that is hanging or has not started. The following sections provide
 more information on these events..
 
+
 Notification
 ------------
 
@@ -64,32 +66,28 @@ machine on the event bus. All the CloudStack events (alerts, action
 events, usage events) and the additional category of resource state
 change events, are published on to the events bus.
 
+
 Use Cases
 ~~~~~~~~~
 
 The following are some of the use cases:
 
--  
-
-   Usage or Billing Engines: A third-party cloud usage solution can
+-  Usage or Billing Engines: A third-party cloud usage solution can
    implement a plug-in that can connects to CloudStack to subscribe to
    CloudStack events and generate usage data. The usage data is consumed
    by their usage software.
 
--  
-
-   AMQP plug-in can place all the events on the a message queue, then a
+-  AMQP plug-in can place all the events on the a message queue, then a
    AMQP message broker can provide topic-based notification to the
    subscribers.
 
--  
-
-   Publish and Subscribe notification service can be implemented as a
+-  Publish and Subscribe notification service can be implemented as a
    pluggable service in CloudStack that can provide rich set of APIs for
    event notification, such as topics-based subscription and
    notification. Additionally, the pluggable service can deal with
    multi-tenancy, authentication, and authorization issues.
 
+
 Configuration
 ~~~~~~~~~~~~~
 
@@ -97,157 +95,107 @@ As a CloudStack administrator, perform the following one-time
 configuration to enable event notification framework. At run time no
 changes can control the behaviour.
 
-#. 
-
-   Open ``'componentContext.xml``.
-
-#. 
-
-   Define a bean named ``eventNotificationBus`` as follows:
-
-   -  
-
-      name : Specify a name for the bean.
+#. Open ``'componentContext.xml``.
 
-   -  
+#. Define a bean named ``eventNotificationBus`` as follows:
 
-      server : The name or the IP address of the RabbitMQ AMQP server.
+   -  name : Specify a name for the bean.
 
-   -  
+   -  server : The name or the IP address of the RabbitMQ AMQP server.
 
-      port : The port on which RabbitMQ server is running.
+   -  port : The port on which RabbitMQ server is running.
 
-   -  
-
-      username : The username associated with the account to access the
+   -  username : The username associated with the account to access the
       RabbitMQ server.
 
-   -  
-
-      password : The password associated with the username of the
+   -  password : The password associated with the username of the
       account to access the RabbitMQ server.
 
-   -  
-
-      exchange : The exchange name on the RabbitMQ server where
+   -  exchange : The exchange name on the RabbitMQ server where
       CloudStack events are published.
 
       A sample bean is given below:
 
       .. code:: bash
 
-          <bean id="eventNotificationBus" class="org.apache.cloudstack.mom.rabbitmq.RabbitMQEventBus">
-              <property name="name" value="eventNotificationBus"/>
-              <property name="server" value="127.0.0.1"/>
-              <property name="port" value="5672"/>
-              <property name="username" value="guest"/>
-              <property name="password" value="guest"/>
-             <property name="exchange" value="cloudstack-events"/>
-             </bean>
+         <bean id="eventNotificationBus" class="org.apache.cloudstack.mom.rabbitmq.RabbitMQEventBus">
+           <property name="name" value="eventNotificationBus"/>
+           <property name="server" value="127.0.0.1"/>
+           <property name="port" value="5672"/>
+           <property name="username" value="guest"/>
+           <property name="password" value="guest"/>
+           <property name="exchange" value="cloudstack-events"/>
+         </bean>
 
       The ``eventNotificationBus`` bean represents the
       ``org.apache.cloudstack.mom.rabbitmq.RabbitMQEventBus`` class.
 
-#. 
+#. Restart the Management Server.
 
-   Restart the Management Server.
 
 Standard Events
 ---------------
 
 The events log records three types of standard events.
 
--  
-
-   INFO. This event is generated when an operation has been successfully
+-  INFO. This event is generated when an operation has been successfully
    performed.
 
--  
-
-   WARN. This event is generated in the following circumstances.
-
-   -  
+-  WARN. This event is generated in the following circumstances.
 
-      When a network is disconnected while monitoring a template
+   -  When a network is disconnected while monitoring a template
       download.
 
-   -  
+   -  When a template download is abandoned.
 
-      When a template download is abandoned.
-
-   -  
-
-      When an issue on the storage server causes the volumes to fail
+   -  When an issue on the storage server causes the volumes to fail
       over to the mirror storage server.
 
--  
-
-   ERROR. This event is generated when an operation has not been
+-  ERROR. This event is generated when an operation has not been
    successfully performed
 
+
 Long Running Job Events
 -----------------------
 
 The events log records three types of standard events.
 
--  
-
-   INFO. This event is generated when an operation has been successfully
+-  INFO. This event is generated when an operation has been successfully
    performed.
 
--  
+-  WARN. This event is generated in the following circumstances.
 
-   WARN. This event is generated in the following circumstances.
-
-   -  
-
-      When a network is disconnected while monitoring a template
+   -  When a network is disconnected while monitoring a template
       download.
 
-   -  
-
-      When a template download is abandoned.
+   -  When a template download is abandoned.
 
-   -  
-
-      When an issue on the storage server causes the volumes to fail
+   -  When an issue on the storage server causes the volumes to fail
       over to the mirror storage server.
 
--  
-
-   ERROR. This event is generated when an operation has not been
+-  ERROR. This event is generated when an operation has not been
    successfully performed
 
+
 Event Log Queries
 -----------------
 
 Database logs can be queried from the user interface. The list of events
 captured by the system includes:
 
--  
-
-   Virtual machine creation, deletion, and on-going management
+-  Virtual machine creation, deletion, and on-going management
    operations
 
--  
-
-   Virtual router creation, deletion, and on-going management operations
-
--  
+-  Virtual router creation, deletion, and on-going management operations
 
-   Template creation and deletion
+-  Template creation and deletion
 
--  
+-  Network/load balancer rules creation and deletion
 
-   Network/load balancer rules creation and deletion
+-  Storage volume creation and deletion
 
--  
+-  User login and logout
 
-   Storage volume creation and deletion
-
--  
-
-   User login and logout
 
 Deleting and Archiving Events and Alerts
 ----------------------------------------
@@ -269,61 +217,44 @@ deleted.
 In order to support the delete or archive alerts, the following global
 parameters have been added:
 
--  
-
-   **alert.purge.delay**: The alerts older than specified number of days
+-  **alert.purge.delay**: The alerts older than specified number of days
    are purged. Set the value to 0 to never purge alerts automatically.
 
--  
-
-   **alert.purge.interval**: The interval in seconds to wait before
+-  **alert.purge.interval**: The interval in seconds to wait before
    running the alert purge thread. The default is 86400 seconds (one
    day).
 
-.. note:: Archived alerts or events cannot be viewed in the UI or by using the
-      API. They are maintained in the database for auditing or compliance
-      purposes.
+.. note:: 
+   Archived alerts or events cannot be viewed in the UI or by using the
+   API. They are maintained in the database for auditing or compliance
+   purposes.
+
 
 Permissions
 ~~~~~~~~~~~
 
 Consider the following:
 
--  
-
-   The root admin can delete or archive one or multiple alerts or
+-  The root admin can delete or archive one or multiple alerts or
    events.
 
--  
-
-   The domain admin or end user can delete or archive one or multiple
+-  The domain admin or end user can delete or archive one or multiple
    events.
 
+
 Procedure
 ~~~~~~~~~
 
-#. 
-
-   Log in as administrator to the CloudStack UI.
+#. Log in as administrator to the CloudStack UI.
 
-#. 
+#. In the left navigation, click Events.
 
-   In the left navigation, click Events.
+#. Perform either of the following:
 
-#. 
-
-   Perform either of the following:
-
-   -  
-
-      To archive events, click Archive Events, and specify event type
+   -  To archive events, click Archive Events, and specify event type
       and date.
 
-   -  
-
-      To archive events, click Delete Events, and specify event type and
+   -  To archive events, click Delete Events, and specify event type and
       date.
 
-#. 
-
-   Click OK.
+#. Click OK.

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/hosts.rst
----------------------------------------------------------------------
diff --git a/source/hosts.rst b/source/hosts.rst
index 9fcf260..755a891 100644
--- a/source/hosts.rst
+++ b/source/hosts.rst
@@ -24,6 +24,7 @@ Additional hosts can be added at any time to provide more capacity for
 guest VMs. For requirements and instructions, see 
 `“Adding a Host” <http://docs.cloudstack.apache.org/projects/cloudstack-installation/en/latest/configuration.html#adding-a-host>`_.
 
+
 Scheduled Maintenance and Maintenance Mode for Hosts
 ----------------------------------------------------
 
@@ -33,6 +34,7 @@ the guest VMs already running on the host are seamlessly migrated to
 another host not in maintenance mode. This migration uses live migration
 technology and does not interrupt the execution of the guest.
 
+
 vCenter and Maintenance Mode
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -40,9 +42,7 @@ To enter maintenance mode on a vCenter host, both vCenter and CloudStack
 must be used in concert. CloudStack and vCenter have separate
 maintenance modes that work closely together.
 
-#. 
-
-   Place the host into CloudStack's "scheduled maintenance" mode. This
+#. Place the host into CloudStack's "scheduled maintenance" mode. This
    does not invoke the vCenter maintenance mode, but only causes VMs to
    be migrated off the host
 
@@ -54,35 +54,26 @@ maintenance modes that work closely together.
    disruption to the guests. After this migration is completed, the host
    will enter the Ready for Maintenance mode.
 
-#. 
-
-   Wait for the "Ready for Maintenance" indicator to appear in the UI.
-
-#. 
+#. Wait for the "Ready for Maintenance" indicator to appear in the UI.
 
-   Now use vCenter to perform whatever actions are necessary to maintain
+#. Now use vCenter to perform whatever actions are necessary to maintain
    the host. During this time, the host cannot be the target of new VM
    allocations.
 
-#. 
-
-   When the maintenance tasks are complete, take the host out of
+#. When the maintenance tasks are complete, take the host out of
    maintenance mode as follows:
 
-   #. 
-
-      First use vCenter to exit the vCenter maintenance mode.
+   #. First use vCenter to exit the vCenter maintenance mode.
 
       This makes the host ready for CloudStack to reactivate it.
 
-   #. 
-
-      Then use CloudStack's administrator UI to cancel the CloudStack
+   #. Then use CloudStack's administrator UI to cancel the CloudStack
       maintenance mode
 
       When the host comes back online, the VMs that were migrated off of
       it may be migrated back to it manually and new VMs can be added.
 
+
 XenServer and Maintenance Mode
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -95,46 +86,31 @@ Mode, you cannot create or start any VMs on it.
 
 **To place a server in Maintenance Mode:**
 
-#. 
-
-   In the Resources pane, select the server, then do one of the
+#. In the Resources pane, select the server, then do one of the
    following:
 
-   -  
-
-      Right-click, then click Enter Maintenance Mode on the shortcut
+   -  Right-click, then click Enter Maintenance Mode on the shortcut
       menu.
 
-   -  
-
-      On the Server menu, click Enter Maintenance Mode.
-
-#. 
+   -  On the Server menu, click Enter Maintenance Mode.
 
-   Click Enter Maintenance Mode.
+#. Click Enter Maintenance Mode.
 
 The server's status in the Resources pane shows when all running VMs
 have been successfully migrated off the server.
 
 **To take a server out of Maintenance Mode:**
 
-#. 
-
-   In the Resources pane, select the server, then do one of the
+#. In the Resources pane, select the server, then do one of the
    following:
 
-   -  
-
-      Right-click, then click Exit Maintenance Mode on the shortcut
+   -  Right-click, then click Exit Maintenance Mode on the shortcut
       menu.
 
-   -  
+   -  On the Server menu, click Exit Maintenance Mode.
 
-      On the Server menu, click Exit Maintenance Mode.
+#. Click Exit Maintenance Mode.
 
-#. 
-
-   Click Exit Maintenance Mode.
 
 Disabling and Enabling Zones, Pods, and Clusters
 ------------------------------------------------
@@ -148,43 +124,26 @@ first added to the cloud, it is Disabled by default.
 
 To disable and enable a zone, pod, or cluster:
 
-#. 
-
-   Log in to the CloudStack UI as administrator
-
-#. 
-
-   In the left navigation bar, click Infrastructure.
+#. Log in to the CloudStack UI as administrator
 
-#. 
+#. In the left navigation bar, click Infrastructure.
 
-   In Zones, click View More.
+#. In Zones, click View More.
 
-#. 
-
-   If you are disabling or enabling a zone, find the name of the zone in
+#. If you are disabling or enabling a zone, find the name of the zone in
    the list, and click the Enable/Disable button. |enable-disable.png|
 
-#. 
-
-   If you are disabling or enabling a pod or cluster, click the name of
+#. If you are disabling or enabling a pod or cluster, click the name of
    the zone that contains the pod or cluster.
 
-#. 
-
-   Click the Compute tab.
-
-#. 
-
-   In the Pods or Clusters node of the diagram, click View All.
+#. Click the Compute tab.
 
-#. 
+#. In the Pods or Clusters node of the diagram, click View All.
 
-   Click the pod or cluster name in the list.
+#. Click the pod or cluster name in the list.
 
-#. 
+#. Click the Enable/Disable button. |enable-disable.png|
 
-   Click the Enable/Disable button. |enable-disable.png|
 
 Removing Hosts
 --------------
@@ -192,6 +151,7 @@ Removing Hosts
 Hosts can be removed from the cloud as needed. The procedure to remove a
 host depends on the hypervisor type.
 
+
 Removing XenServer and KVM Hosts
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -199,24 +159,19 @@ A node cannot be removed from a cluster until it has been placed in
 maintenance mode. This will ensure that all of the VMs on it have been
 migrated to other Hosts. To remove a Host from the cloud:
 
-#. 
-
-   Place the node in maintenance mode.
+#. Place the node in maintenance mode.
 
    See `“Scheduled Maintenance and Maintenance Mode for
    Hosts” <#scheduled-maintenance-and-maintenance-mode-for-hosts>`_.
 
-#. 
-
-   For KVM, stop the cloud-agent service.
-
-#. 
+#. For KVM, stop the cloud-agent service.
 
-   Use the UI option to remove the node.
+#. Use the UI option to remove the node.
 
    Then you may power down the Host, re-use its IP address, re-install
    it, etc
 
+
 Removing vSphere Hosts
 ~~~~~~~~~~~~~~~~~~~~~~
 
@@ -227,6 +182,7 @@ CloudStack to remove the host. CloudStack will not direct commands to a
 host that has been removed using CloudStack. However, the host may still
 exist in the vCenter cluster.
 
+
 Re-Installing Hosts
 -------------------
 
@@ -234,6 +190,7 @@ You can re-install a host after placing it in maintenance mode and then
 removing it. If a host is down and cannot be placed in maintenance mode,
 it should still be removed before the re-install.
 
+
 Maintaining Hypervisors on Hosts
 --------------------------------
 
@@ -249,7 +206,10 @@ any system that is not up to date with patches.
 .. note:: 
    The lack of up-do-date hotfixes can lead to data corruption and lost VMs.
 
-(XenServer) For more information, see `Highly Recommended Hotfixes for XenServer in the CloudStack Knowledge Base <http://docs.cloudstack.org/Knowledge_Base/Possible_VM_corruption_if_XenServer_Hotfix_is_not_Applied/Highly_Recommended_Hotfixes_for_XenServer_5.6_SP2>`_.
+(XenServer) For more information, see 
+`Highly Recommended Hotfixes for XenServer in the CloudStack Knowledge Base 
+<http://docs.cloudstack.org/Knowledge_Base/Possible_VM_corruption_if_XenServer_Hotfix_is_not_Applied/Highly_Recommended_Hotfixes_for_XenServer_5.6_SP2>`_.
+
 
 Changing Host Password
 ----------------------
@@ -260,19 +220,13 @@ same password.
 
 To change a Node's password:
 
-#. 
-
-   Identify all hosts in the cluster.
+#. Identify all hosts in the cluster.
 
-#. 
-
-   Change the password on all hosts in the cluster. Now the password for
+#. Change the password on all hosts in the cluster. Now the password for
    the host and the password known to CloudStack will not match.
    Operations on the cluster will fail until the two passwords match.
 
-#. 
-
-   Get the list of host IDs for the host in the cluster where you are
+#. Get the list of host IDs for the host in the cluster where you are
    changing the password. You will need to access the database to
    determine these host IDs. For each hostname "h" (or vSphere cluster)
    that you are changing the password for, execute:
@@ -281,14 +235,10 @@ To change a Node's password:
 
        mysql> select id from cloud.host where name like '%h%';
 
-#. 
-
-   This should return a single ID. Record the set of such IDs for these
+#. This should return a single ID. Record the set of such IDs for these
    hosts.
 
-#. 
-
-   Update the passwords for the host in the database. In this example,
+#. Update the passwords for the host in the database. In this example,
    we change the passwords for hosts with IDs 5, 10, and 12 to
    "password".
 
@@ -296,6 +246,7 @@ To change a Node's password:
 
        mysql> update cloud.host set password='password' where id=5 or id=10 or id=12;
 
+
 Over-Provisioning and Service Offering Limits
 ---------------------------------------------
 
@@ -350,21 +301,19 @@ configured for that cluster. It is up to the administrator to be sure
 the host is actually suitable for the level of over-provisioning which
 has been set.
 
+
 Limitations on Over-Provisioning in XenServer and KVM
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
--  
-
-   In XenServer, due to a constraint of this hypervisor, you can not use
+-  In XenServer, due to a constraint of this hypervisor, you can not use
    an over-provisioning factor greater than 4.
 
--  
-
-   The KVM hypervisor can not manage memory allocation to VMs
+-  The KVM hypervisor can not manage memory allocation to VMs
    dynamically. CloudStack sets the minimum and maximum amount of memory
    that a VM can use. The hypervisor adjusts the memory within the set
    limits based on the memory contention.
 
+
 Requirements for Over-Provisioning
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -373,6 +322,7 @@ function properly. The feature is dependent on the OS type, hypervisor
 capabilities, and certain scripts. It is the administrator's
 responsibility to ensure that these requirements are met.
 
+
 Balloon Driver
 ^^^^^^^^^^^^^^
 
@@ -380,12 +330,14 @@ All VMs should have a balloon driver installed in them. The hypervisor
 communicates with the balloon driver to free up and make the memory
 available to a VM.
 
+
 XenServer
 '''''''''
 
 The balloon driver can be found as a part of xen pv or PVHVM drivers.
 The xen pvhvm drivers are included in upstream linux kernels 2.6.36+.
 
+
 VMware
 ''''''
 
@@ -393,6 +345,7 @@ The balloon driver can be found as a part of the VMware tools. All the
 VMs that are deployed in a over-provisioned cluster should have the
 VMware tools installed.
 
+
 KVM
 '''
 
@@ -401,22 +354,26 @@ installed in all Linux kernel versions 2.6.25 and greater. The
 administrator must set CONFIG\_VIRTIO\_BALLOON=y in the virtio
 configuration.
 
+
 Hypervisor capabilities
 ^^^^^^^^^^^^^^^^^^^^^^^
 
 The hypervisor must be capable of using the memory ballooning.
 
+
 XenServer
 '''''''''
 
 The DMC (Dynamic Memory Control) capability of the hypervisor should be
 enabled. Only XenServer Advanced and above versions have this feature.
 
+
 VMware, KVM
 '''''''''''
 
 Memory ballooning is supported by default.
 
+
 Setting Over-Provisioning Ratios
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -434,35 +391,31 @@ based on the new over-provisioning ratios, to ensure that CloudStack is
 correctly tracking the amount of free capacity.
 
 .. note:: 
-   It is safer not to deploy additional new VMs while the capacity recalculation is underway, in case the new values for available capacity are not high enough to accommodate the new VMs. Just wait for the new used/available values to become available, to be sure there is room for all the new VMs you want.
+   It is safer not to deploy additional new VMs while the capacity 
+   recalculation is underway, in case the new values for available 
+   capacity are not high enough to accommodate the new VMs. Just wait 
+   for the new used/available values to become available, to be sure 
+   there is room for all the new VMs you want.
 
 To change the over-provisioning ratios for an existing cluster:
 
-#. 
-
-   Log in as administrator to the CloudStack UI.
-
-#. 
-
-   In the left navigation bar, click Infrastructure.
-
-#. 
-
-   Under Clusters, click View All.
+#. Log in as administrator to the CloudStack UI.
 
-#. 
+#. In the left navigation bar, click Infrastructure.
 
-   Select the cluster you want to work with, and click the Edit button.
+#. Under Clusters, click View All.
 
-#. 
+#. Select the cluster you want to work with, and click the Edit button.
 
-   Fill in your desired over-provisioning multipliers in the fields CPU
+#. Fill in your desired over-provisioning multipliers in the fields CPU
    overcommit ratio and RAM overcommit ratio. The value which is
    intially shown in these fields is the default value inherited from
    the global configuration settings.
 
    .. note:: 
-      In XenServer, due to a constraint of this hypervisor, you can not use an over-provisioning factor greater than 4.
+      In XenServer, due to a constraint of this hypervisor, you can not 
+      use an over-provisioning factor greater than 4.
+
 
 Service Offering Limits and Over-Provisioning
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -484,6 +437,7 @@ offering. For example, a guest created from a 2 GHz service offering
 will receive twice the CPU allocation as a guest created from a 1 GHz
 service offering. CloudStack does not perform memory over-provisioning.
 
+
 VLAN Provisioning
 -----------------
 
@@ -513,6 +467,7 @@ if you run out of VLANs. Another advantage is that you can use the same
 set of IPs for different customers, each one with their own routers and
 the guest networks on different physical NICs.
 
+
 VLAN Allocation Example
 ~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -530,6 +485,7 @@ less than 500       Management traffic.             Reserved for administrative
 greater than 1000   Reserved for future use
 =================   =============================   ====================================================================================================
 
+
 Adding Non Contiguous VLAN Ranges
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -539,47 +495,30 @@ VLAN range or add multiple non contiguous VLAN ranges while creating a
 zone. You can also use the UpdatephysicalNetwork API to extend the VLAN
 range.
 
-#. 
-
-   Log in to the CloudStack UI as an administrator or end user.
+#. Log in to the CloudStack UI as an administrator or end user.
 
-#. 
+#. Ensure that the VLAN range does not already exist.
 
-   Ensure that the VLAN range does not already exist.
+#. In the left navigation, choose Infrastructure.
 
-#. 
-
-   In the left navigation, choose Infrastructure.
-
-#. 
-
-   On Zones, click View More, then click the zone to which you want to
+#. On Zones, click View More, then click the zone to which you want to
    work with.
 
-#. 
-
-   Click Physical Network.
+#. Click Physical Network.
 
-#. 
+#. In the Guest node of the diagram, click Configure.
 
-   In the Guest node of the diagram, click Configure.
-
-#. 
-
-   Click Edit |edit-icon.png|.
+#. Click Edit |edit-icon.png|.
 
    The VLAN Ranges field now is editable.
 
-#. 
-
-   Specify the start and end of the VLAN range in comma-separated list.
+#. Specify the start and end of the VLAN range in comma-separated list.
 
    Specify all the VLANs you want to use, VLANs not specified will be
    removed if you are adding new ranges to the existing list.
 
-#. 
+#. Click Apply.
 
-   Click Apply.
 
 Assigning VLANs to Isolated Networks
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -602,36 +541,28 @@ view what VLAN is assigned to a network.
 
 To enable you to assign VLANs to Isolated networks,
 
-#. 
-
-   Create a network offering by specifying the following:
-
-   -  
+#. Create a network offering by specifying the following:
 
-      **Guest Type**: Select Isolated.
+   -  **Guest Type**: Select Isolated.
 
-   -  
-
-      **Specify VLAN**: Select the option.
+   -  **Specify VLAN**: Select the option.
 
    For more information, see the CloudStack Installation Guide.
 
-#. 
-
-   Using this network offering, create a network.
+#. Using this network offering, create a network.
 
    You can create a VPC tier or an Isolated network.
 
-#. 
-
-   Specify the VLAN when you create the network.
+#. Specify the VLAN when you create the network.
 
    When VLAN is specified, a CIDR and gateway are assigned to this
    network and the state is changed to Setup. In this state, the network
    will not be garbage collected.
 
 .. note:: 
-   You cannot change a VLAN once it's assigned to the network. The VLAN remains with the network for its entire life cycle.
+   You cannot change a VLAN once it's assigned to the network. The VLAN 
+   remains with the network for its entire life cycle.
+
 
 .. |enable-disable.png| image:: _static/images/enable-disable.png
    :alt: button to enable or disable zone, pod, or cluster.

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/index.rst
----------------------------------------------------------------------
diff --git a/source/index.rst b/source/index.rst
index cc25dd4..5ab217f 100644
--- a/source/index.rst
+++ b/source/index.rst
@@ -18,9 +18,28 @@
    You can adapt this file completely to your liking, but it should at least
    contain the root `toctree` directive.
 
+
 Welcome to CloudStack Administration Documentation
 ==================================================
 
+.. figure:: /_static/images/acslogo.png
+   :align: center
+
+.. warning::
+   We are in the process of changing documentation format as well as hosting mechanism.
+   Please be patient with us as we migrate our entire documentation to this new setup.
+
+This guide is aimed at Administrators of a CloudStack based Cloud, 
+for Release Notes, Installation and General introduction to CloudStack 
+see the following guides:
+
+- `Documentation Start <http://docs.cloudstack.apache.org>`_
+
+- `Installation Guide <http://docs.cloudstack.apache.org/projects/cloudstack-installation>`_
+
+- `Release Notes <http://docs.cloudstack.apache.org/projects/cloudstack-release-notes>`_
+
+
 User Interface
 --------------
 
@@ -29,6 +48,7 @@ User Interface
 
    ui
 
+
 Managing Accounts, Users and Domains
 ------------------------------------
 
@@ -37,6 +57,7 @@ Managing Accounts, Users and Domains
 
    accounts
 
+
 Using Projects to Organize User Resources
 ------------------------------------------
 .. toctree::
@@ -44,6 +65,7 @@ Using Projects to Organize User Resources
 
    projects
 
+
 Service Offerings
 -----------------
 
@@ -52,6 +74,7 @@ Service Offerings
 
    service_offerings
 
+
 Setting up Networking for Users
 -------------------------------
 
@@ -60,6 +83,7 @@ Setting up Networking for Users
 
    networking
 
+
 Working with Virtual Machines
 -----------------------------
 
@@ -68,6 +92,7 @@ Working with Virtual Machines
 
    virtual_machines
 
+
 Working with Templates
 ----------------------
 
@@ -76,6 +101,7 @@ Working with Templates
 
    templates
 
+
 Working with Hosts
 ------------------
 
@@ -84,6 +110,7 @@ Working with Hosts
 
    hosts
 
+
 Working with Storage
 --------------------
 
@@ -92,6 +119,7 @@ Working with Storage
 
    storage
 
+
 Working with System Virtual Machines
 ------------------------------------
 
@@ -100,6 +128,7 @@ Working with System Virtual Machines
 
    systemvm
 
+
 Working with Usage
 ------------------
 
@@ -108,6 +137,7 @@ Working with Usage
 
    usage
 
+
 Managing Networks and Traffic
 -----------------------------
 
@@ -116,6 +146,7 @@ Managing Networks and Traffic
 
    networking_and_traffic
 
+
 Managing the Cloud
 ------------------
 
@@ -124,6 +155,7 @@ Managing the Cloud
 
    management
 
+
 System Reliability and Availability
 -----------------------------------
 
@@ -132,6 +164,7 @@ System Reliability and Availability
 
    reliability
 
+
 Tuning
 ------
 
@@ -140,6 +173,7 @@ Tuning
 
    tuning
 
+
 Events and Troubleshooting
 --------------------------
 

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/management.rst
----------------------------------------------------------------------
diff --git a/source/management.rst b/source/management.rst
index a5f7266..a52b40f 100644
--- a/source/management.rst
+++ b/source/management.rst
@@ -45,74 +45,44 @@ find all the volumes having tag region=canada OR tag city=Toronto:
 
 .. code:: bash
 
-    command=listVolumes
-                    &listAll=true
-                    &tags[0].key=region
-                    &tags[0].value=canada
-                    &tags[1].key=city
-                    &tags[1].value=Toronto
+   command=listVolumes
+      &listAll=true
+      &tags[0].key=region
+      &tags[0].value=canada
+      &tags[1].key=city
+      &tags[1].value=Toronto
 
 The following API commands have the "tags" input parameter:
 
--  
+-  listVirtualMachines
 
-   listVirtualMachines
+-  listVolumes
 
--  
+-  listSnapshots
 
-   listVolumes
+-  listNetworks
 
--  
+-  listTemplates
 
-   listSnapshots
+-  listIsos
 
--  
+-  listFirewallRules
 
-   listNetworks
+-  listPortForwardingRules
 
--  
+-  listPublicIpAddresses
 
-   listTemplates
+-  listSecurityGroups
 
--  
+-  listLoadBalancerRules
 
-   listIsos
+-  listProjects
 
--  
+-  listVPCs
 
-   listFirewallRules
+-  listNetworkACLs
 
--  
-
-   listPortForwardingRules
-
--  
-
-   listPublicIpAddresses
-
--  
-
-   listSecurityGroups
-
--  
-
-   listLoadBalancerRules
-
--  
-
-   listProjects
-
--  
-
-   listVPCs
-
--  
-
-   listNetworkACLs
-
--  
-
-   listStaticRoutes
+-  listStaticRoutes
 
 
 Reporting CPU Sockets
@@ -153,9 +123,7 @@ CloudStack. If so, you'll need to change the password in MySQL, and then
 add the encrypted password to
 ``/etc/cloudstack/management/db.properties``.
 
-#. 
-
-   Before changing the password, you'll need to stop CloudStack's
+#. Before changing the password, you'll need to stop CloudStack's
    management server and the usage engine if you've deployed that
    component.
 
@@ -164,9 +132,7 @@ add the encrypted password to
        # service cloudstack-management stop
        # service cloudstack-usage stop
 
-#. 
-
-   Next, you'll update the password for the CloudStack user on the MySQL
+#. Next, you'll update the password for the CloudStack user on the MySQL
    server.
 
    .. code:: bash
@@ -181,9 +147,7 @@ add the encrypted password to
        flush privileges;
        quit;
 
-#. 
-
-   The next step is to encrypt the password and copy the encrypted
+#. The next step is to encrypt the password and copy the encrypted
    password to CloudStack's database configuration
    (``/etc/cloudstack/management/db.properties``).
 
@@ -191,6 +155,7 @@ add the encrypted password to
 
            # java -classpath /usr/share/cloudstack-common/lib/jasypt-1.9.0.jar \ org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI encrypt.sh \ input="newpassword123" password="`cat /etc/cloudstack/management/key`" \ verbose=false 
 
+
 File encryption type
 --------------------
 
@@ -198,9 +163,7 @@ File encryption type
    web encryption type then you'll use
    password="management\_server\_secret\_key"
 
-#. 
-
-   Now, you'll update ``/etc/cloudstack/management/db.properties`` with
+#. Now, you'll update ``/etc/cloudstack/management/db.properties`` with
    the new ciphertext. Open ``/etc/cloudstack/management/db.properties``
    in a text editor, and update these parameters:
 
@@ -209,9 +172,7 @@ File encryption type
        db.cloud.password=ENC(encrypted_password_from_above) 
        db.usage.password=ENC(encrypted_password_from_above)
 
-#. 
-
-   After copying the new password over, you can now start CloudStack
+#. After copying the new password over, you can now start CloudStack
    (and the usage engine, if necessary).
 
    .. code:: bash
@@ -219,6 +180,7 @@ File encryption type
                # service cloudstack-management start
                # service cloud-usage start
 
+
 Administrator Alerts
 --------------------
 
@@ -233,19 +195,14 @@ stored in the Management Server’s database.
 
 Emails will be sent to administrators under the following circumstances:
 
--  
-
-   The Management Server cluster runs low on CPU, memory, or storage
+-  The Management Server cluster runs low on CPU, memory, or storage
    resources
 
--  
-
-   The Management Server loses heartbeat from a Host for more than 3
+-  The Management Server loses heartbeat from a Host for more than 3
    minutes
 
--  
+-  The Host cluster runs low on CPU, memory, or storage resources
 
-   The Host cluster runs low on CPU, memory, or storage resources
 
 Sending Alerts to External SNMP and Syslog Managers
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -261,117 +218,118 @@ The alerts which can be sent are:
 The following is the list of alert type numbers. The current alerts can
 be found by calling listAlerts.
 
-::
-
-    MEMORY = 0 // Available Memory below configured threshold
-
-::
-
-    CPU = 1 // Unallocated CPU below configured threshold
-
-::
-
-    STORAGE =2 // Available Storage below configured threshold
-
-::
-
-    STORAGE_ALLOCATED = 3 // Remaining unallocated Storage is below configured threshold
-
-::
-
-    PUBLIC_IP = 4 // Number of unallocated virtual network public IPs is below configured threshold
-
-::
-
-    PRIVATE_IP = 5 // Number of unallocated private IPs is below configured threshold
-
-::
-
-    SECONDARY_STORAGE = 6 //  Available Secondary Storage in availability zone is below configured threshold
-
-::
-
-    HOST = 7 // Host related alerts like host disconnected
-
-::
-
-    USERVM = 8 // User VM stopped unexpectedly
-
-::
-
-    DOMAIN_ROUTER = 9 // Domain Router VM stopped unexpectedly
-
-::
-
-    CONSOLE_PROXY = 10 // Console Proxy VM stopped unexpectedly
-
-::
-
-    ROUTING = 11 // Lost connection to default route (to the gateway)
-
-::
-
-    STORAGE_MISC = 12 // Storage issue in system VMs
-
-::
-
-    USAGE_SERVER = 13 // No usage server process running
+:: 
+   
+   MEMORY = 0 // Available Memory below configured threshold
 
-::
+:: 
+   
+   CPU = 1 // Unallocated CPU below configured threshold
 
-    MANAGMENT_NODE = 14 // Management network CIDR is not configured originally
+:: 
+   
+   STORAGE =2 // Available Storage below configured threshold
 
-::
+:: 
+   
+   STORAGE_ALLOCATED = 3 // Remaining unallocated Storage is below configured threshold
 
-    DOMAIN_ROUTER_MIGRATE = 15 // Domain Router VM Migration was unsuccessful
+:: 
+   
+   PUBLIC_IP = 4 // Number of unallocated virtual network public IPs is below configured threshold
 
-::
+:: 
+   
+   PRIVATE_IP = 5 // Number of unallocated private IPs is below configured threshold
 
-    CONSOLE_PROXY_MIGRATE = 16 // Console Proxy VM Migration was unsuccessful
+:: 
+   
+   SECONDARY_STORAGE = 6 //  Available Secondary Storage in availability zone is below configured threshold
 
-::
+:: 
+   
+   HOST = 7 // Host related alerts like host disconnected
 
-    USERVM_MIGRATE = 17 // User VM Migration was unsuccessful
+:: 
+   
+   USERVM = 8 // User VM stopped unexpectedly
 
-::
+:: 
+   
+   DOMAIN_ROUTER = 9 // Domain Router VM stopped unexpectedly
 
-    VLAN = 18 // Number of unallocated VLANs is below configured threshold in availability zone
+:: 
+   
+   CONSOLE_PROXY = 10 // Console Proxy VM stopped unexpectedly
 
-::
+:: 
+   
+   ROUTING = 11 // Lost connection to default route (to the gateway)
 
-    SSVM = 19 // SSVM stopped unexpectedly
+:: 
+   
+   STORAGE_MISC = 12 // Storage issue in system VMs
 
-::
+:: 
+   
+   USAGE_SERVER = 13 // No usage server process running
 
-    USAGE_SERVER_RESULT = 20 // Usage job failed
+:: 
+   
+   MANAGMENT_NODE = 14 // Management network CIDR is not configured originally
 
-::
+:: 
+   
+   DOMAIN_ROUTER_MIGRATE = 15 // Domain Router VM Migration was unsuccessful
 
-    STORAGE_DELETE = 21 // Failed to delete storage pool
+:: 
+   
+   CONSOLE_PROXY_MIGRATE = 16 // Console Proxy VM Migration was unsuccessful
 
-::
+:: 
+   
+   USERVM_MIGRATE = 17 // User VM Migration was unsuccessful
 
-    UPDATE_RESOURCE_COUNT = 22 // Failed to update the resource count
+:: 
+   
+   VLAN = 18 // Number of unallocated VLANs is below configured threshold in availability zone
 
-::
+:: 
+   
+   SSVM = 19 // SSVM stopped unexpectedly
 
-    USAGE_SANITY_RESULT = 23 // Usage Sanity Check failed
+:: 
+   
+   USAGE_SERVER_RESULT = 20 // Usage job failed
 
-::
+:: 
+   
+   STORAGE_DELETE = 21 // Failed to delete storage pool
 
-    DIRECT_ATTACHED_PUBLIC_IP = 24 // Number of unallocated shared network IPs is low in availability zone
+:: 
+   
+   UPDATE_RESOURCE_COUNT = 22 // Failed to update the resource count
 
-::
+:: 
+   
+   USAGE_SANITY_RESULT = 23 // Usage Sanity Check failed
 
-    LOCAL_STORAGE = 25 // Remaining unallocated Local Storage is below configured threshold
+:: 
+   
+   DIRECT_ATTACHED_PUBLIC_IP = 24 // Number of unallocated shared network IPs is low in availability zone
 
-::
+:: 
+   
+   LOCAL_STORAGE = 25 // Remaining unallocated Local Storage is below configured threshold
 
-    RESOURCE_LIMIT_EXCEEDED = 26 //Generated when the resource limit exceeds the limit. Currently used for recurring snapshots only
+:: 
+   
+   RESOURCE_LIMIT_EXCEEDED = 26 //Generated when the resource limit exceeds the limit. Currently used for recurring snapshots only
 
 
 You can also display the most up to date list by calling the API command ``listAlerts``.
 
+
 SNMP Alert Details
 ^^^^^^^^^^^^^^^^^^
 
@@ -380,6 +338,7 @@ The supported protocol is SNMP version 2.
 Each SNMP trap contains the following information: message, podId,
 dataCenterId, clusterId, and generationTime.
 
+
 Syslog Alert Details
 ^^^^^^^^^^^^^^^^^^^^
 
@@ -390,13 +349,13 @@ value, it will not be included.
 
 .. code:: bash
 
-    Date severity_level Management_Server_IP_Address/Name  alertType:: value dataCenterId:: value  podId:: value  clusterId:: value  message:: value
+   Date severity_level Management_Server_IP_Address/Name  alertType:: value dataCenterId:: value  podId:: value  clusterId:: value  message:: value
 
 For example:
 
 .. code:: bash
 
-    Mar  4 10:13:47    WARN    localhost    alertType:: managementNode message:: Management server node 127.0.0.1 is up
+   Mar  4 10:13:47    WARN    localhost    alertType:: managementNode message:: Management server node 127.0.0.1 is up
 
 Configuring SNMP and Syslog Managers
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -404,30 +363,26 @@ Configuring SNMP and Syslog Managers
 To configure one or more SNMP managers or Syslog managers to receive
 alerts from CloudStack:
 
-#. 
-
-   For an SNMP manager, install the CloudStack MIB file on your SNMP
+#. For an SNMP manager, install the CloudStack MIB file on your SNMP
    manager system. This maps the SNMP OIDs to trap types that can be
    more easily read by users. The file must be publicly available. For
    more information on how to install this file, consult the
    documentation provided with the SNMP manager.
 
-#. 
-
-   Edit the file /etc/cloudstack/management/log4j-cloud.xml.
+#. Edit the file /etc/cloudstack/management/log4j-cloud.xml.
 
    .. code:: bash
 
-       # vi /etc/cloudstack/management/log4j-cloud.xml
+      # vi /etc/cloudstack/management/log4j-cloud.xml
 
-#. 
-
-   Add an entry using the syntax shown below. Follow the appropriate
+#. Add an entry using the syntax shown below. Follow the appropriate
    example depending on whether you are adding an SNMP manager or a
    Syslog manager. To specify multiple external managers, separate the
    IP addresses and other configuration values with commas (,).
 
-   .. note:: The recommended maximum number of SNMP or Syslog managers is 20 for each.
+   .. note:: 
+      The recommended maximum number of SNMP or Syslog managers is 20 
+      for each.
 
    The following example shows how to configure two SNMP managers at IP
    addresses 10.1.1.1 and 10.1.1.2. Substitute your own IP addresses,
@@ -436,16 +391,16 @@ alerts from CloudStack:
 
    .. code:: bash
 
-       <appender name="SNMP" class="org.apache.cloudstack.alert.snmp.SnmpTrapAppender">
-         <param name="Threshold" value="WARN"/>  <!-- Do not edit. The alert feature assumes WARN. -->
-         <param name="SnmpManagerIpAddresses" value="10.1.1.1,10.1.1.2"/>
-         <param name="SnmpManagerPorts" value="162,162"/>
-         <param name="SnmpManagerCommunities" value="public,public"/>
-         <layout class="org.apache.cloudstack.alert.snmp.SnmpEnhancedPatternLayout"> <!-- Do not edit -->
-           <param name="PairDelimeter" value="//"/>
-           <param name="KeyValueDelimeter" value="::"/>
-         </layout>
-       </appender>
+      <appender name="SNMP" class="org.apache.cloudstack.alert.snmp.SnmpTrapAppender">
+        <param name="Threshold" value="WARN"/>  <!-- Do not edit. The alert feature assumes WARN. -->
+        <param name="SnmpManagerIpAddresses" value="10.1.1.1,10.1.1.2"/>
+        <param name="SnmpManagerPorts" value="162,162"/>
+        <param name="SnmpManagerCommunities" value="public,public"/>
+        <layout class="org.apache.cloudstack.alert.snmp.SnmpEnhancedPatternLayout"> <!-- Do not edit -->
+          <param name="PairDelimeter" value="//"/>
+          <param name="KeyValueDelimeter" value="::"/>
+        </layout>
+      </appender>
 
    The following example shows how to configure two Syslog managers at
    IP addresses 10.1.1.1 and 10.1.1.2. Substitute your own IP addresses.
@@ -454,23 +409,19 @@ alerts from CloudStack:
 
    .. code:: bash
 
-       <appender name="ALERTSYSLOG">
-         <param name="Threshold" value="WARN"/>
-         <param name="SyslogHosts" value="10.1.1.1,10.1.1.2"/>
-         <param name="Facility" value="LOCAL6"/>   
-         <layout>
-           <param name="ConversionPattern" value=""/>
-         </layout>
-       </appender>
-
-#. 
+      <appender name="ALERTSYSLOG">
+        <param name="Threshold" value="WARN"/>
+        <param name="SyslogHosts" value="10.1.1.1,10.1.1.2"/>
+        <param name="Facility" value="LOCAL6"/>   
+        <layout>
+          <param name="ConversionPattern" value=""/>
+        </layout>
+      </appender>
 
-   If your cloud has multiple Management Server nodes, repeat these
+#. If your cloud has multiple Management Server nodes, repeat these
    steps to edit log4j-cloud.xml on every instance.
 
-#. 
-
-   If you have made these changes while the Management Server is
+#. If you have made these changes while the Management Server is
    running, wait a few minutes for the change to take effect.
 
 **Troubleshooting:** If no alerts appear at the configured SNMP or
@@ -479,6 +430,7 @@ there is an error in the syntax of the <appender> entry in
 log4j-cloud.xml. Check to be sure that the format and settings are
 correct.
 
+
 Deleting an SNMP or Syslog Manager
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
@@ -486,6 +438,7 @@ To remove an external SNMP manager or Syslog manager so that it no
 longer receives alerts from CloudStack, remove the corresponding entry
 from the file ``/etc/cloudstack/management/log4j-cloud.xml``.
 
+
 Customizing the Network Domain Name
 -----------------------------------
 
@@ -495,63 +448,47 @@ installation, and a domain administrator can do so within their own
 domain. To specify a custom domain name and put it into effect, follow
 these steps.
 
-#. 
-
-   Set the DNS suffix at the desired scope
+#. Set the DNS suffix at the desired scope
 
-   -  
-
-      At the network level, the DNS suffix can be assigned through the
+   -  At the network level, the DNS suffix can be assigned through the
       UI when creating a new network, as described in 
-      `“Adding an Additional Guest Network” <networking2#adding-an-additional-guest-network>`_ or with the
+      `“Adding an Additional Guest Network” 
+      <networking2#adding-an-additional-guest-network>`_ or with the
       updateNetwork command in the CloudStack API.
 
-   -  
-
-      At the account, domain, or zone level, the DNS suffix can be
+   -  At the account, domain, or zone level, the DNS suffix can be
       assigned with the appropriate CloudStack API commands:
       createAccount, editAccount, createDomain, editDomain, createZone,
       or editZone.
 
-   -  
-
-      At the global level, use the configuration parameter
+   -  At the global level, use the configuration parameter
       guest.domain.suffix. You can also use the CloudStack API command
       updateConfiguration. After modifying this global configuration,
       restart the Management Server to put the new setting into effect.
 
-#. 
-
-   To make the new DNS suffix take effect for an existing network, call
+#. To make the new DNS suffix take effect for an existing network, call
    the CloudStack API command updateNetwork. This step is not necessary
    when the DNS suffix was specified while creating a new network.
 
 The source of the network domain that is used depends on the following
 rules.
 
--  
-
-   For all networks, if a network domain is specified as part of a
+-  For all networks, if a network domain is specified as part of a
    network's own configuration, that value is used.
 
--  
-
-   For an account-specific network, the network domain specified for the
+-  For an account-specific network, the network domain specified for the
    account is used. If none is specified, the system looks for a value
    in the domain, zone, and global configuration, in that order.
 
--  
-
-   For a domain-specific network, the network domain specified for the
+-  For a domain-specific network, the network domain specified for the
    domain is used. If none is specified, the system looks for a value in
    the zone and global configuration, in that order.
 
--  
-
-   For a zone-specific network, the network domain specified for the
+-  For a zone-specific network, the network domain specified for the
    zone is used. If none is specified, the system looks for a value in
    the global configuration.
 
+
 Stopping and Restarting the Management Server
 ---------------------------------------------------
 
@@ -568,11 +505,11 @@ operating system prompt on the Management Server node:
 
 .. code:: bash
 
-    # service cloudstack-management stop
+   # service cloudstack-management stop
 
 To start the Management Server:
 
 .. code:: bash
 
-    # service cloudstack-management start
+   # service cloudstack-management start
 

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/networking.rst
----------------------------------------------------------------------
diff --git a/source/networking.rst b/source/networking.rst
index df65cd2..6568703 100644
--- a/source/networking.rst
+++ b/source/networking.rst
@@ -25,31 +25,22 @@ preferences when it comes to the networking services provided by the
 cloud. As a CloudStack administrator, you can do the following things to
 set up networking for your users:
 
--  
+-  Set up physical networks in zones
 
-   Set up physical networks in zones
-
--  
-
-   Set up several different providers for the same service on a single
+-  Set up several different providers for the same service on a single
    physical network (for example, both Cisco and Juniper firewalls)
 
--  
-
-   Bundle different types of network services into network offerings, so
+-  Bundle different types of network services into network offerings, so
    users can choose the desired network services for any given virtual
    machine
 
--  
-
-   Add new network offerings as time goes on so end users can upgrade to
+-  Add new network offerings as time goes on so end users can upgrade to
    a better class of service on their network
 
--  
-
-   Provide more ways for a network to be accessed by a user, such as
+-  Provide more ways for a network to be accessed by a user, such as
    through a project of which the user is a member
 
+
 About Virtual Networks
 ---------------------------
 
@@ -57,27 +48,24 @@ A virtual network is a logical construct that enables multi-tenancy on a
 single physical network. In CloudStack a virtual network can be shared
 or isolated.
 
+
 Isolated Networks
 ~~~~~~~~~~~~~~~~~
 
 An isolated network can be accessed only by virtual machines of a single
 account. Isolated networks have the following properties.
 
--  
-
-   Resources such as VLAN are allocated and garbage collected
+-  Resources such as VLAN are allocated and garbage collected
    dynamically
 
--  
-
-   There is one network offering for the entire network
+-  There is one network offering for the entire network
 
--  
-
-   The network offering can be upgraded or downgraded but it is for the
+-  The network offering can be upgraded or downgraded but it is for the
    entire network
 
-For more information, see `“Configure Guest Traffic in an Advanced Zone” <networking2.html#configure-guest-traffic-in-an-advanced-zone>`_.
+For more information, see `“Configure Guest Traffic in an Advanced Zone” 
+<networking2.html#configure-guest-traffic-in-an-advanced-zone>`_.
+
 
 Shared Networks
 ~~~~~~~~~~~~~~~
@@ -87,32 +75,21 @@ different accounts. Network Isolation on shared networks is accomplished
 by using techniques such as security groups, which is supported only in
 Basic zones in CloudStack 3.0.3 and later versions.
 
--  
-
-   Shared Networks are created by the administrator
-
--  
-
-   Shared Networks can be designated to a certain domain
+-  Shared Networks are created by the administrator
 
--  
+-  Shared Networks can be designated to a certain domain
 
-   Shared Network resources such as VLAN and physical network that it
+-  Shared Network resources such as VLAN and physical network that it
    maps to are designated by the administrator
 
--  
+-  Shared Networks can be isolated by security groups
 
-   Shared Networks can be isolated by security groups
+-  Public Network is a shared network that is not shown to the end users
 
--  
-
-   Public Network is a shared network that is not shown to the end users
-
--  
-
-   Source NAT per zone is not supported in Shared Network when the
+-  Source NAT per zone is not supported in Shared Network when the
    service provider is virtual router. However, Source NAT per account
-   is supported. For information, see `“Configuring a Shared Guest Network” <networking2.html#configuring-a-shared-guest-network>`_.
+   is supported. For information, see `“Configuring a Shared Guest 
+   Network” <networking2.html#configuring-a-shared-guest-network>`_.
 
 
 Runtime Allocation of Virtual Network Resources
@@ -125,11 +102,13 @@ When all virtual machines have left the virtual network, the network
 resources are garbage collected so they can be allocated again. This
 helps to conserve network resources.
 
+
 Network Service Providers
 -------------------------
 
 .. note:: 
-   For the most up-to-date list of supported network service providers, see the CloudStack UI or call `listNetworkServiceProviders`.
+   For the most up-to-date list of supported network service providers, 
+   see the CloudStack UI or call `listNetworkServiceProviders`.
 
 A service provider (also called a network element) is hardware or
 virtual appliance that makes a network service possible; for example, a
@@ -176,54 +155,36 @@ offering.
 | Port Forwarding      | Yes       | No         | Yes      | No          | No          |
 +----------------------+-----------+------------+----------+-------------+-------------+
 
+
 Network Offerings
 -----------------
 
 .. note:: 
-   For the most up-to-date list of supported network services, see the CloudStack UI or call listNetworkServices.
+   For the most up-to-date list of supported network services, see the 
+   CloudStack UI or call listNetworkServices.
 
 A network offering is a named set of network services, such as:
 
--  
-
-   DHCP
-
--  
-
-   DNS
-
--  
-
-   Source NAT
-
--  
-
-   Static NAT
-
--  
-
-   Port Forwarding
+-  DHCP
 
--  
+-  DNS
 
-   Load Balancing
+-  Source NAT
 
--  
+-  Static NAT
 
-   Firewall
+-  Port Forwarding
 
--  
+-  Load Balancing
 
-   VPN
+-  Firewall
 
--  
+-  VPN
 
-   (Optional) Name one of several available providers to use for a given
+-  (Optional) Name one of several available providers to use for a given
    service, such as Juniper for the firewall
 
--  
-
-   (Optional) Network tag to specify which physical network to use
+-  (Optional) Network tag to specify which physical network to use
 
 When creating a new VM, the user chooses one of the available network
 offerings, and that determines which network services the VM can use.
@@ -240,7 +201,12 @@ balancing solution, and alternate networks for accessing the database
 backend.
 
 .. note:: 
-   If you create load balancing rules while using a network service offering that includes an external load balancer device such as NetScaler, and later change the network service offering to one that uses the CloudStack virtual router, you must create a firewall rule on the virtual router for each of your existing load balancing rules so that they continue to function.
+   If you create load balancing rules while using a network service 
+   offering that includes an external load balancer device such as 
+   NetScaler, and later change the network service offering to one that 
+   uses the CloudStack virtual router, you must create a firewall rule 
+   on the virtual router for each of your existing load balancing rules 
+   so that they continue to function.
 
 When creating a new virtual network, the CloudStack administrator
 chooses which network offering to enable for that network. Each virtual
@@ -252,80 +218,55 @@ CloudStack also has internal network offerings for use by CloudStack
 system VMs. These network offerings are not visible to users but can be
 modified by administrators.
 
+
 Creating a New Network Offering
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 To create a network offering:
 
-#. 
-
-   Log in with admin privileges to the CloudStack UI.
-
-#. 
-
-   In the left navigation bar, click Service Offerings.
-
-#. 
-
-   In Select Offering, choose Network Offering.
+#. Log in with admin privileges to the CloudStack UI.
 
-#. 
+#. In the left navigation bar, click Service Offerings.
 
-   Click Add Network Offering.
+#. In Select Offering, choose Network Offering.
 
-#. 
+#. Click Add Network Offering.
 
-   In the dialog, make the following choices:
+#. In the dialog, make the following choices:
 
-   -  
+   -  **Name**. Any desired name for the network offering.
 
-      **Name**. Any desired name for the network offering.
-
-   -  
-
-      **Description**. A short description of the offering that can be
+   -  **Description**. A short description of the offering that can be
       displayed to users.
 
-   -  
-
-      **Network Rate**. Allowed data transfer rate in MB per second.
-
-   -  
+   -  **Network Rate**. Allowed data transfer rate in MB per second.
 
-      **Guest Type**. Choose whether the guest network is isolated or
+   -  **Guest Type**. Choose whether the guest network is isolated or
       shared.
 
       For a description of this term, see `“About Virtual
       Networks” <#about-virtual-networks>`_.
 
-   -  
-
-      **Persistent**. Indicate whether the guest network is persistent
+   -  **Persistent**. Indicate whether the guest network is persistent
       or not. The network that you can provision without having to
       deploy a VM on it is termed persistent network. For more
       information, see `“Persistent
       Networks” <networking2.html#persistent-networks>`_.
 
-   -  
-
-      **Specify VLAN**. (Isolated guest networks only) Indicate whether
+   -  **Specify VLAN**. (Isolated guest networks only) Indicate whether
       a VLAN could be specified when this offering is used. If you
       select this option and later use this network offering while
       creating a VPC tier or an isolated network, you will be able to
       specify a VLAN ID for the network you create.
 
-   -  
-
-      **VPC**. This option indicate whether the guest network is Virtual
+   -  **VPC**. This option indicate whether the guest network is Virtual
       Private Cloud-enabled. A Virtual Private Cloud (VPC) is a private,
       isolated part of CloudStack. A VPC can have its own virtual
       network topology that resembles a traditional physical network.
       For more information on VPCs, see `“About Virtual
       Private Clouds” <networking2.html#about-virtual-private-clouds>`_.
 
-   -  
-
-      **Supported Services**. Select one or more of the possible network
+   -  **Supported Services**. Select one or more of the possible network
       services. For some services, you must also choose the service
       provider; for example, if you select Load Balancer, you can choose
       the CloudStack virtual router or any other load balancers that
@@ -365,9 +306,7 @@ To create a network offering:
       =================== ============================================================================ ============= =============
 
 
-   -  
-
-      **System Offering**. If the service provider for any of the
+   -  **System Offering**. If the service provider for any of the
       services selected in Supported Services is a virtual router, the
       System Offering field appears. Choose the system service offering
       that you want virtual routers to use in this network. For example,
@@ -377,11 +316,10 @@ To create a network offering:
       system service offering and any custom system service offerings
       that have been defined by the CloudStack root administrator.
 
-      For more information, see `“System Service Offerings” <service_offerings.html#system-service-offerings>`_.
+      For more information, see `“System Service Offerings” 
+      <service_offerings.html#system-service-offerings>`_.
 
-   -  
-
-      **LB Isolation**: Specify what type of load balancer isolation you
+   -  **LB Isolation**: Specify what type of load balancer isolation you
       want for the network: Shared or Dedicated.
 
       **Dedicated**: If you select dedicated LB isolation, a dedicated
@@ -400,9 +338,7 @@ To create a network offering:
       its maximum capacity, the device will not be allocated to a new
       account.
 
-   -  
-
-      **Mode**: You can select either Inline mode or Side by Side mode:
+   -  **Mode**: You can select either Inline mode or Side by Side mode:
 
       **Inline mode**: Supported only for Juniper SRX firewall and BigF5
       load balancer devices. In inline mode, a firewall device is placed
@@ -417,29 +353,20 @@ To create a network offering:
       to the load balancer public IP is not routed through the firewall,
       and therefore, is exposed to the public network.
 
-   -  
-
-      **Associate Public IP**: Select this option if you want to assign
+   -  **Associate Public IP**: Select this option if you want to assign
       a public IP address to the VMs deployed in the guest network. This
       option is available only if
 
-      -  
-
-         Guest network is shared.
-
-      -  
+      -  Guest network is shared.
 
-         StaticNAT is enabled.
+      -  StaticNAT is enabled.
 
-      -  
+      -  Elastic IP is enabled.
 
-         Elastic IP is enabled.
+      For information on Elastic IP, see `“About Elastic IP” 
+      <networking2.html#about-elastic-ip>`_.
 
-      For information on Elastic IP, see `“About Elastic IP” <networking2.html#about-elastic-ip>`_.
-
-   -  
-
-      **Redundant router capability**: Available only when Virtual
+   -  **Redundant router capability**: Available only when Virtual
       Router is selected as the Source NAT provider. Select this option
       if you want to use two virtual routers in the network for
       uninterrupted connection: one operating as the master virtual
@@ -450,9 +377,7 @@ To create a network offering:
       CloudStack deploys the routers on different hosts to ensure
       reliability if one host is down.
 
-   -  
-
-      **Conserve mode**: Indicate whether to use conserve mode. In this
+   -  **Conserve mode**: Indicate whether to use conserve mode. In this
       mode, network resources are allocated only when the first virtual
       machine starts in the network. When conservative mode is off, the
       public IP can only be used for a single service. For example, a
@@ -462,15 +387,14 @@ To create a network offering:
       the same public IP.
 
       .. note:: 
-        If StaticNAT is enabled, irrespective of the status of the conserve mode, no port forwarding or load balancing rule can be created for the IP. However, you can add the firewall rules by using the createFirewallRule command.
+        If StaticNAT is enabled, irrespective of the status of the 
+        conserve mode, no port forwarding or load balancing rule can be 
+        created for the IP. However, you can add the firewall rules by 
+        using the createFirewallRule command.
 
-   -  
+   -  **Tags**: Network tag to specify which physical network to use.
 
-      **Tags**: Network tag to specify which physical network to use.
-
-   -  
-
-      **Default egress policy**: Configure the default policy for
+   -  **Default egress policy**: Configure the default policy for
       firewall egress rules. Options are Allow and Deny. Default is
       Allow if no egress policy is specified, which indicates that all
       the egress traffic is accepted when a guest network is created
@@ -480,7 +404,5 @@ To create a network offering:
       this case, when you configure an egress rules for an isolated
       guest network, rules are added to allow the specified traffic.
 
-#. 
-
-   Click Add.
+#. Click Add.
 

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/networking/global_server_load_balancing.rst
----------------------------------------------------------------------
diff --git a/source/networking/global_server_load_balancing.rst b/source/networking/global_server_load_balancing.rst
index 3d88f4d..e25ea45 100644
--- a/source/networking/global_server_load_balancing.rst
+++ b/source/networking/global_server_load_balancing.rst
@@ -193,14 +193,14 @@ above, the administrator of xyztelco is the one who sets up GSLB:
    tenant's cloud that make use of the GSLB service.
 
 #. On the NetScaler side, configure GSLB as given in `Configuring Global
-   Server Load Balancing
-   (GSLB) <http://support.citrix.com/proddocs/topic/netscaler-traffic-management-10-map/ns-gslb-config-con.html>`_:
+   Server Load Balancing (GSLB) 
+   <http://support.citrix.com/proddocs/topic/netscaler-traffic-management-10-map/ns-gslb-config-con.html>`_:
 
    #. Configuring a standard load balancing setup.
 
    #. Configure Authoritative DNS, as explained in `Configuring an
-      Authoritative DNS
-      Service <http://support.citrix.com/proddocs/topic/netscaler-traffic-management-10-map/ns-gslb-config-adns-svc-tsk.html>`_.
+      Authoritative DNS Service 
+      <http://support.citrix.com/proddocs/topic/netscaler-traffic-management-10-map/ns-gslb-config-adns-svc-tsk.html>`_.
 
    #. Configure a GSLB site with site name formed from the domain name
       details.
@@ -211,18 +211,18 @@ above, the administrator of xyztelco is the one who sets up GSLB:
       As per the example given above, the site names are A.xyztelco.com
       and B.xyztelco.com.
 
-      For more information, see `Configuring a Basic GSLB
-      Site <http://support.citrix.com/proddocs/topic/netscaler-traffic-management-10-map/ns-gslb-config-basic-site-tsk.html>`_.
+      For more information, see `Configuring a Basic GSLB Site 
+      <http://support.citrix.com/proddocs/topic/netscaler-traffic-management-10-map/ns-gslb-config-basic-site-tsk.html>`_.
 
    #. Configure a GSLB virtual server.
 
-      For more information, see `Configuring a GSLB Virtual
-      Server <http://support.citrix.com/proddocs/topic/netscaler-traffic-management-10-map/ns-gslb-config-vsvr-tsk.html>`_.
+      For more information, see `Configuring a GSLB Virtual Server 
+      <http://support.citrix.com/proddocs/topic/netscaler-traffic-management-10-map/ns-gslb-config-vsvr-tsk.html>`_.
 
    #. Configure a GSLB service for each virtual server.
 
-      For more information, see `Configuring a GSLB
-      Service <http://support.citrix.com/proddocs/topic/netscaler-traffic-management-10-map/ns-gslb-config-svc-tsk.html>`_.
+      For more information, see `Configuring a GSLB Service 
+      <http://support.citrix.com/proddocs/topic/netscaler-traffic-management-10-map/ns-gslb-config-svc-tsk.html>`_.
 
    #. Bind the GSLB services to the GSLB virtual server.
 

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/networking/portable_ips.rst
----------------------------------------------------------------------
diff --git a/source/networking/portable_ips.rst b/source/networking/portable_ips.rst
index 7daed13..55b3cd2 100644
--- a/source/networking/portable_ips.rst
+++ b/source/networking/portable_ips.rst
@@ -120,7 +120,7 @@ API:
 
 .. code:: bash
 
-    http://localhost:8096/client/api?command=enableStaticNat&response=json&ipaddressid=a4bc37b2-4b4e-461d-9a62-b66414618e36&virtualmachineid=a242c476-ef37-441e-9c7b-b303e2a9cb4f&networkid=6e7cd8d1-d1ba-4c35-bdaf-333354cbd49810
+   http://localhost:8096/client/api?command=enableStaticNat&response=json&ipaddressid=a4bc37b2-4b4e-461d-9a62-b66414618e36&virtualmachineid=a242c476-ef37-441e-9c7b-b303e2a9cb4f&networkid=6e7cd8d1-d1ba-4c35-bdaf-333354cbd49810
 
 Replace the UUID with appropriate UUID. For example, if you want to
 transfer a portable IP to network X and VM Y in a network, execute the
@@ -128,4 +128,4 @@ following:
 
 .. code:: bash
 
-    http://localhost:8096/client/api?command=enableStaticNat&response=json&ipaddressid=a4bc37b2-4b4e-461d-9a62-b66414618e36&virtualmachineid=Y&networkid=X
+   http://localhost:8096/client/api?command=enableStaticNat&response=json&ipaddressid=a4bc37b2-4b4e-461d-9a62-b66414618e36&virtualmachineid=Y&networkid=X

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/networking/security_groups.rst
----------------------------------------------------------------------
diff --git a/source/networking/security_groups.rst b/source/networking/security_groups.rst
index 9ff2841..8ef58b8 100644
--- a/source/networking/security_groups.rst
+++ b/source/networking/security_groups.rst
@@ -30,7 +30,8 @@ guest network for all guest VMs. In advanced zones, security groups are
 supported only on the KVM hypervisor.
 
 .. note:: 
-   In a zone that uses advanced networking, you can instead define multiple guest networks to isolate traffic to VMs.
+   In a zone that uses advanced networking, you can instead define 
+   multiple guest networks to isolate traffic to VMs.
 
 Each CloudStack account comes with a default security group that denies
 all inbound traffic and allows all outbound traffic. The default


[3/4] Fixed formatting by Will stevens

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/projects.rst
----------------------------------------------------------------------
diff --git a/source/projects.rst b/source/projects.rst
index 7d8d766..8cdefee 100644
--- a/source/projects.rst
+++ b/source/projects.rst
@@ -68,6 +68,7 @@ project can use any service offering or disk offering available in its
 domain; however, you can not create private service and disk offerings
 at the project level..
 
+
 Configuring Projects
 --------------------
 
@@ -76,6 +77,7 @@ administrator must set up various systems to support them, including
 membership invitations, limits on project resources, and controls on who
 can create projects.
 
+
 Setting Up Invitations
 ~~~~~~~~~~~~~~~~~~~~~~
 
@@ -86,22 +88,14 @@ by email or through the user’s CloudStack account. If you want
 administrators to use invitations to add members to projects, turn on
 and set up the invitations feature in CloudStack.
 
-#. 
-
-   Log in as administrator to the CloudStack UI.
-
-#. 
-
-   In the left navigation, click Global Settings.
+#. Log in as administrator to the CloudStack UI.
 
-#. 
+#. In the left navigation, click Global Settings.
 
-   In the search box, type project and click the search button.
+#. In the search box, type project and click the search button.
    |Searches projects|
 
-#. 
-
-   In the search results, you can see a few other parameters you need to
+#. In the search results, you can see a few other parameters you need to
    set to control how invitations behave. The table below shows global
    configuration parameters related to project invitations. Click the
    edit button to set each parameter.
@@ -126,13 +120,11 @@ and set up the invitations feature in CloudStack.
    | project.smtp.username      | (Optional) User name required by the SMTP server for authentication. You must also set project.smtp.password and set project.smtp.useAuth to true..   |
    +----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
 
-#. 
-
-   Restart the Management Server:
+#. Restart the Management Server:
 
    .. code:: bash
 
-       service cloudstack-management restart
+      service cloudstack-management restart
 
 Setting Resource Limits for Projects
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -163,53 +155,32 @@ new maximum, the resources are not affected; however, the project can
 not add any new resources of that type until the total drops below the
 new limit.
 
-#. 
-
-   Log in as administrator to the CloudStack UI.
-
-#. 
+#. Log in as administrator to the CloudStack UI.
 
-   In the left navigation, click Projects.
+#. In the left navigation, click Projects.
 
-#. 
+#. In Select View, choose Projects.
 
-   In Select View, choose Projects.
+#. Click the name of the project you want to work with.
 
-#. 
-
-   Click the name of the project you want to work with.
-
-#. 
-
-   Click the Resources tab. This tab lists the current maximum amount
+#. Click the Resources tab. This tab lists the current maximum amount
    that the project is allowed to own for each type of resource.
 
-#. 
+#. Type new values for one or more resources.
 
-   Type new values for one or more resources.
+#. Click Apply.
 
-#. 
-
-   Click Apply.
 
 Setting the Global Project Resource Limits
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-#. 
-
-   Log in as administrator to the CloudStack UI.
+#. Log in as administrator to the CloudStack UI.
 
-#. 
+#. In the left navigation, click Global Settings.
 
-   In the left navigation, click Global Settings.
+#. In the search box, type max.projects and click the search button.
 
-#. 
-
-   In the search box, type max.projects and click the search button.
-
-#. 
-
-   In the search results, you will see the parameters you can use to set
+#. In the search results, you will see the parameters you can use to set
    per-project maximum resource amounts that apply to all projects in
    the cloud. No project can have more resources, but an individual
    project can have lower limits. Click the edit button to set each
@@ -228,13 +199,11 @@ Setting the Global Project Resource Limits
    +--------------------------+------------------------------------------------------------------------------------------------------------------------------+
 
 
-#. 
-
-   Restart the Management Server.
+#. Restart the Management Server.
 
    .. code:: bash
 
-       # service cloudstack-management restart
+      # service cloudstack-management restart
 
 Setting Project Creator Permissions
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -242,21 +211,13 @@ Setting Project Creator Permissions
 You can configure CloudStack to allow any user to create a new project,
 or you can restrict that ability to just CloudStack administrators.
 
-#. 
+#. Log in as administrator to the CloudStack UI.
 
-   Log in as administrator to the CloudStack UI.
+#. In the left navigation, click Global Settings.
 
-#. 
+#. In the search box, type allow.user.create.projects.
 
-   In the left navigation, click Global Settings.
-
-#. 
-
-   In the search box, type allow.user.create.projects.
-
-#. 
-
-   Click the edit button to set the parameter. |Edits parameters|
+#. Click the edit button to set the parameter. |Edits parameters|
 
    ``allow.user.create.projects``
 
@@ -264,13 +225,12 @@ or you can restrict that ability to just CloudStack administrators.
    you want only the CloudStack root administrator and domain
    administrators to create projects.
 
-#. 
-
-   Restart the Management Server.
+#. Restart the Management Server.
 
    .. code:: bash
 
-       # service cloudstack-management restart
+      # service cloudstack-management restart
+
 
 Creating a New Project
 ----------------------
@@ -279,35 +239,22 @@ CloudStack administrators and domain administrators can create projects.
 If the global configuration parameter allow.user.create.projects is set
 to true, end users can also create projects.
 
-#. 
-
-   Log in as administrator to the CloudStack UI.
-
-#. 
-
-   In the left navigation, click Projects.
+#. Log in as administrator to the CloudStack UI.
 
-#. 
+#. In the left navigation, click Projects.
 
-   In Select view, click Projects.
+#. In Select view, click Projects.
 
-#. 
+#. Click New Project.
 
-   Click New Project.
-
-#. 
-
-   Give the project a name and description for display to users, then
+#. Give the project a name and description for display to users, then
    click Create Project.
 
-#. 
-
-   A screen appears where you can immediately add more members to the
+#. A screen appears where you can immediately add more members to the
    project. This is optional. Click Next when you are ready to move on.
 
-#. 
+#. Click Save.
 
-   Click Save.
 
 Adding Members to a Project
 ---------------------------
@@ -317,16 +264,13 @@ the domain administrator of the domain where the project resides or any
 parent domain, or the CloudStack root administrator. There are two ways
 to add members in CloudStack, but only one way is enabled at a time:
 
--  
-
-   If invitations have been enabled, you can send invitations to new
+-  If invitations have been enabled, you can send invitations to new
    members.
 
--  
-
-   If invitations are not enabled, you can add members directly through
+-  If invitations are not enabled, you can add members directly through
    the UI.
 
+
 Sending Project Membership Invitations
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -335,59 +279,40 @@ feature is enabled in the cloud as described in `“Setting
 Up Invitations” <#setting-up-invitations>`_. If the invitations feature is
 not turned on, use the procedure in Adding Project Members From the UI.
 
-#. 
-
-   Log in to the CloudStack UI.
-
-#. 
+#. Log in to the CloudStack UI.
 
-   In the left navigation, click Projects.
+#. In the left navigation, click Projects.
 
-#. 
+#. In Select View, choose Projects.
 
-   In Select View, choose Projects.
+#. Click the name of the project you want to work with.
 
-#. 
+#. Click the Invitations tab.
 
-   Click the name of the project you want to work with.
+#. In Add by, select one of the following:
 
-#. 
-
-   Click the Invitations tab.
-
-#. 
-
-   In Add by, select one of the following:
-
-   #. 
-
-      Account – The invitation will appear in the user’s Invitations tab
+   #. Account – The invitation will appear in the user’s Invitations tab
       in the Project View. See Using the Project View.
 
-   #. 
-
-      Email – The invitation will be sent to the user’s email address.
+   #. Email – The invitation will be sent to the user’s email address.
       Each emailed invitation includes a unique code called a token
       which the recipient will provide back to CloudStack when accepting
       the invitation. Email invitations will work only if the global
       parameters related to the SMTP server have been set. See
       `“Setting Up Invitations” <#setting-up-invitations>`_.
 
-#. 
-
-   Type the user name or email address of the new member you want to
+#. Type the user name or email address of the new member you want to
    add, and click Invite. Type the CloudStack user name if you chose
    Account in the previous step. If you chose Email, type the email
    address. You can invite only people who have an account in this cloud
    within the same domain as the project. However, you can send the
    invitation to any email address.
 
-#. 
-
-   To view and manage the invitations you have sent, return to this tab.
+#. To view and manage the invitations you have sent, return to this tab.
    When an invitation is accepted, the new member will appear in the
    project’s Accounts tab.
 
+
 Adding Project Members From the UI
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -398,63 +323,43 @@ Invitations” <#setting-up-invitations>`_, use the procedure in
 `“Sending Project Membership
 Invitations” <#sending-project-membership-invitations>`_.
 
-#. 
+#. Log in to the CloudStack UI.
 
-   Log in to the CloudStack UI.
+#. In the left navigation, click Projects.
 
-#. 
+#. In Select View, choose Projects.
 
-   In the left navigation, click Projects.
+#. Click the name of the project you want to work with.
 
-#. 
-
-   In Select View, choose Projects.
-
-#. 
-
-   Click the name of the project you want to work with.
-
-#. 
-
-   Click the Accounts tab. The current members of the project are
+#. Click the Accounts tab. The current members of the project are
    listed.
 
-#. 
-
-   Type the account name of the new member you want to add, and click
+#. Type the account name of the new member you want to add, and click
    Add Account. You can add only people who have an account in this
    cloud and within the same domain as the project.
 
+
 Accepting a Membership Invitation
 ---------------------------------
 
 If you have received an invitation to join a CloudStack project, and you
 want to accept the invitation, follow these steps:
 
-#. 
-
-   Log in to the CloudStack UI.
+#. Log in to the CloudStack UI.
 
-#. 
+#. In the left navigation, click Projects.
 
-   In the left navigation, click Projects.
+#. In Select View, choose Invitations.
 
-#. 
-
-   In Select View, choose Invitations.
-
-#. 
-
-   If you see the invitation listed onscreen, click the Accept button.
+#. If you see the invitation listed onscreen, click the Accept button.
 
    Invitations listed on screen were sent to you using your CloudStack
    account name.
 
-#. 
-
-   If you received an email invitation, click the Enter Token button,
+#. If you received an email invitation, click the Enter Token button,
    and provide the project ID and unique ID code (token) from the email.
 
+
 Suspending or Deleting a Project
 --------------------------------
 
@@ -470,30 +375,21 @@ A project can be suspended or deleted by the project administrator, the
 domain administrator of the domain the project belongs to or of its
 parent domain, or the CloudStack root administrator.
 
-#. 
-
-   Log in to the CloudStack UI.
-
-#. 
-
-   In the left navigation, click Projects.
-
-#. 
+#. Log in to the CloudStack UI.
 
-   In Select View, choose Projects.
+#. In the left navigation, click Projects.
 
-#. 
+#. In Select View, choose Projects.
 
-   Click the name of the project.
+#. Click the name of the project.
 
-#. 
-
-   Click one of the buttons:
+#. Click one of the buttons:
 
    To delete, use |Removes a project|
 
    To suspend, use |Suspends a project|
 
+
 Using the Project View
 ----------------------
 
@@ -503,37 +399,28 @@ shows only information related to one project. It is a useful way to
 filter out other information so you can concentrate on a project status
 and resources.
 
-#. 
-
-   Log in to the CloudStack UI.
-
-#. 
+#. Log in to the CloudStack UI.
 
-   Click Project View.
+#. Click Project View.
 
-#. 
-
-   The project dashboard appears, showing the project’s VMs, volumes,
+#. The project dashboard appears, showing the project’s VMs, volumes,
    users, events, network settings, and more. From the dashboard, you
    can:
 
-   -  
-
-      Click the Accounts tab to view and manage project members. If you
+   -  Click the Accounts tab to view and manage project members. If you
       are the project administrator, you can add new members, remove
       members, or change the role of a member from user to admin. Only
       one member at a time can have the admin role, so if you set
       another user’s role to admin, your role will change to regular
       user.
 
-   -  
-
-      (If invitations are enabled) Click the Invitations tab to view and
+   -  (If invitations are enabled) Click the Invitations tab to view and
       manage invitations that have been sent to new project members but
       not yet accepted. Pending invitations will remain in this list
       until the new member accepts, the invitation timeout is reached,
       or you cancel the invitation.
 
+
 .. |Edits Parameters| image:: _static/images/edit-icon.png
 .. |Searches projects| image:: _static/images/search-button.png
 .. |Removes a project| image:: _static/images/delete-button.png

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/reliability.rst
----------------------------------------------------------------------
diff --git a/source/reliability.rst b/source/reliability.rst
index 7293867..e134142 100644
--- a/source/reliability.rst
+++ b/source/reliability.rst
@@ -32,6 +32,7 @@ When the Management Server is down, no new VMs can be created, and the
 end user and admin UI, API, dynamic load distribution, and HA will cease
 to work.
 
+
 Management Server Load Balancing
 --------------------------------
 
@@ -59,6 +60,7 @@ VIP for Port 8250 and one of your management servers crashes, the UI is
 still available but the system VMs will not be able to contact the
 management server.
 
+
 HA-Enabled Virtual Machines
 ---------------------------
 
@@ -75,6 +77,7 @@ Host in the same cluster.
 HA features work with iSCSI or NFS primary storage. HA with local
 storage is not supported.
 
+
 HA for Hosts
 ------------
 
@@ -91,6 +94,7 @@ Host in the same cluster.
 HA features work with iSCSI or NFS primary storage. HA with local
 storage is not supported.
 
+
 Dedicated HA Hosts
 ~~~~~~~~~~~~~~~~~~
 
@@ -99,17 +103,13 @@ are restarting due to a host failure. Setting up a pool of such
 dedicated HA hosts as the recovery destination for all HA-enabled VMs is
 useful to:
 
--  
-
-   Make it easier to determine which VMs have been restarted as part of
+-  Make it easier to determine which VMs have been restarted as part of
    the CloudStack high-availability function. If a VM is running on a
    dedicated HA host, then it must be an HA-enabled VM whose original
    host failed. (With one exception: It is possible for an administrator
    to manually migrate any VM to a dedicated HA host.).
 
--  
-
-   Keep HA-enabled VMs from restarting on hosts which may be reserved
+-  Keep HA-enabled VMs from restarting on hosts which may be reserved
    for other purposes.
 
 The dedicated HA option is set through a special host tag when the host
@@ -120,7 +120,11 @@ Server. Enter the value in the Host Tags field when adding the host(s)
 that you want to dedicate to HA-enabled VMs.
 
 .. note:: 
-   If you set ha.tag, be sure to actually use that tag on at least one host in your cloud. If the tag specified in ha.tag is not set for any host in the cloud, the HA-enabled VMs will fail to restart after a crash.
+   If you set ha.tag, be sure to actually use that tag on at least one 
+   host in your cloud. If the tag specified in ha.tag is not set for 
+   any host in the cloud, the HA-enabled VMs will fail to restart after 
+   a crash.
+
 
 Primary Storage Outage and Data Loss
 ------------------------------------
@@ -135,6 +139,7 @@ connectivity is restored.Primary storage is not designed to be backed
 up. Individual volumes in primary storage can be backed up using
 snapshots.
 
+
 Secondary Storage Outage and Data Loss
 --------------------------------------
 
@@ -150,6 +155,7 @@ including templates, snapshots, and ISO images. Secondary storage should
 be backed up periodically. Multiple secondary storage servers can be
 provisioned within each zone to increase the scalability of the system.
 
+
 Database High Availability
 --------------------------
 
@@ -159,6 +165,7 @@ covers both the main CloudStack database and the Usage database.
 Replication is achieved using the MySQL connector parameters and two-way
 replication. Tested with MySQL 5.1 and 5.5.
 
+
 How to Set Up Database Replication
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -176,13 +183,10 @@ the additional nodes.
 
 References:
 
--  
-
-   `http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html <http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html>`_
+-  `http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html <http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html>`_
 
--  
+-  `https://wikis.oracle.com/display/CommSuite/MySQL+High+Availability+and+Replication+Information+For+Calendar+Server <https://wikis.oracle.com/display/CommSuite/MySQL+High+Availability+and+Replication+Information+For+Calendar+Server>`_
 
-   `https://wikis.oracle.com/display/CommSuite/MySQL+High+Availability+and+Replication+Information+For+Calendar+Server <https://wikis.oracle.com/display/CommSuite/MySQL+High+Availability+and+Replication+Information+For+Calendar+Server>`_
 
 Configuring Database High Availability
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -195,25 +199,19 @@ configuration settings in the file
 
 Be sure you have set the following in db.properties:
 
--  
-
-   ``db.ha.enabled``: set to true if you want to use the replication
+-  ``db.ha.enabled``: set to true if you want to use the replication
    feature.
 
    Example: ``db.ha.enabled=true``
 
--  
-
-   ``db.cloud.slaves``: set to a comma-delimited set of slave hosts for the
+-  ``db.cloud.slaves``: set to a comma-delimited set of slave hosts for the
    cloud database. This is the list of nodes set up with replication.
    The master node is not in the list, since it is already mentioned
    elsewhere in the properties file.
 
    Example: ``db.cloud.slaves=node2,node3,node4``
 
--  
-
-   ``db.usage.slaves``: set to a comma-delimited set of slave hosts for the
+-  ``db.usage.slaves``: set to a comma-delimited set of slave hosts for the
    usage database. This is the list of nodes set up with replication.
    The master node is not in the list, since it is already mentioned
    elsewhere in the properties file.
@@ -226,49 +224,38 @@ The following settings must be present in db.properties, but you are not
 required to change the default values unless you wish to do so for
 tuning purposes:
 
--  
-
-   ``db.cloud.secondsBeforeRetryMaster``: The number of seconds the MySQL
+-  ``db.cloud.secondsBeforeRetryMaster``: The number of seconds the MySQL
    connector should wait before trying again to connect to the master
    after the master went down. Default is 1 hour. The retry might happen
    sooner if db.cloud.queriesBeforeRetryMaster is reached first.
 
    Example: ``db.cloud.secondsBeforeRetryMaster=3600``
 
--  
-
-   ``db.cloud.queriesBeforeRetryMaster``: The minimum number of queries to
+-  ``db.cloud.queriesBeforeRetryMaster``: The minimum number of queries to
    be sent to the database before trying again to connect to the master
    after the master went down. Default is 5000. The retry might happen
    sooner if db.cloud.secondsBeforeRetryMaster is reached first.
 
    Example: ``db.cloud.queriesBeforeRetryMaster=5000``
 
--  
-
-   ``db.cloud.initialTimeout``: Initial time the MySQL connector should wait
+-  ``db.cloud.initialTimeout``: Initial time the MySQL connector should wait
    before trying again to connect to the master. Default is 3600.
 
    Example: ``db.cloud.initialTimeout=3600``
 
+
 Limitations on Database High Availability
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 The following limitations exist in the current implementation of this
 feature.
 
--  
-
-   Slave hosts can not be monitored through CloudStack. You will need to
+-  Slave hosts can not be monitored through CloudStack. You will need to
    have a separate means of monitoring.
 
--  
-
-   Events from the database side are not integrated with the CloudStack
+-  Events from the database side are not integrated with the CloudStack
    Management Server events system.
 
--  
-
-   You must periodically perform manual clean-up of bin log files
+-  You must periodically perform manual clean-up of bin log files
    generated by replication on database nodes. If you do not clean up
    the log files, the disk can become full.

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/service_offerings.rst
----------------------------------------------------------------------
diff --git a/source/service_offerings.rst b/source/service_offerings.rst
index e053f6a..34316d1 100644
--- a/source/service_offerings.rst
+++ b/source/service_offerings.rst
@@ -29,6 +29,7 @@ cloud – say, if the users are strictly internal to your organization, or
 just friends who are sharing your cloud – you can still keep track of
 what services they use and how much of them.
 
+
 Service Offerings, Disk Offerings, Network Offerings, and Templates
 -------------------------------------------------------------------
 
@@ -114,6 +115,7 @@ The disk offering specifies:
 
 -  Tags on the data disk
 
+
 Custom Compute Offering
 ~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -150,45 +152,27 @@ Creating a New Compute Offering
 
 To create a new compute offering:
 
-#. 
-
-   Log in with admin privileges to the CloudStack UI.
-
-#. 
-
-   In the left navigation bar, click Service Offerings.
+#. Log in with admin privileges to the CloudStack UI.
 
-#. 
+#. In the left navigation bar, click Service Offerings.
 
-   In Select Offering, choose Compute Offering.
+#. In Select Offering, choose Compute Offering.
 
-#. 
+#. Click Add Compute Offering.
 
-   Click Add Compute Offering.
+#. In the dialog, make the following choices:
 
-#. 
+   -  **Name**: Any desired name for the service offering.
 
-   In the dialog, make the following choices:
-
-   -  
-
-      **Name**: Any desired name for the service offering.
-
-   -  
-
-      **Description**: A short description of the offering that can be
+   -  **Description**: A short description of the offering that can be
       displayed to users
 
-   -  
-
-      **Storage type**: The type of disk that should be allocated. Local
+   -  **Storage type**: The type of disk that should be allocated. Local
       allocates from storage attached directly to the host where the
       system VM is running. Shared allocates from storage accessible via
       NFS.
 
-   -  
-
-      **Custom**: Custom compute offerings can be used in following
+   -  **Custom**: Custom compute offerings can be used in following
       cases: deploying a VM, changing the compute offering of a stopped
       VM and running VMs, which is nothing but scaling up.
 
@@ -197,84 +181,54 @@ To create a new compute offering:
       using a custom compute offering. When you check this box, those
       three input fields are hidden in the dialog box.
 
-   -  
-
-      **# of CPU cores**: The number of cores which should be allocated
+   -  **# of CPU cores**: The number of cores which should be allocated
       to a system VM with this offering. If Custom is checked, this
       field does not appear.
 
-   -  
-
-      **CPU (in MHz)**: The CPU speed of the cores that the system VM is
+   -  **CPU (in MHz)**: The CPU speed of the cores that the system VM is
       allocated. For example, “2000” would provide for a 2 GHz clock. If
       Custom is checked, this field does not appear.
 
-   -  
-
-      **Memory (in MB)**: The amount of memory in megabytes that the
+   -  **Memory (in MB)**: The amount of memory in megabytes that the
       system VM should be allocated. For example, “2048” would provide
       for a 2 GB RAM allocation. If Custom is checked, this field does
       not appear.
 
-   -  
-
-      **Network Rate**: Allowed data transfer rate in MB per second.
+   -  **Network Rate**: Allowed data transfer rate in MB per second.
 
-   -  
+   -  **Disk Read Rate**: Allowed disk read rate in bits per second.
 
-      **Disk Read Rate**: Allowed disk read rate in bits per second.
+   -  **Disk Write Rate**: Allowed disk write rate in bits per second.
 
-   -  
-
-      **Disk Write Rate**: Allowed disk write rate in bits per second.
-
-   -  
-
-      **Disk Read Rate**: Allowed disk read rate in IOPS (input/output
+   -  **Disk Read Rate**: Allowed disk read rate in IOPS (input/output
       operations per second).
 
-   -  
-
-      **Disk Write Rate**: Allowed disk write rate in IOPS (input/output
+   -  **Disk Write Rate**: Allowed disk write rate in IOPS (input/output
       operations per second).
 
-   -  
-
-      **Offer HA**: If yes, the administrator can choose to have the
+   -  **Offer HA**: If yes, the administrator can choose to have the
       system VM be monitored and as highly available as possible.
 
-   -  
-
-      **Storage Tags**: The tags that should be associated with the
+   -  **Storage Tags**: The tags that should be associated with the
       primary storage used by the system VM.
 
-   -  
-
-      **Host Tags**: (Optional) Any tags that you use to organize your
+   -  **Host Tags**: (Optional) Any tags that you use to organize your
       hosts
 
-   -  
-
-      **CPU cap**: Whether to limit the level of CPU usage even if spare
+   -  **CPU cap**: Whether to limit the level of CPU usage even if spare
       capacity is available.
 
-   -  
-
-      **Public**: Indicate whether the service offering should be
+   -  **Public**: Indicate whether the service offering should be
       available all domains or only some domains. Choose Yes to make it
       available to all domains. Choose No to limit the scope to a
       subdomain; CloudStack will then prompt for the subdomain's name.
 
-   -  
-
-      **isVolatile**: If checked, VMs created from this service offering
+   -  **isVolatile**: If checked, VMs created from this service offering
       will have their root disks reset upon reboot. This is useful for
       secure environments that need a fresh start on every boot and for
       desktops that should not retain state.
 
-   -  
-
-      **Deployment Planner**: Choose the technique that you would like
+   -  **Deployment Planner**: Choose the technique that you would like
       CloudStack to use when deploying VMs based on this service
       offering.
 
@@ -290,15 +244,13 @@ To create a new compute offering:
       Implicit Dedication will deploy VMs on private infrastructure that
       is dedicated to a specific domain or account. If you choose this
       planner, then you must also pick a value for Planner Mode. See
-      `“Dedicating Resources to Accounts and
-      Domains” <accounts.html#dedicating-resources-to-accounts-and-domains>`_.
+      `“Dedicating Resources to Accounts and Domains” 
+      <accounts.html#dedicating-resources-to-accounts-and-domains>`_.
 
       Bare Metal is used with bare metal hosts. See Bare Metal
       Installation in the Installation Guide.
 
-   -  
-
-      **Planner Mode**: Used when ImplicitDedicationPlanner is selected
+   -  **Planner Mode**: Used when ImplicitDedicationPlanner is selected
       in the previous field. The planner mode determines how VMs will be
       deployed on private infrastructure that is dedicated to a single
       domain or account.
@@ -313,87 +265,58 @@ To create a new compute offering:
       possible. Otherwise, the VM can be deployed in shared
       infrastructure.
 
-#. 
+#. Click Add.
 
-   Click Add.
 
 Creating a New Disk Offering
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 To create a new disk offering:
 
-#. 
-
-   Log in with admin privileges to the CloudStack UI.
-
-#. 
+#. Log in with admin privileges to the CloudStack UI.
 
-   In the left navigation bar, click Service Offerings.
+#. In the left navigation bar, click Service Offerings.
 
-#. 
+#. In Select Offering, choose Disk Offering.
 
-   In Select Offering, choose Disk Offering.
+#. Click Add Disk Offering.
 
-#. 
+#. In the dialog, make the following choices:
 
-   Click Add Disk Offering.
+   -  Name. Any desired name for the disk offering.
 
-#. 
-
-   In the dialog, make the following choices:
-
-   -  
-
-      Name. Any desired name for the disk offering.
-
-   -  
-
-      Description. A short description of the offering that can be
+   -  Description. A short description of the offering that can be
       displayed to users
 
-   -  
-
-      Custom Disk Size. If checked, the user can set their own disk
+   -  Custom Disk Size. If checked, the user can set their own disk
       size. If not checked, the root administrator must define a value
       in Disk Size.
 
-   -  
-
-      Disk Size. Appears only if Custom Disk Size is not selected.
+   -  Disk Size. Appears only if Custom Disk Size is not selected.
       Define the volume size in GB.
 
-   -  
-
-      QoS Type. Three options: Empty (no Quality of Service), hypervisor
+   -  QoS Type. Three options: Empty (no Quality of Service), hypervisor
       (rate limiting enforced on the hypervisor side), and storage
       (guaranteed minimum and maximum IOPS enforced on the storage
       side). If leveraging QoS, make sure that the hypervisor or storage
       system supports this feature.
 
-   -  
-
-      Custom IOPS. If checked, the user can set their own IOPS. If not
+   -  Custom IOPS. If checked, the user can set their own IOPS. If not
       checked, the root administrator can define values. If the root
       admin does not set values when using storage QoS, default values
       are used (the defauls can be overridden if the proper parameters
       are passed into CloudStack when creating the primary storage in
       question).
 
-   -  
-
-      Min IOPS. Appears only if storage QoS is to be used. Set a
+   -  Min IOPS. Appears only if storage QoS is to be used. Set a
       guaranteed minimum number of IOPS to be enforced on the storage
       side.
 
-   -  
-
-      Max IOPS. Appears only if storage QoS is to be used. Set a maximum
+   -  Max IOPS. Appears only if storage QoS is to be used. Set a maximum
       number of IOPS to be enforced on the storage side (the system may
       go above this limit in certain circumstances for short intervals).
 
-   -  
-
-      (Optional)Storage Tags. The tags that should be associated with
+   -  (Optional)Storage Tags. The tags that should be associated with
       the primary storage for this disk. Tags are a comma separated list
       of attributes of the storage. For example "ssd,blue". Tags are
       also added on Primary Storage. CloudStack matches tags on a disk
@@ -402,16 +325,13 @@ To create a new disk offering:
       Storage for the volume to be provisioned. If no such primary
       storage exists, allocation from the disk offering will fail..
 
-   -  
-
-      Public. Indicate whether the service offering should be available
+   -  Public. Indicate whether the service offering should be available
       all domains or only some domains. Choose Yes to make it available
       to all domains. Choose No to limit the scope to a subdomain;
       CloudStack will then prompt for the subdomain's name.
 
-#. 
+#. Click Add.
 
-   Click Add.
 
 Modifying or Deleting a Service Offering
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -426,6 +346,7 @@ referencing it have been deleted. After deletion by the administrator, a
 service offering will not be available to end users that are creating
 new instances.
 
+
 System Service Offerings
 ------------------------
 
@@ -445,101 +366,65 @@ of the virtual router by applying a new network offering that contains a
 different system service offering. All virtual routers in that network
 will begin using the settings from the new service offering.
 
+
 Creating a New System Service Offering
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 To create a system service offering:
 
-#. 
-
-   Log in with admin privileges to the CloudStack UI.
-
-#. 
-
-   In the left navigation bar, click Service Offerings.
-
-#. 
+#. Log in with admin privileges to the CloudStack UI.
 
-   In Select Offering, choose System Offering.
+#. In the left navigation bar, click Service Offerings.
 
-#. 
+#. In Select Offering, choose System Offering.
 
-   Click Add System Service Offering.
+#. Click Add System Service Offering.
 
-#. 
+#. In the dialog, make the following choices:
 
-   In the dialog, make the following choices:
+   -  Name. Any desired name for the system offering.
 
-   -  
-
-      Name. Any desired name for the system offering.
-
-   -  
-
-      Description. A short description of the offering that can be
+   -  Description. A short description of the offering that can be
       displayed to users
 
-   -  
-
-      System VM Type. Select the type of system virtual machine that
+   -  System VM Type. Select the type of system virtual machine that
       this offering is intended to support.
 
-   -  
-
-      Storage type. The type of disk that should be allocated. Local
+   -  Storage type. The type of disk that should be allocated. Local
       allocates from storage attached directly to the host where the
       system VM is running. Shared allocates from storage accessible via
       NFS.
 
-   -  
-
-      # of CPU cores. The number of cores which should be allocated to a
+   -  # of CPU cores. The number of cores which should be allocated to a
       system VM with this offering
 
-   -  
-
-      CPU (in MHz). The CPU speed of the cores that the system VM is
+   -  CPU (in MHz). The CPU speed of the cores that the system VM is
       allocated. For example, "2000" would provide for a 2 GHz clock.
 
-   -  
-
-      Memory (in MB). The amount of memory in megabytes that the system
+   -  Memory (in MB). The amount of memory in megabytes that the system
       VM should be allocated. For example, "2048" would provide for a 2
       GB RAM allocation.
 
-   -  
-
-      Network Rate. Allowed data transfer rate in MB per second.
+   -  Network Rate. Allowed data transfer rate in MB per second.
 
-   -  
-
-      Offer HA. If yes, the administrator can choose to have the system
+   -  Offer HA. If yes, the administrator can choose to have the system
       VM be monitored and as highly available as possible.
 
-   -  
-
-      Storage Tags. The tags that should be associated with the primary
+   -  Storage Tags. The tags that should be associated with the primary
       storage used by the system VM.
 
-   -  
-
-      Host Tags. (Optional) Any tags that you use to organize your hosts
+   -  Host Tags. (Optional) Any tags that you use to organize your hosts
 
-   -  
-
-      CPU cap. Whether to limit the level of CPU usage even if spare
+   -  CPU cap. Whether to limit the level of CPU usage even if spare
       capacity is available.
 
-   -  
-
-      Public. Indicate whether the service offering should be available
+   -  Public. Indicate whether the service offering should be available
       all domains or only some domains. Choose Yes to make it available
       to all domains. Choose No to limit the scope to a subdomain;
       CloudStack will then prompt for the subdomain's name.
 
-#. 
+#. Click Add.
 
-   Click Add.
 
 Network Throttling
 ------------------
@@ -557,17 +442,11 @@ a certain limit for some accounts, or to control network congestion in a
 large cloud environment. The network rate for your cloud can be
 configured on the following:
 
--  
+-  Network Offering
 
-   Network Offering
+-  Service Offering
 
--  
-
-   Service Offering
-
--  
-
-   Global parameter
+-  Global parameter
 
 If network rate is set to NULL in service offering, the value provided
 in the vm.network.throttling.rate global parameter is applied. If the
@@ -600,7 +479,6 @@ Default network of a guest VM                   Compute Offering
 Additional networks of a guest VM               Corresponding Network Offerings
 =============================================== ===============================
 
-
 A guest VM must have a default network, and can also have many
 additional networks. Depending on various parameters, such as the host
 and virtual switch used, you can observe a difference in the network
@@ -645,6 +523,7 @@ while egress traffic will be limited to 200 Mbps. In an isolated
 network, ingress traffic will be limited to 10 Mbps and egress to 200
 Mbps.
 
+
 Changing the Default System Offering for System VMs
 ---------------------------------------------------
 
@@ -652,57 +531,43 @@ You can manually change the system offering for a particular System VM.
 Additionally, as a CloudStack administrator, you can also change the
 default system offering used for System VMs.
 
-#. 
-
-   Create a new system offering.
+#. Create a new system offering.
 
    For more information, see Creating a New System Service Offering.
 
-#. 
-
-   Back up the database:
+#. Back up the database:
 
    .. code:: bash
 
-       mysqldump -u root -p cloud | bzip2 > cloud_backup.sql.bz2
-
-#. 
+      mysqldump -u root -p cloud | bzip2 > cloud_backup.sql.bz2
 
-   Open an MySQL prompt:
+#. Open an MySQL prompt:
 
    .. code:: bash
 
-       mysql -u cloud -p cloud
-
-#. 
-
-   Run the following queries on the cloud database.
+      mysql -u cloud -p cloud
 
-   #. 
+#. Run the following queries on the cloud database.
 
-      In the disk\_offering table, identify the original default
+   #. In the disk\_offering table, identify the original default
       offering and the new offering you want to use by default.
 
       Take a note of the ID of the new offering.
 
       .. code:: bash
 
-          select id,name,unique_name,type from disk_offering;
+         select id,name,unique_name,type from disk_offering;
 
-   #. 
-
-      For the original default offering, set the value of unique\_name
+   #. For the original default offering, set the value of unique\_name
       to NULL.
 
       .. code:: bash
 
-          # update disk_offering set unique_name = NULL where id = 10;
+         # update disk_offering set unique_name = NULL where id = 10;
 
       Ensure that you use the correct value for the ID.
 
-   #. 
-
-      For the new offering that you want to use by default, set the
+   #. For the new offering that you want to use by default, set the
       value of unique\_name as follows:
 
       For the default Console Proxy VM (CPVM) offering,set unique\_name
@@ -712,19 +577,15 @@ default system offering used for System VMs.
 
       .. code:: bash
 
-          update disk_offering set unique_name = 'Cloud.com-ConsoleProxy' where id = 16;
+         update disk_offering set unique_name = 'Cloud.com-ConsoleProxy' where id = 16;
 
-#. 
-
-   Restart CloudStack Management Server. Restarting is required because
+#. Restart CloudStack Management Server. Restarting is required because
    the default offerings are loaded into the memory at startup.
 
    .. code:: bash
 
-       service cloudstack-management restart
-
-#. 
+      service cloudstack-management restart
 
-   Destroy the existing CPVM or SSVM offerings and wait for them to be
+#. Destroy the existing CPVM or SSVM offerings and wait for them to be
    recreated. The new CPVM or SSVM are configured with the new offering.
 

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/storage.rst
----------------------------------------------------------------------
diff --git a/source/storage.rst b/source/storage.rst
index e8193ae..30cbad2 100644
--- a/source/storage.rst
+++ b/source/storage.rst
@@ -28,6 +28,7 @@ always accessed using NFS.
 There is no ephemeral storage in CloudStack. All volumes on all nodes
 are persistent.
 
+
 Primary Storage
 ---------------
 
@@ -37,18 +38,15 @@ primary storage through the CloudStack UI, see the Installation Guide.
 
 `“About Primary Storage” <http://docs.cloudstack.apache.org/en/latest/concepts.html#about-primary-storage>`_
 
+
 Best Practices for Primary Storage
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
--  
-
-   The speed of primary storage will impact guest performance. If
+-  The speed of primary storage will impact guest performance. If
    possible, choose smaller, higher RPM drives or SSDs for primary
    storage.
 
--  
-
-   There are two ways CloudStack can leverage primary storage:
+-  There are two ways CloudStack can leverage primary storage:
 
    Static: This is CloudStack's traditional way of handling storage. In
    this model, a preallocated amount of storage (ex. a volume from a
@@ -67,6 +65,7 @@ Best Practices for Primary Storage
    Service. Currently this feature is supported for data disks (Disk
    Offerings).
 
+
 Runtime Behavior of Primary Storage
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -91,6 +90,7 @@ on and space is taken from that storage (either from preallocated
 storage or from a storage system (ex. a SAN), depending on how the
 primary storage was added to CloudStack).
 
+
 Hypervisor Support for Primary Storage
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -140,6 +140,7 @@ example, you could provision 2 NFS servers in primary storage. Or you
 could provision 1 iSCSI LUN initially and then add a second iSCSI LUN
 when the first approaches capacity.
 
+
 Storage Tags
 ~~~~~~~~~~~~
 
@@ -161,6 +162,7 @@ same set of tags on the primary storage for all clusters in a pod. Even
 if different devices are used to present those tags, the set of exposed
 tags can be the same.
 
+
 Maintenance Mode for Primary Storage
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -175,6 +177,7 @@ The CloudStack will bring the device back online and attempt to start
 all guests that were running at the time of the entry into maintenance
 mode.
 
+
 Secondary Storage
 -----------------
 
@@ -185,6 +188,7 @@ Installation Guide.
 
 `“About Secondary Storage” <http://docs.cloudstack.apache.org/en/latest/concepts.html#about-secondary-storage>`_
 
+
 Working With Volumes
 --------------------
 
@@ -210,7 +214,10 @@ template creation. Volumes are hypervisor-specific: a volume from one
 hypervisor type may not be used on a guest of another hypervisor type.
 
 .. note:: 
-   CloudStack supports attaching up to 13 data disks to a VM on XenServer hypervisor versions 6.0 and above. For the VMs on other hypervisor types, the data disk limit is 6.
+   CloudStack supports attaching up to 13 data disks to a VM on 
+   XenServer hypervisor versions 6.0 and above. For the VMs on other 
+   hypervisor types, the data disk limit is 6.
+
 
 Creating a New Volume
 ~~~~~~~~~~~~~~~~~~~~~
@@ -223,6 +230,7 @@ are not allocated on the physical storage device until you attach the
 volume. This optimization allows the CloudStack to provision the volume
 nearest to the guest that will use it when the first attachment is made.
 
+
 Using Local Storage for Data Volumes
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
@@ -248,46 +256,32 @@ different host, nor migrate the volume itself away to a different host.
 If you want to put a host into maintenance mode, you must first stop any
 VMs with local data volumes on that host.
 
+
 To Create a New Volume
 ^^^^^^^^^^^^^^^^^^^^^^
 
-#. 
-
-   Log in to the CloudStack UI as a user or admin.
-
-#. 
+#. Log in to the CloudStack UI as a user or admin.
 
-   In the left navigation bar, click Storage.
+#. In the left navigation bar, click Storage.
 
-#. 
+#. In Select View, choose Volumes.
 
-   In Select View, choose Volumes.
-
-#. 
-
-   To create a new volume, click Add Volume, provide the following
+#. To create a new volume, click Add Volume, provide the following
    details, and click OK.
 
-   -  
-
-      Name. Give the volume a unique name so you can find it later.
+   -  Name. Give the volume a unique name so you can find it later.
 
-   -  
-
-      Availability Zone. Where do you want the storage to reside? This
+   -  Availability Zone. Where do you want the storage to reside? This
       should be close to the VM that will use the volume.
 
-   -  
-
-      Disk Offering. Choose the characteristics of the storage.
+   -  Disk Offering. Choose the characteristics of the storage.
 
    The new volume appears in the list of volumes with the state
    “Allocated.” The volume data is stored in CloudStack, but the volume
    is not yet ready for use
 
-#. 
+#. To start using the volume, continue to Attaching a Volume
 
-   To start using the volume, continue to Attaching a Volume
 
 Uploading an Existing Volume to a Virtual Machine
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -309,41 +303,25 @@ Setting Usage Limits
 
 To upload a volume:
 
-#. 
-
-   (Optional) Create an MD5 hash (checksum) of the disk image file that
+#. (Optional) Create an MD5 hash (checksum) of the disk image file that
    you are going to upload. After uploading the data disk, CloudStack
    will use this value to verify that no data corruption has occurred.
 
-#. 
-
-   Log in to the CloudStack UI as an administrator or user
-
-#. 
+#. Log in to the CloudStack UI as an administrator or user
 
-   In the left navigation bar, click Storage.
+#. In the left navigation bar, click Storage.
 
-#. 
+#. Click Upload Volume.
 
-   Click Upload Volume.
+#. Provide the following:
 
-#. 
-
-   Provide the following:
-
-   -  
-
-      Name and Description. Any desired name and a brief description
+   -  Name and Description. Any desired name and a brief description
       that can be shown in the UI.
 
-   -  
-
-      Availability Zone. Choose the zone where you want to store the
+   -  Availability Zone. Choose the zone where you want to store the
       volume. VMs running on hosts in this zone can attach the volume.
 
-   -  
-
-      Format. Choose one of the following to indicate the disk image
+   -  Format. Choose one of the following to indicate the disk image
       format of the volume.
 
       ==========  =================
@@ -354,25 +332,20 @@ To upload a volume:
       KVM         QCOW2
       ==========  =================
 
-   -  
-
-      URL. The secure HTTP or HTTPS URL that CloudStack can use to
+   -  URL. The secure HTTP or HTTPS URL that CloudStack can use to
       access your disk. The type of file at the URL must match the value
       chosen in Format. For example, if Format is VHD, the URL might
       look like the following:
 
       ``http://yourFileServerIP/userdata/myDataDisk.vhd``
 
-   -  
+   -  MD5 checksum. (Optional) Use the hash that you created in step 1.
 
-      MD5 checksum. (Optional) Use the hash that you created in step 1.
-
-#. 
-
-   Wait until the status of the volume shows that the upload is
+#. Wait until the status of the volume shows that the upload is
    complete. Click Instances - Volumes, find the name you specified in
    step 5, and make sure the status is Uploaded.
 
+
 Attaching a Volume
 ~~~~~~~~~~~~~~~~~~
 
@@ -381,40 +354,31 @@ Attach a volume when you first create a new volume, when you are moving
 an existing volume from one VM to another, or after you have migrated a
 volume from one storage pool to another.
 
-#. 
-
-   Log in to the CloudStack UI as a user or admin.
-
-#. 
+#. Log in to the CloudStack UI as a user or admin.
 
-   In the left navigation, click Storage.
+#. In the left navigation, click Storage.
 
-#. 
+#. In Select View, choose Volumes.
 
-   In Select View, choose Volumes.
-
-#. 
-
-   Click the volume name in the Volumes list, then click the Attach Disk
+#. Click the volume name in the Volumes list, then click the Attach Disk
    button |AttachDiskButton.png|
 
-#. 
-
-   In the Instance popup, choose the VM to which you want to attach the
+#. In the Instance popup, choose the VM to which you want to attach the
    volume. You will only see instances to which you are allowed to
    attach volumes; for example, a user will see only instances created
    by that user, but the administrator will have more choices.
 
-#. 
-
-   When the volume has been attached, you should be able to see it by
+#. When the volume has been attached, you should be able to see it by
    clicking Instances, the instance name, and View Volumes.
 
+
 Detaching and Moving Volumes
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 .. note:: 
-   This procedure is different from moving volumes from one storage pool to another as described in `“VM Storage Migration” <#vm-storage-migration>`_.
+   This procedure is different from moving volumes from one storage pool 
+   to another as described in `“VM Storage Migration” 
+   <#vm-storage-migration>`_.
 
 A volume can be detached from a guest VM and attached to another guest.
 Both CloudStack administrators and users can detach volumes from VMs and
@@ -423,34 +387,29 @@ move them to other VMs.
 If the two VMs are in different clusters, and the volume is large, it
 may take several minutes for the volume to be moved to the new VM.
 
-#. 
-
-   Log in to the CloudStack UI as a user or admin.
+#. Log in to the CloudStack UI as a user or admin.
 
-#. 
-
-   In the left navigation bar, click Storage, and choose Volumes in
+#. In the left navigation bar, click Storage, and choose Volumes in
    Select View. Alternatively, if you know which VM the volume is
    attached to, you can click Instances, click the VM name, and click
    View Volumes.
 
-#. 
-
-   Click the name of the volume you want to detach, then click the
+#. Click the name of the volume you want to detach, then click the
    Detach Disk button. |DetachDiskButton.png|
 
-#. 
-
-   To move the volume to another VM, follow the steps in
+#. To move the volume to another VM, follow the steps in
    `“Attaching a Volume” <#attaching-a-volume>`_.
 
+
 VM Storage Migration
 ~~~~~~~~~~~~~~~~~~~~
 
 Supported in XenServer, KVM, and VMware.
 
 .. note:: 
-   This procedure is different from moving disk volumes from one VM to another as described in `“Detaching and Moving Volumes” <#detaching-and-moving-volumes>`_.
+   This procedure is different from moving disk volumes from one VM to 
+   another as described in `“Detaching and Moving Volumes” 
+   <#detaching-and-moving-volumes>`_.
 
 You can migrate a virtual machine’s root disk volume or any additional
 data disk volume from one storage pool to another in the same zone.
@@ -471,86 +430,69 @@ migrate a VM’s disks from one storage repository to another, all while
 the VM is running.
 
 .. note:: 
-   Because of a limitation in VMware, live migration of storage for a VM is allowed only if the source and target storage pool are accessible to the source host; that is, the host where the VM is running when the live migration operation is requested.
+   Because of a limitation in VMware, live migration of storage for a 
+   VM is allowed only if the source and target storage pool are 
+   accessible to the source host; that is, the host where the VM is 
+   running when the live migration operation is requested.
+
 
 Migrating a Data Volume to a New Storage Pool
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 There are two situations when you might want to migrate a disk:
 
--  
-
-   Move the disk to new storage, but leave it attached to the same
+-  Move the disk to new storage, but leave it attached to the same
    running VM.
 
--  
-
-   Detach the disk from its current VM, move it to new storage, and
+-  Detach the disk from its current VM, move it to new storage, and
    attach it to a new VM.
 
+
 Migrating Storage For a Running VM
 ''''''''''''''''''''''''''''''''''
 
 (Supported on XenServer and VMware)
 
-#. 
+#. Log in to the CloudStack UI as a user or admin.
 
-   Log in to the CloudStack UI as a user or admin.
-
-#. 
-
-   In the left navigation bar, click Instances, click the VM name, and
+#. In the left navigation bar, click Instances, click the VM name, and
    click View Volumes.
 
-#. 
-
-   Click the volume you want to migrate.
+#. Click the volume you want to migrate.
 
-#. 
-
-   Detach the disk from the VM. See `“Detaching and
+#. Detach the disk from the VM. See `“Detaching and
    Moving Volumes” <#detaching-and-moving-volumes>`_ but skip the “reattach”
    step at the end. You will do that after migrating to new storage.
 
-#. 
-
-   Click the Migrate Volume button |Migrateinstance.png| and choose the destination from the dropdown list.
-
-#. 
+#. Click the Migrate Volume button |Migrateinstance.png| and choose the 
+   destination from the dropdown list.
 
-   Watch for the volume status to change to Migrating, then back to
+#. Watch for the volume status to change to Migrating, then back to
    Ready.
 
+
 Migrating Storage and Attaching to a Different VM
 '''''''''''''''''''''''''''''''''''''''''''''''''
 
-#. 
-
-   Log in to the CloudStack UI as a user or admin.
+#. Log in to the CloudStack UI as a user or admin.
 
-#. 
-
-   Detach the disk from the VM. See `“Detaching and
+#. Detach the disk from the VM. See `“Detaching and
    Moving Volumes” <#detaching-and-moving-volumes>`_ but skip the “reattach”
    step at the end. You will do that after migrating to new storage.
 
-#. 
-
-   Click the Migrate Volume button |Migrateinstance.png| and choose the destination from the dropdown list.
-
-#. 
+#. Click the Migrate Volume button |Migrateinstance.png| and choose the 
+   destination from the dropdown list.
 
-   Watch for the volume status to change to Migrating, then back to
+#. Watch for the volume status to change to Migrating, then back to
    Ready. You can find the volume by clicking Storage in the left
    navigation bar. Make sure that Volumes is displayed at the top of the
    window, in the Select View dropdown.
 
-#. 
-
-   Attach the volume to any desired VM running in the same cluster as
+#. Attach the volume to any desired VM running in the same cluster as
    the new storage server. See `“Attaching a
    Volume” <#attaching-a-volume>`_
 
+
 Migrating a VM Root Volume to a New Storage Pool
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
@@ -561,33 +503,25 @@ storage pool to another, without stopping the VM first.
 and users can not access the VM. After migration is complete, the VM can
 be restarted.
 
-#. 
-
-   Log in to the CloudStack UI as a user or admin.
+#. Log in to the CloudStack UI as a user or admin.
 
-#. 
+#. In the left navigation bar, click Instances, and click the VM name.
 
-   In the left navigation bar, click Instances, and click the VM name.
+#. (KVM only) Stop the VM.
 
-#. 
-
-   (KVM only) Stop the VM.
-
-#. 
-
-   Click the Migrate button |Migrateinstance.png| and choose the destination from the dropdown list.
+#. Click the Migrate button |Migrateinstance.png| and choose the 
+   destination from the dropdown list.
 
    .. note:: 
-      If the VM's storage has to be migrated along with the VM, this will be noted in the host list. CloudStack will take care of the storage migration for you.
+      If the VM's storage has to be migrated along with the VM, this will 
+      be noted in the host list. CloudStack will take care of the storage 
+      migration for you.
 
-#. 
-
-   Watch for the volume status to change to Migrating, then back to
+#. Watch for the volume status to change to Migrating, then back to
    Running (or Stopped, in the case of KVM). This can take some time.
 
-#. 
+#. (KVM only) Restart the VM.
 
-   (KVM only) Restart the VM.
 
 Resizing Volumes
 ~~~~~~~~~~~~~~~~
@@ -614,63 +548,42 @@ shrinking volumes is not supported on VMware hosts.
 
 Before you try to resize a volume, consider the following:
 
--  
-
-   The VMs associated with the volume are stopped.
+-  The VMs associated with the volume are stopped.
 
--  
+-  The data disks associated with the volume are removed.
 
-   The data disks associated with the volume are removed.
-
--  
-
-   When a volume is shrunk, the disk associated with it is simply
+-  When a volume is shrunk, the disk associated with it is simply
    truncated, and doing so would put its content at risk of data loss.
    Therefore, resize any partitions or file systems before you shrink a
    data disk so that all the data is moved off from that disk.
 
 To resize a volume:
 
-#. 
-
-   Log in to the CloudStack UI as a user or admin.
-
-#. 
-
-   In the left navigation bar, click Storage.
-
-#. 
+#. Log in to the CloudStack UI as a user or admin.
 
-   In Select View, choose Volumes.
+#. In the left navigation bar, click Storage.
 
-#. 
+#. In Select View, choose Volumes.
 
-   Select the volume name in the Volumes list, then click the Resize
+#. Select the volume name in the Volumes list, then click the Resize
    Volume button |resize-volume-icon.png|
 
-#. 
-
-   In the Resize Volume pop-up, choose desired characteristics for the
+#. In the Resize Volume pop-up, choose desired characteristics for the
    storage.
 
    |resize-volume.png|
 
-   #. 
-
-      If you select Custom Disk, specify a custom size.
-
-   #. 
+   #. If you select Custom Disk, specify a custom size.
 
-      Click Shrink OK to confirm that you are reducing the size of a
+   #. Click Shrink OK to confirm that you are reducing the size of a
       volume.
 
       This parameter protects against inadvertent shrinking of a disk,
       which might lead to the risk of data loss. You must sign off that
       you know what you are doing.
 
-#. 
+#. Click OK.
 
-   Click OK.
 
 Reset VM to New Root Disk on Reboot
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -688,6 +601,7 @@ True. VMs created from this service offering will have their disks reset
 upon reboot. See `“Creating a New Compute
 Offering” <service_offerings.html#creating-a-new-compute-offering>`_.
 
+
 Volume Deletion and Garbage Collection
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -701,19 +615,16 @@ Volumes are permanently destroyed using a garbage collection process.
 The global configuration variables expunge.delay and expunge.interval
 determine when the physical deletion of volumes will occur.
 
--  
-
-   `expunge.delay`: determines how old the volume must be before it is
+-  `expunge.delay`: determines how old the volume must be before it is
    destroyed, in seconds
 
--  
-
-   `expunge.interval`: determines how often to run the garbage collection
+-  `expunge.interval`: determines how often to run the garbage collection
    check
 
 Administrators should adjust these values depending on site policies
 around data retention.
 
+
 Working with Volume Snapshots
 -----------------------------
 
@@ -744,28 +655,20 @@ to a VM.
 A completed snapshot is copied from primary storage to secondary
 storage, where it is stored until deleted or purged by newer snapshot.
 
+
 How to Snapshot a Volume
 ~~~~~~~~~~~~~~~~~~~~~~~~
 
-#. 
-
-   Log in to the CloudStack UI as a user or administrator.
-
-#. 
-
-   In the left navigation bar, click Storage.
+#. Log in to the CloudStack UI as a user or administrator.
 
-#. 
+#. In the left navigation bar, click Storage.
 
-   In Select View, be sure Volumes is selected.
+#. In Select View, be sure Volumes is selected.
 
-#. 
+#. Click the name of the volume you want to snapshot.
 
-   Click the name of the volume you want to snapshot.
+#. Click the Snapshot button. |SnapshotButton.png|
 
-#. 
-
-   Click the Snapshot button. |SnapshotButton.png|
 
 Automatic Snapshot Creation and Retention
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -784,11 +687,12 @@ scheduled snapshots to be retained. Older snapshots that exceed the
 retention limit are automatically deleted. This user-defined limit must
 be equal to or lower than the global limit set by the CloudStack
 administrator. See `“Globally Configured
-Limits” <usage.html#globally-configured-limits>`_. The limit applies only to
-those snapshots that are taken as part of an automatic recurring
+Limits” <usage.html#globally-configured-limits>`_. The limit applies only
+to those snapshots that are taken as part of an automatic recurring
 snapshot policy. Additional manual snapshots can be created and
 retained.
 
+
 Incremental Snapshots and Backup
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -821,6 +725,7 @@ inactive.
 When a snapshot is taken manually, a snapshot is always created
 regardless of whether a volume has been active or not.
 
+
 Snapshot Restore
 ~~~~~~~~~~~~~~~~
 
@@ -830,6 +735,7 @@ recovered as needed. Alternatively, a template may be created from the
 snapshot of a root disk. The user can then boot a VM from this template
 to effect recovery of the root disk.
 
+
 Snapshot Job Throttling
 ~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -859,6 +765,7 @@ The admin can also set job.expire.minutes to place a maximum on how long
 a snapshot request will wait in the queue. If this limit is reached, the
 snapshot request fails and returns an error message.
 
+
 VMware Volume Snapshot Performance
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -874,7 +781,10 @@ properties file (\*.ova.meta) which it stored along with the original
 snapshot data.
 
 .. note:: 
-   For upgrading customers: This process applies only to newly created snapshots after upgrade to CloudStack 4.2. Snapshots that have already been taken and stored in OVA format will continue to exist in that format, and will continue to work as expected.
+   For upgrading customers: This process applies only to newly created 
+   snapshots after upgrade to CloudStack 4.2. Snapshots that have already 
+   been taken and stored in OVA format will continue to exist in that 
+   format, and will continue to work as expected.
 
 
 .. |AttachDiskButton.png| image:: _static/images/attach-disk-icon.png

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-admin/blob/68c20df4/source/systemvm.rst
----------------------------------------------------------------------
diff --git a/source/systemvm.rst b/source/systemvm.rst
index 2eda853..31318ca 100644
--- a/source/systemvm.rst
+++ b/source/systemvm.rst
@@ -23,45 +23,33 @@ creates, starts, and stops them as needed based on scale and immediate
 needs. However, the administrator should be aware of them and their
 roles to assist in debugging issues.
 
+
 The System VM Template
 ----------------------
 
 The System VMs come from a single template. The System VM has the
 following characteristics:
 
--  
-
-   Debian 6.0 ("Squeeze"), 2.6.32 kernel with the latest security
+-  Debian 6.0 ("Squeeze"), 2.6.32 kernel with the latest security
    patches from the Debian security APT repository
 
--  
-
-   Has a minimal set of packages installed thereby reducing the attack
+-  Has a minimal set of packages installed thereby reducing the attack
    surface
 
--  
+-  32-bit for enhanced performance on Xen/VMWare
 
-   32-bit for enhanced performance on Xen/VMWare
-
--  
-
-   pvops kernel with Xen PV drivers, KVM virtio drivers, and VMware
+-  pvops kernel with Xen PV drivers, KVM virtio drivers, and VMware
    tools for optimum performance on all hypervisors
 
--  
-
-   Xen tools inclusion allows performance monitoring
+-  Xen tools inclusion allows performance monitoring
 
--  
-
-   Latest versions of HAProxy, iptables, IPsec, and Apache from debian
+-  Latest versions of HAProxy, iptables, IPsec, and Apache from debian
    repository ensures improved security and speed
 
--  
-
-   Latest version of JRE from Sun/Oracle ensures improved security and
+-  Latest version of JRE from Sun/Oracle ensures improved security and
    speed
 
+
 Changing the Default System VM Template
 ---------------------------------------
 
@@ -69,9 +57,7 @@ CloudStack allows you to change the default 32-bit System VM template to
 64-bit one. Using the 64-bit template, upgrade the virtual router to
 manage larger number of connection in your network.
 
-#. 
-
-   Based on the hypervisor you use, download the 64-bit template from
+#. Based on the hypervisor you use, download the 64-bit template from
    the following location:
 
    ==========  ================================================================================================
@@ -81,27 +67,17 @@ manage larger number of connection in your network.
    KVM         http://download.cloud.com/templates/4.2/64bit/systemvmtemplate64-2013-07-15-master-kvm.qcow2.bz2
    ==========  ================================================================================================
 
-#. 
-
-   As an administrator, log in to the CloudStack UI
+#. As an administrator, log in to the CloudStack UI
 
-#. 
-
-   Register the 64 bit template.
+#. Register the 64 bit template.
 
    For example: KVM64bitTemplate
 
-#. 
-
-   While registering the template, select Routing.
-
-#. 
+#. While registering the template, select Routing.
 
-   Navigate to Infrastructure > Zone > Settings.
+#. Navigate to Infrastructure > Zone > Settings.
 
-#. 
-
-   Set the name of the 64-bit template, KVM64bitTemplate, in the
+#. Set the name of the 64-bit template, KVM64bitTemplate, in the
    *``router.template.kvm``* global parameter.
 
    If you are using a XenServer 64-bit template, set the name in the
@@ -110,9 +86,8 @@ manage larger number of connection in your network.
    Any new virtual router created in this Zone automatically picks up
    this template.
 
-#. 
+#. Restart the Management Server.
 
-   Restart the Management Server.
 
 Multiple System VM Support for VMware
 -------------------------------------
@@ -127,6 +102,7 @@ The management server monitors and weights all commands sent to these
 System VMs and performs dynamic load balancing and scaling-up of more
 System VMs.
 
+
 Console Proxy
 -------------
 
@@ -144,7 +120,8 @@ the connection to the VNC port for the requested VM on the Host hosting
 the guest.
 
 .. note:: 
-   The hypervisors will have many ports assigned to VNC usage so that multiple VNC sessions can occur simultaneously.
+   The hypervisors will have many ports assigned to VNC usage so that 
+   multiple VNC sessions can occur simultaneously.
 
 There is never any traffic to the guest virtual IP, and there is no need
 to enable VNC within the guest.
@@ -164,11 +141,15 @@ the capacity to handle new sessions is used.
 Console proxies can be restarted by administrators but this will
 interrupt existing console sessions for users.
 
+
 Using a SSL Certificate for the Console Proxy
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 .. note::
-   In the past CloudStack used the ``realhostip.com`` dynamic  DNS resolution service. As this service will be shut down as of  June 30th, 2014, CloudStack has stopped using the service as of version 4.3.
+   In the past CloudStack used the ``realhostip.com`` dynamic  DNS 
+   resolution service. As this service will be shut down as of  
+   June 30th, 2014, CloudStack has stopped using the service as of 
+   version 4.3.
 
 By default, the console viewing functionality uses plaintext HTTP. In 
 any production environment, the console proxy connection should be
@@ -177,11 +158,9 @@ encrypted via SSL at the mininum.
 A CloudStack administrator has 2 ways to secure the console proxy
 communication with SSL:
 
--
-   Set up a SSL wild-card certificate and domain name resolution
+-  Set up a SSL wild-card certificate and domain name resolution
    
--
-   Set up SSL certificate for specific FQDN and configure load-balancer
+-  Set up SSL certificate for specific FQDN and configure load-balancer
 
 
 Changing the Console Proxy SSL Certificate and Domain
@@ -194,91 +173,72 @@ of the form aaa-bbb-ccc-ddd.your.domain to an IPv4 IP address in the
 form aaa.bbb.ccc.ddd, for example, 202.8.44.1. To change the console 
 proxy domain, SSL certificate, and private key:
 
-#. 
-
-   Set up dynamic name resolution or populate all possible DNS names in
+#. Set up dynamic name resolution or populate all possible DNS names in
    your public IP range into your existing DNS server with the format
    aaa-bbb-ccc-ddd.consoleproxy.company.com -> aaa.bbb.ccc.ddd.
 
    .. note::
-      In these steps you will notice *consoleproxy.company.com* -For security best practices, we recommend creating a wildcard SSL certificate on a separate subdomain so in the event that the certificate is compromised, a malicious user cannot impersonate a company.com domain.
-
-#. 
+      In these steps you will notice *consoleproxy.company.com* -For 
+      security best practices, we recommend creating a wildcard SSL 
+      certificate on a separate subdomain so in the event that the 
+      certificate is compromised, a malicious user cannot impersonate 
+      a company.com domain.
 
-   Generate the private key and certificate signing request (CSR). When
+#. Generate the private key and certificate signing request (CSR). When
    you are using openssl to generate private/public key pairs and CSRs,
    for the private key that you are going to paste into the CloudStack
    UI, be sure to convert it into PKCS#8 format.
 
-   #. 
-
-      Generate a new 2048-bit private key
+   #. Generate a new 2048-bit private key
 
       .. code:: bash
 
-          openssl genrsa -des3 -out yourprivate.key 2048
-
-   #. 
+         openssl genrsa -des3 -out yourprivate.key 2048
 
-      Generate a new certificate CSR. Ensure the creation of a wildcard 
+   #. Generate a new certificate CSR. Ensure the creation of a wildcard 
       certificate, eg ``*.consoleproxy.company.com``
 
       .. code:: bash
 
-          openssl req -new -key yourprivate.key -out yourcertificate.csr
+         openssl req -new -key yourprivate.key -out yourcertificate.csr
 
-   #. 
-
-      Head to the website of your favorite trusted Certificate
+   #. Head to the website of your favorite trusted Certificate
       Authority, purchase an SSL certificate, and submit the CSR. You
       should receive a valid certificate in return
 
-   #. 
-
-      Convert your private key format into PKCS#8 encrypted format.
+   #. Convert your private key format into PKCS#8 encrypted format.
 
       .. code:: bash
 
-          openssl pkcs8 -topk8 -in yourprivate.key -out yourprivate.pkcs8.encrypted.key
-
-   #. 
+         openssl pkcs8 -topk8 -in yourprivate.key -out yourprivate.pkcs8.encrypted.key
 
-      Convert your PKCS#8 encrypted private key into the PKCS#8 format
+   #. Convert your PKCS#8 encrypted private key into the PKCS#8 format
       that is compliant with CloudStack
 
       .. code:: bash
 
-          openssl pkcs8 -in yourprivate.pkcs8.encrypted.key -out yourprivate.pkcs8.key
+         openssl pkcs8 -in yourprivate.pkcs8.encrypted.key -out yourprivate.pkcs8.key
 
-#. 
-
-   In the Update SSL Certificate screen of the CloudStack UI, paste the
+#. In the Update SSL Certificate screen of the CloudStack UI, paste the
    following:
 
-   -  
-
-      The certificate you've just generated.
+   -  The certificate you've just generated.
 
-   -  
+   -  The private key you've just generated.
 
-      The private key you've just generated.
-
-   -  
-
-      The desired domain name, prefixed with ``*.``; for example, ``*.consoleproxy.company.com``
+   -  The desired domain name, prefixed with ``*.``; for example, ``*.consoleproxy.company.com``
 
      |update-ssl.png|
 
-#. 
-
-   This stops all currently running console proxy VMs, then restarts
+#. This stops all currently running console proxy VMs, then restarts
    them with the new certificate and key. Users might notice a brief
    interruption in console availability.
 
 The Management Server generates URLs of the form
-"aaa-bbb-ccc-ddd.consoleproxy.company.com" after this change is made. The new console
-requests will be served with the new DNS domain name, certificate, and
-key.
+"aaa-bbb-ccc-ddd.consoleproxy.company.com" after this change is made. 
+The new console requests will be served with the new DNS domain name, 
+certificate, and key.
+
 
 Load-balancing Console Proxies
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -286,8 +246,9 @@ An alternative to using dynamic DNS or creating a range of DNS entries
 as described in the last section would be to create a SSL certificate
 for a specific domain name, configure CloudStack to use that particular
 FQDN, and then configure a load balancer to load balance the console
-proxy's IP address behind the FQDN. As the functionality for this is still
-new, please see https://cwiki.apache.org/confluence/display/CLOUDSTACK/Realhost+IP+changes
+proxy's IP address behind the FQDN. As the functionality for this is 
+still new, please see 
+https://cwiki.apache.org/confluence/display/CLOUDSTACK/Realhost+IP+changes
 for more details.
 
 
@@ -308,35 +269,27 @@ basic test in debugging networking issues is to attempt to ping the
 virtual router from a guest VM. Some of the characteristics of the
 virtual router are determined by its associated system service offering.
 
+
 Configuring the Virtual Router
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 You can set the following:
 
--  
+-  IP range
 
-   IP range
+-  Supported network services
 
--  
+-  Default domain name for the network serviced by the virtual router
 
-   Supported network services
+-  Gateway IP address
 
--  
-
-   Default domain name for the network serviced by the virtual router
-
--  
-
-   Gateway IP address
-
--  
-
-   How often CloudStack fetches network usage statistics from CloudStack
+-  How often CloudStack fetches network usage statistics from CloudStack
    virtual routers. If you want to collect traffic metering data from
    the virtual router, set the global configuration parameter
    router.stats.interval. If you are not using the virtual router to
    gather network usage statistics, set it to 0.
 
+
 Upgrading a Virtual Router with System Service Offerings
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -347,95 +300,87 @@ virtual routers in a single guest network use the same system service
 offering. You can upgrade the capabilities of the virtual router by
 creating and applying a custom system service offering.
 
-#. 
-
-   Define your custom system service offering. See `“Creating a New System Service
-   Offering” <#creating-a-new-system-service-offering>`_. In System VM Type,
-   choose Domain Router.
-
-#. 
+#. Define your custom system service offering. 
+   See `“Creating a New System Service Offering” 
+   <#creating-a-new-system-service-offering>`_. 
+   In System VM Type, choose Domain Router.
 
-   Associate the system service offering with a network offering. See
-   `“Creating a New Network Offering” <networking.html#creating-a-new-network-offering>`_.
+#. Associate the system service offering with a network offering. See
+   `“Creating a New Network Offering” 
+   <networking.html#creating-a-new-network-offering>`_.
 
-#. 
-
-   Apply the network offering to the network where you want the virtual
+#. Apply the network offering to the network where you want the virtual
    routers to use the new system service offering. If this is a new
    network, follow the steps in Adding an Additional Guest Network on
    page 66. To change the service offering for existing virtual routers,
-   follow the steps in `“Changing the Network Offering
-   on a Guest Network” <networking2.html#changing-the-network-offering-on-a-guest-network>`_.
+   follow the steps in `“Changing the Network Offering on a Guest Network” 
+   <networking2.html#changing-the-network-offering-on-a-guest-network>`_.
+
 
 Best Practices for Virtual Routers
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
--  
-
-   WARNING: Restarting a virtual router from a hypervisor console
+-  WARNING: Restarting a virtual router from a hypervisor console
    deletes all the iptables rules. To work around this issue, stop the
    virtual router and start it from the CloudStack UI.
 
--  
+-  .. warning:: 
+      Do not use the destroyRouter API when only one router is available 
+      in the network, because restartNetwork API with the cleanup=false 
+      parameter can't recreate it later. If you want to destroy and 
+      recreate the single router available in the network, use the 
+      restartNetwork API with the cleanup=true parameter.
 
-   .. warning:: 
-      Do not use the destroyRouter API when only one router is available in the network, because restartNetwork API with the cleanup=false parameter can't recreate it later. If you want to destroy and recreate the single router available in the network, use the restartNetwork API with the cleanup=true parameter.
 
 Service Monitoring Tool for Virtual Router
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Various services running on the CloudStack virtual routers can be monitored by using a Service Monitoring tool. The tool ensures that
-services are successfully running until CloudStack deliberately disables them. If a service goes down, the tool automatically restarts the service, and if that does not help bringing up the service, an alert as well as an event is generated indicating the failure. A new global parameter, ``network.router.enableservicemonitoring``, has been introduced to control this feature. The default value is false, implies, monitoring is disabled. When you enable, ensure that the Management Server and the router are restarted.
-
+Various services running on the CloudStack virtual routers can be 
+monitored by using a Service Monitoring tool. The tool ensures that
+services are successfully running until CloudStack deliberately disables 
+them. If a service goes down, the tool automatically restarts the 
+service, and if that does not help bringing up the service, an alert as 
+well as an event is generated indicating the failure. A new global 
+parameter, ``network.router.enableservicemonitoring``, has been 
+introduced to control this feature. The default value is false, implies, 
+monitoring is disabled. When you enable, ensure that the Management 
+Server and the router are restarted.
 
 Monitoring tool can help to start a VR service, which is crashed due to
 an unexpected reason. For example:
 
--  
-
-   The services crashed due to defects in the source code.
+-  The services crashed due to defects in the source code.
 
--  
-
-   The services that are terminated by the OS when memory or CPU is not
+-  The services that are terminated by the OS when memory or CPU is not
    sufficiently available for the service.
 
 .. note:: 
-   Only those services with daemons are monitored. The services that are failed due to errors in the service/daemon configuration file cannot be restarted by the Monitoring tool. VPC networks are not supported.
+   Only those services with daemons are monitored. The services that are 
+   failed due to errors in the service/daemon configuration file cannot 
+   be restarted by the Monitoring tool. VPC networks are not supported.
 
 The following services are monitored in a VR:
 
--  
-
-   DNS
+-  DNS
 
--  
+-  HA Proxy
 
-   HA Proxy
+-  SSH
 
--  
-
-   SSH
-
--  
-
-   Apache Web Server
+-  Apache Web Server
 
 The following networks are supported:
 
--  
-
-   Isolated Networks
-
--  
+-  Isolated Networks
 
-   Shared Networks in both Advanced and Basic zone
+-  Shared Networks in both Advanced and Basic zone
 
    .. note:: VPC networks are not supported
 
 This feature is supported on the following hypervisors: XenServer,
 VMware, and KVM.
 
+
 Enhanced Upgrade for Virtual Routers
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -470,152 +415,93 @@ The following service will be available even if the VR is not upgraded.
 However, no changes for any of the services can be sent to the VR, until
 it is upgraded:
 
--  
-
-   SecurityGroup
-
--  
-
-   UserData
-
--  
-
-   DHCP
-
--  
-
-   DNS
-
--  
-
-   LB
+-  SecurityGroup
 
--  
+-  UserData
 
-   Port Forwarding
+-  DHCP
 
--  
+-  DNS
 
-   VPN
+-  LB
 
--  
+-  Port Forwarding
 
-   Static NAT
+-  VPN
 
--  
+-  Static NAT
 
-   Source NAT
+-  Source NAT
 
--  
+-  Firewall
 
-   Firewall
+-  Gateway
 
--  
+-  NetworkACL
 
-   Gateway
-
--  
-
-   NetworkACL
 
 Supported Virtual Routers
 ^^^^^^^^^^^^^^^^^^^^^^^^^
 
--  
-
-   VR
+-  VR
 
--  
+-  VPC VR
 
-   VPC VR
+-  Redundant VR
 
--  
-
-   Redundant VR
 
 Upgrading Virtual Routers
 ^^^^^^^^^^^^^^^^^^^^^^^^^
 
-#. 
-
-   Download the latest System VM template.
+#. Download the latest System VM template.
 
-#. 
+#. Download the latest System VM to all the primary storage pools.
 
-   Download the latest System VM to all the primary storage pools.
+#. Upgrade the Management Server.
 
-#. 
-
-   Upgrade the Management Server.
-
-#. 
-
-   Upgrade CPVM and SSVM either from the UI or by using the following
+#. Upgrade CPVM and SSVM either from the UI or by using the following
    script:
 
    .. code:: bash
 
-       # cloudstack-sysvmadm -d <IP address> -u cloud -p -s
+      # cloudstack-sysvmadm -d <IP address> -u cloud -p -s
 
    Even when the VRs are still on older versions, existing services will
    continue to be available to the VMs. The Management Server cannot
    perform any operations on the VRs until they are upgraded.
 
-#. 
-
-   Selectively upgrade the VRs:
-
-   #. 
+#. Selectively upgrade the VRs:
 
-      Log in to the CloudStack UI as the root administrator.
+   #. Log in to the CloudStack UI as the root administrator.
 
-   #. 
+   #. In the left navigation, choose Infrastructure.
 
-      In the left navigation, choose Infrastructure.
-
-   #. 
-
-      On Virtual Routers, click View More.
+   #. On Virtual Routers, click View More.
 
       All the VRs are listed in the Virtual Routers page.
 
-   #. 
-
-      In Select View drop-down, select desired grouping based on your
+   #. In Select View drop-down, select desired grouping based on your
       requirement.
 
       You can use either of the following:
 
-      -  
-
-         Group by zone
-
-      -  
+      -  Group by zone
 
-         Group by pod
+      -  Group by pod
 
-      -  
+      -  Group by cluster
 
-         Group by cluster
+      -  Group by account
 
-      -  
-
-         Group by account
-
-   #. 
-
-      Click the group which has the VRs to be upgraded.
+   #. Click the group which has the VRs to be upgraded.
 
       For example, if you have selected Group by zone, select the name
       of the desired zone.
 
-   #. 
+   #. Click the Upgrade button to upgrade all the VRs. |vr-upgrade.png|
 
-      Click the Upgrade button to upgrade all the VRs. |vr-upgrade.png|
+   #. Click OK to confirm.
 
-   #. 
-
-      Click OK to confirm.
 
 Secondary Storage VM
 --------------------
@@ -633,6 +519,7 @@ Zone, copying templates between Zones, and snapshot backups.
 
 The administrator can log in to the secondary storage VM if needed.
 
+
 .. |update-ssl.png| image:: _static/images/update-ssl.png
    :alt: Updating Console Proxy SSL Certificate
 .. |vr-upgrade.png| image:: _static/images/vr-upgrade.png