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

[3/4] Fixed formatting by Will stevens

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