| <?xml version='1.0' encoding='utf-8' ?> |
| <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ |
| <!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent"> |
| %BOOK_ENTITIES; |
| ]> |
| <!-- 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. |
| --> |
| <book> |
| <xi:include href="Book_Info_Release_Notes_4.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> |
| <xi:include href="Preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> |
| <chapter id="welcome-4.2"> |
| <title>Welcome to &PRODUCT; 4.2.1</title> |
| <para>Welcome to the 4.2.1 release of &PRODUCT;. This version is the first defect fix release of |
| &PRODUCT; in the 4.2.<emphasis role="italic">x</emphasis> line.</para> |
| <para>This document contains information specific to this release of &PRODUCT;, including |
| upgrade instructions from prior releases, new features added to &PRODUCT;, API changes, and |
| issues fixed in the release. For installation instructions, please see the <ulink |
| url="http://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.2.0/html/Installation_Guide/index.html" |
| >Installation Guide</ulink>. For usage and administration instructions, please see the |
| <ulink |
| url="http://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.2.0/html/Admin_Guide/index.html" |
| >&PRODUCT; Administrator's Guide</ulink>. Developers and users who wish to work with the API |
| will find instruction in the <ulink |
| url="http://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.0.1-incubating/html/API_Developers_Guide/index.html" |
| >&PRODUCT; API Developer's Guide</ulink></para> |
| <para>If you find any errors or problems in this guide, please see <xref linkend="feedback"/>. |
| We hope you enjoy working with &PRODUCT;!</para> |
| </chapter> |
| <chapter id="supported-os"> |
| <title>Compatibility Matrix</title> |
| <para>This section describes the operating systems, browsers, and hypervisors that have been |
| newly tested and certified compatible with &PRODUCT; 4.2.1. Most earlier OS and hypervisor |
| versions are also still supported for use with 4.2.1 It might work well on other platforms, |
| but the platforms listed below are the ones that are specifically tested against and are more |
| likely to be able to help troubleshoot if you run into any issues.</para> |
| <section id="management-server"> |
| <title>Supported OS Versions for Management Server</title> |
| <para>This section lists the operating systems that are supported for running &PRODUCT; |
| Management Server. Note that specific versions of the operating systems are tested, so |
| compatibility with CentOS 6.3 may not indicate compatibility with CentOS 6.2, 6.1 and so |
| on.</para> |
| <itemizedlist> |
| <listitem> |
| <para>RHEL versions 5.5, 6.2, 6.3, and 6.4</para> |
| </listitem> |
| <listitem> |
| <para>CentOS versions 6.3, and 6.4</para> |
| </listitem> |
| <listitem> |
| <para>Ubuntu 12.04 LTS</para> |
| </listitem> |
| </itemizedlist> |
| </section> |
| <section id="supported-hv"> |
| <title>Supported Hypervisor Versions</title> |
| <para>CloudStack supports three hypervisor families, XenServer with XAPI, KVM, and VMware with |
| vSphere.</para> |
| <itemizedlist> |
| <listitem> |
| <para>CentOS 6.2 with KVM</para> |
| </listitem> |
| <listitem> |
| <para>Red Hat Enterprise Linux 6.2 with KVM</para> |
| </listitem> |
| <listitem> |
| <para>XenServer 6.0.2 (with Hotfix)</para> |
| </listitem> |
| <listitem> |
| <para>XenServer 6.1</para> |
| </listitem> |
| <listitem> |
| <para>VMware vSphere/vCenter 5.1</para> |
| </listitem> |
| <listitem> |
| <para>Bare metal hosts are supported, which have no hypervisor. These hosts can run the |
| following operating systems:</para> |
| <itemizedlist> |
| <listitem> |
| <para>RHEL or CentOS, v6.2 or 6.3</para> |
| <note> |
| <para>Use libvirt version 0.9.10 for CentOS 6.3</para> |
| </note> |
| </listitem> |
| <listitem> |
| <para>Fedora 17</para> |
| </listitem> |
| <listitem> |
| <para>Ubuntu 12.04</para> |
| </listitem> |
| </itemizedlist> |
| </listitem> |
| </itemizedlist> |
| <para>For more information, see the Hypervisor Compatibility Matrix in the &PRODUCT; |
| Installation Guide.</para> |
| </section> |
| <section id="ex-devices"> |
| <title>Supported External Devices</title> |
| <itemizedlist> |
| <listitem> |
| <para>Netscaler VPX and MPX versions 9.3 and 10.e </para> |
| </listitem> |
| <listitem> |
| <para>Netscaler SDX version 9.3</para> |
| </listitem> |
| <listitem> |
| <para>SRX (Model srx100b) versions 10.3 or higher</para> |
| </listitem> |
| <listitem> |
| <para>F5 10.1.0 (Build 3341.1084)</para> |
| </listitem> |
| </itemizedlist> |
| </section> |
| <section id="browser"> |
| <title>Supported Browsers</title> |
| <para>The &PRODUCT; Web-based UI should be compatible with any modern browser, but it's |
| possible that some browsers will not render portions of the UI reliably, depending on their |
| support of Web standards. For best results, one of the following browsers |
| recommended:</para> |
| <itemizedlist> |
| <listitem> |
| <para>Internet Explorer versions 8 and 9</para> |
| </listitem> |
| <listitem> |
| <para>Firefox version 10 and beyond</para> |
| </listitem> |
| <listitem> |
| <para>Google Chrome versions 17 and 20.0.1132.47m</para> |
| </listitem> |
| <listitem> |
| <para>Safari 5</para> |
| </listitem> |
| </itemizedlist> |
| </section> |
| </chapter> |
| <chapter id="version-4.2"> |
| <title>About This New Release</title> |
| <section id="whats-new-in-4.2.1"> |
| <title>What's New in 4.2.1</title> |
| <para>&PRODUCT; 4.2.1 includes the following new features.</para> |
| <section id="xen64-bit-temp"> |
| <title>Optional XenServer 64-Bit Template Support</title> |
| <para>&PRODUCT; now provides XenServer 64-bit templates for System VMs. With this support, |
| you will be able to upgrade virtual routers in a zone. The following parameters have been |
| introduced for the same purpose:</para> |
| <itemizedlist> |
| <listitem> |
| <para>XenServer: <parameter>router.template.xen</parameter></para> |
| </listitem> |
| <listitem> |
| <para>KVM: <parameter>router.template.kvm</parameter></para> |
| </listitem> |
| </itemizedlist> |
| </section> |
| <section id="vm-snapshots"> |
| <title>XenServer VM Snapshots</title> |
| <para>VM Snapshots are now supported on both VMware and XenServer hosts. Previously, they |
| were supported only on VMware.</para> |
| <para>In addition to the existing &PRODUCT; ability to snapshot individual VM volumes, you |
| can now take a VM snapshot to preserve all the VM's data volumes as well as (optionally) |
| its CPU/memory state. This is useful for quick restore of a VM. For example, you can |
| snapshot a VM, then make changes such as software upgrades. If anything goes wrong, simply |
| restore the VM to its previous state using the previously saved VM snapshot. The VM |
| snapshot includes not only the data volumes, but optionally also whether the VM is running |
| or turned off (CPU state) and the memory contents. The snapshot is stored in &PRODUCT;'s |
| primary storage.</para> |
| <para>VM snapshots can have a parent/child relationship. Each successive snapshot of the |
| same VM is the child of the snapshot that came before it. Each time you take an additional |
| snapshot of the same VM, it saves only the differences between the current state of the VM |
| and the state stored in the most recent previous snapshot. The previous snapshot becomes a |
| parent, and the new snapshot is its child. It is possible to create a long chain of these |
| parent/child snapshots, which amount to a "redo" record leading from the current state of |
| the VM back to the original.</para> |
| </section> |
| <section id="ucs-enhancements"> |
| <title>Cisco UCS Enhancements</title> |
| <para>Several modifications have been made to improve the user experience when working with |
| Cisco UCS blades and the UCS Manager.</para> |
| <itemizedlist> |
| <listitem> |
| <para>The internal procedure for associating a profile to a blade has been modified. |
| When a user wants to associate a profile to a blade in &PRODUCT; 4.2.1, the user |
| chooses a profile template. &PRODUCT; instantiates a profile from that template. In |
| the previous version, &PRODUCT; would instead create a clone of a profile chosen by |
| the user.</para> |
| </listitem> |
| <listitem> |
| <para>As a consequence of this change, the user now views a list of profile templates |
| rather than a list of profiles when associating a blade. </para> |
| </listitem> |
| <listitem> |
| <para>A new mechanism is provided for making &PRODUCT; aware of any changes that are |
| made manually on the Cisco UCS Manager. For example, at any time, &PRODUCT; users |
| might directly associate or dissociate blades on the UCS Manager, and &PRODUCT; would |
| not be aware of these changes. In order to synchronize the state of &PRODUCT; with UCS |
| Manager, the user can click a new Refresh Blades button in the &PRODUCT; UI. This |
| button is located in the Blades tab, above the list of associated blades.</para> |
| </listitem> |
| <listitem> |
| <para>To support the UCS enhancements, several changes have been made to the &PRODUCT; |
| API. See <xref linkend="api-changes"/>.</para> |
| </listitem> |
| </itemizedlist> |
| </section> |
| <section id="s3-api-upload"> |
| <title>Choose Single-part or Multi-part Upload to Object Storage</title> |
| <para>&PRODUCT; 4.2.1 supports both multi-part and single-part upload for registering |
| templates, uploading volumes, and backing up snapshots to object storage in secondary |
| storage. Previously, only multi-part upload was supported for registering templates and |
| uploading volumes, and only single-part upload was supported for backing up |
| snapshots.</para> |
| <para>The type of upload &PRODUCT; will use depends on the value of the new global |
| configuration setting s3.singleupload.max.size. You can use this setting to set up three |
| different upload scenarios:</para> |
| <itemizedlist> |
| <listitem> |
| <para>Choose the upload technique dynamically depending on the size of the object to be |
| uploaded. Smaller objects will be uploaded as a single unit, and larger objects will |
| be split into multiple parts for upload. To set the threshold for switching to |
| multi-part upload, set s3.singleupload.max.size to the desired object size in GB |
| (default: 5GB).</para> |
| </listitem> |
| <listitem> |
| <para>To use multi-part upload for all objects regardless of size, set |
| s3.singleupload.max.size to 0.</para> |
| </listitem> |
| <listitem> |
| <para>To use single-part upload for all objects, set s3.singleupload.max.size to |
| -1.</para> |
| </listitem> |
| </itemizedlist> |
| <para>Multi-part upload is useful to make the transfer of templates and volumes to remote |
| storage more resilient to network failure and to optimize throughput. Single-part upload |
| may be preferable when using storage that is local to the data center.</para> |
| </section> |
| <section id="centos64"> |
| <title>Management Server Support on CentOS 6.4</title> |
| <para>&PRODUCT; Management Server is now certified on CentOS 6.4.</para> |
| </section> |
| <section id="device-id-xen"> |
| <title>Device ID Changes for XenServer</title> |
| <para>In XenServer 6.1 version and above, a new parameter, <code>device_id: 0002</code>, is |
| introduced for Windows VM with PV drivers. Due to this change, Windows VMs deployed with |
| PV drivers on XenServer 6.0.2 or earlier hosts are not able to successfully boot after |
| stopping and starting once the hosts have been upgraded to XenServer version 6.1 or 6.2. |
| In order to address this issue, a new Global Parameter, <code>xen.pvdriver.version</code>, |
| is introduced to reflect the default PV driver version that is used when registering |
| templates as regular users. Default value for this Global parameter on fresh install will |
| be set to <code>xenserver61</code>, which implies that the new deployments will have only |
| XenServer 6.1 or XenServer 6.2 hosts. Default value for this Global parameter on upgrades |
| would be set to <code>xenserver61</code> only if all the hosts in the deployment are |
| XenServer 6.1 or above. Even if a host is below XenServer 6.1 version, this value will be |
| set to <code>xenserver56</code>. The administrators are provided with following abilities |
| with respect to setting or altering PV driver version:</para> |
| <itemizedlist> |
| <listitem> |
| <para>Ability to set the PV driver version 6.1+ option for a template when registering |
| templates. </para> |
| <para>Regular and Domain admin users will not have the ability to set the PV driver |
| version when registering templates. In this case the PV driver version is defaulted to |
| the Global parameter, <code>xen.pvdriver.version</code>. The PV driver version of the |
| template is stored in <code>vm_template_details</code>.</para> |
| </listitem> |
| <listitem> |
| <para>Ability to update the PV driver version 6.1 + option for an existing |
| template.</para> |
| </listitem> |
| <listitem> |
| <para>Ability to update the PV driver version 6.1 + option for a VM when it is in |
| stopped state.</para> |
| </listitem> |
| </itemizedlist> |
| </section> |
| <section id="no-sourceNAT-lb"> |
| <title>Acquiring IP Without Enabling SourceNAT Service</title> |
| <para>The SourceNAT dependency for acquiring IPs has been removed. Therefore, an IP can now |
| be acquired and LB rules can be created on it without enabling the SourceNAT service in a |
| network. In both shared and isolated networks, DNS, DHCP and LB services provided by |
| &PRODUCT; is a valid service combination. In this case gateway is defined externally on |
| the configured LB device and &PRODUCT; does not provide any NAT service.</para> |
| </section> |
| </section> |
| <section id="issues-fixed-4.2.1"> |
| <title>Issues Fixed in 4.2.1</title> |
| <para>Apache CloudStack uses <ulink url="https://issues.apache.org/jira/browse/CLOUDSTACK" |
| >Jira</ulink> to track its issues. All new features and bugs for 4.2.1 have been tracked |
| in Jira, and have a standard naming convention of "CLOUDSTACK-NNNN" where "NNNN" is the |
| issue number.</para> |
| <para>This section includes a summary of known issues were fixed in 4.2.1. Approximately 150 |
| bugs were resolved or closed in the 4.2.1 cycle.</para> |
| <informaltable> |
| <tgroup cols="2" align="left" colsep="1" rowsep="1"> |
| <colspec colwidth="1.0*" colname="1" colnum="1"/> |
| <colspec colwidth="6.19*" colname="2" colnum="2"/> |
| <thead> |
| <row> |
| <entry> |
| <para>Defect</para> |
| </entry> |
| <entry> |
| <para>Description</para> |
| </entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-3237</para> |
| </entry> |
| <entry> |
| <para>[VMware] Migrate volume is failing when snapshots exist for that |
| volume.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4300</para> |
| </entry> |
| <entry> |
| <para>[KVM] [Upgrade][2.2.14 to 4.2] System VMs are not coming up after |
| upgrade.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4405</para> |
| </entry> |
| <entry> |
| <para>[Upgrade] Migration failed between existing hosts and new hosts.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4436</para> |
| </entry> |
| <entry> |
| <para>Virtual Router fails to start on RHEL6.2.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4446</para> |
| </entry> |
| <entry> |
| <para>AWSAPI server fails to start due to an error in bean creation.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4464</para> |
| </entry> |
| <entry> |
| <para>[VMware] When deploying 30 parallel VMs, a VM fails to get deployed due to the |
| "StartCommand failed due to Exception: javax.xml.ws.soap.SOAPFaultException" |
| error.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4479</para> |
| </entry> |
| <entry> |
| <para>VPC Network Tier creation fails.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4516</para> |
| </entry> |
| <entry> |
| <para>[VMware][Upgrade] MySQLIntegrityConstraintViolationException while performing |
| any task by using local storage after upgrade from 3.0.7 to 4.2.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4522</para> |
| </entry> |
| <entry> |
| <para>[VMware][Upgrade] Creation of VM from ISO fails. </para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4554</para> |
| </entry> |
| <entry> |
| <para>[VMware][Upgrade from 3.0.6 to 4.2] System VM agent doesn't come up after |
| adding a zone on an upgraded setup.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4555</para> |
| </entry> |
| <entry> |
| <para>[VMware][Upgrade from 3.0.6 to 4.2] After upgrade the system VMs fail to come |
| up because the Secondary Storage mount point is pointing to a wrong |
| location.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4561</para> |
| </entry> |
| <entry> |
| <para>Deploying a VM fails after upgrading to 4.2 from earlier version having a |
| private zone.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4579</para> |
| </entry> |
| <entry> |
| <para>[KVM] [Upgrade 2.2.14 to 4.2] After upgrade, deploying VMs with existing |
| templates does not work.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4580</para> |
| </entry> |
| <entry> |
| <para>[KVM] [Upgrade 2.2.14 - 4.2] After upgrade, existing VMs cannot be started |
| after stopping them.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4618</para> |
| </entry> |
| <entry> |
| <para>Storage refactoring has broken CLVM.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4671</para> |
| </entry> |
| <entry> |
| <para>ListZone API failed with Assertion error if assertion is turned on for |
| Management Server.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4864</para> |
| </entry> |
| <entry> |
| <para>[VMware] 64-bit system VM template does not exist.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5065</para> |
| </entry> |
| <entry> |
| <para>[KVM] Snapshot doesn't take VM snapshot if the VM is running.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-532</para> |
| </entry> |
| <entry> |
| <para>Cleaning up Storage template corrupts templates.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-732</para> |
| </entry> |
| <entry> |
| <para>[KVM] No Snapshot support.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-1670</para> |
| </entry> |
| <entry> |
| <para>When a VM is part of two networks, the IP address from the first network is |
| being assigned to eth1.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-1775</para> |
| </entry> |
| <entry> |
| <para>Events related to User/Domain/Account are not generated, instead USER-DISABLE, |
| DOMAIN-DELETE and ACCOUNT.DISABLE event are generated.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-1819</para> |
| </entry> |
| <entry> |
| <para>In AWS Regions, various issues persist when moving a zone from one region to |
| another.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-2792</para> |
| </entry> |
| <entry> |
| <para>In a Redundant router, password is reset again after a fail-over.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-3010</para> |
| </entry> |
| <entry> |
| <para>[VMware] Router VM deployment fails with a "Message: Invalid configuration for |
| device '2' error in Shared networks.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-3285</para> |
| </entry> |
| <entry> |
| <para>No support for HTTP redirects and HTTPS certificate handling in UCS.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-3424</para> |
| </entry> |
| <entry> |
| <para>[IPv6] When a VM is expunged and a new VM is deployed with the same name, |
| <code>/etc/dhchosts.txt</code> has two entries with the same name.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-3583</para> |
| </entry> |
| <entry> |
| <para>Stopping Management Server does not remove PID. </para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-3715</para> |
| </entry> |
| <entry> |
| <para>Live Migration of virtual instances operation is getting timed out.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-3737</para> |
| </entry> |
| <entry> |
| <para>Uploaded volume is not getting deleted from Secondary storage after attaching |
| it to guest VM.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-3765</para> |
| </entry> |
| <entry> |
| <para>[Packaging] Unable to upgrade 4.2 build on Centos 5.5.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-3808</para> |
| </entry> |
| <entry> |
| <para>Attaching a volume does not work when root is at zone-level primary store and |
| data at cluster-level or host-level store.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-3911</para> |
| </entry> |
| <entry> |
| <para>[Portable IP] No mechanism to check while adding a zone-level public range to |
| check whether the same VLAN exists in portable IP range.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4095</para> |
| </entry> |
| <entry> |
| <para>Region ID appears within the Database Transaction code.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4128</para> |
| </entry> |
| <entry> |
| <para>Starting a System VMs does not check for existence of staging Secondary |
| Storage in a zone.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4137</para> |
| </entry> |
| <entry> |
| <para>[KVM]After unmanaging a cluster, managing another cluster does not bring hosts |
| to UP state. </para> |
| <para>To work around manually restart cloud-agent on KVM hosts.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4190</para> |
| </entry> |
| <entry> |
| <para>Volume is not deleted from staging storage after a successful volume |
| migration.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4199</para> |
| </entry> |
| <entry> |
| <para>In Redundant Virtual Router,no failover occurs.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4239</para> |
| </entry> |
| <entry> |
| <para>[VMware] Snapshot creation on ESX 4.1 host fails with a |
| ""BackupSnapshotCommand exception: javax.xml.ws.soap.SOAPFaultException" |
| error.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4327</para> |
| </entry> |
| <entry> |
| <para>SSVM, CPVM and router VMs are running even after storage entered into |
| maintenance.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4350</para> |
| </entry> |
| <entry> |
| <para>[Performance Testing] Adding hosts take much longer time than |
| baselines.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4432</para> |
| </entry> |
| <entry> |
| <para>[VMware] Null Pointer exception is thrown during VM deployment.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4433</para> |
| </entry> |
| <entry> |
| <para>[VMware] Registration of template by using the downloaded template URL is |
| failing.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4434</para> |
| </entry> |
| <entry> |
| <para>[Ubuntu] Direct input ""- _ "", ""? /"", ""keyboard /"" ,""keyboard -"" keys |
| are not working well for the US keyboard.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4454</para> |
| </entry> |
| <entry> |
| <para>Not able to delete secondary storage when existing snapshots are |
| deleted.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4455</para> |
| </entry> |
| <entry> |
| <para>Template sync results in private templates being synced to all the secondary |
| stores.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4458</para> |
| </entry> |
| <entry> |
| <para>[VMware] Failed to create Snapshot on data disk because of backup snapshot |
| exception.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4465</para> |
| </entry> |
| <entry> |
| <para>Resource count is not decremented for domain if user VM is being destroyed as |
| a part of account removal.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4485</para> |
| </entry> |
| <entry> |
| <para>[VMware] [3.0.6 to ASF 4.2 Upgrade] System VMs is not created in the cluster |
| due to invalid path information of the template on the Primary Storage in the |
| cluster.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4495</para> |
| </entry> |
| <entry> |
| <para>System VM template URL is pointing to old template location in the Upgrade |
| file.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4499</para> |
| </entry> |
| <entry> |
| <para>[XenServer v 6.1 and 6.2] Hosts initially transition to 'Alert' state and then |
| to 'Up' after adding a host.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4513</para> |
| </entry> |
| <entry> |
| <para>[VMware] In a new mapping between a datacenter and a zone, when hosts in the |
| second cluster in data center put in maintenance mode, CPVM and guest VMs that are |
| migrated failed to come up.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4520</para> |
| </entry> |
| <entry> |
| <para>[VMware][Upgrade] ExtractVolumeCmd fails with NPE while attempting to download |
| a volume.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4530</para> |
| </entry> |
| <entry> |
| <para>Creating template from a Snapshot fails with having not able to find any |
| ova/ovf snapshot when multiple secondary storage exist for a zone.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4539</para> |
| </entry> |
| <entry> |
| <para>[VMware] If <parameter>vmware.create.full.clone</parameter> is set to true in |
| an upgraded setup, default nature of VMs are full clone.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4551</para> |
| </entry> |
| <entry> |
| <para>Migrating the data volume from NFS to local storage does not change the |
| underlying disk offering.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4573</para> |
| </entry> |
| <entry> |
| <para>Acquiring IP addresses above domain limit is possible in VPC.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4596</para> |
| </entry> |
| <entry> |
| <para>Same IP range is allowed to be defined in different VLANs across public and |
| portable ranges.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4600</para> |
| </entry> |
| <entry> |
| <para>Registered cross-zone template does not populate template_zone_ref for later |
| added zones using S3.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4624</para> |
| </entry> |
| <entry> |
| <para>VM Migration fails in Security Group-enabled Advanced Zone with |
| 'CloudRuntimeException: callHostPlugin failed for cmd: network_rules' |
| error.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4625</para> |
| </entry> |
| <entry> |
| <para>Snapshots and templates cannot be deleted from staging storage after create |
| template from snapshot on S3.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4674</para> |
| </entry> |
| <entry> |
| <para>[Baremetal] |
| <filename>/usr/share/cloudstack-common/scripts/util/ipmi.py</filename> script |
| need to recognize various IPMI version and BMC type of server.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4698</para> |
| </entry> |
| <entry> |
| <para>DHCP-service enabled network cannot expunge VMs.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4704</para> |
| </entry> |
| <entry> |
| <para>Database upgrade bug is caused by the vpc_service_map table.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4707</para> |
| </entry> |
| <entry> |
| <para>The sourcetemplateid field is not getting set for derived templates.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4711</para> |
| </entry> |
| <entry> |
| <para>Premature API response prevents &PRODUCT; from syncing association status in UCS environment.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4717</para> |
| </entry> |
| <entry> |
| <para>Associate IP does not work on shared networks without Source NAT |
| service.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4725</para> |
| </entry> |
| <entry> |
| <para>KVM agent fails to join if local pool is already registered.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4745</para> |
| </entry> |
| <entry> |
| <para>Exception occurs when trying to apply static NAT rule by using |
| CreateIpForwardingCmd API.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4746</para> |
| </entry> |
| <entry> |
| <para>Allocation capacity of a cluster during HA.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4750</para> |
| </entry> |
| <entry> |
| <para>The bond.VLAN mapping in iptables forward chain is not created |
| consistently.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4777</para> |
| </entry> |
| <entry> |
| <para>NullPointerException instead of working KVM HA.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4783</para> |
| </entry> |
| <entry> |
| <para>Unable to see a derived template if the parent template is deleted.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4816</para> |
| </entry> |
| <entry> |
| <para>No configurable option to choose single or multipart upload to S3 object |
| storage.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4817</para> |
| </entry> |
| <entry> |
| <para>Backup snapshot on XenServer should take global setting |
| s3.multipart.enabled.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4828</para> |
| </entry> |
| <entry> |
| <para>Removing NIC fails if DHCP was not enabled in the network offering.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4836</para> |
| </entry> |
| <entry> |
| <para>Restart network with cleanup=true does not reprogram remote access VPN users |
| in the virtual router.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4849</para> |
| </entry> |
| <entry> |
| <para>LXC not working when using non-oss build.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4859</para> |
| </entry> |
| <entry> |
| <para>No global configuration available to disable storage migration during HA. </para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4862</para> |
| </entry> |
| <entry> |
| <para>Admin cannot delete shared network scoped to user account.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4872</para> |
| </entry> |
| <entry> |
| <para>VM provisioned using a registered Windows Server 2012 template will show as |
| other OS in vCenter.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4888</para> |
| </entry> |
| <entry> |
| <para>Refresh blades on a decommissioned chassis results in NPE in UCS |
| environment.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4913</para> |
| </entry> |
| <entry> |
| <para>Disabling security group for bridge mode non-security group zone</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4921</para> |
| </entry> |
| <entry> |
| <para>Usage service does not start after reboot.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4946</para> |
| </entry> |
| <entry> |
| <para>[VMware] Restore VM with template ID feature does not work.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4988</para> |
| </entry> |
| <entry> |
| <para>The public templates created in ROOT/a/b domains are not visible in /ROOT/a |
| domains</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5061</para> |
| </entry> |
| <entry> |
| <para>[VMware] Storage over-provisioning factor is not considered when using thin |
| provisioning over VMFS datastores.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5066</para> |
| </entry> |
| <entry> |
| <para>Existed remote access VPN is dropped when adding new VPN users.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5076</para> |
| </entry> |
| <entry> |
| <para>[Upgrade] Rebooting VM failed after bridge name change.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5122</para> |
| </entry> |
| <entry> |
| <para>[VMware] System VMs are getting recreated with old template after upgrading to |
| 4.2.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-1236</para> |
| </entry> |
| <entry> |
| <para>Warning while adding XenServer 6.1 host: Unable to create local link |
| network.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-1749</para> |
| </entry> |
| <entry> |
| <para>Cloud agent service running on Secondary Storage VM and Console Proxy VM is |
| named as cloud.com service.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-2024</para> |
| </entry> |
| <entry> |
| <para>The cloudstack-setup-management script with https does not work due to |
| incorrect path and missing keystore file.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-2034</para> |
| </entry> |
| <entry> |
| <para>No alert generated when deleting a primary storage is failed.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-2413</para> |
| </entry> |
| <entry> |
| <para>The Change Compute Offering dialog box for a instance displays the Description |
| instead of the Name of compute offering.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-2767</para> |
| </entry> |
| <entry> |
| <para>There is no check on input parameters in API for Global settings, zone |
| settings, and account settings.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-2804</para> |
| </entry> |
| <entry> |
| <para>The getEthByIp function in vpc_func.sh can return the wrong network |
| interface.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-2918</para> |
| </entry> |
| <entry> |
| <para>In a scaledup environment, hosts fail to come up after Management Server |
| restart in a clustered setup.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-3223</para> |
| </entry> |
| <entry> |
| <para>[VMware] Exception occurred while creating the CPVM in a setup using the |
| latest SystemVM template.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-3508</para> |
| </entry> |
| <entry> |
| <para>NullPointerException observed during the ListVolumeAnswer API call.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-3603</para> |
| </entry> |
| <entry> |
| <para>The template_store_ref"" table has Invalid URL References.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-3803</para> |
| </entry> |
| <entry> |
| <para>Unable to complete Add zone wizard.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-3873</para> |
| </entry> |
| <entry> |
| <para>No error notification is generated when cluster-level Primary storage is added |
| with wrong path.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4449</para> |
| </entry> |
| <entry> |
| <para>Possibility of /tmp/xapilog filling up the Root disk on XenServer.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4466</para> |
| </entry> |
| <entry> |
| <para>DHCP capability breaks in 4.2.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4482</para> |
| </entry> |
| <entry> |
| <para>The getVMPassword() API call does not return password for VMs that are |
| deployed with password enabled templates.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4521</para> |
| </entry> |
| <entry> |
| <para>[VMware] [upgrade] Attaching an uploaded volume to a VM throws NPE.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4572</para> |
| </entry> |
| <entry> |
| <para>The findHostsForMigration API does not return correct host list.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4612</para> |
| </entry> |
| <entry> |
| <para>Specified keyboard language is not showing as default in consoleView passed |
| during deployVM.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4613</para> |
| </entry> |
| <entry> |
| <para>Security group rules issue in hosts.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4627</para> |
| </entry> |
| <entry> |
| <para>HA does not work, nor user VM migrate.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4636</para> |
| </entry> |
| <entry> |
| <para>In a scaled-up setup all VMs in a cluster were stopped or started after |
| Management Server restart.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4661</para> |
| </entry> |
| <entry> |
| <para>[DB Upgrade] The SecondaryStorage entry in the host table before upgrade is |
| not marked as removed after migrating them to image_store table.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4716</para> |
| </entry> |
| <entry> |
| <para>[Upgrade] The resource_count table is not updated after upgrade to 4.2</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4755</para> |
| </entry> |
| <entry> |
| <para>Version 4.x does not allow memory upgrade.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4765</para> |
| </entry> |
| <entry> |
| <para>PF rules configure public IP address is not set on the VR when network is up |
| after GC.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4785</para> |
| </entry> |
| <entry> |
| <para>No support for adding details to a user VM.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4786</para> |
| </entry> |
| <entry> |
| <para>Redundant router has a priority limitation.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4797</para> |
| </entry> |
| <entry> |
| <para>[Documentation] Installation guide for 4.2 instructs users to install |
| 4.1.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4813</para> |
| </entry> |
| <entry> |
| <para>Get ExitValue when running bash commands.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4827</para> |
| </entry> |
| <entry> |
| <para>Build failed on 4.2.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4839</para> |
| </entry> |
| <entry> |
| <para>[Documentation] The section 3.5 in the Install Guide provides wrong list of |
| .deb packages.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4867</para> |
| </entry> |
| <entry> |
| <para>NullPointerException on agent while remounting primary storage.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4882</para> |
| </entry> |
| <entry> |
| <para>listClusters/pods/zones and listCapacity(dashboard view) API not accounting |
| for reserved in the used capacity percentage.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4895</para> |
| </entry> |
| <entry> |
| <para>Management Server fails to start because snapshot policy time zones have day |
| light savings.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4911</para> |
| </entry> |
| <entry> |
| <para>[Mixed Hypervisor] VM status is marked as alive when exit status of ping |
| command is not available within command timeout.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4923</para> |
| </entry> |
| <entry> |
| <para>Network limits is missing in Accounts details page.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4924</para> |
| </entry> |
| <entry> |
| <para>AcountCleanup: The IP address is not released if the network failed to |
| delete.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4947</para> |
| </entry> |
| <entry> |
| <para>if apply.allocation.algorithm.to.pods is set to true VM creation fails.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4948</para> |
| </entry> |
| <entry> |
| <para>DeploymentPlanner: Logic to check if cluster can be avoided needs to consider |
| if VM is using a local storage and shared storage.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4964</para> |
| </entry> |
| <entry> |
| <para>Nexus password is logged in Management Server logs during guest network |
| implementation with Cisco VNMC provider.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4985</para> |
| </entry> |
| <entry> |
| <para>NPE while deleting old root volumes of a restored VM during storage garbage |
| collection.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4987</para> |
| </entry> |
| <entry> |
| <para>Adding an Isolated network belonging to an account to a VM belonging to |
| different account is possible.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4998</para> |
| </entry> |
| <entry> |
| <para>The assignVirtualMachine API has wrong response string, causing Cloudmonkey to |
| crash.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5018</para> |
| </entry> |
| <entry> |
| <para>Creation of VM using template from snapshot of RBD volume fails.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5029</para> |
| </entry> |
| <entry> |
| <para>The cloud-bugtool is not available release package.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5038</para> |
| </entry> |
| <entry> |
| <para>[Upgrade] Used CPU is getting bumped up when the over provisioning factor is |
| greater than 1.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5096</para> |
| </entry> |
| <entry> |
| <para>[VMware] Corrupt template is left behind after the copy of a template from |
| secondary to primary fails.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5140</para> |
| </entry> |
| <entry> |
| <para>A stopped VM cant start after disable threshold has been reached on the |
| storage pool.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-3100</para> |
| </entry> |
| <entry> |
| <para>Add the displayvmflag to listVirtualMachines API.</para> |
| </entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </informaltable> |
| </section> |
| <section id="known-issues-4.2.1"> |
| <title>Known Issues in 4.2.1</title> |
| <para>This section includes a summary of known issues in 4.2.1 </para> |
| <informaltable> |
| <tgroup cols="2" align="left" colsep="1" rowsep="1"> |
| <colspec colwidth="1.0*" colname="1" colnum="1"/> |
| <colspec colwidth="5.69*" colname="2" colnum="2"/> |
| <thead> |
| <row> |
| <entry> |
| <para>Issue ID</para> |
| </entry> |
| <entry> |
| <para>Description</para> |
| </entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4875</para> |
| </entry> |
| <entry> |
| <para>[VMware] vCenter 5.5 - SYSTEM VM: Unable to create deployment for VM</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5159</para> |
| </entry> |
| <entry> |
| <para>[VMware] Reset SSH keypair randomly fails.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5188</para> |
| </entry> |
| <entry> |
| <para>Password reset of vm on XenServer and VMware does not work on first |
| reboot.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-2140</para> |
| </entry> |
| <entry> |
| <para>Host is still marked as being in UP state when the host is shutdown and there |
| are no more hosts in the cluster.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4545</para> |
| </entry> |
| <entry> |
| <para>[VMware] Master template used by linked clones should not be available for |
| deletion.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4577</para> |
| </entry> |
| <entry> |
| <para>[VMware] Unexpected exception while executing |
| org.apache.cloudstack.api.command.user.volume.ResizeVolumeCmd |
| java.lang.NullPointerException.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4587</para> |
| </entry> |
| <entry> |
| <para>VM is failing to deploy on a Legacy zone after adding zone wide primary |
| storage and moving cluster wide primary storage to maintenance mode.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4594</para> |
| </entry> |
| <entry> |
| <para>[VMware] [Upgrade] Failed to revert VM Snapshot which were created before Live |
| Storage Migrating the VM to other clusters.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4616</para> |
| </entry> |
| <entry> |
| <para>When system VMs fail to start when host is down, link local IP addresses do |
| not get released resulting in all the link local IPs being consumed |
| eventually.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5008</para> |
| </entry> |
| <entry> |
| <para>[VMware] Failed to start the VM after performing Cold Migration of Volume to |
| Second Zone wide primary Storage.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5014</para> |
| </entry> |
| <entry> |
| <para>[VMware] DeployVM with data disk failed with exception.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5054</para> |
| </entry> |
| <entry> |
| <para>VM migration involving storage migration on vmware fails with the 'The object |
| has already been deleted or has not been completely created' exception.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5119</para> |
| </entry> |
| <entry> |
| <para>VLAN provisioning broken in F5</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4475</para> |
| </entry> |
| <entry> |
| <para>Attaching an uploaded volume to a VM is always going to first primary storage |
| added.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4492</para> |
| </entry> |
| <entry> |
| <para>Attaching volume to a VM fails after upgrade if the volume was uploaded before |
| upgrade. </para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4496</para> |
| </entry> |
| <entry> |
| <para>[VMware] System VMs are failed to start with NPE when host is in maintenance |
| state.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4504</para> |
| </entry> |
| <entry> |
| <para>VM creation is failing using the Ubuntu ISO with XenServer 6.1 and 6.2</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4536</para> |
| </entry> |
| <entry> |
| <para>Inconsistency in volume store location on secondary storage for uploaded and |
| extracted volume.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4574</para> |
| </entry> |
| <entry> |
| <para>NPE while executing DestroyVM command.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4593</para> |
| </entry> |
| <entry> |
| <para>[VMware] [Upgrade] Livestorage Migration and VM Snapshot features are not |
| fully functional after upgrade.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4620</para> |
| </entry> |
| <entry> |
| <para>VM failed to start on the host on which it was running due to not having |
| enough reserved memory when the host was powered on after being shutdown.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4638</para> |
| </entry> |
| <entry> |
| <para>State information is not synced on Starting VM directly via vCenter.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4639</para> |
| </entry> |
| <entry> |
| <para>Status of VM is not synced properly when host is HA during hypervisor |
| failure.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4657</para> |
| </entry> |
| <entry> |
| <para>[CEPH] Attaching a volume to an instance that is migrated from one primary to |
| another primary fails.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4697</para> |
| </entry> |
| <entry> |
| <para>Not able to delete Primary storage when there are no hosts in the |
| cluster.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4734</para> |
| </entry> |
| <entry> |
| <para>Creating snapshot from ROOT volume fails with the Failed to create snapshot |
| due to an internal error creating snapshot for volume 14 error message.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4743</para> |
| </entry> |
| <entry> |
| <para>The applyStaticRoutes/createPrivateGatway/deletePrivateGateway APIs read from |
| the vpc_service_map table instead of relying on hard-coded values.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4789</para> |
| </entry> |
| <entry> |
| <para>Fix ResourceMetaDataManagerTest.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4850</para> |
| </entry> |
| <entry> |
| <para>[UCS] using template instead of cloning profile.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4861</para> |
| </entry> |
| <entry> |
| <para>[VMware] If Guest traffic spans across multiple physical networks, selection |
| of physical network to implement guest network is not working correctly.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4906</para> |
| </entry> |
| <entry> |
| <para>Add network address to the Marvin dependency list.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-4978</para> |
| </entry> |
| <entry> |
| <para>[VMware] Provisioning VMs from templates fails with the ROOT-249/ROOT-249.vmdk |
| not found error</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5002</para> |
| </entry> |
| <entry> |
| <para>Destroying VM does not work. VM destroy failed with the Stop i-2-59-VM command |
| due to invalid object reference. The object may have recently been deleted. </para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5005</para> |
| </entry> |
| <entry> |
| <para>Stopping multiple VMs does not work.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5020</para> |
| </entry> |
| <entry> |
| <para>Recreate system VM fails in a specific scenario during storage |
| maintenance.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5075</para> |
| </entry> |
| <entry> |
| <para>Various issues with destroying a VM with local storage. VM disk statistics |
| cannot be updated for a VM.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5090</para> |
| </entry> |
| <entry> |
| <para>Anti-Affinity: VM fails to start on a cluster belonging to a different |
| pod.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5098</para> |
| </entry> |
| <entry> |
| <para>[VMware] Entries in <code>vmware_data_center</code> and <code>vmware_data_center_zone_map</code> are not |
| cleaned up when there is a failure to add the cluster.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5118</para> |
| </entry> |
| <entry> |
| <para>Virtual Routers are listed multiple times in the Infrastructure page.</para> |
| </entry> |
| </row> |
| <row> |
| <entry> |
| <para>CLOUDSTACK-5123</para> |
| </entry> |
| <entry> |
| <para>[VMware] Memory over-provisioning behaviour.</para> |
| </entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </informaltable> |
| </section> |
| </chapter> |
| <chapter id="upgrade-instructions"> |
| <title>Upgrade Instructions for 4.2.1</title> |
| <para>This section contains upgrade instructions from prior versions of CloudStack to Apache |
| CloudStack 4.2.1. We include instructions on upgrading to Apache CloudStack from pre-Apache |
| versions of Citrix &PRODUCT; (last version prior to Apache is 3.0.2) and from the releases |
| made while CloudStack was in the Apache Incubator.</para> |
| <para>If you run into any issues during upgrades, please feel free to ask questions on |
| users@cloudstack.apache.org or dev@cloudstack.apache.org.</para> |
| <section id="upgrade-from-4.2-to-4.2.1"> |
| <title>Upgrade from 4.2.0 to 4.2.1</title> |
| <para>This section will guide you from &PRODUCT; 4.2 to &PRODUCT; 4.2.1.</para> |
| <para>Any steps that are hypervisor-specific will be called out with a note.</para> |
| <para>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.</para> |
| <orderedlist> |
| <note> |
| <para>The following upgrade instructions should be performed regardless of hypervisor |
| type.</para> |
| </note> |
| <listitem> |
| <orderedlist numeration="loweralpha"> |
| <listitem> |
| <para>While running the existing 4.2.0 system, log in to the UI as root |
| administrator.</para> |
| </listitem> |
| <listitem> |
| <para>In the left navigation bar, click Templates.</para> |
| </listitem> |
| <listitem> |
| <para>In Select view, click Templates.</para> |
| </listitem> |
| <listitem> |
| <para>Click Register template.</para> |
| <para>The Register template dialog box is displayed.</para> |
| </listitem> |
| <listitem> |
| <para>In the Register template dialog box, specify the following values (do not change |
| these):</para> |
| <informaltable> |
| <tgroup cols="2" align="left" colsep="1" rowsep="1"> |
| <colspec colwidth="1*" colname="1" colnum="1"/> |
| <colspec colwidth="2*" colname="2" colnum="2"/> |
| <thead> |
| <row> |
| <entry><para>Hypervisor</para></entry> |
| <entry><para>Description</para></entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry><para>XenServer</para></entry> |
| <entry><para>Name: systemvm-xenserver-4.2</para> |
| <para>Description: systemvm-xenserver-4.2</para> |
| <para>URL:http://download.cloud.com/templates/4.2/systemvmtemplate-2013-07-12-master-xen.vhd.bz2 </para> |
| <para>Zone: Choose the zone where this hypervisor is used</para> |
| <para>Hypervisor: XenServer</para> |
| <para>Format: VHD</para> |
| <para>OS Type: Debian GNU/Linux 7.0 (32-bit) (or the highest Debian release |
| number available in the dropdown)</para> |
| <para>Extractable: no</para> |
| <para>Password Enabled: no</para> |
| <para>Public: no</para> |
| <para>Featured: no</para> |
| </entry> |
| </row> |
| <row> |
| <entry><para>KVM</para></entry> |
| <entry><para>Name: systemvm-kvm-4.2</para> |
| <para>Description: systemvm-kvm-4.2</para> |
| <para>URL: |
| http://download.cloud.com/templates/4.2/systemvmtemplate-2013-06-12-master-kvm.qcow2.bz2</para> |
| <para>Zone: Choose the zone where this hypervisor is used</para> |
| <para>Hypervisor: KVM</para> |
| <para>Format: QCOW2</para> |
| <para>OS Type: Debian GNU/Linux 7.0 (32-bit) (or the highest Debian release |
| number available in the dropdown)</para> |
| <para>Extractable: no</para> |
| <para>Password Enabled: no</para> |
| <para>Public: no</para> |
| <para>Featured: no</para> |
| </entry> |
| </row> |
| <row> |
| <entry><para>VMware</para></entry> |
| <entry><para>Name: systemvm-vmware-4.2</para> |
| <para>Description: systemvm-vmware-4.2</para> |
| <para>URL: |
| http://download.cloud.com/templates/4.2/systemvmtemplate-4.2-vh7.ova</para> |
| <para>Zone: Choose the zone where this hypervisor is used</para> |
| <para>Hypervisor: VMware</para> |
| <para>Format: OVA</para> |
| <para>OS Type: Debian GNU/Linux 7.0 (32-bit) (or the highest Debian release |
| number available in the dropdown)</para> |
| <para>Extractable: no</para> |
| <para>Password Enabled: no</para> |
| <para>Public: no</para> |
| <para>Featured: no</para> |
| </entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </informaltable> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem> |
| <para>Most users of &PRODUCT; manage the installation and upgrades of &PRODUCT; 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).</para> |
| </listitem> |
| <listitem> |
| <para>Create RPM or Debian packages (as appropriate) and a repository from the 4.2.1 |
| source, or check the Apache CloudStack downloads page at <ulink |
| url="http://cloudstack.apache.org/downloads.html" |
| >http://cloudstack.apache.org/downloads.html</ulink> for package repositories supplied |
| by community members. You will need them for step <xref |
| linkend="upgrade-deb-packages-4.2.1"/> or step <xref |
| linkend="upgrade-rpm-packages-4.2.1"/>.</para> |
| <para>Instructions for creating packages from the &PRODUCT; source are in the <ulink |
| url="http://cloudstack.apache.org/docs/en-US/index.html">Installation |
| Guide</ulink>.</para> |
| </listitem> |
| <listitem> |
| <para>Stop your management server or servers. Run this on all management server |
| hosts:</para> |
| <programlisting><prompt>#</prompt> service cloudstack-management stop</programlisting> |
| </listitem> |
| <listitem> |
| <para>If you are running a usage server or usage servers, stop those as well:</para> |
| <programlisting><prompt>#</prompt> service cloudstack-usage stop</programlisting> |
| </listitem> |
| <listitem> |
| <para>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.</para> |
| <programlisting><prompt>#</prompt> mysqldump -u root -p cloud > cloudstack-backup.sql</programlisting> |
| </listitem> |
| <listitem> |
| <para>Perform the following to verify the artifacts:</para> |
| <orderedlist numeration="loweralpha"> |
| <listitem> |
| <para>(optional) Install GPG keys if needed:</para> |
| <programlisting>sudo apt-get install gpg</programlisting> |
| </listitem> |
| <listitem> |
| <para>Import the GPG keys stored in the source distribution's KEYS file</para> |
| <programlisting>gpg --import KEYS</programlisting> |
| <para>Alternatively, download the signing keys, the IDs found in the KEYS file, |
| individually by using a keyserver.</para> |
| <para>For example:</para> |
| <programlisting>gpg --recv-keys CC56CEA8</programlisting> |
| </listitem> |
| <listitem> |
| <para>Verify signatures and hash files:</para> |
| <programlisting>#gpg --verify apache-cloudstack-4.2.1-src.tar.bz2.asc |
| #gpg --print-md MD5 apache-cloudstack-4.2.1-src.tar.bz2 | diff - apache-cloudstack-4.2.1-src.tar.bz2.md5 |
| #gpg --print-md SHA512 apache-cloudstack-4.2.1-src.tar.bz2 | diff - apache-cloudstack-4.2.1-src.tar.bz2.sha</programlisting> |
| <para>Each of these commands should return no output. Any output from them implies |
| that there is a difference between the hash you generated locally and the hash that |
| has been pulled from the server.</para> |
| </listitem> |
| <listitem> |
| <para>Get the commit hash from the VOTE email.</para> |
| <para>For example: <code>4cd60f3d1683a3445c3248f48ae064fb573db2a1</code>. The value |
| changes between releases.</para> |
| </listitem> |
| <listitem> |
| <para>Create two new temporary directories:</para> |
| <programlisting>#mkdir /tmp/cloudstack/git |
| #mkdir /tmp/cloudstack/tree</programlisting> |
| </listitem> |
| <listitem> |
| <para>Check out the 4.2.1 branch:</para> |
| <programlisting>#git clone https://git-wip-us.apache.org/repos/asf/cloudstack.git /tmp/cloudstack/git |
| #cd /tmp/cloudstack/git |
| #git archive --format=tar --prefix=/tmp/cloudstack/tree/ <commit-hash> | tar Pxf - </programlisting> |
| </listitem> |
| <listitem> |
| <para>Unpack the release artifact:</para> |
| <programlisting>#cd /tmp/cloudstack |
| #tar xvfj apache-cloudstack-4.2.1-src.tar.bz2</programlisting> |
| </listitem> |
| <listitem> |
| <para>Compare the contents of the release artifact with the contents pulled from the |
| repo:</para> |
| <programlisting>#diff -r /tmp/cloudstack/apache-cloudstack-4.2.1-src /tmp/cloudstack/tree</programlisting> |
| <para>Ensure that content is the same.</para> |
| </listitem> |
| <listitem> |
| <para>Verify the Code License Headers:</para> |
| <programlisting>#cd /tmp/cloudstack/apache-cloudstack-4.2.1-src |
| #mvn --projects='org.apache.cloudstack:cloudstack' org.apache.rat:apache-rat-plugin:0.8:check</programlisting> |
| <para>The build fails if any non-compliant files are present that are not specifically |
| excluded from the ASF license header requirement. You can optionally review the |
| target/rat.txt file after the run completes. Passing the build implies that RAT |
| certifies that the files are compliant and this test is passed.</para> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem> |
| <para>(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: </para> |
| <programlisting><prompt>#</prompt>mysql -u cloud -p -e "select id,name,path from cloud.storage_pool where pool_type='Filesystem'"</programlisting> |
| <para>If local storage paths are found to have a trailing forward slash, remove it: |
| <programlisting><prompt>#</prompt>mysql -u cloud -p -e 'update cloud.storage_pool set path="/var/lib/libvirt/images" where path="/var/lib/libvirt/images/"';</programlisting> |
| </para> |
| </listitem> |
| <listitem id="upgrade-deb-packages-4.2.1"> |
| <para>If you are using Ubuntu, follow this procedure to upgrade your packages. If not, |
| skip to step <xref linkend="upgrade-rpm-packages-4.2.1"/>.</para> |
| <note> |
| <title>Community Packages</title> |
| <para>This section assumes you're using the community supplied packages for &PRODUCT;. |
| If you've created your own packages and APT repository, substitute your own URL for |
| the ones used in these examples.</para> |
| </note> |
| <orderedlist id="debsteps-4.2.1" numeration="loweralpha"> |
| <listitem> |
| <para>The first order of business will be to change the sources list for each system |
| with &PRODUCT; 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.)</para> |
| <para>Start by opening <filename>/etc/apt/sources.list.d/cloudstack.list</filename> on |
| any systems that have &PRODUCT; packages installed.</para> |
| <para>This file should have one line, which contains:</para> |
| <programlisting language="Bash">deb http://cloudstack.apt-get.eu/ubuntu precise 4.0</programlisting> |
| <para>We'll change it to point to the new package repository:</para> |
| <programlisting language="Bash">deb http://cloudstack.apt-get.eu/ubuntu precise 4.2</programlisting> |
| <para>If you're using your own package repository, change this line to read as |
| appropriate for your 4.2.1 repository.</para> |
| </listitem> |
| <listitem> |
| <para>Now update your apt package list:</para> |
| <programlisting language="Bash">$ sudo apt-get update</programlisting> |
| </listitem> |
| <listitem id="deb-master-4.2.1"> |
| <para>Now that you have the repository configured, it's time to install the |
| <filename>cloudstack-management</filename> package. This will pull in any other |
| dependencies you need.</para> |
| <programlisting language="Bash">$ sudo apt-get install cloudstack-management</programlisting> |
| </listitem> |
| <listitem id="kvm-agent-deb-4.2.1"> |
| <para>You will need to manually install the <filename>cloudstack-agent</filename> |
| package:</para> |
| <programlisting language="Bash">$ sudo apt-get install cloudstack-agent</programlisting> |
| <para>During the installation of <filename>cloudstack-agent</filename>, APT will copy |
| your <filename>agent.properties</filename>, <filename>log4j-cloud.xml</filename>, |
| and <filename>environment.properties</filename> from |
| <filename>/etc/cloud/agent</filename> to |
| <filename>/etc/cloudstack/agent</filename>.</para> |
| <para>When prompted whether you wish to keep your configuration, say Yes.</para> |
| </listitem> |
| <listitem> |
| <para>Verify that the file |
| <filename>/etc/cloudstack/agent/environment.properties</filename> has a line that |
| reads:</para> |
| <programlisting language="Bash">paths.script=/usr/share/cloudstack-common</programlisting> |
| <para>If not, add the line.</para> |
| </listitem> |
| <listitem> |
| <para>Restart the agent:</para> |
| <programlisting language="Bash"> |
| service cloudstack-agent stop |
| killall jsvc |
| service cloudstack-agent start |
| </programlisting> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem> |
| <para>(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:</para> |
| <orderedlist numeration="loweralpha"> |
| <listitem> |
| <para>Stop the Management Server:</para> |
| <programlisting>service cloudstack-management stop</programlisting> |
| </listitem> |
| <listitem> |
| <para>Generate the encrypted equivalent of your vCenter password:</para> |
| <programlisting>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</programlisting> |
| <para>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</para> |
| </listitem> |
| <listitem> |
| <para>Find the ID of the row of cluster_details table that you have to update:</para> |
| <programlisting>mysql -u <username> -p<password></programlisting> |
| <programlisting>select * from cloud.cluster_details;</programlisting> |
| </listitem> |
| <listitem> |
| <para>Update the plain text password with the encrypted one</para> |
| <programlisting>update cloud.cluster_details set value = '_ciphertext_from_step_1_' where id = _id_from_step_2_;</programlisting> |
| </listitem> |
| <listitem> |
| <para>Confirm that the table is updated:</para> |
| <programlisting>select * from cloud.cluster_details; </programlisting> |
| </listitem> |
| <listitem> |
| <para>Find the ID of the correct row of vmware_data_center that you want to |
| update</para> |
| <programlisting>select * from cloud.vmware_data_center; </programlisting> |
| </listitem> |
| <listitem> |
| <para>update the plain text password with the encrypted one:</para> |
| <programlisting>update cloud.vmware_data_center set password = '_ciphertext_from_step_1_' where id = _id_from_step_5_; </programlisting> |
| </listitem> |
| <listitem> |
| <para>Confirm that the table is updated:</para> |
| <programlisting>select * from cloud.vmware_data_center; </programlisting> |
| </listitem> |
| <listitem> |
| <para>Start the &PRODUCT; Management server </para> |
| <programlisting>service cloudstack-management start</programlisting> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem> |
| <para>(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.</para> |
| <orderedlist numeration="loweralpha"> |
| <listitem> |
| <para>Configure the CloudStack yum repository as detailed above.</para> |
| </listitem> |
| <listitem> |
| <para>Stop the running agent.</para> |
| <programlisting># service cloud-agent stop</programlisting> |
| </listitem> |
| <listitem> |
| <para>Update the agent software.</para> |
| <programlisting># yum update cloudstack-agent</programlisting> |
| </listitem> |
| <listitem> |
| <para>Start the agent.</para> |
| <programlisting># service cloudstack-agent start</programlisting> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem id="upgrade-rpm-packages-4.2.1"> |
| <para>If you are using CentOS or RHEL, follow this procedure to upgrade your packages. If |
| not, skip to step <xref linkend="restart-system-vms-4.2.1"/>.</para> |
| <note> |
| <title>Community Packages</title> |
| <para>This section assumes you're using the community supplied packages for &PRODUCT;. |
| If you've created your own packages and yum repository, substitute your own URL for |
| the ones used in these examples.</para> |
| </note> |
| <orderedlist id="rpmsteps-4.2.1" numeration="loweralpha"> |
| <listitem> |
| <para>The first order of business will be to change the yum repository for each system |
| with &PRODUCT; packages. This means all management servers, and any hosts that have |
| the KVM agent. </para> |
| <para>(No changes should be necessary for hosts that are running VMware or |
| Xen.)</para> |
| <para>Start by opening <filename>/etc/yum.repos.d/cloudstack.repo</filename> on any |
| systems that have &PRODUCT; packages installed.</para> |
| <para>This file should have content similar to the following:</para> |
| <programlisting language="Bash"> |
| [apache-cloudstack] |
| name=Apache CloudStack |
| baseurl=http://cloudstack.apt-get.eu/rhel/4.0/ |
| enabled=1 |
| gpgcheck=0 |
| </programlisting> |
| <para>If you are using the community provided package repository, change the base url |
| to http://cloudstack.apt-get.eu/rhel/4.2/</para> |
| <para>If you're using your own package repository, change this line to read as |
| appropriate for your 4.2.1 repository.</para> |
| </listitem> |
| <listitem id="rpm-master-4.2.1"> |
| <para>Now that you have the repository configured, it's time to install the |
| <filename>cloudstack-management</filename> package by upgrading the older |
| <filename>cloudstack-management</filename> package.</para> |
| <programlisting language="Bash">$ sudo yum upgrade cloudstack-management</programlisting> |
| </listitem> |
| <listitem id="kvm-agent-rpm-4.2.1"> |
| <para>For KVM hosts, you will need to upgrade the <filename>cloud-agent</filename> |
| package, similarly installing the new version as |
| <filename>cloudstack-agent</filename>.</para> |
| <programlisting language="Bash">$ sudo yum upgrade cloudstack-agent</programlisting> |
| </listitem> |
| <listitem> |
| <para>Verify that the file |
| <filename>/etc/cloudstack/agent/environment.properties</filename> has a line that |
| reads:</para> |
| <programlisting language="Bash">paths.script=/usr/share/cloudstack-common</programlisting> |
| <para>If not, add the line.</para> |
| </listitem> |
| <listitem> |
| <para>Restart the agent:</para> |
| <programlisting language="Bash"> |
| service cloudstack-agent stop |
| killall jsvc |
| service cloudstack-agent start |
| </programlisting> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem id="restart-mgmt-server-4.2.1"> |
| <para>Now it's time to restart the management server</para> |
| <programlisting language="Bash"><prompt>#</prompt> service cloudstack-management start</programlisting> |
| </listitem> |
| <listitem id="restart-system-vms-4.2.1"> |
| <para>Once you've upgraded the packages on your management servers, you'll need to restart |
| the system VMs. Ensure that the admin port is set to 8096 by using the |
| "integration.api.port" global parameter. This port is used by the cloud-sysvmadm script |
| at the end of the upgrade procedure. For information about how to set this parameter, |
| see "Setting Global Configuration Parameters" in the Installation Guide. Changing this |
| parameter will require management server restart. Also make sure port 8096 is open in |
| your local host firewall to do this. </para> |
| <para>There is a script that will do this for you, all you need to do is run the script |
| and supply the IP address for your MySQL instance and your MySQL credentials:</para> |
| <programlisting language="Bash"><prompt>#</prompt> nohup cloudstack-sysvmadm -d <replaceable>IP address</replaceable> -u cloud -p -a > sysvm.log 2>&1 &</programlisting> |
| <para>You can monitor the log for progress. The process of restarting the system VMs can |
| take an hour or more.</para> |
| <programlisting language="Bash"><prompt>#</prompt> tail -f sysvm.log</programlisting> |
| <para>The output to <filename>sysvm.log</filename> will look something like this:</para> |
| <programlisting language="Bash"> |
| Stopping and starting 1 secondary storage vm(s)... |
| Done stopping and starting secondary storage vm(s) |
| Stopping and starting 1 console proxy vm(s)... |
| Done stopping and starting console proxy vm(s). |
| Stopping and starting 4 running routing vm(s)... |
| Done restarting router(s). |
| </programlisting> |
| </listitem> |
| <listitem> |
| <note> |
| <title>For Xen Hosts: Copy vhd-utils</title> |
| <para>This step is only for CloudStack installs that are using Xen hosts.</para> |
| </note> |
| <para>Copy the file <filename>vhd-utils</filename> to |
| <filename>/usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver</filename>.</para> |
| </listitem> |
| </orderedlist> |
| </section> |
| <section id="upgrade-from-4.1-to-4.2.1"> |
| <title>Upgrade from 4.1.x to 4.2.1</title> |
| <para>This section will guide you from &PRODUCT; 4.1.x versions to &PRODUCT; 4.2.1.</para> |
| <para>Any steps that are hypervisor-specific will be called out with a note.</para> |
| <para>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.</para> |
| <orderedlist> |
| <listitem> |
| <para>Most users of &PRODUCT; manage the installation and upgrades of &PRODUCT; 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).</para> |
| </listitem> |
| <listitem> |
| <note> |
| <para>The following upgrade instructions should be performed regardless of hypervisor |
| type.</para> |
| </note> |
| <orderedlist numeration="loweralpha"> |
| <listitem> |
| <para>While running the existing 4.1.x system, log in to the UI as root |
| administrator.</para> |
| </listitem> |
| <listitem> |
| <para>In the left navigation bar, click Templates.</para> |
| </listitem> |
| <listitem> |
| <para>In Select view, click Templates.</para> |
| </listitem> |
| <listitem> |
| <para>Click Register template.</para> |
| <para>The Register template dialog box is displayed.</para> |
| </listitem> |
| <listitem> |
| <para>In the Register template dialog box, specify the following values (do not change |
| these):</para> |
| <informaltable> |
| <tgroup cols="2" align="left" colsep="1" rowsep="1"> |
| <colspec colwidth="1*" colname="1" colnum="1"/> |
| <colspec colwidth="2*" colname="2" colnum="2"/> |
| <thead> |
| <row> |
| <entry><para>Hypervisor</para></entry> |
| <entry><para>Description</para></entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry><para>XenServer</para></entry> |
| <entry><para>Name: systemvm-xenserver-4.2</para> |
| <para>Description: systemvm-xenserver-4.2</para> |
| <para>URL:http://download.cloud.com/templates/4.2/systemvmtemplate-2013-07-12-master-xen.vhd.bz2 </para> |
| <para>Zone: Choose the zone where this hypervisor is used</para> |
| <para>Hypervisor: XenServer</para> |
| <para>Format: VHD</para> |
| <para>OS Type: Debian GNU/Linux 7.0 (32-bit) (or the highest Debian release |
| number available in the dropdown)</para> |
| <para>Extractable: no</para> |
| <para>Password Enabled: no</para> |
| <para>Public: no</para> |
| <para>Featured: no</para> |
| </entry> |
| </row> |
| <row> |
| <entry><para>KVM</para></entry> |
| <entry><para>Name: systemvm-kvm-4.2</para> |
| <para>Description: systemvm-kvm-4.2</para> |
| <para>URL: |
| http://download.cloud.com/templates/4.2/systemvmtemplate-2013-06-12-master-kvm.qcow2.bz2</para> |
| <para>Zone: Choose the zone where this hypervisor is used</para> |
| <para>Hypervisor: KVM</para> |
| <para>Format: QCOW2</para> |
| <para>OS Type: Debian GNU/Linux 7.0 (32-bit) (or the highest Debian release |
| number available in the dropdown)</para> |
| <para>Extractable: no</para> |
| <para>Password Enabled: no</para> |
| <para>Public: no</para> |
| <para>Featured: no</para> |
| </entry> |
| </row> |
| <row> |
| <entry><para>VMware</para></entry> |
| <entry><para>Name: systemvm-vmware-4.2</para> |
| <para>Description: systemvm-vmware-4.2</para> |
| <para>URL: |
| http://download.cloud.com/templates/4.2/systemvmtemplate-4.2-vh7.ova</para> |
| <para>Zone: Choose the zone where this hypervisor is used</para> |
| <para>Hypervisor: VMware</para> |
| <para>Format: OVA</para> |
| <para>OS Type: Debian GNU/Linux 7.0 (32-bit) (or the highest Debian release |
| number available in the dropdown)</para> |
| <para>Extractable: no</para> |
| <para>Password Enabled: no</para> |
| <para>Public: no</para> |
| <para>Featured: no</para> |
| </entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </informaltable> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem> |
| <para>Create RPM or Debian packages (as appropriate) and a repository from the 4.2.1 |
| source, or check the Apache CloudStack downloads page at <ulink |
| url="http://cloudstack.apache.org/downloads.html" |
| >http://cloudstack.apache.org/downloads.html</ulink> for package repositories supplied |
| by community members. You will need them for step <xref |
| linkend="upgrade-deb-packages-41to42"/> or step <xref |
| linkend="upgrade-rpm-packages-41to42"/>.</para> |
| <para>Instructions for creating packages from the &PRODUCT; source are in the <ulink |
| url="http://cloudstack.apache.org/docs/en-US/index.html">Installation |
| Guide</ulink>.</para> |
| </listitem> |
| <listitem> |
| <para>Stop your management server or servers. Run this on all management server |
| hosts:</para> |
| <programlisting><prompt>#</prompt> service cloudstack-management stop</programlisting> |
| </listitem> |
| <listitem> |
| <para>If you are running a usage server or usage servers, stop those as well:</para> |
| <programlisting><prompt>#</prompt> service cloudstack-usage stop</programlisting> |
| </listitem> |
| <listitem> |
| <para>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.</para> |
| <programlisting><prompt>#</prompt> mysqldump -u root -p cloud > cloudstack-backup.sql</programlisting> |
| </listitem> |
| <listitem> |
| <para>(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: </para> |
| <programlisting><prompt>#</prompt>mysql -u cloud -p -e "select id,name,path from cloud.storage_pool where pool_type='Filesystem'"</programlisting> |
| <para>If local storage paths are found to have a trailing forward slash, remove it: |
| <programlisting><prompt>#</prompt>mysql -u cloud -p -e 'update cloud.storage_pool set path="/var/lib/libvirt/images" where path="/var/lib/libvirt/images/"';</programlisting> |
| </para> |
| </listitem> |
| <listitem id="upgrade-deb-packages-41to42"> |
| <para>If you are using Ubuntu, follow this procedure to upgrade your packages. If not, |
| skip to step <xref linkend="upgrade-rpm-packages-41to42"/>.</para> |
| <note> |
| <title>Community Packages</title> |
| <para>This section assumes you're using the community supplied packages for &PRODUCT;. |
| If you've created your own packages and APT repository, substitute your own URL for |
| the ones used in these examples.</para> |
| </note> |
| <orderedlist id="debsteps-41to42" numeration="loweralpha"> |
| <listitem> |
| <para>The first order of business will be to change the sources list for each system |
| with &PRODUCT; 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.)</para> |
| <para>Start by opening <filename>/etc/apt/sources.list.d/cloudstack.list</filename> on |
| any systems that have &PRODUCT; packages installed.</para> |
| <para>This file should have one line, which contains:</para> |
| <programlisting language="Bash">deb http://cloudstack.apt-get.eu/ubuntu precise 4.0</programlisting> |
| <para>We'll change it to point to the new package repository:</para> |
| <programlisting language="Bash">deb http://cloudstack.apt-get.eu/ubuntu precise 4.2</programlisting> |
| <para>If you're using your own package repository, change this line to read as |
| appropriate for your 4.2.1 repository.</para> |
| </listitem> |
| <listitem> |
| <para>Now update your apt package list:</para> |
| <programlisting language="Bash">$ sudo apt-get update</programlisting> |
| </listitem> |
| <listitem id="deb-master-41to42"> |
| <para>Now that you have the repository configured, it's time to install the |
| <filename>cloudstack-management</filename> package. This will pull in any other |
| dependencies you need.</para> |
| <programlisting language="Bash">$ sudo apt-get install cloudstack-management</programlisting> |
| </listitem> |
| <listitem id="kvm-agent-deb-41to42"> |
| <para>You will need to manually install the <filename>cloudstack-agent</filename> |
| package:</para> |
| <programlisting language="Bash">$ sudo apt-get install cloudstack-agent</programlisting> |
| <para>During the installation of <filename>cloudstack-agent</filename>, APT will copy |
| your <filename>agent.properties</filename>, <filename>log4j-cloud.xml</filename>, |
| and <filename>environment.properties</filename> from |
| <filename>/etc/cloud/agent</filename> to |
| <filename>/etc/cloudstack/agent</filename>.</para> |
| <para>When prompted whether you wish to keep your configuration, say Yes.</para> |
| </listitem> |
| <listitem> |
| <para>Verify that the file |
| <filename>/etc/cloudstack/agent/environment.properties</filename> has a line that |
| reads:</para> |
| <programlisting language="Bash">paths.script=/usr/share/cloudstack-common</programlisting> |
| <para>If not, add the line.</para> |
| </listitem> |
| <listitem> |
| <para>Restart the agent:</para> |
| <programlisting language="Bash"> |
| service cloudstack-agent stop |
| killall jsvc |
| service cloudstack-agent start |
| </programlisting> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem> |
| <para>(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:</para> |
| <orderedlist numeration="loweralpha"> |
| <listitem> |
| <para>Stop the Management Server:</para> |
| <programlisting>service cloudstack-management stop</programlisting> |
| </listitem> |
| <listitem> |
| <para>Generate the encrypted equivalent of your vCenter password:</para> |
| <programlisting>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</programlisting> |
| <para>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</para> |
| </listitem> |
| <listitem> |
| <para>Find the ID of the row of cluster_details table that you have to update:</para> |
| <programlisting>mysql -u <username> -p<password></programlisting> |
| <programlisting>select * from cloud.cluster_details;</programlisting> |
| </listitem> |
| <listitem> |
| <para>Update the plain text password with the encrypted one</para> |
| <programlisting>update cloud.cluster_details set value = '_ciphertext_from_step_1_' where id = _id_from_step_2_;</programlisting> |
| </listitem> |
| <listitem> |
| <para>Confirm that the table is updated:</para> |
| <programlisting>select * from cloud.cluster_details; </programlisting> |
| </listitem> |
| <listitem> |
| <para>Find the ID of the correct row of vmware_data_center that you want to |
| update</para> |
| <programlisting>select * from cloud.vmware_data_center; </programlisting> |
| </listitem> |
| <listitem> |
| <para>update the plain text password with the encrypted one:</para> |
| <programlisting>update cloud.vmware_data_center set password = '_ciphertext_from_step_1_' where id = _id_from_step_5_; </programlisting> |
| </listitem> |
| <listitem> |
| <para>Confirm that the table is updated:</para> |
| <programlisting>select * from cloud.vmware_data_center; </programlisting> |
| </listitem> |
| <listitem> |
| <para>Start the &PRODUCT; Management server </para> |
| <programlisting>service cloudstack-management start</programlisting> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem> |
| <para>(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.</para> |
| <orderedlist numeration="loweralpha"> |
| <listitem> |
| <para>Configure the CloudStack yum repository as detailed above.</para> |
| </listitem> |
| <listitem> |
| <para>Stop the running agent.</para> |
| <programlisting># service cloud-agent stop</programlisting> |
| </listitem> |
| <listitem> |
| <para>Update the agent software.</para> |
| <programlisting># yum update cloudstack-agent</programlisting> |
| </listitem> |
| <listitem> |
| <para>Start the agent.</para> |
| <programlisting># service cloudstack-agent start</programlisting> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem id="upgrade-rpm-packages-41to42"> |
| <para>If you are using CentOS or RHEL, follow this procedure to upgrade your packages. If |
| not, skip to step <xref linkend="restart-system-vms-41to42"/>.</para> |
| <note> |
| <title>Community Packages</title> |
| <para>This section assumes you're using the community supplied packages for &PRODUCT;. |
| If you've created your own packages and yum repository, substitute your own URL for |
| the ones used in these examples.</para> |
| </note> |
| <orderedlist id="rpmsteps-41to42" numeration="loweralpha"> |
| <listitem> |
| <para>The first order of business will be to change the yum repository for each system |
| with &PRODUCT; packages. This means all management servers, and any hosts that have |
| the KVM agent. </para> |
| <para>(No changes should be necessary for hosts that are running VMware or |
| Xen.)</para> |
| <para>Start by opening <filename>/etc/yum.repos.d/cloudstack.repo</filename> on any |
| systems that have &PRODUCT; packages installed.</para> |
| <para>This file should have content similar to the following:</para> |
| <programlisting language="Bash"> |
| [apache-cloudstack] |
| name=Apache CloudStack |
| baseurl=http://cloudstack.apt-get.eu/rhel/4.0/ |
| enabled=1 |
| gpgcheck=0 |
| </programlisting> |
| <para>If you are using the community provided package repository, change the base url |
| to http://cloudstack.apt-get.eu/rhel/4.2/</para> |
| <para>If you're using your own package repository, change this line to read as |
| appropriate for your 4.2.1 repository.</para> |
| </listitem> |
| <listitem id="rpm-master-41to42"> |
| <para>Now that you have the repository configured, it's time to install the |
| <filename>cloudstack-management</filename> package by upgrading the older |
| <filename>cloudstack-management</filename> package.</para> |
| <programlisting language="Bash">$ sudo yum upgrade cloudstack-management</programlisting> |
| </listitem> |
| <listitem id="kvm-agent-rpm-41to42"> |
| <para>For KVM hosts, you will need to upgrade the <filename>cloud-agent</filename> |
| package, similarly installing the new version as |
| <filename>cloudstack-agent</filename>.</para> |
| <programlisting language="Bash">$ sudo yum upgrade cloudstack-agent</programlisting> |
| </listitem> |
| <listitem> |
| <para>Verify that the file |
| <filename>/etc/cloudstack/agent/environment.properties</filename> has a line that |
| reads:</para> |
| <programlisting language="Bash">paths.script=/usr/share/cloudstack-common</programlisting> |
| <para>If not, add the line.</para> |
| </listitem> |
| <listitem> |
| <para>Restart the agent:</para> |
| <programlisting language="Bash"> |
| service cloudstack-agent stop |
| killall jsvc |
| service cloudstack-agent start |
| </programlisting> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem id="restart-mgmt-server-41to42"> |
| <para>Now it's time to restart the management server</para> |
| <programlisting language="Bash"><prompt>#</prompt> service cloudstack-management start</programlisting> |
| </listitem> |
| <listitem id="restart-system-vms-41to42"> |
| <para>Once you've upgraded the packages on your management servers, you'll need to restart |
| the system VMs. Ensure that the admin port is set to 8096 by using the |
| "integration.api.port" global parameter. This port is used by the cloud-sysvmadm script |
| at the end of the upgrade procedure. For information about how to set this parameter, |
| see "Setting Global Configuration Parameters" in the Installation Guide. Changing this |
| parameter will require management server restart. Also make sure port 8096 is open in |
| your local host firewall to do this. </para> |
| <para>There is a script that will do this for you, all you need to do is run the script |
| and supply the IP address for your MySQL instance and your MySQL credentials:</para> |
| <programlisting language="Bash"><prompt>#</prompt> nohup cloudstack-sysvmadm -d <replaceable>IP address</replaceable> -u cloud -p -a > sysvm.log 2>&1 &</programlisting> |
| <para>You can monitor the log for progress. The process of restarting the system VMs can |
| take an hour or more.</para> |
| <programlisting language="Bash"><prompt>#</prompt> tail -f sysvm.log</programlisting> |
| <para>The output to <filename>sysvm.log</filename> will look something like this:</para> |
| <programlisting language="Bash"> |
| Stopping and starting 1 secondary storage vm(s)... |
| Done stopping and starting secondary storage vm(s) |
| Stopping and starting 1 console proxy vm(s)... |
| Done stopping and starting console proxy vm(s). |
| Stopping and starting 4 running routing vm(s)... |
| Done restarting router(s). |
| </programlisting> |
| </listitem> |
| <listitem> |
| <note> |
| <title>For Xen Hosts: Copy vhd-utils</title> |
| <para>This step is only for CloudStack installs that are using Xen hosts.</para> |
| </note> |
| <para>Copy the file <filename>vhd-utils</filename> to |
| <filename>/usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver</filename>.</para> |
| </listitem> |
| </orderedlist> |
| </section> |
| <section id="upgrade-from-4.0-to-4.2.1"> |
| <title>Upgrade from 4.0.x to 4.2.1</title> |
| <para>This section will guide you from &PRODUCT; 4.0.x versions to &PRODUCT; 4.2.1.</para> |
| <para>Any steps that are hypervisor-specific will be called out with a note.</para> |
| <warning> |
| <title>Package Structure Changes</title> |
| <para>The package structure for &PRODUCT; has changed significantly since the 4.0.x |
| releases. If you've compiled your own packages, you'll notice that the package names and |
| the number of packages has changed. This is <emphasis>not</emphasis> a bug.</para> |
| <para>However, this <emphasis>does</emphasis> mean that the procedure is not as simple as an |
| <command>apt-get upgrade</command> or <command>yum update</command>, so please follow |
| this section carefully.</para> |
| </warning> |
| <para>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.</para> |
| <orderedlist> |
| <listitem> |
| <para>Most users of &PRODUCT; manage the installation and upgrades of &PRODUCT; 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).</para> |
| <para>Create RPM or Debian packages (as appropriate) and a repository from the 4.1.0 |
| source, or check the Apache CloudStack downloads page at <ulink |
| url="http://cloudstack.apache.org/downloads.html" |
| >http://cloudstack.apache.org/downloads.html</ulink> for package repositories supplied |
| by community members. You will need them for step <xref |
| linkend="upgrade-deb-packages-40to41"/> or step <xref |
| linkend="upgrade-rpm-packages-40to41"/>.</para> |
| <para>Instructions for creating packages from the &PRODUCT; source are in the <ulink |
| url="http://cloudstack.apache.org/docs/en-US/index.html">Installation |
| Guide</ulink>.</para> |
| </listitem> |
| <listitem> |
| <note> |
| <para>The following upgrade instructions should be performed regardless of hypervisor |
| type.</para> |
| </note> |
| <orderedlist numeration="loweralpha"> |
| <listitem> |
| <para>While running the existing 4.0.0 system, log in to the UI as root |
| administrator.</para> |
| </listitem> |
| <listitem> |
| <para>In the left navigation bar, click Templates.</para> |
| </listitem> |
| <listitem> |
| <para>In Select view, click Templates.</para> |
| </listitem> |
| <listitem> |
| <para>Click Register template.</para> |
| <para>The Register template dialog box is displayed.</para> |
| </listitem> |
| <listitem> |
| <para>In the Register template dialog box, specify the following values (do not change |
| these):</para> |
| <informaltable> |
| <tgroup cols="2" align="left" colsep="1" rowsep="1"> |
| <colspec colwidth="1*" colname="1" colnum="1"/> |
| <colspec colwidth="2*" colname="2" colnum="2"/> |
| <thead> |
| <row> |
| <entry><para>Hypervisor</para></entry> |
| <entry><para>Description</para></entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry><para>XenServer</para></entry> |
| <entry><para>Name: systemvm-xenserver-4.2</para> |
| <para>Description: systemvm-xenserver-4.2</para> |
| <para>URL:http://download.cloud.com/templates/4.2/systemvmtemplate-2013-07-12-master-xen.vhd.bz2 </para> |
| <para>Zone: Choose the zone where this hypervisor is used</para> |
| <para>Hypervisor: XenServer</para> |
| <para>Format: VHD</para> |
| <para>OS Type: Debian GNU/Linux 7.0 (32-bit) (or the highest Debian release |
| number available in the dropdown)</para> |
| <para>Extractable: no</para> |
| <para>Password Enabled: no</para> |
| <para>Public: no</para> |
| <para>Featured: no</para> |
| </entry> |
| </row> |
| <row> |
| <entry><para>KVM</para></entry> |
| <entry><para>Name: systemvm-kvm-4.2</para> |
| <para>Description: systemvm-kvm-4.2</para> |
| <para>URL: |
| http://download.cloud.com/templates/4.2/systemvmtemplate-2013-06-12-master-kvm.qcow2.bz2</para> |
| <para>Zone: Choose the zone where this hypervisor is used</para> |
| <para>Hypervisor: KVM</para> |
| <para>Format: QCOW2</para> |
| <para>OS Type: Debian GNU/Linux 7.0 (32-bit) (or the highest Debian release |
| number available in the dropdown)</para> |
| <para>Extractable: no</para> |
| <para>Password Enabled: no</para> |
| <para>Public: no</para> |
| <para>Featured: no</para> |
| </entry> |
| </row> |
| <row> |
| <entry><para>VMware</para></entry> |
| <entry><para>Name: systemvm-vmware-4.2</para> |
| <para>Description: systemvm-vmware-4.2</para> |
| <para>URL: |
| http://download.cloud.com/templates/4.2/systemvmtemplate-4.2-vh7.ova</para> |
| <para>Zone: Choose the zone where this hypervisor is used</para> |
| <para>Hypervisor: VMware</para> |
| <para>Format: OVA</para> |
| <para>OS Type: Debian GNU/Linux 7.0 (32-bit) (or the highest Debian release |
| number available in the dropdown)</para> |
| <para>Extractable: no</para> |
| <para>Password Enabled: no</para> |
| <para>Public: no</para> |
| <para>Featured: no</para> |
| </entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </informaltable> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem> |
| <para>Stop your management server or servers. Run this on all management server |
| hosts:</para> |
| <programlisting><prompt>#</prompt> service cloud-management stop</programlisting> |
| </listitem> |
| <listitem> |
| <para>If you are running a usage server or usage servers, stop those as well:</para> |
| <programlisting><prompt>#</prompt> service cloud-usage stop</programlisting> |
| </listitem> |
| <listitem> |
| <para>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.</para> |
| <programlisting><prompt>#</prompt> mysqldump -u root -p cloud > cloudstack-backup.sql</programlisting> |
| </listitem> |
| <listitem> |
| <para>Whether you're upgrading a Red Hat/CentOS based system or Ubuntu based system, |
| you're going to need to stop the CloudStack management server before proceeding.</para> |
| <programlisting language="Bash"><prompt>#</prompt> service cloud-management stop</programlisting> |
| </listitem> |
| <listitem> |
| <para>If you have made changes to |
| <filename>/etc/cloud/management/components.xml</filename>, you'll need to carry these |
| over manually to the new file, |
| <filename>/etc/cloudstack/management/componentContext.xml</filename>. This is not done |
| automatically. (If you're unsure, we recommend making a backup of the original |
| <filename>components.xml</filename> to be on the safe side.</para> |
| </listitem> |
| <listitem> |
| <para>After upgrading to 4.2.1, API clients are expected to send plain text passwords for |
| login and user creation, instead of MD5 hash. Incase, api client changes are not |
| acceptable, following changes are to be made for backward compatibility:</para> |
| <para>Modify componentsContext.xml, and make PlainTextUserAuthenticator as the default |
| authenticator (1st entry in the userAuthenticators adapter list is default)</para> |
| <programlisting language="XML"> |
| <!-- Security adapters --> |
| <bean id="userAuthenticators" class="com.cloud.utils.component.AdapterList"> |
| <property name="Adapters"> |
| <list> |
| <ref bean="PlainTextUserAuthenticator"/> |
| <ref bean="MD5UserAuthenticator"/> |
| <ref bean="LDAPUserAuthenticator"/> |
| </list> |
| </property> |
| </bean> |
| </programlisting> |
| <para>PlainTextUserAuthenticator works the same way MD5UserAuthenticator worked prior to |
| 4.2.1.</para> |
| </listitem> |
| <listitem id="upgrade-deb-packages-40to41"> |
| <para>If you are using Ubuntu, follow this procedure to upgrade your packages. If not, |
| skip to step <xref linkend="upgrade-rpm-packages-40to41"/>.</para> |
| <note> |
| <title>Community Packages</title> |
| <para>This section assumes you're using the community supplied packages for &PRODUCT;. |
| If you've created your own packages and APT repository, substitute your own URL for |
| the ones used in these examples.</para> |
| </note> |
| <orderedlist id="debsteps-40to41"> |
| <listitem> |
| <para>The first order of business will be to change the sources list for each system |
| with &PRODUCT; 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.)</para> |
| <para>Start by opening <filename>/etc/apt/sources.list.d/cloudstack.list</filename> on |
| any systems that have &PRODUCT; packages installed.</para> |
| <para>This file should have one line, which contains:</para> |
| <programlisting language="Bash">deb http://cloudstack.apt-get.eu/ubuntu precise 4.0</programlisting> |
| <para>We'll change it to point to the new package repository:</para> |
| <programlisting language="Bash">deb http://cloudstack.apt-get.eu/ubuntu precise 4.1</programlisting> |
| <para>If you're using your own package repository, change this line to read as |
| appropriate for your 4.1.0 repository.</para> |
| </listitem> |
| <listitem> |
| <para>Now update your apt package list:</para> |
| <programlisting language="Bash">$ sudo apt-get update</programlisting> |
| </listitem> |
| <listitem id="deb-master-40to41"> |
| <para>Now that you have the repository configured, it's time to install the |
| <filename>cloudstack-management</filename> package. This will pull in any other |
| dependencies you need.</para> |
| <programlisting language="Bash">$ sudo apt-get install cloudstack-management</programlisting> |
| </listitem> |
| <listitem id="kvm-agent-deb-40to41"> |
| <para>You will need to manually install the <filename>cloudstack-agent</filename> |
| package:</para> |
| <programlisting language="Bash">$ sudo apt-get install cloudstack-agent</programlisting> |
| <para>During the installation of <filename>cloudstack-agent</filename>, APT will copy |
| your <filename>agent.properties</filename>, <filename>log4j-cloud.xml</filename>, |
| and <filename>environment.properties</filename> from |
| <filename>/etc/cloud/agent</filename> to |
| <filename>/etc/cloudstack/agent</filename>.</para> |
| <para>When prompted whether you wish to keep your configuration, say Yes.</para> |
| </listitem> |
| <listitem> |
| <para>Verify that the file |
| <filename>/etc/cloudstack/agent/environment.properties</filename> has a line that |
| reads:</para> |
| <programlisting language="Bash">paths.script=/usr/share/cloudstack-common</programlisting> |
| <para>If not, add the line.</para> |
| </listitem> |
| <listitem> |
| <para>Restart the agent:</para> |
| <programlisting language="Bash"> |
| service cloud-agent stop |
| killall jsvc |
| service cloudstack-agent start |
| </programlisting> |
| </listitem> |
| <listitem> |
| <para>During the upgrade, <filename>log4j-cloud.xml</filename> was simply copied over, |
| so the logs will continue to be added to |
| <filename>/var/log/cloud/agent/agent.log</filename>. There's nothing |
| <emphasis>wrong</emphasis> with this, but if you prefer to be consistent, you can |
| change this by copying over the sample configuration file:</para> |
| <programlisting language="Bash"> |
| cd /etc/cloudstack/agent |
| mv log4j-cloud.xml.dpkg-dist log4j-cloud.xml |
| service cloudstack-agent restart |
| </programlisting> |
| </listitem> |
| <listitem> |
| <para>Once the agent is running, you can uninstall the old cloud-* packages from your |
| system:</para> |
| <programlisting language="Bash">sudo dpkg --purge cloud-agent</programlisting> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem id="upgrade-rpm-packages-40to41"> |
| <para>If you are using CentOS or RHEL, follow this procedure to upgrade your packages. If |
| not, skip to step <xref linkend="restart-system-vms-40to41"/>.</para> |
| <note> |
| <title>Community Packages</title> |
| <para>This section assumes you're using the community supplied packages for &PRODUCT;. |
| If you've created your own packages and yum repository, substitute your own URL for |
| the ones used in these examples.</para> |
| </note> |
| <orderedlist id="rpmsteps-40to41"> |
| <listitem> |
| <para>The first order of business will be to change the yum repository for each system |
| with &PRODUCT; 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.)</para> |
| <para>Start by opening <filename>/etc/yum.repos.d/cloudstack.repo</filename> on any |
| systems that have &PRODUCT; packages installed.</para> |
| <para>This file should have content similar to the following:</para> |
| <programlisting language="Bash"> |
| [apache-cloudstack] |
| name=Apache CloudStack |
| baseurl=http://cloudstack.apt-get.eu/rhel/4.0/ |
| enabled=1 |
| gpgcheck=0 |
| </programlisting> |
| <para>If you are using the community provided package repository, change the baseurl |
| to http://cloudstack.apt-get.eu/rhel/4.1/</para> |
| <para>If you're using your own package repository, change this line to read as |
| appropriate for your 4.2.1 repository.</para> |
| </listitem> |
| <listitem id="rpm-master-40to41"> |
| <para>Now that you have the repository configured, it's time to install the |
| <filename>cloudstack-management</filename> package by upgrading the older |
| <filename>cloud-client</filename> package.</para> |
| <programlisting language="Bash">$ sudo yum upgrade cloud-client</programlisting> |
| </listitem> |
| <listitem id="kvm-agent-rpm-40to41"> |
| <para>For KVM hosts, you will need to upgrade the <filename>cloud-agent</filename> |
| package, similarly installing the new version as |
| <filename>cloudstack-agent</filename>.</para> |
| <programlisting language="Bash">$ sudo yum upgrade cloud-agent</programlisting> |
| <para>During the installation of <filename>cloudstack-agent</filename>, the RPM will |
| copy your <filename>agent.properties</filename>, |
| <filename>log4j-cloud.xml</filename>, and |
| <filename>environment.properties</filename> from |
| <filename>/etc/cloud/agent</filename> to |
| <filename>/etc/cloudstack/agent</filename>.</para> |
| </listitem> |
| <listitem> |
| <para>Verify that the file |
| <filename>/etc/cloudstack/agent/environment.properties</filename> has a line that |
| reads:</para> |
| <programlisting language="Bash">paths.script=/usr/share/cloudstack-common</programlisting> |
| <para>If not, add the line.</para> |
| </listitem> |
| <listitem> |
| <para>Restart the agent:</para> |
| <programlisting language="Bash"> |
| service cloud-agent stop |
| killall jsvc |
| service cloudstack-agent start |
| </programlisting> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem id="restart-system-vms-40to41"> |
| <para>Once you've upgraded the packages on your management servers, you'll need to restart |
| the system VMs. Make sure port 8096 is open in your local host firewall to do |
| this.</para> |
| <para>There is a script that will do this for you, all you need to do is run the script |
| and supply the IP address for your MySQL instance and your MySQL credentials:</para> |
| <programlisting language="Bash"><prompt>#</prompt> nohup cloudstack-sysvmadm -d <replaceable>IP address</replaceable> -u cloud -p -a > sysvm.log 2>&1 &</programlisting> |
| <para>You can monitor the log for progress. The process of restarting the system VMs can |
| take an hour or more.</para> |
| <programlisting language="Bash"><prompt>#</prompt> tail -f sysvm.log</programlisting> |
| <para>The output to <filename>sysvm.log</filename> will look something like this:</para> |
| <programlisting language="Bash"> |
| Stopping and starting 1 secondary storage vm(s)... |
| Done stopping and starting secondary storage vm(s) |
| Stopping and starting 1 console proxy vm(s)... |
| Done stopping and starting console proxy vm(s). |
| Stopping and starting 4 running routing vm(s)... |
| Done restarting router(s). |
| </programlisting> |
| </listitem> |
| <listitem> |
| <note> |
| <title>For Xen Hosts: Copy vhd-utils</title> |
| <para>This step is only for CloudStack installs that are using Xen hosts.</para> |
| </note> |
| <para>Copy the file <filename>vhd-utils</filename> to |
| <filename>/usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver</filename>.</para> |
| </listitem> |
| </orderedlist> |
| </section> |
| <section id="upgrade-from-3.0.x-to-4.2.1"> |
| <title>Upgrade from 3.0.x to 4.2.1</title> |
| <para>This section will guide you from Citrix CloudStack 3.0.x to Apache CloudStack 4.2.1. |
| Sections that are hypervisor-specific will be called out with a note.</para> |
| <orderedlist> |
| <listitem> |
| <note> |
| <para>The following upgrade instructions should be performed regardless of hypervisor |
| type.</para> |
| </note> |
| <orderedlist numeration="loweralpha"> |
| <listitem> |
| <para>While running the existing 3.0.x system, log in to the UI as root |
| administrator.</para> |
| </listitem> |
| <listitem> |
| <para>In the left navigation bar, click Templates.</para> |
| </listitem> |
| <listitem> |
| <para>In Select view, click Templates.</para> |
| </listitem> |
| <listitem> |
| <para>Click Register template.</para> |
| <para>The Register template dialog box is displayed.</para> |
| </listitem> |
| <listitem> |
| <para>In the Register template dialog box, specify the following values (do not change |
| these):</para> |
| <informaltable> |
| <tgroup cols="2" align="left" colsep="1" rowsep="1"> |
| <colspec colwidth="1*" colname="1" colnum="1"/> |
| <colspec colwidth="2*" colname="2" colnum="2"/> |
| <thead> |
| <row> |
| <entry><para>Hypervisor</para></entry> |
| <entry><para>Description</para></entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry><para>XenServer</para></entry> |
| <entry><para>Name: systemvm-xenserver-4.2</para> |
| <para>Description: systemvm-xenserver-4.2</para> |
| <para>URL:http://download.cloud.com/templates/4.2/systemvmtemplate-2013-07-12-master-xen.vhd.bz2 </para> |
| <para>Zone: Choose the zone where this hypervisor is used</para> |
| <para>Hypervisor: XenServer</para> |
| <para>Format: VHD</para> |
| <para>OS Type: Debian GNU/Linux 7.0 (32-bit) (or the highest Debian release |
| number available in the dropdown)</para> |
| <para>Extractable: no</para> |
| <para>Password Enabled: no</para> |
| <para>Public: no</para> |
| <para>Featured: no</para> |
| </entry> |
| </row> |
| <row> |
| <entry><para>KVM</para></entry> |
| <entry><para>Name: systemvm-kvm-4.2</para> |
| <para>Description: systemvm-kvm-4.2</para> |
| <para>URL: |
| http://download.cloud.com/templates/4.2/systemvmtemplate-2013-06-12-master-kvm.qcow2.bz2</para> |
| <para>Zone: Choose the zone where this hypervisor is used</para> |
| <para>Hypervisor: KVM</para> |
| <para>Format: QCOW2</para> |
| <para>OS Type: Debian GNU/Linux 7.0 (32-bit) (or the highest Debian release |
| number available in the dropdown)</para> |
| <para>Extractable: no</para> |
| <para>Password Enabled: no</para> |
| <para>Public: no</para> |
| <para>Featured: no</para> |
| </entry> |
| </row> |
| <row> |
| <entry><para>VMware</para></entry> |
| <entry><para>Name: systemvm-vmware-4.2</para> |
| <para>Description: systemvm-vmware-4.2</para> |
| <para>URL: |
| http://download.cloud.com/templates/4.2/systemvmtemplate-4.2-vh7.ova</para> |
| <para>Zone: Choose the zone where this hypervisor is used</para> |
| <para>Hypervisor: VMware</para> |
| <para>Format: OVA</para> |
| <para>OS Type: Debian GNU/Linux 7.0 (32-bit) (or the highest Debian release |
| number available in the dropdown)</para> |
| <para>Extractable: no</para> |
| <para>Password Enabled: no</para> |
| <para>Public: no</para> |
| <para>Featured: no</para> |
| </entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </informaltable> |
| </listitem> |
| <listitem> |
| <para>Watch the screen to be sure that the template downloads successfully and enters |
| the READY state. Do not proceed until this is successful.</para> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem> |
| <para>(KVM on RHEL 6.0/6.1 only) If your existing &PRODUCT; deployment includes one or |
| more clusters of KVM hosts running RHEL 6.0 or RHEL 6.1, perform the following:</para> |
| <orderedlist numeration="loweralpha"> |
| <listitem> |
| <para>Ensure that you upgrade the operating system version on those hosts before |
| upgrading &PRODUCT;</para> |
| <para>To do that, change the yum repository for each system with &PRODUCT; packages, |
| that implies that all the Management Servers and any hosts that have the KVM agent. |
| </para> |
| </listitem> |
| <listitem> |
| <para>Open <filename>/etc/yum.repos.d/cloudstack.repo</filename> on any systems that |
| have &PRODUCT; packages installed.</para> |
| </listitem> |
| <listitem> |
| <para>Edit as follows:</para> |
| <programlisting> |
| [upgrade] |
| name=rhel63 |
| baseurl=url-of-your-rhel6.3-repo |
| enabled=1 |
| gpgcheck=0 |
| [apache CloudStack] |
| name= Apache CloudStack |
| baseurl= http://cloudstack.apt-get.eu/rhel/4.0/ |
| enabled=1 |
| gpgcheck=0</programlisting> |
| <para>If you are using the community provided package repository, change the baseurl |
| to http:// cloudstack.apt-get.eu/rhel/4.2/</para> |
| <para>If you are using your own package repository, change this line to read as |
| appropriate for your 4.2.0 repository.</para> |
| </listitem> |
| <listitem> |
| <para>Now that you have the repository configured, upgrade the host operating system |
| from RHEL 6.0 to 6.3:</para> |
| <programlisting># yum upgrade</programlisting> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem id="stopping-usage-servers"> |
| <para>Stop all Usage Servers if running. Run this on all Usage Server hosts.</para> |
| <programlisting language="Bash"><prompt>#</prompt> service cloud-usage stop</programlisting> |
| </listitem> |
| <listitem> |
| <para>Stop the Management Servers. Run this on all Management Server hosts.</para> |
| <programlisting language="Bash"><prompt>#</prompt> service cloud-management stop</programlisting> |
| </listitem> |
| <listitem> |
| <para>On the MySQL master, take a backup of the MySQL databases. We recommend performing |
| this step even in test upgrades. If there is an issue, this will assist with |
| debugging.</para> |
| <para>In the following commands, it is assumed that you have set the root password on the |
| database, which is a CloudStack recommended best practice. Substitute your own MySQL |
| root password.</para> |
| <programlisting><prompt>#</prompt> <command>mysqldump</command> -u root -p<replaceable>mysql_password</replaceable> cloud > <filename>cloud-backup.dmp</filename> |
| <prompt>#</prompt> <command>mysqldump</command> -u root -p<replaceable>mysql_password</replaceable> cloud_usage > <filename>cloud-usage-backup.dmp</filename></programlisting> |
| </listitem> |
| <listitem> |
| <para>Either build RPM/DEB packages as detailed in the Installation Guide, or use one of |
| the community provided yum/apt repositories to gain access to the &PRODUCT; |
| binaries.</para> |
| </listitem> |
| <listitem id="upgrade-deb-packages-302"> |
| <para>If you are using Ubuntu, follow this procedure to upgrade your packages. If not, |
| skip to step <xref linkend="upgrade-rpm-packages-302"/>.</para> |
| <note> |
| <title>Community Packages</title> |
| <para>This section assumes you're using the community supplied packages for &PRODUCT;. |
| If you've created your own packages and APT repository, substitute your own URL for |
| the ones used in these examples.</para> |
| </note> |
| <orderedlist numeration="loweralpha" id="debsteps-302"> |
| <listitem> |
| <para>The first order of business will be to change the sources list for each system |
| with &PRODUCT; 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.)</para> |
| <para>Start by opening <filename>/etc/apt/sources.list.d/cloudstack.list</filename> on |
| any systems that have &PRODUCT; packages installed.</para> |
| <para>This file should have one line, which contains:</para> |
| <programlisting language="Bash">deb http://cloudstack.apt-get.eu/ubuntu precise 4.0</programlisting> |
| <para>We'll change it to point to the new package repository:</para> |
| <programlisting language="Bash">deb http://cloudstack.apt-get.eu/ubuntu precise 4.2</programlisting> |
| <para>If you're using your own package repository, change this line to read as |
| appropriate for your 4.2.1 repository.</para> |
| </listitem> |
| <listitem> |
| <para>Now update your apt package list:</para> |
| <programlisting language="Bash">$ sudo apt-get update</programlisting> |
| </listitem> |
| <listitem id="deb-master-302"> |
| <para>Now that you have the repository configured, it's time to install the |
| <filename>cloudstack-management</filename> package. This will pull in any other |
| dependencies you need.</para> |
| <programlisting language="Bash">$ sudo apt-get install cloudstack-management</programlisting> |
| </listitem> |
| <listitem id="kvm-agent-deb-302"> |
| <para>You will need to manually install the <filename>cloudstack-agent</filename> |
| package:</para> |
| <programlisting language="Bash">$ sudo apt-get install cloudstack-agent</programlisting> |
| <para>During the installation of <filename>cloudstack-agent</filename>, APT will copy |
| your <filename>agent.properties</filename>, <filename>log4j-cloud.xml</filename>, |
| and <filename>environment.properties</filename> from |
| <filename>/etc/cloud/agent</filename> to |
| <filename>/etc/cloudstack/agent</filename>.</para> |
| <para>When prompted whether you wish to keep your configuration, say Yes.</para> |
| </listitem> |
| <listitem> |
| <para>Verify that the file |
| <filename>/etc/cloudstack/agent/environment.properties</filename> has a line that |
| reads:</para> |
| <programlisting language="Bash">paths.script=/usr/share/cloudstack-common</programlisting> |
| <para>If not, add the line.</para> |
| </listitem> |
| <listitem> |
| <para>Restart the agent:</para> |
| <programlisting language="Bash"> |
| service cloud-agent stop |
| killall jsvc |
| service cloudstack-agent start |
| </programlisting> |
| </listitem> |
| <listitem> |
| <para>During the upgrade, <filename>log4j-cloud.xml</filename> was simply copied over, |
| so the logs will continue to be added to |
| <filename>/var/log/cloud/agent/agent.log</filename>. There's nothing |
| <emphasis>wrong</emphasis> with this, but if you prefer to be consistent, you can |
| change this by copying over the sample configuration file:</para> |
| <programlisting language="Bash"> |
| cd /etc/cloudstack/agent |
| mv log4j-cloud.xml.dpkg-dist log4j-cloud.xml |
| service cloudstack-agent restart |
| </programlisting> |
| </listitem> |
| <listitem> |
| <para>Once the agent is running, you can uninstall the old cloud-* packages from your |
| system:</para> |
| <programlisting language="Bash">sudo dpkg --purge cloud-agent</programlisting> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem id="upgrade-rpm-packages-302"> |
| <para>If you are using CentOS or RHEL, follow this procedure to upgrade your packages. If |
| not, skip to step <xref linkend="correct-components-xml-302"/>.</para> |
| <note> |
| <title>Community Packages</title> |
| <para>This section assumes you're using the community supplied packages for &PRODUCT;. |
| If you've created your own packages and yum repository, substitute your own URL for |
| the ones used in these examples.</para> |
| </note> |
| <orderedlist numeration="loweralpha" id="rpmsteps-302"> |
| <listitem> |
| <para>The first order of business will be to change the yum repository for each system |
| with &PRODUCT; 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.)</para> |
| <para>Start by opening <filename>/etc/yum.repos.d/cloudstack.repo</filename> on any |
| systems that have &PRODUCT; packages installed.</para> |
| <para>This file should have content similar to the following:</para> |
| <programlisting language="Bash"> |
| [apache-cloudstack] |
| name=Apache CloudStack |
| baseurl=http://cloudstack.apt-get.eu/rhel/4.0/ |
| enabled=1 |
| gpgcheck=0 |
| </programlisting> |
| <para>If you are using the community provided package repository, change the baseurl |
| to http://cloudstack.apt-get.eu/rhel/4.2/</para> |
| <para>If you're using your own package repository, change this line to read as |
| appropriate for your 4.2.0 repository.</para> |
| </listitem> |
| <listitem id="rpm-master-302"> |
| <para>Now that you have the repository configured, it's time to install the |
| <filename>cloudstack-management</filename> package by upgrading the older |
| <filename>cloud-client</filename> package.</para> |
| <programlisting language="Bash">$ sudo yum upgrade cloud-client</programlisting> |
| </listitem> |
| <listitem id="kvm-agent-rpm-302"> |
| <para>For KVM hosts, you will need to upgrade the <filename>cloud-agent</filename> |
| package, similarly installing the new version as |
| <filename>cloudstack-agent</filename>.</para> |
| <programlisting language="Bash">$ sudo yum upgrade cloud-agent</programlisting> |
| <para>During the installation of <filename>cloudstack-agent</filename>, the RPM will |
| copy your <filename>agent.properties</filename>, |
| <filename>log4j-cloud.xml</filename>, and |
| <filename>environment.properties</filename> from |
| <filename>/etc/cloud/agent</filename> to |
| <filename>/etc/cloudstack/agent</filename>.</para> |
| </listitem> |
| <listitem> |
| <para>Verify that the file |
| <filename>/etc/cloudstack/agent/environment.properties</filename> has a line that |
| reads:</para> |
| <programlisting language="Bash">paths.script=/usr/share/cloudstack-common</programlisting> |
| <para>If not, add the line.</para> |
| </listitem> |
| <listitem> |
| <para>Restart the agent:</para> |
| <programlisting language="Bash"> |
| service cloud-agent stop |
| killall jsvc |
| service cloudstack-agent start |
| </programlisting> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem id="correct-components-xml-302"> |
| <para>If you have made changes to your copy of |
| <filename>/etc/cloud/management/components.xml</filename> the changes will be |
| preserved in the upgrade. However, you need to do the following steps to place these |
| changes in a new version of the file which is compatible with version 4.2.0.</para> |
| <orderedlist numeration="loweralpha"> |
| <listitem> |
| <para>Make a backup copy of <filename>/etc/cloud/management/components.xml</filename>. |
| For example:</para> |
| <programlisting># mv /etc/cloud/management/components.xml /etc/cloud/management/components.xml-backup</programlisting> |
| </listitem> |
| <listitem> |
| <para>Copy <filename>/etc/cloud/management/components.xml.rpmnew</filename> to create |
| a new <filename>/etc/cloud/management/components.xml</filename>:</para> |
| <programlisting># cp -ap /etc/cloud/management/components.xml.rpmnew /etc/cloud/management/components.xml</programlisting> |
| </listitem> |
| <listitem> |
| <para>Merge your changes from the backup file into the new |
| <filename>components.xml</filename>.</para> |
| <programlisting># vi /etc/cloudstack/management/components.xml</programlisting> |
| </listitem> |
| </orderedlist> |
| <note> |
| <para>If you have more than one management server node, repeat the upgrade steps on each |
| node.</para> |
| </note> |
| </listitem> |
| <listitem> |
| <para>After upgrading to 4.2.1, API clients are expected to send plain text passwords for |
| login and user creation, instead of MD5 hash. Incase, api client changes are not |
| acceptable, following changes are to be made for backward compatibility:</para> |
| <para>Modify componentContext.xml, and make PlainTextUserAuthenticator as the default |
| authenticator (1st entry in the userAuthenticators adapter list is default)</para> |
| <programlisting language="XML"> |
| <!-- Security adapters --> |
| <bean id="userAuthenticators" class="com.cloud.utils.component.AdapterList"> |
| <property name="Adapters"> |
| <list> |
| <ref bean="PlainTextUserAuthenticator"/> |
| <ref bean="MD5UserAuthenticator"/> |
| <ref bean="LDAPUserAuthenticator"/> |
| </list> |
| </property> |
| </bean> |
| </programlisting> |
| <para>PlainTextUserAuthenticator works the same way MD5UserAuthenticator worked prior to |
| 4.2.1</para> |
| </listitem> |
| <listitem> |
| <para>Start the first Management Server. Do not start any other Management Server nodes |
| yet.</para> |
| <programlisting language="Bash"><prompt>#</prompt> service cloudstack-management start</programlisting> |
| <para>Wait until the databases are upgraded. Ensure that the database upgrade is complete. |
| After confirmation, start the other Management Servers one at a time by running the same |
| command on each node.</para> |
| <note> |
| <para>Failing to restart the Management Server indicates a problem in the upgrade. |
| Having the Management Server restarted without any issues indicates that the upgrade |
| is successfully completed.</para> |
| </note> |
| </listitem> |
| <listitem> |
| <para>Start all Usage Servers (if they were running on your previous version). Perform |
| this on each Usage Server host.</para> |
| <para><command># service cloudstack-usage start</command></para> |
| </listitem> |
| <listitem> |
| <para>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.</para> |
| <orderedlist numeration="loweralpha"> |
| <listitem> |
| <para>Configure a yum or apt repository containing the &PRODUCT; packages as outlined |
| in the Installation Guide.</para> |
| </listitem> |
| <listitem> |
| <para>Stop the running agent.</para> |
| <para><command># service cloud-agent stop</command></para> |
| </listitem> |
| <listitem> |
| <para>Update the agent software with one of the following command sets as appropriate |
| for your environment.</para> |
| <para><command># yum update cloud-*</command></para> |
| <para><command># apt-get update</command></para> |
| <para><command># apt-get upgrade cloud-*</command></para> |
| </listitem> |
| <listitem> |
| <para>Edit <filename>/etc/cloudstack/agent/agent.properties</filename> to change the |
| resource parameter from |
| "com.cloud.agent.resource.computing.LibvirtComputingResource" to |
| "com.cloud.hypervisor.kvm.resource.LibvirtComputingResource".</para> |
| </listitem> |
| <listitem> |
| <para>Upgrade all the existing bridge names to new bridge names by running this |
| script:</para> |
| <programlisting> # cloudstack-agent-upgrade</programlisting> |
| </listitem> |
| <listitem> |
| <para> Install a libvirt hook with the following commands:</para> |
| <programlisting> # mkdir /etc/libvirt/hooks |
| # cp /usr/share/cloudstack-agent/lib/libvirtqemuhook /etc/libvirt/hooks/qemu |
| # chmod +x /etc/libvirt/hooks/qemu</programlisting> |
| </listitem> |
| <listitem> |
| <para>Restart libvirtd.</para> |
| <programlisting># service libvirtd restart</programlisting> |
| </listitem> |
| <listitem> |
| <para>Start the agent.</para> |
| <programlisting># service cloudstack-agent start</programlisting> |
| </listitem> |
| <listitem> |
| <para>When the Management Server is up and running, log in to the &PRODUCT; UI and |
| restart the virtual router for proper functioning of all the features.</para> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem> |
| <para>Log in to the CloudStack UI as administrator, and check the status of the hosts. All |
| hosts should come to Up state (except those that you know to be offline). You may need |
| to wait 20 or 30 minutes, depending on the number of hosts.</para> |
| <note> |
| <para>Troubleshooting: If login fails, clear your browser cache and reload the |
| page.</para> |
| </note> |
| <para>Do not proceed to the next step until the hosts show in Up state.</para> |
| </listitem> |
| <listitem> |
| <para>If you are upgrading from 3.0.x, perform the following:</para> |
| <orderedlist numeration="loweralpha"> |
| <listitem> |
| <para>Ensure that the admin port is set to 8096 by using the "integration.api.port" |
| global parameter.</para> |
| <para>This port is used by the cloud-sysvmadm script at the end of the upgrade |
| procedure. For information about how to set this parameter, see "Setting Global |
| Configuration Parameters" in the Installation Guide.</para> |
| </listitem> |
| <listitem> |
| <para>Restart the Management Server.</para> |
| <note> |
| <para>If you don't want the admin port to remain open, you can set it to null after |
| the upgrade is done and restart the management server.</para> |
| </note> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem> |
| <para>Run the <command>cloudstack-sysvmadm</command> script to stop, then start, all |
| Secondary Storage VMs, Console Proxy VMs, and virtual routers. Run the script once on |
| each management server. Substitute your own IP address of the MySQL instance, the MySQL |
| user to connect as, and the password to use for that user. In addition to those |
| parameters, provide the <command>-c</command> and <command>-r</command> arguments. For |
| example:</para> |
| <para><command># nohup cloudstack-sysvmadm -d 192.168.1.5 -u cloud -p password -c -r > |
| sysvm.log 2>&1 &</command></para> |
| <para><command># tail -f sysvm.log</command></para> |
| <para>This might take up to an hour or more to run, depending on the number of accounts in |
| the system.</para> |
| </listitem> |
| <listitem> |
| <para>If needed, upgrade all Citrix XenServer hypervisor hosts in your cloud to a version |
| supported by CloudStack 4.2.1. The supported versions are XenServer 5.6 SP2 and 6.0.2. |
| Instructions for upgrade can be found in the CloudStack 4.2.1 Installation Guide under |
| "Upgrading XenServer Versions."</para> |
| </listitem> |
| <listitem> |
| <para>Now apply the XenServer hotfix XS602E003 (and any other needed hotfixes) to |
| XenServer v6.0.2 hypervisor hosts.</para> |
| <orderedlist numeration="loweralpha"> |
| <listitem> |
| <para>Disconnect the XenServer cluster from CloudStack.</para> |
| <para>In the left navigation bar of the CloudStack UI, select Infrastructure. Under |
| Clusters, click View All. Select the XenServer cluster and click Actions - |
| Unmanage.</para> |
| <para>This may fail if there are hosts not in one of the states Up, Down, |
| Disconnected, or Alert. You may need to fix that before unmanaging this |
| cluster.</para> |
| <para>Wait until the status of the cluster has reached Unmanaged. Use the CloudStack |
| UI to check on the status. When the cluster is in the unmanaged state, there is no |
| connection to the hosts in the cluster.</para> |
| </listitem> |
| <listitem> |
| <para>To clean up the VLAN, log in to one XenServer host and run:</para> |
| <para><command>/opt/xensource/bin/cloud-clean-vlan.sh</command></para> |
| </listitem> |
| <listitem> |
| <para>Now prepare the upgrade by running the following on one XenServer host:</para> |
| <para><command>/opt/xensource/bin/cloud-prepare-upgrade.sh</command></para> |
| <para>If you see a message like "can't eject CD", log in to the VM and unmount the CD, |
| then run this script again.</para> |
| </listitem> |
| <listitem> |
| <para>Upload the hotfix to the XenServer hosts. Always start with the Xen pool master, |
| then the slaves. Using your favorite file copy utility (e.g. WinSCP), copy the |
| hotfixes to the host. Place them in a temporary folder such as /tmp. </para> |
| <para>On the Xen pool master, upload the hotfix with this command:</para> |
| <para><command>xe patch-upload file-name=XS602E003.xsupdate</command></para> |
| <para>Make a note of the output from this command, which is a UUID for the hotfix |
| file. You'll need it in another step later.</para> |
| <note> |
| <para>(Optional) If you are applying other hotfixes as well, you can repeat the |
| commands in this section with the appropriate hotfix number. For example, |
| XS602E004.xsupdate.</para> |
| </note> |
| </listitem> |
| <listitem> |
| <para>Manually live migrate all VMs on this host to another host. First, get a list of |
| the VMs on this host:</para> |
| <para><command># xe vm-list</command></para> |
| <para>Then use this command to migrate each VM. Replace the example host name and VM |
| name with your own:</para> |
| <para><command># xe vm-migrate live=true host=<replaceable>host-name</replaceable> |
| vm=<replaceable>VM-name</replaceable></command></para> |
| <note> |
| <title>Troubleshooting</title> |
| <para>If you see a message like "You attempted an operation on a VM which requires |
| PV drivers to be installed but the drivers were not detected," run:</para> |
| <para><command>/opt/xensource/bin/make_migratable.sh |
| b6cf79c8-02ee-050b-922f-49583d9f1a14</command>.</para> |
| </note> |
| </listitem> |
| <listitem> |
| <para>Apply the hotfix. First, get the UUID of this host:</para> |
| <programlisting># xe host-list</programlisting> |
| <para>Then use the following command to apply the hotfix. Replace the example host |
| UUID with the current host ID, and replace the hotfix UUID with the output from the |
| patch-upload command you ran on this machine earlier. You can also get the hotfix |
| UUID by running xe patch-list. </para> |
| <programlisting><command>xe</command> patch-apply host-uuid=<replaceable>host-uuid</replaceable> uuid=<replaceable>hotfix-uuid</replaceable></programlisting> |
| </listitem> |
| <listitem> |
| <para>Copy the following files from the CloudStack Management Server to the |
| host.</para> |
| <informaltable> |
| <tgroup cols="2" align="left" colsep="1" rowsep="1"> |
| <colspec colwidth="1*" colname="1" colnum="1"/> |
| <colspec colwidth="2*" colname="2" colnum="2"/> |
| <thead> |
| <row> |
| <entry><para>Copy from here...</para></entry> |
| <entry><para>...to here</para></entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry><para>/usr/lib64/cloud/common/scripts/vm/hypervisor/xenserver/xenserver60/NFSSR.py</para></entry> |
| <entry><para>/opt/xensource/sm/NFSSR.py</para></entry> |
| </row> |
| <row> |
| <entry><para>/usr/lib64/cloud/common/scripts/vm/hypervisor/xenserver/setupxenserver.sh</para></entry> |
| <entry><para>/opt/xensource/bin/setupxenserver.sh</para></entry> |
| </row> |
| <row> |
| <entry><para>/usr/lib64/cloud/common/scripts/vm/hypervisor/xenserver/make_migratable.sh</para></entry> |
| <entry><para>/opt/xensource/bin/make_migratable.sh</para></entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </informaltable> |
| </listitem> |
| <listitem> |
| <para>(Only for hotfixes XS602E005 and XS602E007) You need to apply a new Cloud |
| Support Pack.</para> |
| <itemizedlist> |
| <listitem> |
| <para>Download the CSP software onto the XenServer host from one of the following |
| links:</para> |
| <para>For hotfix XS602E005: <ulink |
| url="http://coltrane.eng.hq.xensource.com/release/XenServer-6.x/XS-6.0.2/hotfixes/XS602E005/56710/xe-phase-2/xenserver-cloud-supp.tgz" |
| >http://coltrane.eng.hq.xensource.com/release/XenServer-6.x/XS-6.0.2/hotfixes/XS602E005/56710/xe-phase-2/xenserver-cloud-supp.tgz</ulink></para> |
| <para>For hotfix XS602E007: <ulink |
| url="http://coltrane.eng.hq.xensource.com/release/XenServer-6.x/XS-6.0.2/hotfixes/XS602E007/57824/xe-phase-2/xenserver-cloud-supp.tgz" |
| >http://coltrane.eng.hq.xensource.com/release/XenServer-6.x/XS-6.0.2/hotfixes/XS602E007/57824/xe-phase-2/xenserver-cloud-supp.tgz</ulink></para> |
| </listitem> |
| <listitem> |
| <para>Extract the file:</para> |
| <programlisting># tar xf xenserver-cloud-supp.tgz</programlisting> |
| </listitem> |
| <listitem> |
| <para>Run the following script:</para> |
| <programlisting># xe-install-supplemental-pack xenserver-cloud-supp.iso</programlisting> |
| </listitem> |
| <listitem> |
| <para>If the XenServer host is part of a zone that uses basic networking, disable |
| Open vSwitch (OVS):</para> |
| <programlisting># xe-switch-network-backend bridge</programlisting> |
| </listitem> |
| </itemizedlist> |
| </listitem> |
| <listitem> |
| <para>Reboot this XenServer host.</para> |
| </listitem> |
| <listitem> |
| <para>Run the following:</para> |
| <programlisting>/opt/xensource/bin/setupxenserver.sh</programlisting> |
| <note> |
| <para>If the message "mv: cannot stat `/etc/cron.daily/logrotate': No such file or |
| directory" appears, you can safely ignore it.</para> |
| </note> |
| </listitem> |
| <listitem> |
| <para>Run the following:</para> |
| <programlisting>for pbd in `xe pbd-list currently-attached=false| grep ^uuid | awk '{print $NF}'`; do xe pbd-plug uuid=$pbd ; </programlisting> |
| </listitem> |
| <listitem> |
| <para>On each slave host in the Xen pool, repeat these steps, starting from "manually |
| live migrate VMs."</para> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| </orderedlist> |
| <note> |
| <title>Troubleshooting Tip</title> |
| <para>If passwords which you know to be valid appear not to work after upgrade, or other UI |
| issues are seen, try clearing your browser cache and reloading the UI page.</para> |
| </note> |
| </section> |
| <section id="upgrade-from-2.2.x-to-4.2.1"> |
| <title>Upgrade from 2.2.14 to 4.2.1</title> |
| <orderedlist> |
| <listitem> |
| <para>Ensure that you query your IPaddress usage records and process them; for example, |
| issue invoices for any usage that you have not yet billed users for.</para> |
| <para>Starting in 3.0.2, the usage record format for IP addresses is the same as the rest |
| of the usage types. Instead of a single record with the assignment and release dates, |
| separate records are generated per aggregation period with start and end dates. After |
| upgrading to 4.2.1, any existing IP address usage records in the old format will no |
| longer be available.</para> |
| </listitem> |
| <listitem> |
| <para>If you are using version 2.2.0 - 2.2.13, first upgrade to 2.2.14 by using the |
| instructions in the <ulink |
| url="http://download.cloud.com/releases/2.2.0/CloudStack2.2.14ReleaseNotes.pdf">2.2.14 |
| Release Notes</ulink>.</para> |
| <warning> |
| <title>KVM Hosts</title> |
| <para>If KVM hypervisor is used in your cloud, be sure you completed the step to insert |
| a valid username and password into the host_details table on each KVM node as |
| described in the 2.2.14 Release Notes. This step is critical, as the database will be |
| encrypted after the upgrade to 4.2.1.</para> |
| </warning> |
| </listitem> |
| <listitem> |
| <para>While running the 2.2.14 system, log in to the UI as root administrator.</para> |
| </listitem> |
| <listitem> |
| <para>Using the UI, add a new System VM template for each hypervisor type that is used in |
| your cloud. In each zone, add a system VM template for each hypervisor used in that |
| zone</para> |
| <orderedlist> |
| <listitem> |
| <para>In the left navigation bar, click Templates.</para> |
| </listitem> |
| <listitem> |
| <para>In Select view, click Templates.</para> |
| </listitem> |
| <listitem> |
| <para>Click Register template.</para> |
| <para>The Register template dialog box is displayed.</para> |
| </listitem> |
| <listitem> |
| <para>In the Register template dialog box, specify the following values depending on |
| the hypervisor type (do not change these):</para> |
| <informaltable> |
| <tgroup cols="2" align="left" colsep="1" rowsep="1"> |
| <colspec colwidth="1*" colname="1" colnum="1"/> |
| <colspec colwidth="2*" colname="2" colnum="2"/> |
| <thead> |
| <row> |
| <entry><para>Hypervisor</para></entry> |
| <entry><para>Description</para></entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry><para>XenServer</para></entry> |
| <entry><para>Name: systemvm-xenserver-4.2</para> |
| <para>Description: systemvm-xenserver-4.2</para> |
| <para>URL:http://download.cloud.com/templates/4.2/systemvmtemplate-2013-07-12-master-xen.vhd.bz2 </para> |
| <para>Zone: Choose the zone where this hypervisor is used</para> |
| <para>Hypervisor: XenServer</para> |
| <para>Format: VHD</para> |
| <para>OS Type: Debian GNU/Linux 7.0 (32-bit) (or the highest Debian release |
| number available in the dropdown)</para> |
| <para>Extractable: no</para> |
| <para>Password Enabled: no</para> |
| <para>Public: no</para> |
| <para>Featured: no</para> |
| </entry> |
| </row> |
| <row> |
| <entry><para>KVM</para></entry> |
| <entry><para>Name: systemvm-kvm-4.2</para> |
| <para>Description: systemvm-kvm-4.2</para> |
| <para>URL: |
| http://download.cloud.com/templates/4.2/systemvmtemplate-2013-06-12-master-kvm.qcow2.bz2</para> |
| <para>Zone: Choose the zone where this hypervisor is used</para> |
| <para>Hypervisor: KVM</para> |
| <para>Format: QCOW2</para> |
| <para>OS Type: Debian GNU/Linux 7.0 (32-bit) (or the highest Debian release |
| number available in the dropdown)</para> |
| <para>Extractable: no</para> |
| <para>Password Enabled: no</para> |
| <para>Public: no</para> |
| <para>Featured: no</para> |
| </entry> |
| </row> |
| <row> |
| <entry><para>VMware</para></entry> |
| <entry><para>Name: systemvm-vmware-4.2</para> |
| <para>Description: systemvm-vmware-4.2</para> |
| <para>URL: |
| http://download.cloud.com/templates/4.2/systemvmtemplate-4.2-vh7.ova</para> |
| <para>Zone: Choose the zone where this hypervisor is used</para> |
| <para>Hypervisor: VMware</para> |
| <para>Format: OVA</para> |
| <para>OS Type: Debian GNU/Linux 7.0 (32-bit) (or the highest Debian release |
| number available in the dropdown)</para> |
| <para>Extractable: no</para> |
| <para>Password Enabled: no</para> |
| <para>Public: no</para> |
| <para>Featured: no</para> |
| </entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </informaltable> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem> |
| <para>Watch the screen to be sure that the template downloads successfully and enters the |
| READY state. Do not proceed until this is successful</para> |
| </listitem> |
| <listitem> |
| <para><emphasis role="bold">WARNING</emphasis>: If you use more than one type of |
| hypervisor in your cloud, be sure you have repeated these steps to download the system |
| VM template for each hypervisor type. Otherwise, the upgrade will fail.</para> |
| </listitem> |
| <listitem> |
| <para>(KVM on RHEL 6.0/6.1 only) If your existing &PRODUCT; deployment includes one or |
| more clusters of KVM hosts running RHEL 6.0 or RHEL 6.1, perform the following:</para> |
| <orderedlist numeration="loweralpha"> |
| <listitem> |
| <para>Ensure that you upgrade the operating system version on those hosts before |
| upgrading &PRODUCT;</para> |
| <para>To do that, change the yum repository for each system with &PRODUCT; packages, |
| that implies that all the Management Servers and any hosts that have the KVM agent. |
| </para> |
| </listitem> |
| <listitem> |
| <para>Open <filename>/etc/yum.repos.d/cloudstack.repo</filename> on any systems that |
| have &PRODUCT; packages installed.</para> |
| </listitem> |
| <listitem> |
| <para>Edit as follows:</para> |
| <programlisting> |
| [upgrade] |
| name=rhel63 |
| baseurl=url-of-your-rhel6.3-repo |
| enabled=1 |
| gpgcheck=0 |
| [apache CloudStack] |
| name= Apache CloudStack |
| baseurl= http://cloudstack.apt-get.eu/rhel/4.2/ |
| enabled=1 |
| gpgcheck=0</programlisting> |
| <para>If you are using the community provided package repository, change the baseurl |
| to http:// cloudstack.apt-get.eu/rhel/4.2/</para> |
| <para>If you are using your own package repository, change this line to read as |
| appropriate for your 4.2.0 repository.</para> |
| </listitem> |
| <listitem> |
| <para>Now that you have the repository configured, upgrade the host operating system |
| from RHEL 6.0 to 6.3:</para> |
| <programlisting># yum upgrade</programlisting> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem> |
| <para>Stop all Usage Servers if running. Run this on all Usage Server hosts.</para> |
| <programlisting># service cloud-usage stop</programlisting> |
| </listitem> |
| <listitem> |
| <para>Stop the Management Servers. Run this on all Management Server hosts.</para> |
| <programlisting language="Bash"><prompt>#</prompt> service cloud-management stop</programlisting> |
| </listitem> |
| <listitem> |
| <para>On the MySQL master, take a backup of the MySQL databases. We recommend performing |
| this step even in test upgrades. If there is an issue, this will assist with |
| debugging.</para> |
| <para>In the following commands, it is assumed that you have set the root password on the |
| database, which is a CloudStack recommended best practice. Substitute your own MySQL |
| root password.</para> |
| <programlisting><prompt>#</prompt> <command>mysqldump</command> -u root -p<replaceable>mysql_password</replaceable> cloud > <filename>cloud-backup.dmp</filename> |
| <prompt>#</prompt> <command>mysqldump</command> -u root -p<replaceable>mysql_password</replaceable> cloud_usage > <filename>cloud-usage-backup.dmp</filename> |
| </programlisting> |
| </listitem> |
| <listitem> |
| <para> Either build RPM/DEB packages as detailed in the Installation Guide, or use one of |
| the community provided yum/apt repositories to gain access to the &PRODUCT; binaries. |
| </para> |
| </listitem> |
| <listitem id="upgrade-deb-packages-22"> |
| <para>If you are using Ubuntu, follow this procedure to upgrade your packages. If not, |
| skip to step <xref linkend="upgrade-rpm-packages-22"/>.</para> |
| <note> |
| <title>Community Packages</title> |
| <para>This section assumes you're using the community supplied packages for &PRODUCT;. |
| If you've created your own packages and APT repository, substitute your own URL for |
| the ones used in these examples.</para> |
| </note> |
| <orderedlist numeration="loweralpha" id="debsteps-22"> |
| <listitem> |
| <para>The first order of business will be to change the sources list for each system |
| with &PRODUCT; 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.)</para> |
| <para>Start by opening <filename>/etc/apt/sources.list.d/cloudstack.list</filename> on |
| any systems that have &PRODUCT; packages installed.</para> |
| <para>This file should have one line, which contains:</para> |
| <programlisting language="Bash">deb http://cloudstack.apt-get.eu/ubuntu precise 4.0</programlisting> |
| <para>We'll change it to point to the new package repository:</para> |
| <programlisting language="Bash">deb http://cloudstack.apt-get.eu/ubuntu precise 4.2</programlisting> |
| <para>If you're using your own package repository, change this line to read as |
| appropriate for your 4.2.0 repository.</para> |
| </listitem> |
| <listitem> |
| <para>Now update your apt package list:</para> |
| <programlisting language="Bash">$ sudo apt-get update</programlisting> |
| </listitem> |
| <listitem id="deb-master-22"> |
| <para>Now that you have the repository configured, it's time to install the |
| <filename>cloudstack-management</filename> package. This will pull in any other |
| dependencies you need.</para> |
| <programlisting language="Bash">$ sudo apt-get install cloudstack-management</programlisting> |
| </listitem> |
| <listitem id="kvm-agent-deb-22"> |
| <para>On KVM hosts, you will need to manually install the |
| <filename>cloudstack-agent</filename> package:</para> |
| <programlisting language="Bash">$ sudo apt-get install cloudstack-agent</programlisting> |
| <para>During the installation of <filename>cloudstack-agent</filename>, APT will copy |
| your <filename>agent.properties</filename>, <filename>log4j-cloud.xml</filename>, |
| and <filename>environment.properties</filename> from |
| <filename>/etc/cloud/agent</filename> to |
| <filename>/etc/cloudstack/agent</filename>.</para> |
| <para>When prompted whether you wish to keep your configuration, say Yes.</para> |
| </listitem> |
| <listitem> |
| <para>Verify that the file |
| <filename>/etc/cloudstack/agent/environment.properties</filename> has a line that |
| reads:</para> |
| <programlisting language="Bash">paths.script=/usr/share/cloudstack-common</programlisting> |
| <para>If not, add the line.</para> |
| </listitem> |
| <listitem> |
| <para>Restart the agent:</para> |
| <programlisting language="Bash"> |
| service cloud-agent stop |
| killall jsvc |
| service cloudstack-agent start |
| </programlisting> |
| </listitem> |
| <listitem> |
| <para>During the upgrade, <filename>log4j-cloud.xml</filename> was simply copied over, |
| so the logs will continue to be added to |
| <filename>/var/log/cloud/agent/agent.log</filename>. There's nothing |
| <emphasis>wrong</emphasis> with this, but if you prefer to be consistent, you can |
| change this by copying over the sample configuration file:</para> |
| <programlisting language="Bash"> |
| cd /etc/cloudstack/agent |
| mv log4j-cloud.xml.dpkg-dist log4j-cloud.xml |
| service cloudstack-agent restart |
| </programlisting> |
| </listitem> |
| <listitem> |
| <para>Once the agent is running, you can uninstall the old cloud-* packages from your |
| system:</para> |
| <programlisting language="Bash">sudo dpkg --purge cloud-agent</programlisting> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem id="upgrade-rpm-packages-22"> |
| <para>If you are using CentOS or RHEL, follow this procedure to upgrade your packages. If |
| not, skip to step <xref linkend="correct-components-xml-22"/>.</para> |
| <note> |
| <title>Community Packages</title> |
| <para>This section assumes you're using the community supplied packages for &PRODUCT;. |
| If you've created your own packages and yum repository, substitute your own URL for |
| the ones used in these examples.</para> |
| </note> |
| <orderedlist numeration="loweralpha" id="rpmsteps-22"> |
| <listitem> |
| <para>The first order of business will be to change the yum repository for each system |
| with &PRODUCT; 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.)</para> |
| <para>Start by opening <filename>/etc/yum.repos.d/cloudstack.repo</filename> on any |
| systems that have &PRODUCT; packages installed.</para> |
| <para>This file should have content similar to the following:</para> |
| <programlisting language="Bash"> |
| [apache-cloudstack] |
| name=Apache CloudStack |
| baseurl=http://cloudstack.apt-get.eu/rhel/4.0/ |
| enabled=1 |
| gpgcheck=0 |
| </programlisting> |
| <para>If you are using the community provided package repository, change the baseurl |
| to http://cloudstack.apt-get.eu/rhel/4.2/</para> |
| <para>If you're using your own package repository, change this line to read as |
| appropriate for your 4.2.1 repository.</para> |
| </listitem> |
| <listitem id="rpm-master-22"> |
| <para>Now that you have the repository configured, it's time to install the |
| <filename>cloudstack-management</filename> package by upgrading the older |
| <filename>cloud-client</filename> package.</para> |
| <programlisting language="Bash">$ sudo yum upgrade cloud-client</programlisting> |
| </listitem> |
| <listitem id="kvm-agent-rpm-22"> |
| <para>For KVM hosts, you will need to upgrade the <filename>cloud-agent</filename> |
| package, similarly installing the new version as |
| <filename>cloudstack-agent</filename>.</para> |
| <programlisting language="Bash">$ sudo yum upgrade cloud-agent</programlisting> |
| <para>During the installation of <filename>cloudstack-agent</filename>, the RPM will |
| copy your <filename>agent.properties</filename>, |
| <filename>log4j-cloud.xml</filename>, and |
| <filename>environment.properties</filename> from |
| <filename>/etc/cloud/agent</filename> to |
| <filename>/etc/cloudstack/agent</filename>.</para> |
| </listitem> |
| <listitem> |
| <para>Verify that the file |
| <filename>/etc/cloudstack/agent/environment.properties</filename> has a line that |
| reads:</para> |
| <programlisting language="Bash">paths.script=/usr/share/cloudstack-common</programlisting> |
| <para>If not, add the line.</para> |
| </listitem> |
| <listitem> |
| <para>Restart the agent:</para> |
| <programlisting language="Bash"> |
| service cloud-agent stop |
| killall jsvc |
| service cloudstack-agent start |
| </programlisting> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem id="correct-components-xml-22"> |
| <para>If you have made changes to your existing copy of the file components.xml in your |
| previous-version CloudStack installation, the changes will be preserved in the upgrade. |
| However, you need to do the following steps to place these changes in a new version of |
| the file which is compatible with version 4.0.0-incubating.</para> |
| <note> |
| <para>How will you know whether you need to do this? If the upgrade output in the |
| previous step included a message like the following, then some custom content was |
| found in your old components.xml, and you need to merge the two files:</para> |
| </note> |
| <programlisting>warning: /etc/cloud/management/components.xml created as /etc/cloud/management/components.xml.rpmnew </programlisting> |
| <orderedlist numeration="loweralpha"> |
| <listitem> |
| <para>Make a backup copy of your |
| <filename>/etc/cloud/management/components.xml</filename> file. For |
| example:</para> |
| <programlisting><prompt>#</prompt> <command>mv</command> <filename>/etc/cloud/management/components.xml</filename> <filename>/etc/cloud/management/components.xml-backup</filename></programlisting> |
| </listitem> |
| <listitem> |
| <para>Copy <filename>/etc/cloud/management/components.xml.rpmnew</filename> to create |
| a new <filename>/etc/cloud/management/components.xml</filename>:</para> |
| <programlisting><prompt>#</prompt> <command>cp</command> -ap <filename>/etc/cloud/management/components.xml.rpmnew</filename> <filename>/etc/cloud/management/components.xml</filename></programlisting> |
| </listitem> |
| <listitem> |
| <para>Merge your changes from the backup file into the new components.xml file.</para> |
| <programlisting><prompt>#</prompt> <command>vi</command> <filename>/etc/cloudstack/management/components.xml</filename> |
| </programlisting> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem> |
| <para>After upgrading to 4.2.1, API clients are expected to send plain text passwords for |
| login and user creation, instead of MD5 hash. If API client changes are not acceptable, |
| following changes are to be made for backward compatibility:</para> |
| <para>Modify componentContext.xml, and make PlainTextUserAuthenticator as the default |
| authenticator (1st entry in the userAuthenticators adapter list is default)</para> |
| <programlisting language="XML"> |
| <!-- Security adapters --> |
| <bean id="userAuthenticators" class="com.cloud.utils.component.AdapterList"> |
| <property name="Adapters"> |
| <list> |
| <ref bean="PlainTextUserAuthenticator"/> |
| <ref bean="MD5UserAuthenticator"/> |
| <ref bean="LDAPUserAuthenticator"/> |
| </list> |
| </property> |
| </bean> |
| </programlisting> |
| <para>PlainTextUserAuthenticator works the same way MD5UserAuthenticator worked prior to |
| 4.2.</para> |
| </listitem> |
| <listitem> |
| <para>If you have made changes to your existing copy of the |
| <filename>/etc/cloud/management/db.properties</filename> file in your previous-version |
| CloudStack installation, the changes will be preserved in the upgrade. However, you need |
| to do the following steps to place these changes in a new version of the file which is |
| compatible with this version.</para> |
| <orderedlist numeration="loweralpha"> |
| <listitem> |
| <para>Make a backup copy of your file |
| <filename>/etc/cloud/management/db.properties</filename>. For example:</para> |
| <programlisting><prompt>#</prompt> <command>mv</command> <filename>/etc/cloud/management/db.properties</filename> <filename>/etc/cloud/management/db.properties-backup</filename></programlisting> |
| </listitem> |
| <listitem> |
| <para>Copy <filename>/etc/cloud/management/db.properties.rpmnew</filename> to create a |
| new <filename>/etc/cloud/management/db.properties</filename>:</para> |
| <programlisting><prompt>#</prompt> <command>cp</command> -ap <filename>/etc/cloud/management/db.properties.rpmnew</filename> <filename>etc/cloud/management/db.properties</filename></programlisting> |
| </listitem> |
| <listitem> |
| <para>Merge your changes from the backup file into the new db.properties file.</para> |
| <programlisting><prompt>#</prompt> <command>vi</command> <filename>/etc/cloudstack/management/db.properties</filename></programlisting> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem> |
| <para>On the management server node, run the following command. It is recommended that you |
| use the command-line flags to provide your own encryption keys. See Password and Key |
| Encryption in the Installation Guide.</para> |
| <programlisting><prompt>#</prompt> <command>cloudstack-setup-encryption</command> -e <replaceable>encryption_type</replaceable> -m <replaceable>management_server_key</replaceable> -k <replaceable>database_key</replaceable></programlisting> |
| <para>When used without arguments, as in the following example, the default encryption |
| type and keys will be used:</para> |
| <itemizedlist> |
| <listitem> |
| <para>(Optional) For encryption_type, use file or web to indicate the technique used |
| to pass in the database encryption password. Default: file.</para> |
| </listitem> |
| <listitem> |
| <para>(Optional) For management_server_key, substitute the default key that is used to |
| encrypt confidential parameters in the properties file. Default: password. It is |
| highly recommended that you replace this with a more secure value</para> |
| </listitem> |
| <listitem> |
| <para>(Optional) For database_key, substitute the default key that is used to encrypt |
| confidential parameters in the CloudStack database. Default: password. It is highly |
| recommended that you replace this with a more secure value.</para> |
| </listitem> |
| </itemizedlist> |
| </listitem> |
| <listitem> |
| <para>Repeat steps 10 - 14 on every management server node. If you provided your own |
| encryption key in step 14, use the same key on all other management servers.</para> |
| </listitem> |
| <listitem> |
| <para>Start the first Management Server. Do not start any other Management Server nodes |
| yet.</para> |
| <programlisting language="Bash"><prompt>#</prompt> service cloudstack-management start</programlisting> |
| <para>Wait until the databases are upgraded. Ensure that the database upgrade is complete. |
| You should see a message like "Complete! Done." After confirmation, start the other |
| Management Servers one at a time by running the same command on each node.</para> |
| </listitem> |
| <listitem> |
| <para>Start all Usage Servers (if they were running on your previous version). Perform |
| this on each Usage Server host.</para> |
| <programlisting language="Bash"><prompt>#</prompt> service cloudstack-usage start</programlisting> |
| </listitem> |
| <listitem> |
| <para>(KVM only) Perform the following additional steps on each KVM host. </para> |
| <para>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.</para> |
| <orderedlist numeration="loweralpha"> |
| <listitem> |
| <para> Configure your CloudStack package repositories as outlined in the Installation |
| Guide </para> |
| </listitem> |
| <listitem> |
| <para>Stop the running agent.</para> |
| <programlisting># service cloud-agent stop</programlisting> |
| </listitem> |
| <listitem> |
| <para>Update the agent software with one of the following command sets as |
| appropriate.</para> |
| <programlisting><prompt>#</prompt> <command>yum</command> update cloud-*</programlisting> |
| <programlisting> |
| <prompt>#</prompt> <command>apt-get</command> update |
| <prompt>#</prompt> <command>apt-get</command> upgrade cloud-* |
| </programlisting> |
| </listitem> |
| <listitem> |
| <para> Copy the contents of the <filename>agent.properties</filename> file to the new |
| <filename>agent.properties</filename> file by using the following command</para> |
| <programlisting><command>sed</command> -i 's/com.cloud.agent.resource.computing.LibvirtComputingResource/com.cloud.hypervisor.kvm.resource.LibvirtComputingResource/g' <filename>/etc/cloudstack/agent/agent.properties</filename></programlisting> |
| </listitem> |
| <listitem> |
| <para>Upgrade all the existing bridge names to new bridge names by running this |
| script:</para> |
| <programlisting> # cloudstack-agent-upgrade</programlisting> |
| </listitem> |
| <listitem> |
| <para> Install a libvirt hook with the following commands:</para> |
| <programlisting> # mkdir /etc/libvirt/hooks |
| # cp /usr/share/cloudstack-agent/lib/libvirtqemuhook /etc/libvirt/hooks/qemu |
| # chmod +x /etc/libvirt/hooks/qemu</programlisting> |
| </listitem> |
| <listitem> |
| <para>Restart libvirtd.</para> |
| <programlisting># service libvirtd restart</programlisting> |
| </listitem> |
| <listitem> |
| <para>Start the agent.</para> |
| <programlisting># service cloudstack-agent start</programlisting> |
| </listitem> |
| <listitem> |
| <para>When the Management Server is up and running, log in to the CloudStack UI and |
| restart the virtual router for proper functioning of all the features.</para> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem> |
| <para>Log in to the CloudStack UI as admin, and check the status of the hosts. All hosts |
| should come to Up state (except those that you know to be offline). You may need to wait |
| 20 or 30 minutes, depending on the number of hosts.</para> |
| <para>Do not proceed to the next step until the hosts show in the Up state. If the hosts |
| do not come to the Up state, contact support.</para> |
| </listitem> |
| <listitem> |
| <para>Run the following script to stop, then start, all Secondary Storage VMs, Console |
| Proxy VMs, and virtual routers.</para> |
| <orderedlist numeration="loweralpha"> |
| <listitem> |
| <para>Run the command once on one management server. Substitute your own IP address of |
| the MySQL instance, the MySQL user to connect as, and the password to use for that |
| user. In addition to those parameters, provide the "-c" and "-r" arguments. For |
| example:</para> |
| <programlisting><prompt>#</prompt> <command>nohup cloudstack-sysvmadm</command> -d <replaceable>192.168.1.5</replaceable> -u cloud -p <replaceable>password</replaceable> -c -r > sysvm.log 2>&1 & |
| <prompt>#</prompt> <command>tail</command> -f <filename>sysvm.log</filename></programlisting> |
| <para>This might take up to an hour or more to run, depending on the number of |
| accounts in the system.</para> |
| </listitem> |
| <listitem> |
| <para>After the script terminates, check the log to verify correct execution:</para> |
| <programlisting><prompt>#</prompt> <command>tail</command> -f <filename>sysvm.log</filename></programlisting> |
| <para>The content should be like the following:</para> |
| <programlisting> |
| Stopping and starting 1 secondary storage vm(s)... |
| Done stopping and starting secondary storage vm(s) |
| Stopping and starting 1 console proxy vm(s)... |
| Done stopping and starting console proxy vm(s). |
| Stopping and starting 4 running routing vm(s)... |
| Done restarting router(s). |
| </programlisting> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| <listitem> |
| <para>If you would like additional confirmation that the new system VM templates were |
| correctly applied when these system VMs were rebooted, SSH into the System VM and check |
| the version.</para> |
| <para>Use one of the following techniques, depending on the hypervisor.</para> |
| <formalpara> |
| <title>XenServer or KVM:</title> |
| <para>SSH in by using the link local IP address of the system VM. For example, in the |
| command below, substitute your own path to the private key used to log in to the |
| system VM and your own link local IP.</para> |
| </formalpara> |
| <para>Run the following commands on the XenServer or KVM host on which the system VM is |
| present:</para> |
| <programlisting><prompt>#</prompt> <command>ssh</command> -i <replaceable>private-key-path</replaceable> <replaceable>link-local-ip</replaceable> -p 3922 |
| # cat /etc/cloudstack-release</programlisting> |
| <para>The output should be like the following:</para> |
| <programlisting>Cloudstack Release 4.0.0-incubating Mon Oct 9 15:10:04 PST 2012</programlisting> |
| <formalpara> |
| <title>ESXi</title> |
| <para>SSH in using the private IP address of the system VM. For example, in the command |
| below, substitute your own path to the private key used to log in to the system VM and |
| your own private IP.</para> |
| </formalpara> |
| <para>Run the following commands on the Management Server:</para> |
| <programlisting><prompt>#</prompt> <command>ssh</command> -i <replaceable>private-key-path</replaceable> <replaceable>private-ip</replaceable> -p 3922 |
| <prompt>#</prompt> <command>cat</command> <filename>/etc/cloudstack-release</filename> |
| </programlisting> |
| <para>The output should be like the following:</para> |
| <programlisting>Cloudstack Release 4.0.0-incubating Mon Oct 9 15:10:04 PST 2012</programlisting> |
| </listitem> |
| <listitem> |
| <para>If needed, upgrade all Citrix XenServer hypervisor hosts in your cloud to a version |
| supported by CloudStack 4.0.0-incubating. The supported versions are XenServer 5.6 SP2 |
| and 6.0.2. Instructions for upgrade can be found in the CloudStack 4.0.0-incubating |
| Installation Guide.</para> |
| </listitem> |
| <listitem> |
| <para>Apply the XenServer hotfix XS602E003 (and any other needed hotfixes) to XenServer |
| v6.0.2 hypervisor hosts.</para> |
| <orderedlist numeration="loweralpha"> |
| <listitem> |
| <para>Disconnect the XenServer cluster from CloudStack.</para> |
| <para>In the left navigation bar of the CloudStack UI, select Infrastructure. Under |
| Clusters, click View All. Select the XenServer cluster and click Actions - |
| Unmanage.</para> |
| <para>This may fail if there are hosts not in one of the states Up, Down, |
| Disconnected, or Alert. You may need to fix that before unmanaging this |
| cluster.</para> |
| <para>Wait until the status of the cluster has reached Unmanaged. Use the CloudStack |
| UI to check on the status. When the cluster is in the unmanaged state, there is no |
| connection to the hosts in the cluster.</para> |
| </listitem> |
| <listitem> |
| <para>To clean up the VLAN, log in to one XenServer host and run:</para> |
| <programlisting>/opt/xensource/bin/cloud-clean-vlan.sh</programlisting> |
| </listitem> |
| <listitem> |
| <para>Prepare the upgrade by running the following on one XenServer host:</para> |
| <programlisting>/opt/xensource/bin/cloud-prepare-upgrade.sh</programlisting> |
| <para>If you see a message like "can't eject CD", log in to the VM and umount the CD, |
| then run this script again.</para> |
| </listitem> |
| <listitem> |
| <para>Upload the hotfix to the XenServer hosts. Always start with the Xen pool master, |
| then the slaves. Using your favorite file copy utility (e.g. WinSCP), copy the |
| hotfixes to the host. Place them in a temporary folder such as /root or /tmp. </para> |
| <para>On the Xen pool master, upload the hotfix with this command:</para> |
| <programlisting>xe patch-upload file-name=XS602E003.xsupdate</programlisting> |
| <para>Make a note of the output from this command, which is a UUID for the hotfix |
| file. You'll need it in another step later.</para> |
| <note> |
| <para>(Optional) If you are applying other hotfixes as well, you can repeat the |
| commands in this section with the appropriate hotfix number. For example, |
| XS602E004.xsupdate.</para> |
| </note> |
| </listitem> |
| <listitem> |
| <para>Manually live migrate all VMs on this host to another host. First, get a list of |
| the VMs on this host:</para> |
| <programlisting># xe vm-list</programlisting> |
| <para>Then use this command to migrate each VM. Replace the example host name and VM |
| name with your own:</para> |
| <programlisting><prompt>#</prompt> <command>xe</command> vm-migrate live=true host=<replaceable>host-name</replaceable> vm=<replaceable>VM-name</replaceable></programlisting> |
| <note> |
| <title>Troubleshooting</title> |
| <para>If you see a message like "You attempted an operation on a VM which requires |
| PV drivers to be installed but the drivers were not detected," run:</para> |
| <para><command>/opt/xensource/bin/make_migratable.sh |
| b6cf79c8-02ee-050b-922f-49583d9f1a14</command>.</para> |
| </note> |
| </listitem> |
| <listitem> |
| <para>Apply the hotfix. First, get the UUID of this host:</para> |
| <para><command># xe host-list</command></para> |
| <para>Then use the following command to apply the hotfix. Replace the example host |
| UUID with the current host ID, and replace the hotfix UUID with the output from the |
| patch-upload command you ran on this machine earlier. You can also get the hotfix |
| UUID by running xe patch-list. </para> |
| <para><command>xe patch-apply host-uuid=<replaceable>host-uuid</replaceable> |
| uuid=<replaceable>hotfix-uuid</replaceable></command></para> |
| </listitem> |
| <listitem> |
| <para>Copy the following files from the CloudStack Management Server to the |
| host.</para> |
| <informaltable> |
| <tgroup cols="2" align="left" colsep="1" rowsep="1"> |
| <colspec colwidth="1*" colname="1" colnum="1"/> |
| <colspec colwidth="2*" colname="2" colnum="2"/> |
| <thead> |
| <row> |
| <entry><para>Copy from here...</para></entry> |
| <entry><para>...to here</para></entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry><para><filename>/usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver/xenserver60/NFSSR.py</filename></para></entry> |
| <entry><para><filename>/opt/xensource/sm/NFSSR.py</filename></para></entry> |
| </row> |
| <row> |
| <entry><para><filename>/usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver/setupxenserver.sh</filename></para></entry> |
| <entry><para><filename>/opt/xensource/bin/setupxenserver.sh</filename></para></entry> |
| </row> |
| <row> |
| <entry><para><filename>/usr/lib64/cloudstack-common/scripts/vm/hypervisor/xenserver/make_migratable.sh</filename></para></entry> |
| <entry><para><filename>/opt/xensource/bin/make_migratable.sh</filename></para></entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </informaltable> |
| </listitem> |
| <listitem> |
| <para>(Only for hotfixes XS602E005 and XS602E007) You need to apply a new Cloud |
| Support Pack.</para> |
| <itemizedlist> |
| <listitem> |
| <para>Download the CSP software onto the XenServer host from one of the following |
| links:</para> |
| <para>For hotfix XS602E005: <ulink |
| url="http://coltrane.eng.hq.xensource.com/release/XenServer-6.x/XS-6.0.2/hotfixes/XS602E005/56710/xe-phase-2/xenserver-cloud-supp.tgz" |
| >http://coltrane.eng.hq.xensource.com/release/XenServer-6.x/XS-6.0.2/hotfixes/XS602E005/56710/xe-phase-2/xenserver-cloud-supp.tgz</ulink></para> |
| <para>For hotfix XS602E007: <ulink |
| url="http://coltrane.eng.hq.xensource.com/release/XenServer-6.x/XS-6.0.2/hotfixes/XS602E007/57824/xe-phase-2/xenserver-cloud-supp.tgz" |
| >http://coltrane.eng.hq.xensource.com/release/XenServer-6.x/XS-6.0.2/hotfixes/XS602E007/57824/xe-phase-2/xenserver-cloud-supp.tgz</ulink></para> |
| </listitem> |
| <listitem> |
| <para>Extract the file:</para> |
| <para><command># tar xf xenserver-cloud-supp.tgz</command></para> |
| </listitem> |
| <listitem> |
| <para>Run the following script:</para> |
| <para><command># xe-install-supplemental-pack |
| xenserver-cloud-supp.iso</command></para> |
| </listitem> |
| <listitem> |
| <para>If the XenServer host is part of a zone that uses basic networking, disable |
| Open vSwitch (OVS):</para> |
| <para><command># xe-switch-network-backend bridge</command></para> |
| </listitem> |
| </itemizedlist> |
| </listitem> |
| <listitem> |
| <para>Reboot this XenServer host.</para> |
| </listitem> |
| <listitem> |
| <para>Run the following:</para> |
| <para><command>/opt/xensource/bin/setupxenserver.sh</command></para> |
| <note> |
| <para>If the message "mv: cannot stat `/etc/cron.daily/logrotate': No such file or |
| directory" appears, you can safely ignore it.</para> |
| </note> |
| </listitem> |
| <listitem> |
| <para>Run the following:</para> |
| <para><command>for pbd in `xe pbd-list currently-attached=false| grep ^uuid | awk |
| '{print $NF}'`; do xe pbd-plug uuid=$pbd ; </command> |
| </para> |
| </listitem> |
| <listitem> |
| <para>On each slave host in the Xen pool, repeat these steps, starting from "manually |
| live migrate VMs."</para> |
| </listitem> |
| </orderedlist> |
| </listitem> |
| </orderedlist> |
| </section> |
| </chapter> |
| <chapter id="api-changes"> |
| <title>API Changes from 4.2 to 4.2.1</title> |
| <para>Due to the <xref linkend="ucs-enhancements"/>, the following API changes have been |
| introduced:</para> |
| <itemizedlist> |
| <listitem> |
| <para>listUcsProfiles is deprecated.</para> |
| </listitem> |
| <listitem> |
| <para>listUcsTemplates is added. This is to replace listUcsProfiles. Retrieve pre-created |
| UCS templates from UCS Manager. Typically used when preparing to create a profile from the |
| template and associate the profile to a selected blade.</para> |
| </listitem> |
| <listitem> |
| <para>instantiateUcsTemplateAndAssocaciateToBlade is added. Associates a profile to a blade, |
| using a given profile template. First call listUcsTemplates to get the template and |
| listUcsBlade to get the blade.</para> |
| </listitem> |
| <listitem> |
| <para>refreshUcsBlades is added. Syncs &PRODUCT; with any changes that have been made on the |
| UCS Manager side.</para> |
| </listitem> |
| </itemizedlist> |
| </chapter> |
| </book> |