Repository: cloudstack-docs-rn Updated Branches: refs/heads/4.10 34a7972f7 -> 8581314fd
upgrade: commit java8 and upgrade49 documents Signed-off-by: Rohit Yadav <[email protected]> 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/8581314f Tree: http://git-wip-us.apache.org/repos/asf/cloudstack-docs-rn/tree/8581314f Diff: http://git-wip-us.apache.org/repos/asf/cloudstack-docs-rn/diff/8581314f Branch: refs/heads/4.10 Commit: 8581314fd7b8dadd74bd3937c10a6c0a96707310 Parents: 34a7972 Author: Rohit Yadav <[email protected]> Authored: Wed Jan 11 14:30:57 2017 +0530 Committer: Rohit Yadav <[email protected]> Committed: Wed Jan 11 14:30:57 2017 +0530 ---------------------------------------------------------------------- source/upgrade/_java_8_ubuntu.rst | 31 +++ source/upgrade/upgrade-4.9.rst | 420 +++++++++++++++++++++++++++++++++ 2 files changed, 451 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack-docs-rn/blob/8581314f/source/upgrade/_java_8_ubuntu.rst ---------------------------------------------------------------------- diff --git a/source/upgrade/_java_8_ubuntu.rst b/source/upgrade/_java_8_ubuntu.rst new file mode 100644 index 0000000..56a632b --- /dev/null +++ b/source/upgrade/_java_8_ubuntu.rst @@ -0,0 +1,31 @@ +.. 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. + +.. sub-section included in upgrade notes. + +Java 8 JRE on Ubuntu +-------------------- + +CloudStack |release| requires installation of Java 8 JRE from an external PPA +such as openjdk-r for Ubuntu distributions where the openjdk-8 packages are not +available from the main repositories such as on Ubuntu 14.04. The PPA can be +added before installation/upgrade: + + .. sourcecode:: bash + + $ sudo add-apt-repository ppa:openjdk-r/ppa + $ sudo apt-get update + +Users can also choose to install Java 8 distribution from Oracle, or `Xulu-8 <http://repos.azulsystems.com/>`_ OpenJDK distribution from Azul. http://git-wip-us.apache.org/repos/asf/cloudstack-docs-rn/blob/8581314f/source/upgrade/upgrade-4.9.rst ---------------------------------------------------------------------- diff --git a/source/upgrade/upgrade-4.9.rst b/source/upgrade/upgrade-4.9.rst new file mode 100644 index 0000000..eae26ea --- /dev/null +++ b/source/upgrade/upgrade-4.9.rst @@ -0,0 +1,420 @@ +.. 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.9.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) +#. Add package repository for MySQL connector +#. Upgrade CloudStack management server(s) +#. Update hypervisors specific dependencies + +.. include:: _sysvm_templates.rst + +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:`ubuntu48` or :ref:`rhel48` and :ref:`kvm48` 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/"'; + + +.. _ubuntu48: + +Management Server on Ubuntu +--------------------------- + +If you are using Ubuntu, follow this procedure to upgrade your packages. If +not, skip to step :ref:`rhel48`. + +.. 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-repo48: + +.. include:: _java_8_ubuntu.rst + +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.8 + +We'll change it to point to the new package repository: + +.. sourcecode:: bash + + deb http://cloudstack.apt-get.eu/ubuntu precise 4.9 + +Setup the public key for the above repository: + +.. sourcecode:: bash + + wget -qO - http://cloudstack.apt-get.eu/release.asc | sudo apt-key add - + +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 + + +.. _rhel48: + +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-sysvm48`. + +.. 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. + + +.. include:: _mysql_connector.rst + + +.. _rpm-repo48: + +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/centos/6/4.8/ + enabled=1 + gpgcheck=0 + +If you are using the community provided package repository, change +the base url to ``http://cloudstack.apt-get.eu/centos/$releasever/4.9/``. + +Setup the GPG public key if you wish to enable ``gpgcheck=1``: + +.. sourcecode:: bash + + rpm --import http://cloudstack.apt-get.eu/RPM-GPG-KEY + + + +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; + + +.. _kvm48: + +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-repo48` 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-repo48` 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
