Merge branch 'master' into affinity_groups

Conflicts:
        
engine/orchestration/src/org/apache/cloudstack/engine/cloud/entity/api/VMEntityManagerImpl.java
        setup/db/db/schema-410to420.sql


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/4a1eaf45
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/4a1eaf45
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/4a1eaf45

Branch: refs/heads/affinity_groups
Commit: 4a1eaf45bddaceea68e2a50505d3570c74a3d140
Parents: 90172c3 a4a059c
Author: Prachi Damle <[email protected]>
Authored: Wed Apr 10 11:34:30 2013 -0700
Committer: Prachi Damle <[email protected]>
Committed: Wed Apr 10 11:34:30 2013 -0700

----------------------------------------------------------------------
 agent/src/com/cloud/agent/AgentShell.java          |    3 +-
 .../consoleproxy/ConsoleProxyResource.java         |    4 +-
 api/src/com/cloud/agent/api/to/FirewallRuleTO.java |    6 +
 .../api/commands/CreatePrivateNetworkCmd.java      |  197 --
 .../cloud/api/commands/DestroyConsoleProxyCmd.java |   93 -
 .../cloud/consoleproxy/ConsoleProxyService.java    |   23 -
 api/src/com/cloud/event/EventTypes.java            |    3 +
 api/src/com/cloud/offering/NetworkOffering.java    |    1 +
 api/src/org/apache/cloudstack/api/BaseCmd.java     |    2 -
 .../ha/gslb/ListGlobalLoadBalancerRuleCmd.java     |    2 +-
 .../user/vmsnapshot/CreateVMSnapshotCmd.java       |    2 +-
 .../user/vmsnapshot/DeleteVMSnapshotCmd.java       |    2 +-
 .../command/user/vmsnapshot/ListVMSnapshotCmd.java |    2 +-
 .../user/vmsnapshot/RevertToSnapshotCmd.java       |    2 +-
 .../api/response/FirewallRuleResponse.java         |   12 +
 client/pom.xml                                     |   16 +
 client/tomcatconf/applicationContext.xml.in        |    3 +-
 client/tomcatconf/nonossComponentContext.xml.in    |    7 +-
 .../cloud/hypervisor/HypervisorCapabilitiesVO.java |   13 +-
 .../src/com/cloud/resource/ServerResourceBase.java |    2 +-
 .../resource/CifsSecondaryStorageResource.java     |  755 -----
 .../resource/LocalSecondaryStorageResource.java    |  246 --
 .../resource/NfsSecondaryStorageResource.java      | 1842 ------------
 .../storage/resource/SecondaryStorageResource.java |   28 -
 .../resource/SecondaryStorageResourceHandler.java  |   24 -
 .../cloud/storage/template/DownloadManager.java    |  103 -
 .../storage/template/DownloadManagerImpl.java      | 1049 -------
 .../com/cloud/storage/template/UploadManager.java  |   85 -
 .../cloud/storage/template/UploadManagerImpl.java  |  645 ----
 debian/cloudstack-agent.install                    |    6 +-
 debian/cloudstack-common.install                   |    8 +-
 debian/cloudstack-management.install               |   10 +-
 debian/rules                                       |   16 +-
 deps/install-non-oss.sh                            |   13 -
 docs/en-US/Book_Info.xml                           |   39 +-
 docs/en-US/Installation_Guide.xml                  |    2 +
 docs/en-US/Release_Notes.xml                       | 2294 ++++++++-------
 docs/en-US/add-clusters-vsphere.xml                |   11 +-
 docs/en-US/added-API-commands-4.2.xml              |   43 +
 docs/en-US/added-API-commands.xml                  |    2 +-
 docs/en-US/aws-ec2-introduction.xml                |    2 +-
 docs/en-US/building-documentation.xml              |    2 +-
 docs/en-US/building-marvin.xml                     |    2 +-
 docs/en-US/building-translation.xml                |    2 +-
 ...change-console-proxy-ssl-certificate-domain.xml |    2 +-
 docs/en-US/citrix-xenserver-installation.xml       |    2 +-
 docs/en-US/configure-package-repository.xml        |    2 +-
 docs/en-US/configure-vpn.xml                       |    2 +-
 docs/en-US/console-proxy.xml                       |    2 +-
 docs/en-US/global-config.xml                       |   79 +
 docs/en-US/hypervisor-host-install-firewall.xml    |    4 +-
 docs/en-US/hypervisor-host-install-libvirt.xml     |    2 +-
 ...hypervisor-host-install-network-openvswitch.xml |    2 +-
 docs/en-US/hypervisor-host-install-network.xml     |   12 +-
 docs/en-US/hypervisor-installation.xml             |    1 +
 docs/en-US/lxc-install.xml                         |  110 +
 docs/en-US/lxc-topology-req.xml                    |   24 +
 .../en-US/management-server-install-prepare-os.xml |    2 +-
 docs/en-US/management-server-install-systemvm.xml  |    4 +
 docs/en-US/management-server-lb.xml                |    2 +-
 docs/en-US/minimum-system-requirements.xml         |    3 +-
 docs/en-US/multiple-ip-nic.xml                     |   91 +
 docs/en-US/networks.xml                            |    1 +
 docs/en-US/prepare-system-vm-template.xml          |    4 +
 docs/en-US/topology-req.xml                        |    3 +-
 docs/en-US/translating-documentation.xml           |    2 +-
 docs/en-US/using-sshkeys.xml                       |    2 +-
 docs/en-US/vmware-cluster-config-dvswitch.xml      |   35 +-
 docs/en-US/vmware-install.xml                      |    4 +-
 docs/en-US/vmware-requirements.xml                 |    2 +-
 docs/en-US/whats-new.xml                           |    6 +-
 docs/en-US/writing-new-documentation.xml           |    4 +-
 docs/publican-cloudstack/defaults.cfg              |    4 +-
 .../cloud/entity/api/VMEntityManagerImpl.java      |    2 +-
 .../debian/config/etc/init.d/cloud-early-config    |    2 +-
 patches/systemvm/debian/config/root/edithosts.sh   |    3 +-
 plugins/hypervisors/simulator/pom.xml              |    5 +
 .../com/cloud/resource/AgentStorageResource.java   |    2 +-
 .../resource/SimulatorSecondaryDiscoverer.java     |    3 +-
 plugins/hypervisors/vmware/pom.xml                 |    5 +
 .../src/com/cloud/hypervisor/guru/VMwareGuru.java  |    5 +-
 .../resource/PremiumSecondaryStorageResource.java  |    2 +
 .../VmwareSecondaryStorageResourceHandler.java     |    1 +
 .../xen/resource/CitrixResourceBase.java           |    2 +-
 .../element/JuniperSRXExternalFirewallElement.java |    2 +-
 .../cloud/network/resource/JuniperSrxResource.java |  322 ++-
 plugins/network-elements/netscaler/pom.xml         |    6 +-
 pom.xml                                            |    4 +
 scripts/network/juniper/application-add.xml        |    2 +-
 scripts/network/juniper/security-policy-add.xml    |    4 +-
 scripts/vm/systemvm/injectkeys.sh                  |   26 +-
 server/src/com/cloud/api/ApiResponseHelper.java    |    1 +
 server/src/com/cloud/configuration/Config.java     |    4 +-
 .../AgentBasedConsoleProxyManager.java             |  184 +-
 .../AgentBasedConsoleProxyManager.java.orig        |  298 ++
 .../src/com/cloud/consoleproxy/AgentHookBase.java  |  266 ++
 .../cloud/consoleproxy/ConsoleProxyManager.java    |   17 +-
 .../consoleproxy/ConsoleProxyManagerImpl.java      |  380 +--
 .../cloud/consoleproxy/ConsoleProxyService.java    |   25 +
 .../consoleproxy/StaticConsoleProxyManager.java    |   84 +-
 server/src/com/cloud/deploy/FirstFitPlanner.java   |    5 +-
 .../hypervisor/dao/HypervisorCapabilitiesDao.java  |    2 +
 .../dao/HypervisorCapabilitiesDaoImpl.java         |    7 +
 .../network/ExternalFirewallDeviceManagerImpl.java |   12 +-
 .../src/com/cloud/network/NetworkManagerImpl.java  |   16 +-
 .../src/com/cloud/network/vpc/VpcManagerImpl.java  |    7 +-
 .../PremiumSecondaryStorageManagerImpl.java        |    6 +-
 .../storage/download/DownloadMonitorImpl.java      |   28 +-
 .../secondary/SecondaryStorageDiscoverer.java      |  322 --
 .../secondary/SecondaryStorageManagerImpl.java     |   10 +-
 .../src/com/cloud/upgrade/dao/Upgrade410to420.java |   60 +
 server/src/com/cloud/user/AccountManagerImpl.java  |    7 +-
 server/src/com/cloud/vm/UserVmManagerImpl.java     |   43 +-
 .../cloud/vm/snapshot/VMSnapshotManagerImpl.java   |   13 +-
 server/src/com/cloud/vm/snapshot/VMSnapshotVO.java |  224 --
 .../network/security/SecurityGroupQueueTest.java   |    2 +-
 .../cloud/vm/snapshot/VMSnapshotManagerTest.java   |   20 +-
 .../console-proxy/server/conf/agent.properties     |   17 -
 .../server/conf/environment.properties             |    2 +
 services/console-proxy/server/conf/log4j-cloud.xml |    2 +-
 services/console-proxy/server/pom.xml              |   41 +
 services/console-proxy/server/scripts/_run.sh      |    3 +-
 .../console-proxy/server/scripts/consoleproxy.sh   |   33 +
 .../console-proxy/server/scripts/secstorage.sh     |   33 +
 .../src/com/cloud/consoleproxy/ConsoleProxy.java   |   16 +-
 services/pom.xml                                   |    1 +
 services/secondary-storage/conf/agent.properties   |    2 +
 .../secondary-storage/conf/environment.properties  |    2 +
 services/secondary-storage/conf/log4j-cloud.xml    |  102 +
 services/secondary-storage/pom.xml                 |  103 +
 services/secondary-storage/scripts/_run.sh         |   64 +
 services/secondary-storage/scripts/config_auth.sh  |   69 +
 services/secondary-storage/scripts/config_ssl.sh   |  174 ++
 services/secondary-storage/scripts/ipfirewall.sh   |   50 +
 services/secondary-storage/scripts/run-proxy.sh    |   48 +
 services/secondary-storage/scripts/run.bat         |   18 +
 services/secondary-storage/scripts/run.sh          |   45 +
 services/secondary-storage/scripts/ssvm-check.sh   |  136 +
 .../resource/CifsSecondaryStorageResource.java     |  755 +++++
 .../resource/LocalSecondaryStorageResource.java    |  246 ++
 .../resource/NfsSecondaryStorageResource.java      | 1882 ++++++++++++
 .../resource/SecondaryStorageDiscoverer.java       |  320 ++
 .../storage/resource/SecondaryStorageResource.java |   28 +
 .../resource/SecondaryStorageResourceHandler.java  |   24 +
 .../storage/template/DownloadManager.java          |  105 +
 .../storage/template/DownloadManagerImpl.java      | 1074 +++++++
 .../cloudstack/storage/template/UploadManager.java |   87 +
 .../storage/template/UploadManagerImpl.java        |  648 ++++
 setup/db/db/schema-40to410.sql                     |   29 -
 setup/db/db/schema-410to420.sql                    |   44 +-
 setup/dev/basic.cfg                                |    6 +-
 setup/dev/local.cfg                                |   44 +
 tools/apidoc/build-apidoc.sh                       |    2 +-
 tools/apidoc/pom.xml                               |    3 +-
 tools/appliance/build.sh                           |    5 +-
 .../definitions/systemvmtemplate/postinstall.sh    |   20 +-
 .../definitions/systemvmtemplate/preseed.cfg       |   12 +-
 .../definitions/systemvmtemplate64/postinstall.sh  |   20 +-
 .../definitions/systemvmtemplate64/preseed.cfg     |   12 +-
 tools/devcloud/devcloud.cfg                        |    1 +
 tools/devcloud/pom.xml                             |   33 +
 tools/devcloud/quickcloud.cfg                      |  121 +
 tools/marvin/marvin/cloudstackConnection.py        |    6 +-
 tools/marvin/marvin/deployDataCenter.py            |   19 +-
 tools/marvin/pom.xml                               |   18 +-
 ui/scripts/cloud.core.callbacks.js                 |   41 +-
 ui/scripts/cloudStack.js                           |   24 +-
 ui/scripts/instances.js                            |    6 +-
 ui/scripts/network.js                              |  404 +++-
 ui/scripts/sharedFunctions.js                      |    2 +-
 ui/scripts/system.js                               |   89 +-
 ui/scripts/ui-custom/healthCheck.js                |   10 +-
 ui/scripts/ui-custom/regions.js                    |    4 +-
 ui/scripts/ui/widgets/listView.js                  |    2 +-
 ui/scripts/ui/widgets/multiEdit.js                 |   16 +-
 utils/src/com/cloud/utils/nio/NioClient.java       |    3 +-
 utils/src/com/cloud/utils/nio/NioConnection.java   |    2 +-
 .../vmware/util/VmwareGuestOsMapper.java           |    5 +
 178 files changed, 10078 insertions(+), 7533 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4a1eaf45/api/src/com/cloud/event/EventTypes.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4a1eaf45/api/src/org/apache/cloudstack/api/BaseCmd.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4a1eaf45/client/pom.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4a1eaf45/client/tomcatconf/applicationContext.xml.in
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4a1eaf45/engine/orchestration/src/org/apache/cloudstack/engine/cloud/entity/api/VMEntityManagerImpl.java
----------------------------------------------------------------------
diff --cc 
engine/orchestration/src/org/apache/cloudstack/engine/cloud/entity/api/VMEntityManagerImpl.java
index ed91526,0359db9..ec813b2
--- 
a/engine/orchestration/src/org/apache/cloudstack/engine/cloud/entity/api/VMEntityManagerImpl.java
+++ 
b/engine/orchestration/src/org/apache/cloudstack/engine/cloud/entity/api/VMEntityManagerImpl.java
@@@ -210,17 -205,12 +210,17 @@@ public class VMEntityManagerImpl implem
                  poolId = storage.get(volIdList.get(0));
              }
          }
 -        
 -        DataCenterDeployment plan = new 
DataCenterDeployment(vm.getDataCenterId(), vmReservation.getPodId(), 
vmReservation.getClusterId(),
 +
 +        DataCenterDeployment reservedPlan = new 
DataCenterDeployment(vm.getDataCenterId(), vmReservation.getPodId(), 
vmReservation.getClusterId(),
-                 vmReservation.getHostId(), poolId , null);
+                 vmReservation.getHostId(), null , null);
 -        
 -        VMInstanceVO vmDeployed = _itMgr.start(vm, params, 
_userDao.findById(new Long(caller)), _accountDao.findById(vm.getAccountId()), 
plan);
 -        
 +        try{
 +            VMInstanceVO vmDeployed = _itMgr.start(vm, params, 
_userDao.findById(new Long(caller)), _accountDao.findById(vm.getAccountId()), 
reservedPlan);
 +        }catch(Exception ex){
 +            //Retry the deployment without using the reservation plan
 +            DataCenterDeployment plan = new 
DataCenterDeployment(vm.getDataCenterId(), null, null,null, null , null);
 +            _itMgr.start(vm, params, _userDao.findById(new Long(caller)), 
_accountDao.findById(vm.getAccountId()), plan);
 +        }
 +
      }
  
      @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4a1eaf45/server/src/com/cloud/api/ApiResponseHelper.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4a1eaf45/server/src/com/cloud/deploy/FirstFitPlanner.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/deploy/FirstFitPlanner.java
index 0f018dd,2dffe70..1647cf7
--- a/server/src/com/cloud/deploy/FirstFitPlanner.java
+++ b/server/src/com/cloud/deploy/FirstFitPlanner.java
@@@ -157,47 -157,42 +157,48 @@@ public class FirstFitPlanner extends Pl
          if(plan.getHostId() != null && haVmTag == null){
              Long hostIdSpecified = plan.getHostId();
              if (s_logger.isDebugEnabled()){
-                 s_logger.debug("DeploymentPlan has host_id specified, making 
no checks on this host, looks like admin test: "+hostIdSpecified);
+                 s_logger.debug("DeploymentPlan has host_id specified, 
choosing this host and making no checks on this host: "
+                         + hostIdSpecified);
              }
              HostVO host = _hostDao.findById(hostIdSpecified);
 -            if (s_logger.isDebugEnabled()) {
 -                if(host == null){
 -                    s_logger.debug("The specified host cannot be found");
 -                }else{
 +            if (host == null) {
 +                s_logger.debug("The specified host cannot be found");
 +            } else if (avoid.shouldAvoid(host)) {
 +                s_logger.debug("The specified host is in avoid set");
 +            } else {
 +                if (s_logger.isDebugEnabled()) {
                      s_logger.debug("Looking for suitable pools for this host 
under zone: "+host.getDataCenterId() +", pod: "+ host.getPodId()+", cluster: "+ 
host.getClusterId());
                  }
 -            }
  
 -            //search for storage under the zone, pod, cluster of the host.
 -            DataCenterDeployment lastPlan = new 
DataCenterDeployment(host.getDataCenterId(), host.getPodId(), 
host.getClusterId(), hostIdSpecified, plan.getPoolId(), null, 
plan.getReservationContext());
 -
 -            Pair<Map<Volume, List<StoragePool>>, List<Volume>> result = 
findSuitablePoolsForVolumes(vmProfile, lastPlan, avoid, 
HostAllocator.RETURN_UPTO_ALL);
 -            Map<Volume, List<StoragePool>> suitableVolumeStoragePools = 
result.first();
 -            List<Volume> readyAndReusedVolumes = result.second();
 -
 -            //choose the potential pool for this VM for this host
 -            if(!suitableVolumeStoragePools.isEmpty()){
 -                List<Host> suitableHosts = new ArrayList<Host>();
 -                suitableHosts.add(host);
 -
 -                Pair<Host, Map<Volume, StoragePool>> potentialResources = 
findPotentialDeploymentResources(suitableHosts, suitableVolumeStoragePools);
 -                if(potentialResources != null){
 -                    Pod pod = _podDao.findById(host.getPodId());
 -                    Cluster cluster = 
_clusterDao.findById(host.getClusterId());
 -                    Map<Volume, StoragePool> storageVolMap = 
potentialResources.second();
 -                    // remove the reused vol<->pool from destination, since 
we don't have to prepare this volume.
 -                    for(Volume vol : readyAndReusedVolumes){
 -                        storageVolMap.remove(vol);
 +                // search for storage under the zone, pod, cluster of the 
host.
 +                DataCenterDeployment lastPlan = new 
DataCenterDeployment(host.getDataCenterId(), host.getPodId(),
 +                        host.getClusterId(), hostIdSpecified, 
plan.getPoolId(), null, plan.getReservationContext());
 +
 +                Pair<Map<Volume, List<StoragePool>>, List<Volume>> result = 
findSuitablePoolsForVolumes(vmProfile,
 +                        lastPlan, avoid, HostAllocator.RETURN_UPTO_ALL);
 +                Map<Volume, List<StoragePool>> suitableVolumeStoragePools = 
result.first();
 +                List<Volume> readyAndReusedVolumes = result.second();
 +
 +                // choose the potential pool for this VM for this host
 +                if (!suitableVolumeStoragePools.isEmpty()) {
 +                    List<Host> suitableHosts = new ArrayList<Host>();
 +                    suitableHosts.add(host);
 +
 +                    Pair<Host, Map<Volume, StoragePool>> potentialResources = 
findPotentialDeploymentResources(
 +                            suitableHosts, suitableVolumeStoragePools);
 +                    if (potentialResources != null) {
 +                        Pod pod = _podDao.findById(host.getPodId());
 +                        Cluster cluster = 
_clusterDao.findById(host.getClusterId());
 +                        Map<Volume, StoragePool> storageVolMap = 
potentialResources.second();
 +                        // remove the reused vol<->pool from destination, 
since
 +                        // we don't have to prepare this volume.
 +                        for (Volume vol : readyAndReusedVolumes) {
 +                            storageVolMap.remove(vol);
 +                        }
 +                        DeployDestination dest = new DeployDestination(dc, 
pod, cluster, host, storageVolMap);
 +                        s_logger.debug("Returning Deployment Destination: " + 
dest);
 +                        return dest;
                      }
 -                    DeployDestination dest =  new DeployDestination(dc, pod, 
cluster, host, storageVolMap);
 -                    s_logger.debug("Returning Deployment Destination: "+ 
dest);
 -                    return dest;
                  }
              }
              s_logger.debug("Cannnot deploy to specified host, returning.");

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4a1eaf45/server/src/com/cloud/user/AccountManagerImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4a1eaf45/server/src/com/cloud/vm/UserVmManagerImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4a1eaf45/setup/db/db/schema-410to420.sql
----------------------------------------------------------------------
diff --cc setup/db/db/schema-410to420.sql
index 494ca1b,c7c8b5b..b3bc7dd
--- a/setup/db/db/schema-410to420.sql
+++ b/setup/db/db/schema-410to420.sql
@@@ -641,5 -415,36 +650,38 @@@ INSERT INTO `cloud`.`vm_template` (id, 
  
  -- END: support for LXC
  
+ CREATE TABLE `cloud`.`vm_snapshots` (
+   `id` bigint(20) unsigned NOT NULL auto_increment COMMENT 'Primary Key',
+   `uuid` varchar(40) NOT NULL,
+   `name` varchar(255) NOT NULL,
+   `display_name` varchar(255) default NULL,
+   `description` varchar(255) default NULL,
+   `vm_id` bigint(20) unsigned NOT NULL,
+   `account_id` bigint(20) unsigned NOT NULL,
+   `domain_id` bigint(20) unsigned NOT NULL,
+   `vm_snapshot_type` varchar(32) default NULL,
+   `state` varchar(32) NOT NULL,
+   `parent` bigint unsigned default NULL,
+   `current` int(1) unsigned default NULL,
+   `update_count` bigint unsigned NOT NULL DEFAULT 0,
+   `updated` datetime default NULL,
+   `created` datetime default NULL,
+   `removed` datetime default NULL,
+   PRIMARY KEY  (`id`),
+   CONSTRAINT UNIQUE KEY `uc_vm_snapshots_uuid` (`uuid`),
+   INDEX `vm_snapshots_name` (`name`),
+   INDEX `vm_snapshots_vm_id` (`vm_id`),
+   INDEX `vm_snapshots_account_id` (`account_id`),
+   INDEX `vm_snapshots_display_name` (`display_name`),
+   INDEX `vm_snapshots_removed` (`removed`),
+   INDEX `vm_snapshots_parent` (`parent`),
+   CONSTRAINT `fk_vm_snapshots_vm_id__vm_instance_id` FOREIGN KEY 
`fk_vm_snapshots_vm_id__vm_instance_id` (`vm_id`) REFERENCES `vm_instance` 
(`id`),
+   CONSTRAINT `fk_vm_snapshots_account_id__account_id` FOREIGN KEY 
`fk_vm_snapshots_account_id__account_id` (`account_id`) REFERENCES `account` 
(`id`),
+   CONSTRAINT `fk_vm_snapshots_domain_id__domain_id` FOREIGN KEY 
`fk_vm_snapshots_domain_id__domain_id` (`domain_id`) REFERENCES `domain` (`id`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+ 
+ ALTER TABLE `cloud`.`hypervisor_capabilities` ADD COLUMN 
`vm_snapshot_enabled` tinyint(1) DEFAULT 0 NOT NULL COMMENT 'Whether VM 
snapshot is supported by hypervisor';
+ UPDATE `cloud`.`hypervisor_capabilities` SET `vm_snapshot_enabled`=1 WHERE 
`hypervisor_type` in ('VMware', 'XenServer');
+ 
 +-- Re-enable foreign key checking, at the end of the upgrade path
- SET foreign_key_checks = 1;                   
++SET foreign_key_checks = 1;   

Reply via email to