cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pdion...@apache.org
Subject [2/2] cloudstack-docs-rn git commit: Generalized 4.4 upgrade instruction
Date Sat, 13 Dec 2014 16:45:13 GMT
Generalized 4.4 upgrade instruction


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

Branch: refs/heads/4.5
Commit: 01a90e608a722f9579b40f0b019577b139092164
Parents: 64bd514
Author: pdion891 <pdion891@apache.org>
Authored: Sat Dec 13 11:45:04 2014 -0500
Committer: pdion891 <pdion891@apache.org>
Committed: Sat Dec 13 11:45:04 2014 -0500

----------------------------------------------------------------------
 source/upgrade/upgrade-4.4.0.rst | 380 ------------------------------
 source/upgrade/upgrade-4.4.1.rst | 358 -----------------------------
 source/upgrade/upgrade-4.4.rst   | 421 ++++++++++++++++++++++++++++++++++
 3 files changed, 421 insertions(+), 738 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack-docs-rn/blob/01a90e60/source/upgrade/upgrade-4.4.0.rst
----------------------------------------------------------------------
diff --git a/source/upgrade/upgrade-4.4.0.rst b/source/upgrade/upgrade-4.4.0.rst
deleted file mode 100644
index 22a1a3d..0000000
--- a/source/upgrade/upgrade-4.4.0.rst
+++ /dev/null
@@ -1,380 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information#
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-   http://www.apache.org/licenses/LICENSE-2.0
-   Unless required by applicable law or agreed to in writing,
-   software distributed under the License is distributed on an
-   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-   KIND, either express or implied.  See the License for the
-   specific language governing permissions and limitations
-   under the License.
-
-
-.. |version_to_upgrade| replace:: 4.4.0
-
-Upgrade Instruction from |version_to_upgrade|
-=============================================
-
-
-Any steps that are hypervisor-specific will be called out with a note.
-
-We recommend reading through this section once or twice before beginning
-your upgrade procedure, and working through it on a test system before
-working on a production system.
-
-.. note:: 
-   The following upgrade instructions should be performed regardless of 
-   hypervisor type.
-
-Upgrade Steps:
-
-#. Backup CloudStack database (MySQL)
-
-#. Upgrade CloudStack management server(s)
-
-#. Update hypervisors specific dependencies
-
-
-Packages repository
--------------------
-
-
-Most users of CloudStack manage the installation and upgrades of
-CloudStack with one of Linux's predominant package systems, RPM or
-APT. This guide assumes you'll be using RPM and Yum (for Red Hat
-Enterprise Linux or CentOS), or APT and Debian packages (for Ubuntu).
-
-Create RPM or Debian packages (as appropriate) and a repository from
-the |version| source, or check the Apache CloudStack downloads page at
-http://cloudstack.apache.org/downloads.html
-for package repositories supplied by community members. You will need
-them for :ref:`ubuntu43` or :ref:`rhel43` and :ref:`kvm43` hosts upgrade. 
-
-Instructions for creating packages from the CloudStack source are in the 
-`CloudStack Installation Guide`_.
-
-.. include:: _sysvm_templates.rst
-
-
-Database Preparation
---------------------
-
-
-Backup current database
-
-#. Stop your management server or servers. Run this on all management
-   server hosts:
-
-   .. sourcecode:: bash
-
-      $ sudo service cloudstack-management stop
-
-#. If you are running a usage server or usage servers, stop those as well:
-
-   .. sourcecode:: bash
-
-      $ sudo service cloudstack-usage stop
-
-#. Make a backup of your MySQL database. If you run into any issues or
-   need to roll back the upgrade, this will assist in debugging or
-   restoring your existing environment. You'll be prompted for your
-   password.
-
-   .. sourcecode:: bash
-
-      $ mysqldump -u root -p cloud > cloud-backup_`date '+%Y-%m-%d'`.sql
-      $ mysqldump -u root -p cloud_usage > cloud_usage-backup_`date '+%Y-%m-%d'`.sql
-
-#. **(KVM Only)** If primary storage of type local storage is in use, the
-   path for this storage needs to be verified to ensure it passes new
-   validation. Check local storage by querying the cloud.storage\_pool
-   table:
-
-   .. sourcecode:: bash
-
-      $ mysql -u cloud -p -e "select id,name,path from cloud.storage_pool where pool_type='Filesystem'"
-
-   If local storage paths are found to have a trailing forward slash,
-   remove it:
-
-   .. sourcecode:: bash
-
-      $ mysql -u cloud -p -e 'update cloud.storage_pool set path="/var/lib/libvirt/images"
where path="/var/lib/libvirt/images/"';
-
-
-.. _ubuntu44:
-
-Management Server on Ubuntu
----------------------------
-
-
-If you are using Ubuntu, follow this procedure to upgrade your packages. If 
-not, skip to step :ref:`rhel44`.
-
-.. note:: 
-   **Community Packages:** This section assumes you're using the community 
-   supplied packages for CloudStack. If you've created your own packages and 
-   APT repository, substitute your own URL for the ones used in these examples.
-
-The first order of business will be to change the sources list for
-each system with CloudStack packages. This means all management
-servers, and any hosts that have the KVM agent. (No changes should
-be necessary for hosts that are running VMware or Xen.)
-
-
-.. _apt-repo44:
-
-CloudStack apt repository
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-#. Update your apt package list:
-
-   .. sourcecode:: bash
-
-      $ sudo apt-get update
-
-#. Now that you have the repository configured, it's time to upgrade
-   the ``cloudstack-management`` package. 
-
-   .. sourcecode:: bash
-
-      $ sudo apt-get upgrade cloudstack-management
-
-#. If you use CloudStack usage server
-
-   .. sourcecode:: bash
-
-      $ sudo apt-get upgrade cloudstack-usage
-
-
-.. _rhel44:
-
-Management Server on CentOS/RHEL
---------------------------------
-
-If you are using CentOS or RHEL, follow this procedure to upgrade your 
-packages. If not, skip to hypervisors section, then :ref:`upg-sysvm44`.
-
-.. note:: 
-   **Community Packages:** This section assumes you're using the community 
-   supplied packages for CloudStack. If you've created your own packages and 
-   yum repository, substitute your own URL for the ones used in these examples.
-
-
-.. _rpm-repo44:
-
-CloustStack RPM repository
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-#. Now that you have the repository configured, it's time to upgrade the 
-   ``cloudstack-management``.
-
-   .. sourcecode:: bash
-
-      $ sudo yum upgrade cloudstack-management
-
-#. If you use CloudStack usage server
-
-   .. sourcecode:: bash
-
-      $ sudo yum upgrade cloudstack-usage
-
-
-hypervisor: XenServer
----------------------
-
-   **(XenServer only)** Copy vhd-utils file on CloudStack management servers.
-   Copy the file `vhd-utils <http://download.cloud.com.s3.amazonaws.com/tools/vhd-util>`_

-   to ``/usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver``.
-
-   .. sourcecode:: bash
-
-      wget -P /usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver \
-      http://download.cloud.com.s3.amazonaws.com/tools/vhd-util
-
-
-hypervisor: VMware
-------------------
-
-   .. warning::
-      For VMware hypervisor CloudStack management server packages must be 
-      build using "noredist". Refer to `Building from Source 
-      <http://docs.cloudstack.apache.org/projects/cloudstack-installation/en/latest/building_from_source.html>`_.
-
-   **(VMware only)** Additional steps are required for each VMware cluster.
-   These steps will not affect running guests in the cloud. These steps
-   are required only for clouds using VMware clusters:
-
-#. Stop the Management Server:
-
-   .. sourcecode:: bash
-
-      $ sudo service cloudstack-management stop
-
-#. Generate the encrypted equivalent of your vCenter password:
-
-   .. sourcecode:: bash
-
-      $ java -classpath /usr/share/cloudstack-common/lib/jasypt-1.9.0.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI
encrypt.sh input="_your_vCenter_password_" password="`cat /etc/cloudstack/management/key`"
verbose=false
-
-   Store the output from this step, we need to add this in
-   cluster\_details table and vmware\_data\_center tables in place of
-   the plain text password
-
-#. Find the ID of the row of cluster\_details table that you have to
-   update:
-
-   .. sourcecode:: bash
-
-      $ mysql -u <username> -p<password>
-
-   .. sourcecode:: bash
-
-      select * from cloud.cluster_details;
-
-#. Update the plain text password with the encrypted one
-
-   .. sourcecode:: bash
-
-      update cloud.cluster_details set value = '_ciphertext_from_step_1_' where id = _id_from_step_2_;
-
-#. Confirm that the table is updated:
-
-   .. sourcecode:: bash
-
-      select * from cloud.cluster_details;
-
-#. Find the ID of the correct row of vmware\_data\_center that you
-   want to update
-
-   .. sourcecode:: bash
-
-      select * from cloud.vmware_data_center;
-
-#. update the plain text password with the encrypted one:
-
-   .. sourcecode:: bash
-
-      update cloud.vmware_data_center set password = '_ciphertext_from_step_1_' where id
= _id_from_step_5_;
-
-#. Confirm that the table is updated:
-
-   .. sourcecode:: bash
-
-      select * from cloud.vmware_data_center;
-
-
-.. _kvm44:
-
-hypervisor: KVM
----------------
-
-KVM on Ubuntu
-^^^^^^^^^^^^^
-
-(KVM only) Additional steps are required for each KVM host. These
-steps will not affect running guests in the cloud. These steps are
-required only for clouds using KVM as hosts and only on the KVM
-hosts.
-
-#. Configure the :ref:`apt-repo44` as detailed above.
-
-#. Stop the running agent.
-
-   .. sourcecode:: bash
-
-      $ sudo service cloudstack-agent stop
-
-#. Update the agent software.
-
-   .. sourcecode:: bash
-
-      $ sudo apt-get upgrade cloudstack-agent
-
-#. Verify that the file ``/etc/cloudstack/agent/environment.properties`` has a 
-   line that reads:
-
-   .. sourcecode:: bash
-
-      paths.script=/usr/share/cloudstack-common
-
-   If not, add the line.
-
-#. Start the agent.
-
-   .. sourcecode:: bash
-
-      $ sudo service cloudstack-agent start
-
-
-KVM on CentOS/RHEL
-^^^^^^^^^^^^^^^^^^
-For KVM hosts, upgrade the ``cloudstack-agent`` package
-
-#. Configure the :ref:`rpm-repo44` as detailed above.
-
-   .. sourcecode:: bash
-
-      $ sudo yum upgrade cloudstack-agent
-
-#. Verify that the file ``/etc/cloudstack/agent/environment.properties`` has a 
-   line that reads:
-
-   .. sourcecode:: bash
-
-      paths.script=/usr/share/cloudstack-common
-
-   If not, add the line.
-
-#. Restart the agent:
-
-   .. sourcecode:: bash
-
-      $ sudo service cloudstack-agent stop
-      $ sudo killall jsvc
-      $ sudo service cloudstack-agent start
-
-
-Restart management services
----------------------------
-
-#. If upgrading fresh installation of 4.4.0
-
-   If you are upgrading fresh installation of CloudStack 4.4.0, the following MySQL
-   command must be executed before restarting the management server. If the system
-   was running pre 4.4 and then upgraded to 4.4.0, the MySQL command is not required.
-   Refer to: `CLOUDSTACK-7813 <https://issues.apache.org/jira/browse/CLOUDSTACK-7813>`_
-
-   .. sourcecode:: mysql
-
-      use cloud;
-      ALTER TABLE `snapshot_policy` ADD `display` TINYINT( 1 ) NOT NULL DEFAULT '1';
-
-#. Now it's time to start the management server
-
-   .. sourcecode:: bash
-
-      $ sudo service cloudstack-management start
-
-#. If you use it, start the usage server
-
-   .. sourcecode:: bash
-
-      $ sudo service cloudstack-usage start
-
-
-.. _upg-sysvm44:
-
-System-VMs and Virtual-Routers
-------------------------------
-
-.. include:: _sysvm_restart.rst
-
-
-.. include:: /global.rst

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-rn/blob/01a90e60/source/upgrade/upgrade-4.4.1.rst
----------------------------------------------------------------------
diff --git a/source/upgrade/upgrade-4.4.1.rst b/source/upgrade/upgrade-4.4.1.rst
deleted file mode 100644
index f8bdbe4..0000000
--- a/source/upgrade/upgrade-4.4.1.rst
+++ /dev/null
@@ -1,358 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information#
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-   http://www.apache.org/licenses/LICENSE-2.0
-   Unless required by applicable law or agreed to in writing,
-   software distributed under the License is distributed on an
-   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-   KIND, either express or implied.  See the License for the
-   specific language governing permissions and limitations
-   under the License.
-
-
-.. |version_to_upgrade| replace:: 4.4.1
-
-Upgrade Instruction from |version_to_upgrade|
-=============================================
-
-
-Any steps that are hypervisor-specific will be called out with a note.
-
-We recommend reading through this section once or twice before beginning
-your upgrade procedure, and working through it on a test system before
-working on a production system.
-
-.. note:: 
-   The following upgrade instructions should be performed regardless of 
-   hypervisor type.
-
-Upgrade Steps:
-
-#. Backup CloudStack database (MySQL)
-
-#. Upgrade CloudStack management server(s)
-
-#. Update hypervisors specific dependencies
-
-
-Packages repository
--------------------
-
-
-Most users of CloudStack manage the installation and upgrades of
-CloudStack with one of Linux's predominant package systems, RPM or
-APT. This guide assumes you'll be using RPM and Yum (for Red Hat
-Enterprise Linux or CentOS), or APT and Debian packages (for Ubuntu).
-
-Create RPM or Debian packages (as appropriate) and a repository from
-the |version| source, or check the Apache CloudStack downloads page at
-http://cloudstack.apache.org/downloads.html
-for package repositories supplied by community members. You will need
-them for :ref:`ubuntu43` or :ref:`rhel43` and :ref:`kvm43` hosts upgrade. 
-
-Instructions for creating packages from the CloudStack source are in the 
-`CloudStack Installation Guide`_.
-
-
-Database Preparation
---------------------
-
-
-Backup current database
-
-#. Stop your management server or servers. Run this on all management
-   server hosts:
-
-   .. sourcecode:: bash
-
-      $ sudo service cloudstack-management stop
-
-#. If you are running a usage server or usage servers, stop those as well:
-
-   .. sourcecode:: bash
-
-      $ sudo service cloudstack-usage stop
-
-#. Make a backup of your MySQL database. If you run into any issues or
-   need to roll back the upgrade, this will assist in debugging or
-   restoring your existing environment. You'll be prompted for your
-   password.
-
-   .. sourcecode:: bash
-
-      $ mysqldump -u root -p cloud > cloud-backup_`date '+%Y-%m-%d'`.sql
-      $ mysqldump -u root -p cloud_usage > cloud_usage-backup_`date '+%Y-%m-%d'`.sql
-
-#. **(KVM Only)** If primary storage of type local storage is in use, the
-   path for this storage needs to be verified to ensure it passes new
-   validation. Check local storage by querying the cloud.storage\_pool
-   table:
-
-   .. sourcecode:: bash
-
-      $ mysql -u cloud -p -e "select id,name,path from cloud.storage_pool where pool_type='Filesystem'"
-
-   If local storage paths are found to have a trailing forward slash,
-   remove it:
-
-   .. sourcecode:: bash
-
-      $ mysql -u cloud -p -e 'update cloud.storage_pool set path="/var/lib/libvirt/images"
where path="/var/lib/libvirt/images/"';
-
-
-.. _ubuntu44:
-
-Management Server on Ubuntu
----------------------------
-
-
-If you are using Ubuntu, follow this procedure to upgrade your packages. If 
-not, skip to step :ref:`rhel44`.
-
-.. note:: 
-   **Community Packages:** This section assumes you're using the community 
-   supplied packages for CloudStack. If you've created your own packages and 
-   APT repository, substitute your own URL for the ones used in these examples.
-
-The first order of business will be to change the sources list for
-each system with CloudStack packages. This means all management
-servers, and any hosts that have the KVM agent. (No changes should
-be necessary for hosts that are running VMware or Xen.)
-
-
-.. _apt-repo44:
-
-CloudStack apt repository
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-#. Update your apt package list:
-
-   .. sourcecode:: bash
-
-      $ sudo apt-get update
-
-#. Now that you have the repository configured, it's time to upgrade
-   the ``cloudstack-management`` package. 
-
-   .. sourcecode:: bash
-
-      $ sudo apt-get upgrade cloudstack-management
-
-#. If you use CloudStack usage server
-
-   .. sourcecode:: bash
-
-      $ sudo apt-get upgrade cloudstack-usage
-
-
-.. _rhel44:
-
-Management Server on CentOS/RHEL
---------------------------------
-
-If you are using CentOS or RHEL, follow this procedure to upgrade your 
-packages. If not, skip to hypervisors section, then :ref:`upg-sysvm44`.
-
-.. note:: 
-   **Community Packages:** This section assumes you're using the community 
-   supplied packages for CloudStack. If you've created your own packages and 
-   yum repository, substitute your own URL for the ones used in these examples.
-
-
-.. _rpm-repo44:
-
-CloustStack RPM repository
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-
-#. Now that you have the repository configured, it's time to upgrade the 
-   ``cloudstack-management``.
-
-   .. sourcecode:: bash
-
-      $ sudo yum upgrade cloudstack-management
-
-#. If you use CloudStack usage server
-
-   .. sourcecode:: bash
-
-      $ sudo yum upgrade cloudstack-usage
-
-
-hypervisor: XenServer
----------------------
-
-   **(XenServer only)** Copy vhd-utils file on CloudStack management servers.
-   Copy the file `vhd-utils <http://download.cloud.com.s3.amazonaws.com/tools/vhd-util>`_

-   to ``/usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver``.
-
-   .. sourcecode:: bash
-
-      wget -P /usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver \
-      http://download.cloud.com.s3.amazonaws.com/tools/vhd-util
-
-
-hypervisor: VMware
-------------------
-
-   .. warning::
-      For VMware hypervisor CloudStack management server packages must be 
-      build using "noredist". Refer to `Building from Source 
-      <http://docs.cloudstack.apache.org/projects/cloudstack-installation/en/latest/building_from_source.html>`_.
-
-   **(VMware only)** Additional steps are required for each VMware cluster.
-   These steps will not affect running guests in the cloud. These steps
-   are required only for clouds using VMware clusters:
-
-#. Stop the Management Server:
-
-   .. sourcecode:: bash
-
-      $ sudo service cloudstack-management stop
-
-#. Generate the encrypted equivalent of your vCenter password:
-
-   .. sourcecode:: bash
-
-      $ java -classpath /usr/share/cloudstack-common/lib/jasypt-1.9.0.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI
encrypt.sh input="_your_vCenter_password_" password="`cat /etc/cloudstack/management/key`"
verbose=false
-
-   Store the output from this step, we need to add this in
-   cluster\_details table and vmware\_data\_center tables in place of
-   the plain text password
-
-#. Find the ID of the row of cluster\_details table that you have to
-   update:
-
-   .. sourcecode:: bash
-
-      $ mysql -u <username> -p<password>
-
-   .. sourcecode:: bash
-
-      select * from cloud.cluster_details;
-
-#. Update the plain text password with the encrypted one
-
-   .. sourcecode:: bash
-
-      update cloud.cluster_details set value = '_ciphertext_from_step_1_' where id = _id_from_step_2_;
-
-#. Confirm that the table is updated:
-
-   .. sourcecode:: bash
-
-      select * from cloud.cluster_details;
-
-#. Find the ID of the correct row of vmware\_data\_center that you
-   want to update
-
-   .. sourcecode:: bash
-
-      select * from cloud.vmware_data_center;
-
-#. update the plain text password with the encrypted one:
-
-   .. sourcecode:: bash
-
-      update cloud.vmware_data_center set password = '_ciphertext_from_step_1_' where id
= _id_from_step_5_;
-
-#. Confirm that the table is updated:
-
-   .. sourcecode:: bash
-
-      select * from cloud.vmware_data_center;
-
-
-.. _kvm44:
-
-hypervisor: KVM
----------------
-
-KVM on Ubuntu
-^^^^^^^^^^^^^
-
-(KVM only) Additional steps are required for each KVM host. These
-steps will not affect running guests in the cloud. These steps are
-required only for clouds using KVM as hosts and only on the KVM
-hosts.
-
-#. Configure the :ref:`apt-repo44` as detailed above.
-
-#. Stop the running agent.
-
-   .. sourcecode:: bash
-
-      $ sudo service cloudstack-agent stop
-
-#. Update the agent software.
-
-   .. sourcecode:: bash
-
-      $ sudo apt-get upgrade cloudstack-agent
-
-#. Verify that the file ``/etc/cloudstack/agent/environment.properties`` has a 
-   line that reads:
-
-   .. sourcecode:: bash
-
-      paths.script=/usr/share/cloudstack-common
-
-   If not, add the line.
-
-#. Start the agent.
-
-   .. sourcecode:: bash
-
-      $ sudo service cloudstack-agent start
-
-
-KVM on CentOS/RHEL
-^^^^^^^^^^^^^^^^^^
-For KVM hosts, upgrade the ``cloudstack-agent`` package
-
-#. Configure the :ref:`rpm-repo44` as detailed above.
-
-   .. sourcecode:: bash
-
-      $ sudo yum upgrade cloudstack-agent
-
-#. Verify that the file ``/etc/cloudstack/agent/environment.properties`` has a 
-   line that reads:
-
-   .. sourcecode:: bash
-
-      paths.script=/usr/share/cloudstack-common
-
-   If not, add the line.
-
-#. Restart the agent:
-
-   .. sourcecode:: bash
-
-      $ sudo service cloudstack-agent stop
-      $ sudo killall jsvc
-      $ sudo service cloudstack-agent start
-
-
-Restart management services
----------------------------
-
-#. Now it's time to start the management server
-
-   .. sourcecode:: bash
-
-      $ sudo service cloudstack-management start
-
-#. If you use it, start the usage server
-
-   .. sourcecode:: bash
-
-      $ sudo service cloudstack-usage start
-
-
-.. include:: /global.rst

http://git-wip-us.apache.org/repos/asf/cloudstack-docs-rn/blob/01a90e60/source/upgrade/upgrade-4.4.rst
----------------------------------------------------------------------
diff --git a/source/upgrade/upgrade-4.4.rst b/source/upgrade/upgrade-4.4.rst
new file mode 100644
index 0000000..9d1ef6a
--- /dev/null
+++ b/source/upgrade/upgrade-4.4.rst
@@ -0,0 +1,421 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+	or more contributor license agreements.  See the NOTICE file
+	distributed with this work for additional information#
+	regarding copyright ownership.  The ASF licenses this file
+	to you under the Apache License, Version 2.0 (the
+	"License"); you may not use this file except in compliance
+	with the License.  You may obtain a copy of the License at
+	http://www.apache.org/licenses/LICENSE-2.0
+	Unless required by applicable law or agreed to in writing,
+	software distributed under the License is distributed on an
+	"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+	KIND, either express or implied.  See the License for the
+	specific language governing permissions and limitations
+	under the License.
+
+
+.. |version_to_upgrade| replace:: 4.4.x
+
+Upgrade Instruction from |version_to_upgrade|
+=============================================
+
+This section will guide you from CloudStack |version_to_upgrade| to CloudStack 
+|version|.
+
+Any steps that are hypervisor-specific will be called out with a note.
+
+We recommend reading through this section once or twice before beginning
+your upgrade procedure, and working through it on a test system before
+working on a production system.
+
+.. note:: 
+	The following upgrade instructions should be performed regardless of 
+	hypervisor type.
+
+Upgrade Steps:
+
+#. Backup CloudStack database (MySQL)
+
+#. Upgrade CloudStack management server(s)
+
+#. Update hypervisors specific dependencies
+
+
+Packages repository
+-------------------
+
+Most users of CloudStack manage the installation and upgrades of
+CloudStack with one of Linux's predominant package systems, RPM or
+APT. This guide assumes you'll be using RPM and Yum (for Red Hat
+Enterprise Linux or CentOS), or APT and Debian packages (for Ubuntu).
+
+Create RPM or Debian packages (as appropriate) and a repository from
+the |version| source, or check the Apache CloudStack downloads page at
+http://cloudstack.apache.org/downloads.html
+for package repositories supplied by community members. You will need
+them for :ref:`ubuntu44` or :ref:`rhel44` and :ref:`kvm44` hosts upgrade. 
+
+Instructions for creating packages from the CloudStack source are in the 
+`CloudStack Installation Guide`_.
+
+.. include:: _sysvm_templates.rst
+
+
+Database Preparation
+--------------------
+
+Backup current database
+
+#. Stop your management server or servers. Run this on all management
+	server hosts:
+
+	.. sourcecode:: bash
+
+		$ sudo service cloudstack-management stop
+
+#. If you are running a usage server or usage servers, stop those as well:
+
+	.. sourcecode:: bash
+
+		$ sudo service cloudstack-usage stop
+
+#. Make a backup of your MySQL database. If you run into any issues or
+	need to roll back the upgrade, this will assist in debugging or
+	restoring your existing environment. You'll be prompted for your
+	password.
+
+	.. sourcecode:: bash
+
+		$ mysqldump -u root -p cloud > cloud-backup_`date '+%Y-%m-%d'`.sql
+		$ mysqldump -u root -p cloud_usage > cloud_usage-backup_`date '+%Y-%m-%d'`.sql
+
+#. **(KVM Only)** If primary storage of type local storage is in use, the
+	path for this storage needs to be verified to ensure it passes new
+	validation. Check local storage by querying the cloud.storage\_pool
+	table:
+
+	.. sourcecode:: bash
+
+		$ mysql -u cloud -p -e "select id,name,path from cloud.storage_pool where pool_type='Filesystem'"
+
+	If local storage paths are found to have a trailing forward slash,
+	remove it:
+
+	.. sourcecode:: bash
+
+		$ mysql -u cloud -p -e 'update cloud.storage_pool set path="/var/lib/libvirt/images" where
path="/var/lib/libvirt/images/"';
+
+
+.. _ubuntu44:
+
+Management Server on Ubuntu
+---------------------------
+
+If you are using Ubuntu, follow this procedure to upgrade your packages. If 
+not, skip to step :ref:`rhel44`.
+
+.. note:: 
+	**Community Packages:** This section assumes you're using the community 
+	supplied packages for CloudStack. If you've created your own packages and 
+	APT repository, substitute your own URL for the ones used in these examples.
+
+The first order of business will be to change the sources list for
+each system with CloudStack packages. This means all management
+servers, and any hosts that have the KVM agent. (No changes should
+be necessary for hosts that are running VMware or Xen.)
+
+
+.. _apt-repo44:
+
+CloudStack apt repository
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+	Start by opening ``/etc/apt/sources.list.d/cloudstack.list`` on
+	any systems that have CloudStack packages installed.
+	
+	This file should have one line, which contains:
+	
+	.. sourcecode:: bash
+	
+		deb http://cloudstack.apt-get.eu/ubuntu precise 4.4
+	
+	We'll change it to point to the new package repository:
+	
+	.. sourcecode:: bash
+	
+		deb http://cloudstack.apt-get.eu/ubuntu precise 4.5
+	
+	If you're using your own package repository, change this line to
+	read as appropriate for your |version| repository.
+
+#. Now update your apt package list:
+
+	.. sourcecode:: bash
+
+		$ sudo apt-get update
+
+#. Now that you have the repository configured, it's time to upgrade
+	the ``cloudstack-management`` package. 
+
+	.. sourcecode:: bash
+
+		$ sudo apt-get upgrade cloudstack-management
+
+#. If you use CloudStack usage server
+
+	.. sourcecode:: bash
+
+		$ sudo apt-get upgrade cloudstack-usage
+
+
+.. _rhel44:
+
+Management Server on CentOS/RHEL
+--------------------------------
+
+If you are using CentOS or RHEL, follow this procedure to upgrade your 
+packages. If not, skip to hypervisors section, then :ref:`upg-sysvm44`.
+
+.. note:: 
+	**Community Packages:** This section assumes you're using the community 
+	supplied packages for CloudStack. If you've created your own packages and 
+	yum repository, substitute your own URL for the ones used in these examples.
+
+
+.. _rpm-repo44:
+
+CloudStack RPM repository
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+	The first order of business will be to change the yum repository
+	for each system with CloudStack packages. This means all
+	management servers, and any hosts that have the KVM agent.
+
+	(No changes should be necessary for hosts that are running VMware
+	or Xen.)
+
+	Start by opening ``/etc/yum.repos.d/cloudstack.repo`` on any
+	systems that have CloudStack packages installed.
+
+	This file should have content similar to the following:
+
+	.. sourcecode:: bash
+
+		[apache-cloudstack]
+		name=Apache CloudStack
+		baseurl=http://cloudstack.apt-get.eu/rhel/4.4/
+		enabled=1
+		gpgcheck=0
+
+	If you are using the community provided package repository, change
+	the base url to ``http://cloudstack.apt-get.eu/rhel/4.5/``
+
+	If you're using your own package repository, change this line to
+	read as appropriate for your |version| repository.
+
+
+#. Now that you have the repository configured, it's time to upgrade the 
+	``cloudstack-management``.
+
+	.. sourcecode:: bash
+
+		$ sudo yum upgrade cloudstack-management
+
+#. If you use CloudStack usage server
+
+	.. sourcecode:: bash
+
+		$ sudo yum upgrade cloudstack-usage
+
+
+Hypervisor: XenServer
+---------------------
+
+	**(XenServer only)** Copy vhd-utils file on CloudStack management servers.
+	Copy the file `vhd-utils <http://download.cloud.com.s3.amazonaws.com/tools/vhd-util>`_

+	to ``/usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver``.
+
+	.. sourcecode:: bash
+
+		wget -P /usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver \
+		http://download.cloud.com.s3.amazonaws.com/tools/vhd-util
+
+
+Hypervisor: VMware
+------------------
+
+	.. warning::
+		For VMware hypervisor CloudStack management server packages must be 
+		build using "noredist". Refer to `Building from Source 
+		<http://docs.cloudstack.apache.org/projects/cloudstack-installation/en/latest/building_from_source.html>`_.
+
+	**(VMware only)** Additional steps are required for each VMware cluster.
+	These steps will not affect running guests in the cloud. These steps
+	are required only for clouds using VMware clusters:
+
+#. Stop the Management Server:
+
+	.. sourcecode:: bash
+
+		$ sudo service cloudstack-management stop
+
+#. Generate the encrypted equivalent of your vCenter password:
+
+	.. sourcecode:: bash
+
+		$ java -classpath /usr/share/cloudstack-common/lib/jasypt-1.9.0.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI
encrypt.sh input="_your_vCenter_password_" password="`cat /etc/cloudstack/management/key`"
verbose=false
+
+	Store the output from this step, we need to add this in
+	cluster\_details table and vmware\_data\_center tables in place of
+	the plain text password
+
+#. Find the ID of the row of cluster\_details table that you have to
+	update:
+
+	.. sourcecode:: bash
+
+		$ mysql -u <username> -p<password>
+
+	.. sourcecode:: bash
+
+		select * from cloud.cluster_details;
+
+#. Update the plain text password with the encrypted one
+
+	.. sourcecode:: bash
+
+		update cloud.cluster_details set value = '_ciphertext_from_step_1_' where id = _id_from_step_2_;
+
+#. Confirm that the table is updated:
+
+	.. sourcecode:: bash
+
+		select * from cloud.cluster_details;
+
+#. Find the ID of the correct row of vmware\_data\_center that you
+	want to update
+
+	.. sourcecode:: bash
+
+		select * from cloud.vmware_data_center;
+
+#. update the plain text password with the encrypted one:
+
+	.. sourcecode:: bash
+
+		update cloud.vmware_data_center set password = '_ciphertext_from_step_1_' where id = _id_from_step_5_;
+
+#. Confirm that the table is updated:
+
+	.. sourcecode:: bash
+
+		select * from cloud.vmware_data_center;
+
+
+.. _kvm44:
+
+Hypervisor: KVM
+---------------
+
+KVM on Ubuntu
+^^^^^^^^^^^^^
+
+(KVM only) Additional steps are required for each KVM host. These
+steps will not affect running guests in the cloud. These steps are
+required only for clouds using KVM as hosts and only on the KVM
+hosts.
+
+#. Configure the :ref:`apt-repo44` as detailed above.
+
+#. Stop the running agent.
+
+	.. sourcecode:: bash
+
+		$ sudo service cloudstack-agent stop
+
+#. Update the agent software.
+
+	.. sourcecode:: bash
+
+		$ sudo apt-get upgrade cloudstack-agent
+
+#. Verify that the file ``/etc/cloudstack/agent/environment.properties`` has a 
+	line that reads:
+
+	.. sourcecode:: bash
+
+		paths.script=/usr/share/cloudstack-common
+
+	If not, add the line.
+
+#. Start the agent.
+
+	.. sourcecode:: bash
+
+		$ sudo service cloudstack-agent start
+
+
+KVM on CentOS/RHEL
+^^^^^^^^^^^^^^^^^^
+For KVM hosts, upgrade the ``cloudstack-agent`` package
+
+#. Configure the :ref:`rpm-repo44` as detailed above.
+
+	.. sourcecode:: bash
+
+		$ sudo yum upgrade cloudstack-agent
+
+#. Verify that the file ``/etc/cloudstack/agent/environment.properties`` has a 
+	line that reads:
+
+	.. sourcecode:: bash
+
+		paths.script=/usr/share/cloudstack-common
+
+	If not, add the line.
+
+#. Restart the agent:
+
+	.. sourcecode:: bash
+
+		$ sudo service cloudstack-agent stop
+		$ sudo killall jsvc
+		$ sudo service cloudstack-agent start
+
+
+Restart management services
+---------------------------
+#. If upgrading fresh installation of 4.4.0
+
+   If you are upgrading fresh installation of CloudStack 4.4.0, the following MySQL
+   command must be executed before restarting the management server. If the system
+   was running pre 4.4 and then upgraded to 4.4.0, the MySQL command is not required.
+   Refer to: `CLOUDSTACK-7813 <https://issues.apache.org/jira/browse/CLOUDSTACK-7813>`_
+
+   .. sourcecode:: mysql
+
+      use cloud;
+      ALTER TABLE `snapshot_policy` ADD `display` TINYINT( 1 ) NOT NULL DEFAULT '1';
+
+#. Now it's time to start the management server
+
+	.. sourcecode:: bash
+
+		$ sudo service cloudstack-management start
+
+#. If you use it, start the usage server
+
+	.. sourcecode:: bash
+
+		$ sudo service cloudstack-usage start
+
+
+.. _upg-sysvm44:
+
+System-VMs and Virtual-Routers
+------------------------------
+
+.. include:: _sysvm_restart.rst
+
+
+.. include:: /global.rst


Mime
View raw message