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 <[email protected]> Authored: Sat Dec 13 11:45:04 2014 -0500 Committer: pdion891 <[email protected]> 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
