From 4cb934dfa91e9304da8c5e6ff973739df8adb2a8 Mon Sep 17 00:00:00 2001 From: Chip Childers Date: Fri, 19 Oct 2012 09:41:27 -0400 Subject: [PATCH 1/9] Added license header to a new file. Signed-off-by: Chip Childers --- tools/git/prepare-commit-msg | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tools/git/prepare-commit-msg b/tools/git/prepare-commit-msg index 57c61497bd7..1addb0e9239 100755 --- a/tools/git/prepare-commit-msg +++ b/tools/git/prepare-commit-msg @@ -1,5 +1,22 @@ #!/bin/sh + +# 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. + # An example hook script to prepare the commit log message. # Called by "git commit" with the name of the file that has the # commit message, followed by the description of the commit From 65cf092f605cb8dc6b2389a864b21e54223364c2 Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Fri, 19 Oct 2012 10:12:34 -0700 Subject: [PATCH 2/9] Network offering UI: Pass 'associatePublicIP' option If elastic LB service is enabled for a shared network offering, add a checkbox to associate public IP. This passes new option 'associatePublicIp=[true/false]' on creation. --- ui/scripts/configuration.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ui/scripts/configuration.js b/ui/scripts/configuration.js index c6bc649c2df..f2f736de0c1 100644 --- a/ui/scripts/configuration.js +++ b/ui/scripts/configuration.js @@ -1484,6 +1484,12 @@ isHidden: true, isBoolean: true }, + associatePublicIP: { + label: 'Associate IP', + isBoolean: true, + isHidden: true, + dependsOn: 'service.Lb.elasticLbCheckbox' + }, "service.Lb.lbIsolationDropdown": { label: 'label.LB.isolation', isHidden: true, @@ -1604,6 +1610,12 @@ } else { inputData['conservemode'] = false; } + + if (inputData['associatePublicIP'] == 'on') { + inputData['associatePublicIP'] = true; + } else { + inputData['associatePublicIP'] = false; + } // Make service provider map var serviceProviderIndex = 0; From 3d402569491d93f5cfa257d0a751eb95b78afd6a Mon Sep 17 00:00:00 2001 From: Chip Childers Date: Fri, 19 Oct 2012 15:25:49 -0400 Subject: [PATCH 3/9] CLOUDSTACK-384: Removed release number from the "getting-release" content. Signed-off-by: Chip Childers --- docs/en-US/getting-release.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en-US/getting-release.xml b/docs/en-US/getting-release.xml index 5ed6ac1a2f9..09f0a7b08fe 100644 --- a/docs/en-US/getting-release.xml +++ b/docs/en-US/getting-release.xml @@ -25,7 +25,7 @@
Getting the release - You can download the official &PRODUCT; 4.0.0 release from the + You can download the latest &PRODUCT; release from the Apache CloudStack project download page. From 9d6d6172e404a5b59c038422575adcb9612ad3ff Mon Sep 17 00:00:00 2001 From: Joe Brockmeier Date: Fri, 19 Oct 2012 14:33:04 -0500 Subject: [PATCH 4/9] Made a number of fixes to the steps for compiling Debian packages, added section on adding an APT repository. --- docs/en-US/build-deb.xml | 91 +++++++++++++++++++++++++++++++++------- 1 file changed, 77 insertions(+), 14 deletions(-) diff --git a/docs/en-US/build-deb.xml b/docs/en-US/build-deb.xml index 0fe3d90ce34..deee3ceb1de 100644 --- a/docs/en-US/build-deb.xml +++ b/docs/en-US/build-deb.xml @@ -26,35 +26,98 @@ Building DEB packages In addition to the bootstrap dependencies, you'll also need to install - a few other dependencies by issuing the following commands: - # apt-get update - $ apt-get install debhelper openjdk-6-jdk tomcat6 libws-commons-util-java genisoimage python-mysqldb - + several other dependencies. Note that we recommend using Maven 3, which + is not currently available in 12.04.1 LTS. So, you'll also need to add a + PPA repository that includes Maven 3. After running the command + add-apt-repository, you will be prompted to continue and + a GPG key will be added. + + +$ sudo apt-get update +$ sudo apt-get install python-software-properties +$ sudo add-apt-repository ppa:natecarlson/maven3 +$ sudo apt-get update +$ sudo apt-get install ant debhelper openjdk-6-jdk tomcat6 libws-commons-util-java genisoimage python-mysqldb libcommons-codec-java libcommons-httpclient-java liblog4j1.2-java maven3 + While we have defined, and you have presumably already installed the bootstrap prerequisites, there are a number of build time prerequisites that need to be resolved. &PRODUCT; uses maven for dependency resolution. - You can resolve the buildtime depdencies for CloudStack by running the - following command: - $ mvn -P deps - + You can resolve the buildtime depdencies for CloudStack by running: + +$ mvn3 -P deps Now that we have resolved the dependencies we can move on to building &PRODUCT; and packaging them into DEBs by issuing the following command. - # dpkg-buildpackage + +$ dpkg-buildpackge -uc -us + + + + This command will build 16 Debian packages. You should have all of the following: + + +cloud-agent_4.0.0-incubating_amd64.deb +cloud-agent-deps_4.0.0-incubating_amd64.deb +cloud-agent-libs_4.0.0-incubating_amd64.deb +cloud-awsapi_4.0.0-incubating_amd64.deb +cloud-cli_4.0.0-incubating_amd64.deb +cloud-client_4.0.0-incubating_amd64.deb +cloud-client-ui_4.0.0-incubating_amd64.deb +cloud-core_4.0.0-incubating_amd64.deb +cloud-deps_4.0.0-incubating_amd64.deb +cloud-python_4.0.0-incubating_amd64.deb +cloud-scripts_4.0.0-incubating_amd64.deb +cloud-server_4.0.0-incubating_amd64.deb +cloud-setup_4.0.0-incubating_amd64.deb +cloud-system-iso_4.0.0-incubating_amd64.deb +cloud-usage_4.0.0-incubating_amd64.deb +cloud-utils_4.0.0-incubating_amd64.deb +
Setting up an APT repo - TBD + + After you've created the packages, you'll want to copy them to a system where you can serve the packages over HTTP. You'll create a directory for the packages and then use dpkg-scanpackages to create Packages.gz, which holds information about the archive structure. Finally, you'll add the repository to your system(s) so you can install the packages using APT. + + The first step is to make sure that you have the dpkg-dev package installed. This should have been installed when you pulled in the debhelper application previously, but if you're generating Packages.gz on a different system, be sure that it's installed there as well. + +$ sudo apt-get install dpkg-dev + +The next step is to copy the DEBs to the directory where they can be served over HTTP. We'll use /var/www/cloudstack/repo in the examples, but change the directory to whatever works for you. + + +sudo mkdir -p /var/www/cloudstack/repo/binary +sudo cp *.deb /var/www/cloudstack/repo/binary +sudo cd /var/www/cloudstack/repo/binary +sudo dpkg-scanpackages . /dev/null | tee Packages | gzip -9 > Packages.gz + + +Note: Override Files + You can safely ignore the warning about a missing override file. + + +Now you should have all of the DEB packages and Packages.gz in the binary directory and available over HTTP. (You may want to use wget or curl to test this before moving on to the next step.) +
Configuring your machines to use the APT repository Now that we have created the repository, you need to configure your machine - to make use of the APT repository. We do that by issuing the following commands: - $ echo "deb http://url.to/apt/repo $(lsb_release -s -c) 4.0" > /etc/apt/sources.list.d/cloudstack.list - # apt-get update - + to make use of the APT repository. You can do this by adding a repository file + under /etc/apt/sources.list.d. Use your preferred editor to + create /etc/apt/sources.list.d/cloudstack.list with this + line: + + deb http://server.url/cloudstack/repo binary/ + + Now that you have the repository info in place, you'll want to run another + update so that APT knows where to find the &PRODUCT; packages. + +$ sudo apt-get update + +You can now move on to the instructions under Install on Ubuntu. +
From 355b15299323482af06f0e8f0cb32b4d954d9ea2 Mon Sep 17 00:00:00 2001 From: Prasanna Santhanam Date: Sat, 20 Oct 2012 16:50:51 +0530 Subject: [PATCH 5/9] Summary: Replace pymysql in marvin with a stable mysql-connector-python Detail: mysql-connector-python developed by Oracle will replace the MIT licensed pymysql. mysql-connector-python is developed by Oracle and is more favourable, faster and actively developed. With this commit - the dbConnection object is also auto managed by contextlib. Each transaction requests its own connection rather than sharing one single connection for all the test runs. BUG-ID : None Reviewed-by: timeit comparison of pymysql and mysql-connector-python Reported-by: dbExceptions and timeouts from Marvin test runs Signed-off-by: Prasanna Santhanam 1350732083 +0530 --- tools/marvin/marvin/dbConnection.py | 63 +++++++++++------------------ tools/marvin/setup.py | 2 +- 2 files changed, 24 insertions(+), 41 deletions(-) diff --git a/tools/marvin/marvin/dbConnection.py b/tools/marvin/marvin/dbConnection.py index 1992f801428..eb01d73cf55 100644 --- a/tools/marvin/marvin/dbConnection.py +++ b/tools/marvin/marvin/dbConnection.py @@ -15,59 +15,42 @@ # specific language governing permissions and limitations # under the License. -import pymysql +import mysql +import contextlib +from mysql import connector +from mysql.connector import errors +from contextlib import closing import cloudstackException import sys import os -import traceback + class dbConnection(object): def __init__(self, host="localhost", port=3306, user='cloud', passwd='cloud', db='cloud'): self.host = host self.port = port - self.user = user + self.user = str(user) #Workaround: http://bugs.mysql.com/?id=67306 self.passwd = passwd self.database = db - try: - self.db = pymysql.Connect(host=host, port=port, user=user, passwd=passwd, db=db) - except: - traceback.print_exc() - raise cloudstackException.InvalidParameterException(sys.exc_info()) - - def __copy__(self): - return dbConnection(self.host, self.port, self.user, self.passwd, self.database) - - def close(self): - try: - self.db.close() - except: - pass - - def execute(self, sql=None): + def execute(self, sql=None, params=None): if sql is None: return None - + resultRow = [] - cursor = None - try: - # commit to restart the transaction, else we don't get fresh data - self.db.commit() - cursor = self.db.cursor() - cursor.execute(sql) - - result = cursor.fetchall() - if result is not None: - for r in result: - resultRow.append(r) - return resultRow - except pymysql.MySQLError, e: - raise cloudstackException.dbException("db Exception:%s"%e) - except: - raise cloudstackException.internalError(sys.exc_info()) - finally: - if cursor is not None: - cursor.close() - + with contextlib.closing(mysql.connector.connect(host=self.host, port=self.port, user=self.user, password=self.passwd, db=self.database)) as conn: + conn.autocommit = True + with contextlib.closing(conn.cursor(buffered=True)) as cursor: + cursor.execute(sql, params) + try: + result = cursor.fetchall() + except errors.InterfaceError: + #Raised on empty result - DML + result = [] + if result: + [resultRow.append(r) for r in result] + + return resultRow + def executeSqlFromFile(self, fileName=None): if fileName is None: raise cloudstackException.InvalidParameterException("file can't not none") diff --git a/tools/marvin/setup.py b/tools/marvin/setup.py index c9841f31f3b..118d6ba061d 100644 --- a/tools/marvin/setup.py +++ b/tools/marvin/setup.py @@ -37,7 +37,7 @@ setup(name="Marvin", packages=["marvin", "marvin.cloudstackAPI", "marvin.sandbox", "marvin.sandbox.advanced", "marvin.sandbox.basic"], license="LICENSE.txt", install_requires=[ - "pymysql", + "mysql-connector-python", "paramiko", "nose", "unittest-xml-reporting" From 9a90dc227e0b4fdb6ec2daf9cd5e0f6d2a6af037 Mon Sep 17 00:00:00 2001 From: Prasanna Santhanam Date: Sat, 20 Oct 2012 17:18:22 +0530 Subject: [PATCH 6/9] Distutils install_requires doesn't resolve dependencies Signed-off-by: Prasanna Santhanam 1350733702 +0530 --- tools/marvin/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/marvin/setup.py b/tools/marvin/setup.py index 118d6ba061d..b2e6d55ec8b 100644 --- a/tools/marvin/setup.py +++ b/tools/marvin/setup.py @@ -16,7 +16,7 @@ # specific language governing permissions and limitations # under the License. -from distutils.core import setup +from setuptools import setup from sys import version import sys From dffe67085e15fbb53bfd8a69d752b5ec02258ca6 Mon Sep 17 00:00:00 2001 From: Joe Brockmeier Date: Sat, 20 Oct 2012 13:03:17 -0500 Subject: [PATCH 7/9] Removing OVM-specific documentation. --- docs/en-US/about-clusters.xml | 2 +- docs/en-US/add-more-clusters.xml | 2 +- docs/en-US/advanced-zone-configuration.xml | 4 ++-- docs/en-US/attaching-volume.xml | 3 ++- docs/en-US/basic-zone-configuration.xml | 2 +- docs/en-US/cluster-add.xml | 2 +- docs/en-US/create-template-from-snapshot.xml | 2 +- docs/en-US/creating-vms.xml | 2 +- docs/en-US/detach-move-volumes.xml | 2 +- docs/en-US/feature-overview.xml | 5 +---- docs/en-US/host-add-xenserver-kvm-ovm.xml | 20 +++++++++---------- docs/en-US/host-add.xml | 2 +- docs/en-US/hypervisor-installation.xml | 4 ++-- .../hypervisor-support-for-primarystorage.xml | 11 ++-------- docs/en-US/manual-live-migration.xml | 2 +- docs/en-US/minimum-system-requirements.xml | 2 +- docs/en-US/ovm-requirements.xml | 2 +- docs/en-US/release-notes.xml | 11 ++++++++-- .../runtime-behavior-of-primary-storage.xml | 2 +- docs/en-US/upload-existing-volume-to-vm.xml | 4 ++-- docs/en-US/upload-template.xml | 4 ++-- docs/en-US/working-with-snapshots.xml | 4 ++-- docs/en-US/working-with-volumes.xml | 2 +- 23 files changed, 47 insertions(+), 49 deletions(-) diff --git a/docs/en-US/about-clusters.xml b/docs/en-US/about-clusters.xml index a39cf716168..745ad89d118 100644 --- a/docs/en-US/about-clusters.xml +++ b/docs/en-US/about-clusters.xml @@ -26,7 +26,7 @@ About Clusters A cluster provides a way to group hosts. To be precise, a cluster is a - XenServer server pool, a set of KVM servers, a set of OVM hosts, or a + XenServer server pool, a set of KVM servers, , or a VMware cluster preconfigured in vCenter. The hosts in a cluster all have identical hardware, run the same hypervisor, are on the same subnet, and access the same shared primary storage. Virtual machine instances diff --git a/docs/en-US/add-more-clusters.xml b/docs/en-US/add-more-clusters.xml index a2e41e38f84..894b4d80737 100644 --- a/docs/en-US/add-more-clusters.xml +++ b/docs/en-US/add-more-clusters.xml @@ -24,6 +24,6 @@ so before you begin adding hosts to the cloud, you must add at least one cluster. - + diff --git a/docs/en-US/advanced-zone-configuration.xml b/docs/en-US/advanced-zone-configuration.xml index 302265a38c9..fe7f6d3a4a0 100644 --- a/docs/en-US/advanced-zone-configuration.xml +++ b/docs/en-US/advanced-zone-configuration.xml @@ -180,9 +180,9 @@ KVM Installation and Configuration - + To configure the first host, enter the following, then click Next: diff --git a/docs/en-US/attaching-volume.xml b/docs/en-US/attaching-volume.xml index 385609b8f57..360555eac06 100644 --- a/docs/en-US/attaching-volume.xml +++ b/docs/en-US/attaching-volume.xml @@ -37,7 +37,8 @@ In the Instance popup, choose the VM to which you want to attach the volume. You will only see instances to which you are allowed to attach volumes; for example, a user will see only instances created by that user, but the administrator will have more choices. - If the VM is running in the OVM hypervisor, the VM must be stopped before a new volume can be attached to it. + + When the volume has been attached, you should be able to see it by clicking Instances, the instance name, and View Volumes. diff --git a/docs/en-US/basic-zone-configuration.xml b/docs/en-US/basic-zone-configuration.xml index 00980c556a0..b2c754b1f21 100644 --- a/docs/en-US/basic-zone-configuration.xml +++ b/docs/en-US/basic-zone-configuration.xml @@ -125,7 +125,7 @@ Citrix XenServer Installation and Configuration VMware vSphere Installation and Configuration KVM vSphere Installation and Configuration - Oracle VM (OVM) Installation and Configuration + To configure the first host, enter the following, then click Next: diff --git a/docs/en-US/cluster-add.xml b/docs/en-US/cluster-add.xml index 89f9bd2dc9d..3046c5e0dfd 100644 --- a/docs/en-US/cluster-add.xml +++ b/docs/en-US/cluster-add.xml @@ -26,6 +26,6 @@ Adding a Cluster You need to tell &PRODUCT; about the hosts that it will manage. Hosts exist inside clusters, so before you begin adding hosts to the cloud, you must add at least one cluster. - + diff --git a/docs/en-US/create-template-from-snapshot.xml b/docs/en-US/create-template-from-snapshot.xml index 30750326c9f..80e660fe7c1 100644 --- a/docs/en-US/create-template-from-snapshot.xml +++ b/docs/en-US/create-template-from-snapshot.xml @@ -24,6 +24,6 @@
Creating a Template from a Snapshot - Not supported by Oracle VM + If you do not want to stop the VM in order to use the Create Template menu item (as described in ), you can create a template directly from any snapshot through the &PRODUCT; UI.
diff --git a/docs/en-US/creating-vms.xml b/docs/en-US/creating-vms.xml index dc37dbb38c3..9da4aea94ea 100644 --- a/docs/en-US/creating-vms.xml +++ b/docs/en-US/creating-vms.xml @@ -44,6 +44,6 @@ Click Add Instance. Select ISO Boot, and follow the steps in the wizard. Click Submit and your VM will be created and started. - (Oracle VM only) After ISO installation, the installer reboots into the operating system. Due to a known issue in OVM, the reboot will place the VM in the Stopped state. In the &PRODUCT; UI, detach the ISO from the VM (so that the VM will not boot from the ISO again), then click the Start button to restart the VM. + diff --git a/docs/en-US/detach-move-volumes.xml b/docs/en-US/detach-move-volumes.xml index a00e15f6cee..25323c928ee 100644 --- a/docs/en-US/detach-move-volumes.xml +++ b/docs/en-US/detach-move-volumes.xml @@ -27,7 +27,7 @@ This procedure is different from moving disk volumes from one storage pool to another. See VM Storage Migration A volume can be detached from a guest VM and attached to another guest. Both &PRODUCT; administrators and users can detach volumes from VMs and move them to other VMs. If the two VMs are in different clusters, and the volume is large, it may take several minutes for the volume to be moved to the new VM. - If the destination VM is running in the OVM hypervisor, the VM must be stopped before a new volume can be attached to it. + Log in to the &PRODUCT; UI as a user or admin. In the left navigation bar, click Storage, and choose Volumes in Select View. Alternatively, if you know which VM the volume is attached to, you can click Instances, click the VM name, and click View Volumes. diff --git a/docs/en-US/feature-overview.xml b/docs/en-US/feature-overview.xml index a4178399b10..501bca88c2f 100644 --- a/docs/en-US/feature-overview.xml +++ b/docs/en-US/feature-overview.xml @@ -28,10 +28,7 @@ Multiple Hypervisor Support - &PRODUCT; works with a variety of hypervisors. A single cloud deployment can contain multiple hypervisor implementations. You have the complete freedom to choose the right hypervisor for your workload. - - - &PRODUCT; is designed to work with open source Xen and KVM hypervisors as well as enterprise-grade hypervisors such as Citrix XenServer, VMware vSphere, and Oracle VM (OVM). You can also provision “bare metal” hosts with no hypervisor (Beta feature. Untested in &PRODUCT; 3.0.x.) + &PRODUCT; works with a variety of hypervisors, and a single cloud deployment can contain multiple hypervisor implementations. The current release of &PRODUCT; supports pre-packaged enterprise solutions like Citrix XenServer and VMware vSphere, as well as KVM or Xen running on Ubuntu or CentOS. Massively Scalable Infrastructure Management diff --git a/docs/en-US/host-add-xenserver-kvm-ovm.xml b/docs/en-US/host-add-xenserver-kvm-ovm.xml index 855177abd24..4bbeefcbed4 100644 --- a/docs/en-US/host-add-xenserver-kvm-ovm.xml +++ b/docs/en-US/host-add-xenserver-kvm-ovm.xml @@ -22,10 +22,10 @@ under the License. -->
- Adding a Host (XenServer, KVM, or OVM) - XenServer, KVM, and Oracle VM (OVM) hosts can be added to a cluster at any time. + Adding a Host (XenServer or KVM) + XenServer and KVM hosts can be added to a cluster at any time.
- Requirements for XenServer, KVM, and OVM Hosts + Requirements for XenServer and KVM Hosts Make sure the hypervisor host does not have any VMs already running before you add it to &PRODUCT;. @@ -85,14 +85,14 @@
-
- OVM Host Additional Requirements +
- Adding a XenServer, KVM, or OVM Host + Adding a XenServer or KVM Host If you have not already done so, install the hypervisor software on the host. You will @@ -130,8 +130,8 @@ Username. Usually root. - Password. This is the password for the user named above (from your XenServer, KVM, - or OVM install). + Password. This is the password for the user from your XenServer or KVM + install). Host Tags (Optional). Any labels that you use to categorize hosts for ease of diff --git a/docs/en-US/host-add.xml b/docs/en-US/host-add.xml index 37cf28def63..74509d69be7 100644 --- a/docs/en-US/host-add.xml +++ b/docs/en-US/host-add.xml @@ -39,4 +39,4 @@ -
\ No newline at end of file +
diff --git a/docs/en-US/hypervisor-installation.xml b/docs/en-US/hypervisor-installation.xml index cc6a762027a..b0fc9f46ddb 100644 --- a/docs/en-US/hypervisor-installation.xml +++ b/docs/en-US/hypervisor-installation.xml @@ -27,5 +27,5 @@ - - \ No newline at end of file + + diff --git a/docs/en-US/hypervisor-support-for-primarystorage.xml b/docs/en-US/hypervisor-support-for-primarystorage.xml index ca266a43013..055c1826169 100644 --- a/docs/en-US/hypervisor-support-for-primarystorage.xml +++ b/docs/en-US/hypervisor-support-for-primarystorage.xml @@ -40,7 +40,6 @@ VMware vSphere Citrix XenServer KVM - Oracle VM @@ -50,28 +49,24 @@ VMDK VHD QCOW2 - RAW iSCSI support VMFS Clustered LVM Yes, via Shared Mountpoint - Yes, via OCFS2M Fiber Channel support VMFS Yes, via Existing SR Yes, via Shared Mountpoint - No NFS support Y Y Y - Y @@ -79,7 +74,6 @@ Y Y Y - Y @@ -87,7 +81,6 @@ NFS and iSCSI NFS NFS - No @@ -95,8 +88,8 @@ XenServer uses a clustered LVM system to store VM images on iSCSI and Fiber Channel volumes and does not support over-provisioning in the hypervisor. The storage server itself, however, can support thin-provisioning. As a result the &PRODUCT; can still support storage over-provisioning by running on thin-provisioned storage volumes. KVM supports "Shared Mountpoint" storage. A shared mountpoint is a file system path local to each server in a given cluster. The path must be the same across all Hosts in the cluster, for example /mnt/primary1. This shared mountpoint is assumed to be a clustered filesystem such as OCFS2. In this case the &PRODUCT; does not attempt to mount or unmount the storage as is done with NFS. The &PRODUCT; requires that the administrator insure that the storage is available - Oracle VM supports both iSCSI and NFS storage. When iSCSI is used with OVM, the &PRODUCT; administrator is responsible for setting up iSCSI on the host, including re-mounting the storage after the host recovers from a failure such as a network outage. With other hypervisors, &PRODUCT; takes care of mounting the iSCSI target on the host whenever it discovers a connection with an iSCSI server and unmounting the target when it discovers the connection is down. + With NFS storage, &PRODUCT; manages the overprovisioning. In this case the global configuration parameter storage.overprovisioning.factor controls the degree of overprovisioning. This is independent of hypervisor type. - Local storage is an option for primary storage for vSphere, XenServer, Oracle VM, and KVM. When the local disk option is enabled, a local disk storage pool is automatically created on each host. To use local storage for the System Virtual Machines (such as the Virtual Router), set system.vm.use.local.storage to true in global configuration. + Local storage is an option for primary storage for vSphere, XenServer, and KVM. When the local disk option is enabled, a local disk storage pool is automatically created on each host. To use local storage for the System Virtual Machines (such as the Virtual Router), set system.vm.use.local.storage to true in global configuration. &PRODUCT; supports multiple primary storage pools in a Cluster. For example, you could provision 2 NFS servers in primary storage. Or you could provision 1 iSCSI LUN initially and then add a second iSCSI LUN when the first approaches capacity. diff --git a/docs/en-US/manual-live-migration.xml b/docs/en-US/manual-live-migration.xml index 390b41768c8..30a5c11a07f 100644 --- a/docs/en-US/manual-live-migration.xml +++ b/docs/en-US/manual-live-migration.xml @@ -31,7 +31,7 @@ The destination host must be in the same cluster as the original host. The VM must not be using local disk storage. The destination host must have enough available capacity. If not, the VM will remain in the "migrating" state until memory becomes available. - (OVM) If the VM is running on the OVM hypervisor, it must not have an ISO attached. Live migration of a VM with attached ISO is not supported in OVM. +
To manually live migrate a virtual machine diff --git a/docs/en-US/minimum-system-requirements.xml b/docs/en-US/minimum-system-requirements.xml index 7c0f15f9cd9..df23715e31c 100644 --- a/docs/en-US/minimum-system-requirements.xml +++ b/docs/en-US/minimum-system-requirements.xml @@ -64,7 +64,7 @@ - + diff --git a/docs/en-US/ovm-requirements.xml b/docs/en-US/ovm-requirements.xml index aadc71f0e2f..70a8920a8ac 100644 --- a/docs/en-US/ovm-requirements.xml +++ b/docs/en-US/ovm-requirements.xml @@ -25,4 +25,4 @@
System Requirements for OVM TODO -
\ No newline at end of file + diff --git a/docs/en-US/release-notes.xml b/docs/en-US/release-notes.xml index a4a2417673c..849dc5af911 100644 --- a/docs/en-US/release-notes.xml +++ b/docs/en-US/release-notes.xml @@ -1254,9 +1254,9 @@ Done restarting router(s). KVM : QCOW2 - +
@@ -2024,6 +2024,13 @@ Done restarting router(s). environment. The functionality is not complete at this time. + + CLOUDSTACK-368 + OVM - cannot create guest VM + This source code release has regressed from the CloudStack 2.2.x code + and is unable to support Oracle VM (OVM). + + CLOUDSTACK-279 Deleting a project fails when executed by the regular user. This works as diff --git a/docs/en-US/runtime-behavior-of-primary-storage.xml b/docs/en-US/runtime-behavior-of-primary-storage.xml index c6563907131..479ebce1ce1 100644 --- a/docs/en-US/runtime-behavior-of-primary-storage.xml +++ b/docs/en-US/runtime-behavior-of-primary-storage.xml @@ -24,7 +24,7 @@
Runtime Behavior of Primary Storage - Root volumes are created automatically when a virtual machine is created. Root volumes are deleted when the VM is destroyed. Data volumes can be created and dynamically attached to VMs (although, when the Oracle VM hypervisor is used, the VM must be stopped before an additional volume can be attached). Data volumes are not deleted when VMs are destroyed. + Root volumes are created automatically when a virtual machine is created. Root volumes are deleted when the VM is destroyed. Data volumes can be created and dynamically attached to VMs. Data volumes are not deleted when VMs are destroyed. Administrators should monitor the capacity of primary storage devices and add additional primary storage as needed. See the Advanced Installation Guide. Administrators add primary storage to the system by creating a &PRODUCT; storage pool. Each storage pool is associated with a cluster.
diff --git a/docs/en-US/upload-existing-volume-to-vm.xml b/docs/en-US/upload-existing-volume-to-vm.xml index 5966ce68de1..86dc8e54758 100644 --- a/docs/en-US/upload-existing-volume-to-vm.xml +++ b/docs/en-US/upload-existing-volume-to-vm.xml @@ -59,10 +59,10 @@ KVM QCOW2
- + diff --git a/docs/en-US/upload-template.xml b/docs/en-US/upload-template.xml index 51aeb5a63c9..40b64bbe8aa 100644 --- a/docs/en-US/upload-template.xml +++ b/docs/en-US/upload-template.xml @@ -24,7 +24,7 @@
Uploading Templates - If you are uploading a template that was created using vSphere Client, be sure the OVA file does not contain an ISO. If it does, the deployment of VMs from the template will fail. + vSphere Templates and ISOsIf you are uploading a template that was created using vSphere Client, be sure the OVA file does not contain an ISO. If it does, the deployment of VMs from the template will fail. Templates are uploaded based on a URL. HTTP is the supported access protocol. Templates are frequently large files. You can optionally gzip them to decrease upload times. To upload a template: @@ -39,7 +39,7 @@ If the operating system of the stopped VM is listed, choose it. If the OS type of the stopped VM is not listed, choose Other. - Generally you should not choose an older version of the OS than the version in the image. For example, choosing CentOS 5.4 to support a CentOS 6.2 image will in general not work. In those cases you should choose Other. + You should not choose an older version of the OS than the version in the image. For example, choosing CentOS 5.4 to support a CentOS 6.2 image will in general not work. In those cases you should choose Other. Hypervisor diff --git a/docs/en-US/working-with-snapshots.xml b/docs/en-US/working-with-snapshots.xml index 6145ffd8de1..d6b145875d4 100644 --- a/docs/en-US/working-with-snapshots.xml +++ b/docs/en-US/working-with-snapshots.xml @@ -25,8 +25,8 @@
Working with Snapshots (Supported for the following hypervisors: XenServer, VMware vSphere, and KVM) - &PRODUCT; supports snapshots of disk volumes. Snapshots are a point-in-time capture of virtual machine disks. Memory and CPU states are not captured. If you are using the Oracle VM hypervisor, you can not take snapshots, since OVM does not support them. - Snapshots may be taken for volumes, including both root and data disks (except when the Oracle VM hypervisor is used, which does not support snapshots). The administrator places a limit on the number of stored snapshots per user. Users can create new volumes from the snapshot for recovery of particular files and they can create templates from snapshots to boot from a restored disk. + &PRODUCT; supports snapshots of disk volumes. Snapshots are a point-in-time capture of virtual machine disks. Memory and CPU states are not captured. + Snapshots may be taken for volumes, including both root and data disks. The administrator places a limit on the number of stored snapshots per user. Users can create new volumes from the snapshot for recovery of particular files and they can create templates from snapshots to boot from a restored disk. Users can create snapshots manually or by setting up automatic recurring snapshot policies. Users can also create disk volumes from snapshots, which may be attached to a VM like any other disk volume. Snapshots of both root disks and data disks are supported. However, &PRODUCT; does not currently support booting a VM from a recovered root disk. A disk recovered from snapshot of a root disk is treated as a regular data disk; the data on recovered disk can be accessed by attaching the disk to a VM. A completed snapshot is copied from primary storage to secondary storage, where it is stored until deleted or purged by newer snapshot.
diff --git a/docs/en-US/working-with-volumes.xml b/docs/en-US/working-with-volumes.xml index 8aa04205488..117912015d2 100644 --- a/docs/en-US/working-with-volumes.xml +++ b/docs/en-US/working-with-volumes.xml @@ -31,7 +31,7 @@ Volumes are created for a specific hypervisor type. A volume that has been attached to guest using one hypervisor type (e.g, XenServer) may not be attached to a guest that is using another hypervisor type (e.g. - vSphere, Oracle VM, KVM). This is because the different hypervisors use + vSphere, KVM). This is because the different hypervisors use different disk image formats. &PRODUCT; defines a volume as a unit of storage available to a guest From b387e113331d903ccbf84a71f5118f01c34282d5 Mon Sep 17 00:00:00 2001 From: Joe Brockmeier Date: Sat, 20 Oct 2012 13:55:23 -0500 Subject: [PATCH 8/9] Fixed instances of 4.0 instead of 4.0.0-incubating referring to version numbers. --- docs/en-US/API_Developers_Guide.xml | 4 ++-- docs/en-US/Admin_Guide.xml | 2 +- docs/en-US/Book_Info.xml | 2 +- docs/en-US/Book_Info_Release_Notes_4.0.xml | 4 ++-- docs/en-US/CloudStack_Nicira_NVP_Guide.xml | 2 +- docs/en-US/added-API-commands-4.0.xml | 4 ++-- docs/en-US/castor-with-cs.xml | 2 +- docs/en-US/changed-apicommands-4.0.xml | 2 +- docs/en-US/cloudstack.xml | 4 ++-- docs/en-US/configure-package-repository.xml | 3 ++- docs/en-US/create-vpn-customer-gateway.xml | 2 +- docs/en-US/plugin-niciranvp-features.xml | 8 ++++---- docs/en-US/plugin-niciranvp-revisions.xml | 2 +- docs/en-US/whats-new.xml | 2 +- 14 files changed, 22 insertions(+), 21 deletions(-) diff --git a/docs/en-US/API_Developers_Guide.xml b/docs/en-US/API_Developers_Guide.xml index 802c50e8790..c691ad02cf6 100644 --- a/docs/en-US/API_Developers_Guide.xml +++ b/docs/en-US/API_Developers_Guide.xml @@ -26,7 +26,7 @@ &PRODUCT; API Developer's Guide Apache CloudStack - 4.0 + 4.0.0-incubating @@ -53,4 +53,4 @@ - \ No newline at end of file + diff --git a/docs/en-US/Admin_Guide.xml b/docs/en-US/Admin_Guide.xml index 3728b106ef6..07f5e889fc8 100644 --- a/docs/en-US/Admin_Guide.xml +++ b/docs/en-US/Admin_Guide.xml @@ -26,7 +26,7 @@ &PRODUCT; Administrator's Guide Apache CloudStack - 4.0 + 4.0.0-incubating 1 diff --git a/docs/en-US/Book_Info.xml b/docs/en-US/Book_Info.xml index 3bd6efa176f..c125ab8de2b 100644 --- a/docs/en-US/Book_Info.xml +++ b/docs/en-US/Book_Info.xml @@ -27,7 +27,7 @@ &PRODUCT; Guide Revised August 9, 2012 10:48 pm Pacific Apache CloudStack - 4.0 + 4.0.0-incubating 1 diff --git a/docs/en-US/Book_Info_Release_Notes_4.0.xml b/docs/en-US/Book_Info_Release_Notes_4.0.xml index 411eba9e6d3..0d57fb6d9a8 100644 --- a/docs/en-US/Book_Info_Release_Notes_4.0.xml +++ b/docs/en-US/Book_Info_Release_Notes_4.0.xml @@ -19,13 +19,13 @@ under the License. --> - Version 4.0 Release Notes + Version 4.0.0-incubating Release Notes Revised October 17, 2012 19:49 UTC Apache CloudStack - Release notes for the Apache CloudStack 4.0 release. + Release notes for the Apache CloudStack 4.0.0-incubating release. diff --git a/docs/en-US/CloudStack_Nicira_NVP_Guide.xml b/docs/en-US/CloudStack_Nicira_NVP_Guide.xml index c535c7cb891..a4c367c26f7 100644 --- a/docs/en-US/CloudStack_Nicira_NVP_Guide.xml +++ b/docs/en-US/CloudStack_Nicira_NVP_Guide.xml @@ -28,7 +28,7 @@ &PRODUCT; Plugin Guide for the Nicira NVP Plugin Apache CloudStack - 4.0 + 4.0.0-incubating 1 diff --git a/docs/en-US/added-API-commands-4.0.xml b/docs/en-US/added-API-commands-4.0.xml index 5dab9ca3e3d..2d86ba4d6dc 100644 --- a/docs/en-US/added-API-commands-4.0.xml +++ b/docs/en-US/added-API-commands-4.0.xml @@ -19,7 +19,7 @@ under the License. -->
- Added API Commands in 4.0 + Added API Commands in 4.0.0-incubating createCounter (Adds metric counter) @@ -161,4 +161,4 @@ as the IP address of the Nexus 1000v dvSwitch.) -
\ No newline at end of file +
diff --git a/docs/en-US/castor-with-cs.xml b/docs/en-US/castor-with-cs.xml index 6385452b1ee..5049d33d638 100644 --- a/docs/en-US/castor-with-cs.xml +++ b/docs/en-US/castor-with-cs.xml @@ -34,7 +34,7 @@ To configure CAStor: - Install &PRODUCT; 4.0 by following the instructions given in the INSTALL.txt + Install &PRODUCT; 4.0.0-incubating by following the instructions given in the INSTALL.txt file. You can use the S3 storage system in &PRODUCT; without setting up and installing the diff --git a/docs/en-US/changed-apicommands-4.0.xml b/docs/en-US/changed-apicommands-4.0.xml index f851bf71b46..042d5e2611e 100644 --- a/docs/en-US/changed-apicommands-4.0.xml +++ b/docs/en-US/changed-apicommands-4.0.xml @@ -19,7 +19,7 @@ under the License. -->
- Changed API Commands in 4.0 + Changed API Commands in 4.0.0-incubating diff --git a/docs/en-US/cloudstack.xml b/docs/en-US/cloudstack.xml index d9dca66bc57..c745bc95fe7 100644 --- a/docs/en-US/cloudstack.xml +++ b/docs/en-US/cloudstack.xml @@ -26,7 +26,7 @@ &PRODUCT; Complete Documentation Apache CloudStack - 4.0 + 4.0.0-incubating 1 @@ -76,4 +76,4 @@ - \ No newline at end of file + diff --git a/docs/en-US/configure-package-repository.xml b/docs/en-US/configure-package-repository.xml index 4907ce08e1c..996b9362535 100644 --- a/docs/en-US/configure-package-repository.xml +++ b/docs/en-US/configure-package-repository.xml @@ -40,7 +40,8 @@
DEB package repository You can add a DEB package repository to your apt sources with the following commands. Please note that currently only packages for Ubuntu 12.04 (precise) are being build. - echo "deb http://cloudstack.apt-get.eu/ubuntu $(lsb_release -s -c) 4.0" > /etc/apt/sources.list.d/cloudstack.list + Use your preferred editor and open (or create) /etc/apt/sources.list.d/cloudstack. Add the community provided repository to the file: +deb http://cloudstack.apt-get.eu/ubuntu precise 4.0 We now have to add the public key to the trusted keys. # wget -O - http://cloudstack.apt-get.eu/release.asc|apt-key add - Now update your local apt cache. diff --git a/docs/en-US/create-vpn-customer-gateway.xml b/docs/en-US/create-vpn-customer-gateway.xml index bf56e36e8b9..8bcd488160c 100644 --- a/docs/en-US/create-vpn-customer-gateway.xml +++ b/docs/en-US/create-vpn-customer-gateway.xml @@ -188,4 +188,4 @@ Click OK. -
\ No newline at end of file +
diff --git a/docs/en-US/plugin-niciranvp-features.xml b/docs/en-US/plugin-niciranvp-features.xml index cdcda9e2aa6..b67323d56d2 100644 --- a/docs/en-US/plugin-niciranvp-features.xml +++ b/docs/en-US/plugin-niciranvp-features.xml @@ -22,8 +22,8 @@ -->
Features of the Nicira NVP Plugin - In CloudStack release 4.0.x this plugin supports the Connectivity service. This service is responsible for creating Layer 2 networks supporting the networks created by Guests. In other words when an tennant creates a new network, instead of the traditional VLAN a logical network will be created by sending the appropriate calls to the Nicira NVP Controller. + In CloudStack release 4.0.0-incubating this plugin supports the Connectivity service. This service is responsible for creating Layer 2 networks supporting the networks created by Guests. In other words when an tennant creates a new network, instead of the traditional VLAN a logical network will be created by sending the appropriate calls to the Nicira NVP Controller. The plugin has been tested with Nicira NVP versions 2.1.0, 2.2.0 and 2.2.1 - In CloudStack 4.0.x only the XenServer hypervisor is supported for use in combination with Nicira NVP - In CloudStack 4.0.x the UI components for this plugin are not complete, configuration is done by sending commands to the API -
\ No newline at end of file + In CloudStack 4.0.0-incubating only the XenServer hypervisor is supported for use in combination with Nicira NVP + In CloudStack 4.0.0-incubating the UI components for this plugin are not complete, configuration is done by sending commands to the API +
diff --git a/docs/en-US/plugin-niciranvp-revisions.xml b/docs/en-US/plugin-niciranvp-revisions.xml index 6e455cafaf7..b8e6935c5d1 100644 --- a/docs/en-US/plugin-niciranvp-revisions.xml +++ b/docs/en-US/plugin-niciranvp-revisions.xml @@ -36,7 +36,7 @@ - Documentation created for 4.0.x version of the NVP Plugin + Documentation created for 4.0.0-incubating version of the NVP Plugin diff --git a/docs/en-US/whats-new.xml b/docs/en-US/whats-new.xml index cdb12c78950..5f13db3a854 100644 --- a/docs/en-US/whats-new.xml +++ b/docs/en-US/whats-new.xml @@ -39,4 +39,4 @@ - \ No newline at end of file + From 8c4e483f76d2f5b24c0dc23504bbd03e26050a87 Mon Sep 17 00:00:00 2001 From: Joe Brockmeier Date: Sat, 20 Oct 2012 14:42:59 -0500 Subject: [PATCH 9/9] Added short section that addresses the TODO for the system reserved IP addresses. Copied over from original 3.x documentation. --- docs/en-US/configure-package-repository.xml | 2 +- docs/en-US/system-reserved-ip-addresses.xml | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/en-US/configure-package-repository.xml b/docs/en-US/configure-package-repository.xml index 996b9362535..6e5f349482a 100644 --- a/docs/en-US/configure-package-repository.xml +++ b/docs/en-US/configure-package-repository.xml @@ -39,7 +39,7 @@
DEB package repository - You can add a DEB package repository to your apt sources with the following commands. Please note that currently only packages for Ubuntu 12.04 (precise) are being build. + You can add a DEB package repository to your apt sources with the following commands. Please note that currently only packages for Ubuntu 12.04.1 LTS (precise) are being build. Use your preferred editor and open (or create) /etc/apt/sources.list.d/cloudstack. Add the community provided repository to the file: deb http://cloudstack.apt-get.eu/ubuntu precise 4.0 We now have to add the public key to the trusted keys. diff --git a/docs/en-US/system-reserved-ip-addresses.xml b/docs/en-US/system-reserved-ip-addresses.xml index 2f4922553fa..1270378d38c 100644 --- a/docs/en-US/system-reserved-ip-addresses.xml +++ b/docs/en-US/system-reserved-ip-addresses.xml @@ -32,8 +32,11 @@ Provide private IPs for the system in each pod and provision them in &PRODUCT;. For KVM and XenServer, the recommended number of private IPs per pod is one per host. If you expect a pod to grow, add enough private IPs now to accommodate the growth. In a zone that uses advanced networking: - For vSphere with advanced networking, we recommend provisioning enough private IPs for your total number of customers, plus enough for the required &PRODUCT; System VMs. Typically, about 10 additional IPs are required for the System VMs. For more information about System VMs, see Working with System Virtual Machines in the Administrator's Guide. + For zones with advanced networking, we recommend provisioning enough private IPs for your total number of customers, plus enough for the required &PRODUCT; System VMs. Typically, about 10 additional IPs are required for the System VMs. For more information about System VMs, see Working with System Virtual Machines in the Administrator's Guide. When advanced networking is being used, the number of private IP addresses available in each pod varies depending on which hypervisor is running on the nodes in that pod. Citrix XenServer and KVM use link-local addresses, which in theory provide more than 65,000 private IP addresses within the address block. As the pod grows over time, this should be more than enough for any reasonable number of hosts as well as IP addresses for guest virtual routers. VMWare ESXi, by contrast uses any administrator-specified subnetting scheme, and the typical administrator provides only 255 IPs per pod. Since these are shared by physical machines, the guest virtual router, and other entities, it is possible to run out of private IPs when scaling up a pod whose nodes are running ESXi. - To ensure adequate headroom to scale private IP space in an ESXi pod that uses advanced networking, use one or more of the following techniques: - TODO + To ensure adequate headroom to scale private IP space in an ESXi pod that uses advanced networking, use one or both of the following techniques: + + Specify a larger CIDR block for the subnet. A subnet mask with a /20 suffix will provide more than 4,000 IP addresses. + Create multiple pods, each with its own subnet. For example, if you create 10 pods and each pod has 255 IPs, this will provide 2,550 IP addresses. +