You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by mc...@apache.org on 2013/02/25 21:46:46 UTC

[49/50] [abbrv] git commit: refs/heads/vim51_win8 - Merge from master and fix conflicts

Merge from master and fix conflicts


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

Branch: refs/heads/vim51_win8
Commit: fbfc5c68941505442f6463710d432ef2ead665fd
Parents: a433a29 c30da35
Author: Min Chen <mi...@citrix.com>
Authored: Mon Feb 25 11:53:24 2013 -0800
Committer: Min Chen <mi...@citrix.com>
Committed: Mon Feb 25 11:53:24 2013 -0800

----------------------------------------------------------------------
 LICENSE                                            |  210 +-
 NOTICE                                             |   49 +-
 agent/pom.xml                                      |    2 +-
 api/pom.xml                                        |    2 +-
 .../cloud/agent/api/CreateVMSnapshotAnswer.java    |   62 +
 .../cloud/agent/api/CreateVMSnapshotCommand.java   |   42 +
 .../agent/api/CreateVolumeFromSnapshotCommand.java |    1 +
 .../api/CreateVolumeFromVMSnapshotAnswer.java      |   54 +
 .../api/CreateVolumeFromVMSnapshotCommand.java     |   88 +
 .../cloud/agent/api/DeleteVMSnapshotAnswer.java    |   49 +
 .../cloud/agent/api/DeleteVMSnapshotCommand.java   |   28 +
 .../cloud/agent/api/RevertToVMSnapshotAnswer.java  |   63 +
 .../cloud/agent/api/RevertToVMSnapshotCommand.java |   29 +
 .../com/cloud/agent/api/VMSnapshotBaseCommand.java |   74 +
 api/src/com/cloud/agent/api/VMSnapshotTO.java      |   90 +
 .../com/cloud/agent/api/to/VirtualMachineTO.java   |   15 +-
 api/src/com/cloud/agent/api/to/VolumeTO.java       |    4 +
 .../cloud/configuration/ConfigurationService.java  |    2 +
 api/src/com/cloud/configuration/Resource.java      |    4 +-
 api/src/com/cloud/event/EventTypes.java            |    5 +
 .../com/cloud/exception/RequestLimitException.java |    1 -
 .../cloud/hypervisor/HypervisorCapabilities.java   |    6 +
 api/src/com/cloud/network/Network.java             |   14 +-
 api/src/com/cloud/network/NetworkModel.java        |    2 +
 api/src/com/cloud/network/NetworkProfile.java      |    7 +
 api/src/com/cloud/network/NetworkService.java      |    4 +-
 api/src/com/cloud/network/vpc/VpcService.java      |    4 +-
 api/src/com/cloud/offering/ServiceOffering.java    |    5 +
 api/src/com/cloud/resource/ResourceService.java    |    2 +-
 api/src/com/cloud/server/ResourceTag.java          |    3 +-
 api/src/com/cloud/storage/Snapshot.java            |   20 +-
 api/src/com/cloud/storage/StoragePool.java         |    9 +-
 api/src/com/cloud/storage/StoragePoolStatus.java   |    9 +-
 api/src/com/cloud/storage/StorageService.java      |   53 -
 api/src/com/cloud/storage/Volume.java              |   17 +-
 api/src/com/cloud/storage/VolumeApiService.java    |   81 +
 api/src/com/cloud/template/TemplateService.java    |   10 +
 api/src/com/cloud/vm/UserVmService.java            |   41 -
 api/src/com/cloud/vm/VirtualMachine.java           |    6 +-
 api/src/com/cloud/vm/VirtualMachineProfile.java    |    6 +
 api/src/com/cloud/vm/snapshot/VMSnapshot.java      |  110 +
 .../com/cloud/vm/snapshot/VMSnapshotService.java   |   48 +
 .../org/apache/cloudstack/api/ApiConstants.java    |   12 +
 .../apache/cloudstack/api/ApiConstants.java.orig   |  468 ++
 .../org/apache/cloudstack/api/ApiErrorCode.java    |    1 -
 api/src/org/apache/cloudstack/api/BaseCmd.java     |    5 +-
 .../apache/cloudstack/api/ResponseGenerator.java   |    5 +-
 .../apache/cloudstack/api/ServerApiException.java  |   11 +-
 .../api/command/admin/cluster/AddClusterCmd.java   |   27 +
 .../command/admin/cluster/UpdateClusterCmd.java    |   27 +-
 .../api/command/admin/ldap/LDAPConfigCmd.java      |   61 +-
 .../admin/offering/CreateServiceOfferingCmd.java   |   11 +-
 .../api/command/admin/router/UpgradeRouterCmd.java |    4 +-
 .../admin/storage/CreateStoragePoolCmd.java        |   17 +
 .../command/admin/systemvm/UpgradeSystemVMCmd.java |    4 +-
 .../command/admin/vpc/CreateVPCOfferingCmd.java    |   31 +-
 .../autoscale/CreateAutoScaleVmProfileCmd.java     |    4 +-
 .../api/command/user/iso/RegisterIsoCmd.java       |    8 +
 .../api/command/user/network/CreateNetworkCmd.java |    4 -
 .../api/command/user/network/UpdateNetworkCmd.java |   11 +-
 .../user/resource/UpdateResourceCountCmd.java      |    9 +-
 .../user/resource/UpdateResourceLimitCmd.java      |    8 +-
 .../command/user/template/CreateTemplateCmd.java   |    4 +-
 .../command/user/template/RegisterTemplateCmd.java |   10 +-
 .../api/command/user/vm/DeployVMCmd.java           |   11 +-
 .../api/command/user/vm/RestoreVMCmd.java          |   10 +-
 .../user/vmsnapshot/CreateVMSnapshotCmd.java       |  125 +
 .../user/vmsnapshot/DeleteVMSnapshotCmd.java       |   85 +
 .../command/user/vmsnapshot/ListVMSnapshotCmd.java |   89 +
 .../user/vmsnapshot/RevertToSnapshotCmd.java       |   92 +
 .../api/command/user/volume/AttachVolumeCmd.java   |    2 +-
 .../api/command/user/volume/CreateVolumeCmd.java   |    4 +-
 .../api/command/user/volume/DeleteVolumeCmd.java   |    2 +-
 .../api/command/user/volume/DetachVolumeCmd.java   |    2 +-
 .../api/command/user/volume/MigrateVolumeCmd.java  |    2 +-
 .../api/command/user/volume/ResizeVolumeCmd.java   |    2 +-
 .../api/command/user/volume/UploadVolumeCmd.java   |   10 +-
 .../user/vpn/CreateVpnCustomerGatewayCmd.java      |    2 +-
 .../cloudstack/api/response/AccountResponse.java   |   42 +
 .../cloudstack/api/response/ClusterResponse.java   |   20 +
 .../api/response/LDAPConfigResponse.java           |    2 +-
 .../cloudstack/api/response/NetworkResponse.java   |   16 +-
 .../api/response/ResourceCountResponse.java        |    2 +-
 .../api/response/ResourceLimitResponse.java        |    2 +-
 .../api/response/VMSnapshotResponse.java           |  220 +
 .../org/apache/cloudstack/query/QueryService.java  |    1 -
 .../api/agent/test/BackupSnapshotCommandTest.java  |    6 +-
 .../api/agent/test/SnapshotCommandTest.java        |   12 +-
 .../cloudstack/api/command/test/UsageCmdTest.java  |   69 +
 .../agent/api/test/ResizeVolumeCommandTest.java    |    6 +-
 awsapi/pom.xml                                     |    2 +-
 .../com/cloud/bridge/service/EC2RestServlet.java   |   69 +-
 .../cloud/bridge/service/EC2SoapServiceImpl.java   |   68 +-
 .../service/core/ec2/EC2AvailabilityZone.java      |   55 +
 .../core/ec2/EC2AvailabilityZonesFilterSet.java    |   21 +-
 .../ec2/EC2DescribeAvailabilityZonesResponse.java  |   36 +-
 .../cloud/bridge/service/core/ec2/EC2Engine.java   |  179 +-
 .../service/core/ec2/EC2InstanceFilterSet.java     |    3 +
 .../bridge/service/core/ec2/EC2StopInstances.java  |    9 +
 .../cloud/bridge/service/core/ec2/EC2Volume.java   |   16 +
 .../service/core/ec2/EC2VolumeFilterSet.java       |    5 +-
 .../WEB-INF/classes/resources/messages.properties  |   19 +
 client/WEB-INF/web.xml                             |    8 +
 client/pom.xml                                     |   40 +-
 client/tomcatconf/commands.properties.in           |    9 +
 client/tomcatconf/componentContext.xml.in          |   54 +-
 client/tomcatconf/log4j-cloud.xml.in               |    2 +-
 client/tomcatconf/nonossComponentContext.xml.in    |   42 +-
 client/tomcatconf/tomcat6-nonssl.conf.in           |    2 +-
 client/tomcatconf/tomcat6-ssl.conf.in              |    2 +-
 console-proxy/bindir/cloud-setup-console-proxy.in  |  220 -
 console-proxy/certs/localhost.crt                  |   22 -
 console-proxy/certs/localhost.key                  |   27 -
 console-proxy/certs/realhostip.crt                 |   31 -
 console-proxy/certs/realhostip.csr                 |   15 -
 console-proxy/certs/realhostip.key                 |   24 -
 console-proxy/certs/realhostip.keystore            |  Bin 8690 -> 0 bytes
 console-proxy/conf.dom0/agent.properties.in        |   46 -
 console-proxy/conf.dom0/consoleproxy.properties.in |   23 -
 console-proxy/conf.dom0/log4j-cloud.xml.in         |  101 -
 console-proxy/conf/agent.properties                |   19 -
 console-proxy/conf/consoleproxy.properties         |   23 -
 console-proxy/conf/log4j-cloud.xml                 |  102 -
 console-proxy/css/ajaxviewer.css                   |  144 -
 console-proxy/css/logger.css                       |  139 -
 .../SYSCONFDIR/rc.d/init.d/cloud-console-proxy.in  |   98 -
 .../SYSCONFDIR/rc.d/init.d/cloud-console-proxy.in  |   98 -
 .../SYSCONFDIR/rc.d/init.d/cloud-console-proxy.in  |   98 -
 .../SYSCONFDIR/init.d/cloud-console-proxy.in       |  112 -
 console-proxy/images/back.gif                      |  Bin 149 -> 0 bytes
 console-proxy/images/bright-green.png              |  Bin 3903 -> 0 bytes
 console-proxy/images/cad.gif                       |  Bin 918 -> 0 bytes
 console-proxy/images/cannotconnect.jpg             |  Bin 1810 -> 0 bytes
 console-proxy/images/clr_button.gif                |  Bin 1274 -> 0 bytes
 console-proxy/images/clr_button_hover.gif          |  Bin 437 -> 0 bytes
 console-proxy/images/dot.cur                       |  Bin 326 -> 0 bytes
 console-proxy/images/gray-green.png                |  Bin 3833 -> 0 bytes
 console-proxy/images/grid_headerbg.gif             |  Bin 196 -> 0 bytes
 console-proxy/images/left.png                      |  Bin 3024 -> 0 bytes
 console-proxy/images/minimize_button.gif           |  Bin 634 -> 0 bytes
 console-proxy/images/minimize_button_hover.gif     |  Bin 227 -> 0 bytes
 console-proxy/images/notready.jpg                  |  Bin 1827 -> 0 bytes
 console-proxy/images/play_button.gif               |  Bin 657 -> 0 bytes
 console-proxy/images/play_button_hover.gif         |  Bin 243 -> 0 bytes
 console-proxy/images/right.png                     |  Bin 3131 -> 0 bytes
 console-proxy/images/right2.png                    |  Bin 3156 -> 0 bytes
 console-proxy/images/shrink_button.gif             |  Bin 655 -> 0 bytes
 console-proxy/images/shrink_button_hover.gif       |  Bin 243 -> 0 bytes
 console-proxy/images/stop_button.gif               |  Bin 649 -> 0 bytes
 console-proxy/images/stop_button_hover.gif         |  Bin 231 -> 0 bytes
 console-proxy/images/winlog.png                    |  Bin 2629 -> 0 bytes
 console-proxy/js/ajaxkeys.js                       |   77 -
 console-proxy/js/ajaxviewer.js                     | 1444 -----
 console-proxy/js/cloud.logger.js                   |  338 --
 console-proxy/js/handler.js                        |   72 -
 console-proxy/js/jquery.js                         |   19 -
 console-proxy/libexec/console-proxy-runner.in      |   90 -
 console-proxy/pom.xml                              |  246 -
 console-proxy/scripts/_run.sh                      |   63 -
 console-proxy/scripts/config_auth.sh               |   69 -
 console-proxy/scripts/config_ssl.sh                |  174 -
 console-proxy/scripts/ipfirewall.sh                |   50 -
 console-proxy/scripts/run-proxy.sh                 |   48 -
 console-proxy/scripts/run.bat                      |   18 -
 console-proxy/scripts/run.sh                       |   45 -
 console-proxy/scripts/ssvm-check.sh                |  136 -
 .../com/cloud/consoleproxy/AjaxFIFOImageCache.java |   83 -
 .../consoleproxy/AuthenticationException.java      |   33 -
 .../src/com/cloud/consoleproxy/ConsoleProxy.java   |  499 --
 .../consoleproxy/ConsoleProxyAjaxHandler.java      |  406 --
 .../consoleproxy/ConsoleProxyAjaxImageHandler.java |  159 -
 .../ConsoleProxyAuthenticationResult.java          |   81 -
 .../ConsoleProxyBaseServerFactoryImpl.java         |   48 -
 .../com/cloud/consoleproxy/ConsoleProxyClient.java |   69 -
 .../cloud/consoleproxy/ConsoleProxyClientBase.java |  457 --
 .../consoleproxy/ConsoleProxyClientListener.java   |   25 -
 .../consoleproxy/ConsoleProxyClientParam.java      |  110 -
 .../ConsoleProxyClientStatsCollector.java          |   88 -
 .../cloud/consoleproxy/ConsoleProxyCmdHandler.java |   70 -
 .../cloud/consoleproxy/ConsoleProxyGCThread.java   |  109 -
 .../ConsoleProxyHttpHandlerHelper.java             |   74 -
 .../consoleproxy/ConsoleProxyLoggerFactory.java    |   89 -
 .../cloud/consoleproxy/ConsoleProxyMonitor.java    |  153 -
 .../ConsoleProxyPasswordBasedEncryptor.java        |  142 -
 .../consoleproxy/ConsoleProxyResourceHandler.java  |  181 -
 .../ConsoleProxySecureServerFactoryImpl.java       |  145 -
 .../consoleproxy/ConsoleProxyServerFactory.java    |   29 -
 .../consoleproxy/ConsoleProxyThumbnailHandler.java |  212 -
 .../cloud/consoleproxy/ConsoleProxyVncClient.java  |  235 -
 .../src/com/cloud/consoleproxy/InputEventType.java |   58 -
 .../cloud/consoleproxy/util/ITileScanListener.java |   25 -
 .../com/cloud/consoleproxy/util/ImageHelper.java   |   32 -
 .../src/com/cloud/consoleproxy/util/Logger.java    |  223 -
 .../com/cloud/consoleproxy/util/LoggerFactory.java |   21 -
 .../src/com/cloud/consoleproxy/util/RawHTTP.java   |  249 -
 .../src/com/cloud/consoleproxy/util/Region.java    |   90 -
 .../cloud/consoleproxy/util/RegionClassifier.java  |   58 -
 .../src/com/cloud/consoleproxy/util/TileInfo.java  |   55 -
 .../com/cloud/consoleproxy/util/TileTracker.java   |  269 -
 .../consoleproxy/vnc/BufferedImageCanvas.java      |  150 -
 .../cloud/consoleproxy/vnc/FrameBufferCanvas.java  |   30 -
 .../vnc/FrameBufferUpdateListener.java             |   26 -
 .../vnc/PaintNotificationListener.java             |   27 -
 .../com/cloud/consoleproxy/vnc/RfbConstants.java   |   82 -
 .../src/com/cloud/consoleproxy/vnc/VncClient.java  |  451 --
 .../consoleproxy/vnc/VncClientPacketSender.java    |  258 -
 .../consoleproxy/vnc/VncScreenDescription.java     |   89 -
 .../consoleproxy/vnc/VncServerPacketReceiver.java  |  123 -
 .../vnc/packet/client/ClientPacket.java            |   26 -
 .../client/FramebufferUpdateRequestPacket.java     |   53 -
 .../vnc/packet/client/KeyboardEventPacket.java     |   42 -
 .../vnc/packet/client/MouseEventPacket.java        |   43 -
 .../vnc/packet/client/SetEncodingsPacket.java      |   45 -
 .../vnc/packet/client/SetPixelFormatPacket.java    |   75 -
 .../vnc/packet/server/AbstractRect.java            |   53 -
 .../consoleproxy/vnc/packet/server/CopyRect.java   |   39 -
 .../server/FrameBufferSizeChangeRequest.java       |   39 -
 .../vnc/packet/server/FramebufferUpdatePacket.java |  102 -
 .../consoleproxy/vnc/packet/server/RawRect.java    |   75 -
 .../cloud/consoleproxy/vnc/packet/server/Rect.java |   33 -
 .../vnc/packet/server/ServerCutText.java           |   49 -
 console-proxy/systemvm-descriptor.xml              |  113 -
 console-proxy/ui/viewer-bad-sid.ftl                |   29 -
 console-proxy/ui/viewer-connect-failed.ftl         |   29 -
 console-proxy/ui/viewer-update.ftl                 |   24 -
 console-proxy/ui/viewer.ftl                        |   60 -
 console-proxy/vm-script/vmops                      |  119 -
 core/pom.xml                                       |    8 +-
 .../cloud/hypervisor/HypervisorCapabilitiesVO.java |   12 +
 core/src/com/cloud/resource/DiskPreparer.java      |   42 -
 core/src/com/cloud/resource/NetworkPreparer.java   |   29 -
 .../storage/PrimaryStorageHeadResource.java        |   52 -
 core/src/com/cloud/storage/SnapshotVO.java         |    5 +-
 .../com/cloud/storage/StoragePoolDiscoverer.java   |    2 +
 core/src/com/cloud/storage/StoragePoolVO.java      |  346 --
 core/src/com/cloud/storage/VMTemplateHostVO.java   |   41 +-
 .../com/cloud/storage/VMTemplateStoragePoolVO.java |   43 +-
 core/src/com/cloud/storage/VMTemplateVO.java       |   70 +-
 core/src/com/cloud/storage/VolumeHostVO.java       |   41 +-
 core/src/com/cloud/storage/VolumeVO.java           |    8 +-
 core/src/com/cloud/vm/VirtualEnvironment.java      |   46 -
 core/src/com/cloud/vm/VirtualNetwork.java          |   72 -
 core/src/com/cloud/vm/snapshot/VMSnapshotVO.java   |  224 +
 debian/control                                     |    2 +-
 debian/rules                                       |    2 +-
 deps/XenServerJava/pom.xml                         |    2 +-
 developer/developer-prefill.sql                    |   20 +-
 developer/pom.xml                                  |  125 +-
 docs/en-US/added-API-commands-4-1.xml              |   41 +
 docs/en-US/changed-apicommands-4.1.xml             |  106 +
 docs/en-US/console-proxy.xml                       |    6 +-
 docs/en-US/creating-network-offerings.xml          |  346 +-
 docs/en-US/egress-firewall-rule.xml                |   98 +
 docs/en-US/firewall-rules.xml                      |  119 +-
 docs/en-US/images/egress-firewall-rule.png         |  Bin 0 -> 10413 bytes
 docs/en-US/images/resize-volume-icon.png           |  Bin 0 -> 857 bytes
 docs/en-US/images/resize-volume.png                |  Bin 0 -> 11995 bytes
 docs/en-US/ip-forwarding-firewalling.xml           |   44 +-
 .../management-server-install-db-external.xml      |    7 +-
 docs/en-US/management-server-install-db-local.xml  |    9 +-
 .../en-US/management-server-install-multi-node.xml |    4 +-
 docs/en-US/networks.xml                            |    3 +-
 docs/en-US/persistent-network.xml                  |  100 +
 docs/en-US/plugin-niciranvp-devicemanagement.xml   |    4 +-
 docs/en-US/plugin-niciranvp-features.xml           |    8 +-
 docs/en-US/plugin-niciranvp-preparations.xml       |    6 +-
 docs/en-US/plugin-niciranvp-uuidreferences.xml     |    6 +-
 docs/en-US/reset-ssh-key-dev.xml                   |   27 +
 docs/en-US/resizing-volumes.xml                    |   92 +-
 docs/en-US/site-to-site-vpn.xml                    |    3 +
 docs/en-US/verifying-source.xml                    |    2 +-
 docs/en-US/vmx-settings-dev.xml                    |   40 +
 docs/en-US/whats-new.xml                           |   71 +-
 docs/en-US/working-with-system-vm.xml              |   56 +-
 docs/pot/verifying-source.pot                      |    2 +-
 engine/api/pom.xml                                 |    4 +-
 .../engine/subsystem/api/storage/ClusterScope.java |   14 +-
 .../subsystem/api/storage/CopyCommandResult.java   |   10 +-
 .../engine/subsystem/api/storage/DataObject.java   |    1 +
 .../subsystem/api/storage/DataObjectInStore.java   |   27 +
 .../engine/subsystem/api/storage/DataStore.java    |    3 +
 .../subsystem/api/storage/DataStoreDriver.java     |    1 +
 .../subsystem/api/storage/DataStoreLifeCycle.java  |   14 +-
 .../subsystem/api/storage/DataStoreManager.java    |   31 +
 .../subsystem/api/storage/DataStoreProvider.java   |   30 +
 .../api/storage/DataStoreProviderManager.java      |   31 +
 .../subsystem/api/storage/DataStoreStatus.java     |   23 +
 .../engine/subsystem/api/storage/HostScope.java    |    6 +-
 .../api/storage/HypervisorHostListener.java        |   24 +
 .../subsystem/api/storage/ImageDataFactory.java    |   26 +
 .../engine/subsystem/api/storage/ImageService.java |   29 +
 .../api/storage/ObjectInDataStoreStateMachine.java |   56 +
 .../api/storage/PrimaryDataStoreDriver.java        |   26 +
 .../api/storage/PrimaryDataStoreInfo.java          |   14 +-
 .../engine/subsystem/api/storage/Scope.java        |    2 +-
 .../subsystem/api/storage/SnapshotDataFactory.java |   26 +
 .../engine/subsystem/api/storage/SnapshotInfo.java |   28 +
 .../subsystem/api/storage/SnapshotStrategy.java    |   27 +
 .../subsystem/api/storage/TemplateEvent.java       |   26 +
 .../engine/subsystem/api/storage/TemplateInfo.java |   22 +
 .../subsystem/api/storage/TemplateState.java       |   27 +
 .../subsystem/api/storage/VolumeDataFactory.java   |   26 +
 .../engine/subsystem/api/storage/VolumeInfo.java   |    9 +-
 .../subsystem/api/storage/VolumeService.java       |   80 +
 .../engine/subsystem/api/storage/ZoneScope.java    |    6 +-
 .../storage/datastore/db/DataStoreProviderDao.java |   25 +
 .../datastore/db/DataStoreProviderDaoImpl.java     |   38 +
 .../storage/datastore/db/DataStoreProviderVO.java  |   60 +
 .../storage/datastore/db/PrimaryDataStoreDao.java  |  116 +
 .../datastore/db/PrimaryDataStoreDaoImpl.java      |  360 ++
 .../datastore/db/PrimaryDataStoreDetailVO.java     |   79 +
 .../datastore/db/PrimaryDataStoreDetailsDao.java   |   27 +
 .../db/PrimaryDataStoreDetailsDaoImpl.java         |   71 +
 .../storage/datastore/db/StoragePoolVO.java        |  304 ++
 engine/components-api/pom.xml                      |    2 +-
 engine/compute/pom.xml                             |    2 +-
 engine/network/pom.xml                             |    2 +-
 engine/orchestration/pom.xml                       |    2 +-
 .../cloud/entity/api/VMEntityManagerImpl.java      |   23 +-
 engine/pom.xml                                     |    2 +-
 engine/schema/pom.xml                              |    2 +-
 engine/service/pom.xml                             |    2 +-
 engine/storage/backup/pom.xml                      |    2 +-
 .../cloudstack/storage/backup/BackupService.java   |    2 +-
 engine/storage/image/pom.xml                       |    2 +-
 .../storage/image/ImageDataFactoryImpl.java        |   56 +-
 .../cloudstack/storage/image/ImageServiceImpl.java |   95 +-
 .../storage/image/downloader/ImageDownloader.java  |    2 +-
 .../driver/AncientImageDataStoreDriverImpl.java    |  250 +
 .../driver/DefaultImageDataStoreDriverImpl.java    |   13 +-
 .../storage/image/manager/ImageDataManager.java    |    8 +-
 .../image/manager/ImageDataManagerImpl.java        |   12 +-
 .../image/manager/ImageDataStoreManagerImpl.java   |   38 +-
 .../image/store/AncientImageDataStoreProvider.java |   92 +
 .../image/store/DefaultImageDataStoreImpl.java     |  145 +
 .../image/store/DefaultImageDataStoreProvider.java |    2 -
 .../storage/image/store/HttpDataStoreImpl.java     |  144 -
 .../storage/image/store/TemplateObject.java        |   82 +-
 .../lifecycle/DefaultImageDataStoreLifeCycle.java  |   23 +-
 engine/storage/imagemotion/pom.xml                 |    2 +-
 .../image/motion/DefaultImageMotionStrategy.java   |   15 +-
 .../image/motion/ImageMotionServiceImpl.java       |   12 +-
 engine/storage/integration-test/pom.xml            |    2 +-
 .../storage/test/ChildTestConfiguration.java       |   58 +-
 .../storage/test/MockStorageMotionStrategy.java    |   42 +
 .../cloudstack/storage/test/volumeServiceTest.java |   65 +-
 .../integration-test/test/resource/component.xml   |  201 +
 .../test/resource/storageContext.xml               |    1 +
 engine/storage/pom.xml                             |    2 +-
 engine/storage/snapshot/pom.xml                    |   10 +-
 .../storage/snapshot/SnapshotDataFactoryImpl.java  |   53 +-
 .../storage/snapshot/SnapshotObject.java           |  163 +-
 .../storage/snapshot/SnapshotServiceImpl.java      |    7 +
 .../snapshot/SnapshotStateMachineManager.java      |   26 +
 .../snapshot/SnapshotStateMachineManagerImpl.java  |   54 +
 .../snapshot/strategy/AncientSnasphotStrategy.java |  608 +++
 .../snapshot/strategy/HypervisorBasedSnapshot.java |   44 -
 .../snapshot/strategy/StorageBasedSnapshot.java    |   42 -
 .../test/resource/SnapshotManagerTestContext.xml   |   42 +
 .../snapshot/test/src/SnapshotDataFactoryTest.java |   50 +
 .../storage/datastore/DataObjectManagerImpl.java   |   76 +-
 .../storage/datastore/DataStoreManager.java        |   29 -
 .../storage/datastore/DataStoreManagerImpl.java    |   20 +
 .../storage/datastore/DataStoreStatus.java         |   23 -
 .../datastore/ObjectInDataStoreManager.java        |   18 +-
 .../datastore/ObjectInDataStoreManagerImpl.java    |  185 +-
 .../storage/datastore/PrimaryDataStore.java        |   25 +-
 .../datastore/PrimaryDataStoreEntityImpl.java      |   23 +-
 .../datastore/PrimaryDataStoreProviderManager.java |    5 +-
 .../storage/datastore/VolumeDataFactory.java       |   26 -
 .../storage/datastore/db/DataStoreProviderDao.java |   25 -
 .../datastore/db/DataStoreProviderDaoImpl.java     |   38 -
 .../storage/datastore/db/DataStoreProviderVO.java  |   60 -
 .../storage/datastore/db/PrimaryDataStoreDao.java  |  116 -
 .../datastore/db/PrimaryDataStoreDaoImpl.java      |  360 --
 .../datastore/db/PrimaryDataStoreDetailVO.java     |   79 -
 .../datastore/db/PrimaryDataStoreDetailsDao.java   |   28 -
 .../db/PrimaryDataStoreDetailsDaoImpl.java         |   71 -
 .../storage/datastore/db/PrimaryDataStoreVO.java   |  267 -
 .../datastore/provider/DataStoreProvider.java      |   32 -
 .../provider/DataStoreProviderManager.java         |   30 -
 .../provider/DataStoreProviderManagerImpl.java     |   30 +-
 .../datastore/provider/ImageDataStoreProvider.java |    2 +
 .../provider/PrimaryDataStoreProvider.java         |    2 +
 .../storage/db/ObjectInDataStoreDao.java           |    6 +-
 .../storage/db/ObjectInDataStoreDaoImpl.java       |   11 +-
 .../cloudstack/storage/db/ObjectInDataStoreVO.java |   39 +-
 .../cloudstack/storage/image/ImageDataFactory.java |   25 -
 .../cloudstack/storage/image/ImageService.java     |   28 -
 .../storage/image/TemplateEntityImpl.java          |    1 +
 .../cloudstack/storage/image/TemplateEvent.java    |   26 -
 .../cloudstack/storage/image/TemplateInfo.java     |   27 -
 .../cloudstack/storage/image/TemplateState.java    |   27 -
 .../storage/image/datastore/ImageDataStore.java    |    4 +-
 .../image/datastore/ImageDataStoreHelper.java      |   16 +-
 .../image/datastore/ImageDataStoreManager.java     |    5 +
 .../cloudstack/storage/image/db/ImageDataDao.java  |   85 -
 .../storage/image/db/ImageDataDaoImpl.java         |  975 ----
 .../cloudstack/storage/image/db/ImageDataVO.java   |  450 --
 .../storage/image/motion/ImageMotionService.java   |    2 +-
 .../storage/motion/AncientDataMotionStrategy.java  |  725 +++
 .../storage/snapshot/SnapshotDataFactory.java      |   25 -
 .../storage/snapshot/SnapshotEntityImpl.java       |   13 +-
 .../cloudstack/storage/snapshot/SnapshotInfo.java  |   26 -
 .../storage/snapshot/SnapshotService.java          |    1 +
 .../storage/snapshot/SnapshotStrategy.java         |   23 -
 .../cloudstack/storage/to/PrimaryDataStoreTO.java  |    4 +-
 .../apache/cloudstack/storage/to/TemplateTO.java   |    2 +-
 .../volume/ObjectInDataStoreStateMachine.java      |   54 -
 .../storage/volume/PrimaryDataStoreDriver.java     |   29 -
 .../volume/TemplateOnPrimaryDataStoreInfo.java     |    2 +-
 .../cloudstack/storage/volume/VolumeService.java   |   91 -
 .../volume/datastore/PrimaryDataStoreHelper.java   |   28 +-
 .../volume/db/TemplatePrimaryDataStoreDao.java     |    2 +-
 .../volume/db/TemplatePrimaryDataStoreDaoImpl.java |    6 +-
 .../volume/db/TemplatePrimaryDataStoreVO.java      |    4 +-
 engine/storage/volume/pom.xml                      |    2 +-
 .../storage/datastore/DefaultPrimaryDataStore.java |  191 +-
 .../driver/AncientPrimaryDataStoreDriverImpl.java  |  362 ++
 .../driver/DefaultPrimaryDataStoreDriverImpl.java  |   25 +-
 .../AncientPrimaryDataStoreLifeCyclImpl.java       |  958 ++++
 .../DefaultPrimaryDataStoreLifeCycleImpl.java      |   31 +-
 ...DefaultPrimaryDataStoreProviderManagerImpl.java |   36 +-
 .../storage/datastore/manager/data model.ucls      |   38 +-
 .../AncientPrimaryDataStoreProviderImpl.java       |   78 +
 .../datastore/provider/DefaultHostListener.java    |   90 +
 .../DefaultPrimaryDatastoreProviderImpl.java       |    6 +-
 .../storage/volume/TemplateInstallStrategy.java    |    2 +-
 .../volume/TemplateInstallStrategyImpl.java        |   33 +-
 .../storage/volume/VolumeDataFactoryImpl.java      |   42 +-
 .../storage/volume/VolumeEntityImpl.java           |   11 +-
 .../cloudstack/storage/volume/VolumeManager.java   |   45 -
 .../storage/volume/VolumeManagerImpl.java          |  112 -
 .../cloudstack/storage/volume/VolumeObject.java    |  204 +-
 .../storage/volume/VolumeServiceImpl.java          |  463 ++-
 framework/api/pom.xml                              |   42 +
 .../framework/async/AsyncCallFuture.java           |   84 +
 .../framework/async/AsyncCompletionCallback.java   |   23 +
 framework/events/pom.xml                           |    2 +-
 framework/ipc/pom.xml                              |    6 +-
 .../framework/async/AsyncCallFuture.java           |   84 -
 .../framework/async/AsyncCompletionCallback.java   |   23 -
 framework/jobs/pom.xml                             |    2 +-
 framework/pom.xml                                  |    3 +-
 framework/rest/pom.xml                             |    2 +-
 packaging/centos63/cloud-agent.rc                  |    6 +-
 packaging/centos63/cloud-usage.rc                  |    6 +-
 packaging/centos63/cloud.spec                      |   17 +-
 packaging/centos63/package.sh                      |   12 +-
 packaging/centos63/replace.properties              |    3 +-
 patches/pom.xml                                    |    2 +-
 .../systemvm/debian/config/etc/logrotate.d/dnsmasq |    2 +-
 patches/systemvm/debian/config/root/func.sh        |    6 +-
 plugins/acl/static-role-based/pom.xml              |    2 +-
 plugins/api/discovery/pom.xml                      |    2 +-
 .../discovery/ApiDiscoveryServiceImpl.java         |    6 +-
 plugins/api/rate-limit/pom.xml                     |    2 +-
 .../cloudstack/ratelimit/ApiRateLimitService.java  |    1 -
 .../cloudstack/ratelimit/EhcacheLimitStore.java    |    1 -
 .../apache/cloudstack/ratelimit/LimitStore.java    |    1 -
 .../apache/cloudstack/ratelimit/StoreEntry.java    |    1 -
 .../cloudstack/ratelimit/StoreEntryImpl.java       |    1 -
 .../cloudstack/ratelimit/integration/APITest.java  |    2 -
 .../ratelimit/integration/LoginResponse.java       |    2 -
 .../integration/RateLimitIntegrationTest.java      |    3 -
 .../user-concentrated-pod/pom.xml                  |    2 +-
 .../deployment-planners/user-dispersing/pom.xml    |    2 +-
 plugins/event-bus/rabbitmq/pom.xml                 |    2 +-
 plugins/file-systems/netapp/pom.xml                |    2 +-
 plugins/host-allocators/random/pom.xml             |    2 +-
 plugins/hypervisors/baremetal/pom.xml              |    2 +-
 .../cloud/baremetal/database/BaremetalCmdbDao.java |   25 -
 .../baremetal/database/BaremetalCmdbDaoImpl.java   |   32 -
 .../cloud/baremetal/database/BaremetalCmdbVO.java  |  104 -
 .../baremetal/manager/AddBaremetalHostCmd.java     |    9 +-
 .../baremetal/manager/BareMetalDiscoverer.java     |    8 +
 .../cloud/baremetal/manager/BareMetalPlanner.java  |  170 +
 .../manager/BareMetalTemplateAdapter.java          |    5 +
 .../cloud/baremetal/manager/BaremetalManager.java  |    3 +-
 .../baremetal/manager/BaremetalManagerImpl.java    |    9 +
 .../manager/BaremetalPlannerSelector.java          |   39 +
 .../networkservice/AddBaremetalDhcpCmd.java        |    9 +-
 .../AddBaremetalKickStartPxeCmd.java               |    3 +-
 .../networkservice/AddBaremetalPxeCmd.java         |    8 +-
 .../AddBaremetalPxePingServerCmd.java              |    2 +
 .../networkservice/BareMetalPingServiceImpl.java   |    6 +
 .../networkservice/BaremetalDhcpManagerImpl.java   |    5 +-
 .../networkservice/BaremetalDhcpResponse.java      |    4 +
 .../BaremetalKickStartPxeResource.java             |    9 +-
 .../BaremetalKickStartServiceImpl.java             |    5 +
 .../networkservice/BaremetalPxeElement.java        |    6 +-
 .../BaremetalPxeKickStartResponse.java             |    5 +-
 .../networkservice/BaremetalPxeManagerImpl.java    |   22 +-
 .../networkservice/BaremetalPxePingResponse.java   |    4 +-
 .../networkservice/BaremetalPxeService.java        |    2 +
 .../networkservice/BaremetalUserdataElement.java   |    8 +-
 .../networkservice/ListBaremetalDhcpCmd.java       |    3 +-
 .../ListBaremetalPxePingServersCmd.java            |    3 +-
 plugins/hypervisors/kvm/pom.xml                    |    2 +-
 .../kvm/resource/LibvirtComputingResource.java     |   19 +-
 .../hypervisor/kvm/resource/LibvirtVMDef.java      |    8 +
 plugins/hypervisors/ovm/pom.xml                    |    2 +-
 plugins/hypervisors/simulator/pom.xml              |    2 +-
 .../cloud/agent/manager/MockAgentManagerImpl.java  |    2 +
 .../agent/manager/MockStorageManagerImpl.java      |    2 +
 .../com/cloud/agent/manager/MockVmManagerImpl.java |   63 +-
 .../cloud/agent/manager/SimulatorManagerImpl.java  |   76 +-
 .../com/cloud/resource/AgentRoutingResource.java   |    6 +-
 .../com/cloud/resource/SimulatorDiscoverer.java    |    2 +-
 .../resource/SimulatorSecondaryDiscoverer.java     |    2 +
 .../src/com/cloud/simulator/SimulatorGuru.java     |    7 +-
 .../simulator/dao/MockConfigurationDaoImpl.java    |   13 +-
 .../com/cloud/simulator/dao/MockHostDaoImpl.java   |    6 +-
 .../cloud/simulator/dao/MockSecStorageDaoImpl.java |    6 +-
 .../simulator/dao/MockSecurityRulesDaoImpl.java    |   14 +-
 .../simulator/dao/MockStoragePoolDaoImpl.java      |    6 +-
 .../src/com/cloud/simulator/dao/MockVMDaoImpl.java |   17 +-
 .../com/cloud/simulator/dao/MockVolumeDaoImpl.java |    9 +-
 plugins/hypervisors/ucs/pom.xml                    |    4 +-
 .../com/cloud/ucs/database/UcsBladeDaoImpl.java    |    5 +-
 .../com/cloud/ucs/database/UcsManagerDaoImpl.java  |    5 +-
 plugins/hypervisors/vmware/pom.xml                 |    2 +-
 .../src/com/cloud/hypervisor/guru/VMwareGuru.java  |   12 +
 .../hypervisor/vmware/VmwareServerDiscoverer.java  |   56 +-
 .../hypervisor/vmware/manager/VmwareManager.java   |    7 +-
 .../vmware/manager/VmwareManagerImpl.java          |   36 +-
 .../vmware/manager/VmwareStorageManager.java       |   16 +-
 .../vmware/manager/VmwareStorageManagerImpl.java   |  266 +-
 .../hypervisor/vmware/resource/VmwareResource.java |   91 +-
 plugins/hypervisors/xen/pom.xml                    |    2 +-
 .../xen/discoverer/XcpServerDiscoverer.java        |    3 +-
 .../xen/resource/CitrixResourceBase.java           |  364 ++-
 .../hypervisor/xen/resource/XcpServerResource.java |   16 +-
 .../xen/resource/XenServer56FP1Resource.java       |    6 +-
 .../xen/resource/XenServerStorageResource.java     |    5 +
 plugins/network-elements/bigswitch-vns/pom.xml     |    2 +-
 plugins/network-elements/dns-notifier/pom.xml      |    2 +-
 .../network-elements/elastic-loadbalancer/pom.xml  |    2 +-
 plugins/network-elements/f5/pom.xml                |    2 +-
 plugins/network-elements/juniper-srx/pom.xml       |    2 +-
 plugins/network-elements/netscaler/pom.xml         |    2 +-
 plugins/network-elements/nicira-nvp/pom.xml        |    2 +-
 .../network/guru/NiciraNvpGuestNetworkGuru.java    |    7 +-
 .../guru/NiciraNvpGuestNetworkGuruTest.java        |    4 +-
 plugins/network-elements/ovs/pom.xml               |    2 +-
 plugins/parent/pom.xml                             |   42 -
 plugins/pom.xml                                    |    2 +-
 plugins/storage-allocators/random/pom.xml          |    2 +-
 .../allocator/RandomStoragePoolAllocator.java      |    5 +-
 plugins/storage/image/s3/pom.xml                   |    2 +-
 plugins/storage/volume/solidfire/pom.xml           |    2 +-
 .../driver/SolidfirePrimaryDataStoreDriver.java    |   24 +-
 plugins/user-authenticators/ldap/pom.xml           |    2 +-
 .../cloud/server/auth/LDAPUserAuthenticator.java   |    9 +-
 plugins/user-authenticators/md5/pom.xml            |    2 +-
 plugins/user-authenticators/plain-text/pom.xml     |    2 +-
 plugins/user-authenticators/sha256salted/pom.xml   |    2 +-
 pom.xml                                            |  140 +-
 python/lib/cloudutils/serviceConfigServer.py       |    2 +-
 python/lib/cloudutils/utilities.py                 |    9 +-
 scripts/network/ping/baremetal_user_data.py        |  104 +
 scripts/network/ping/prepare_kickstart_bootfile.py |   78 +
 .../ping/prepare_kickstart_kernel_initrd.py        |   70 +
 scripts/vm/hypervisor/kvm/setup_agent.sh           |   12 +-
 scripts/vm/hypervisor/xenserver/vmopsSnapshot      |   29 +-
 scripts/vm/hypervisor/xenserver/xenheartbeat.sh    |   46 +-
 server/pom.xml                                     |    2 +-
 .../com/cloud/agent/manager/AgentManagerImpl.java  |   19 +-
 .../src/com/cloud/agent/manager/AgentMonitor.java  |   32 +-
 .../manager/allocator/impl/FirstFitAllocator.java  |   16 +-
 server/src/com/cloud/alert/AlertManagerImpl.java   |    6 +-
 server/src/com/cloud/api/ApiDBUtils.java           |   36 +-
 server/src/com/cloud/api/ApiResponseHelper.java    |   86 +-
 server/src/com/cloud/api/ApiServer.java            |   22 +-
 .../com/cloud/api/query/ViewResponseHelper.java    |    1 -
 .../cloud/api/query/dao/AccountJoinDaoImpl.java    |   18 +
 .../api/query/dao/DomainRouterJoinDaoImpl.java     |    8 +-
 .../com/cloud/api/query/dao/UserVmJoinDaoImpl.java |   16 +-
 .../src/com/cloud/api/query/vo/AccountJoinVO.java  |   54 +-
 .../cloud/api/query/vo/ControlledViewEntity.java   |    1 -
 .../com/cloud/api/query/vo/DomainRouterJoinVO.java |   51 +
 server/src/com/cloud/api/query/vo/HostJoinVO.java  |    1 -
 .../com/cloud/api/query/vo/StoragePoolJoinVO.java  |    1 -
 .../src/com/cloud/api/query/vo/UserVmJoinVO.java   |   47 +
 .../com/cloud/baremetal/BareMetalDiscoverer.java   |  245 -
 server/src/com/cloud/baremetal/BareMetalGuru.java  |   59 -
 .../cloud/baremetal/BareMetalPingServiceImpl.java  |  199 -
 .../cloud/baremetal/BareMetalPxeServiceBase.java   |   56 -
 .../com/cloud/baremetal/BareMetalResourceBase.java |  630 ---
 .../cloud/baremetal/BareMetalTemplateAdapter.java  |    9 +-
 .../com/cloud/baremetal/BareMetalVmManager.java    |   22 -
 .../cloud/baremetal/BareMetalVmManagerImpl.java    |  551 --
 .../com/cloud/baremetal/DhcpServerResponse.java    |   35 -
 server/src/com/cloud/baremetal/DhcpdResource.java  |  133 -
 .../src/com/cloud/baremetal/DnsmasqResource.java   |  123 -
 .../cloud/baremetal/ExternalDhcpEntryListener.java |   44 -
 .../com/cloud/baremetal/ExternalDhcpManager.java   |   54 -
 .../cloud/baremetal/ExternalDhcpManagerImpl.java   |  250 -
 .../cloud/baremetal/ExternalDhcpResourceBase.java  |  198 -
 .../src/com/cloud/baremetal/HttpCallException.java |   28 -
 .../com/cloud/baremetal/PingPxeServerResource.java |  196 -
 .../src/com/cloud/baremetal/PxeServerManager.java  |   54 -
 .../com/cloud/baremetal/PxeServerManagerImpl.java  |  145 -
 .../src/com/cloud/baremetal/PxeServerProfile.java  |   90 -
 .../com/cloud/baremetal/PxeServerResourceBase.java |  185 -
 .../src/com/cloud/baremetal/PxeServerResponse.java |   35 -
 .../src/com/cloud/baremetal/PxeServerService.java  |   35 -
 server/src/com/cloud/capacity/CapacityManager.java |    7 +-
 .../com/cloud/capacity/CapacityManagerImpl.java    |  144 +-
 .../cloud/capacity/ComputeCapacityListener.java    |    5 +-
 server/src/com/cloud/capacity/dao/CapacityDao.java |   14 +-
 .../com/cloud/capacity/dao/CapacityDaoImpl.java    |  252 +-
 server/src/com/cloud/configuration/Config.java     |   28 +-
 .../cloud/configuration/ConfigurationManager.java  |    3 +-
 .../configuration/ConfigurationManagerImpl.java    |   47 +-
 .../consoleproxy/ConsoleProxyManagerImpl.java      |   16 +-
 .../deploy/AbstractDeployPlannerSelector.java      |   74 +
 server/src/com/cloud/deploy/BareMetalPlanner.java  |  163 -
 .../com/cloud/deploy/DeployPlannerSelector.java    |   24 +
 server/src/com/cloud/deploy/FirstFitPlanner.java   |   96 +-
 .../cloud/deploy/HypervisorVmPlannerSelector.java  |   33 +
 .../com/cloud/ha/HighAvailabilityManagerImpl.java  |    6 +-
 server/src/com/cloud/host/dao/HostDaoImpl.java     |    2 +-
 .../com/cloud/hypervisor/HypervisorGuruBase.java   |    8 +-
 .../hypervisor/dao/HypervisorCapabilitiesDao.java  |    2 +
 .../dao/HypervisorCapabilitiesDaoImpl.java         |   87 +-
 .../kvm/discoverer/KvmServerDiscoverer.java        |    2 +-
 .../com/cloud/migration/ServiceOffering21VO.java   |    5 +
 .../network/ExternalNetworkDeviceManagerImpl.java  |   84 +-
 .../com/cloud/network/Ipv6AddressManagerImpl.java  |    4 +-
 .../src/com/cloud/network/NetworkManagerImpl.java  |   13 +-
 server/src/com/cloud/network/NetworkModelImpl.java |   77 +-
 .../src/com/cloud/network/NetworkServiceImpl.java  |  129 +-
 server/src/com/cloud/network/dao/NetworkVO.java    |   21 +-
 .../cloud/network/element/BareMetalElement.java    |  128 -
 .../cloud/network/element/ExternalDhcpElement.java |  152 -
 .../network/element/VpcVirtualRouterElement.java   |    4 +-
 .../network/firewall/FirewallManagerImpl.java      |   21 +
 .../com/cloud/network/guru/GuestNetworkGuru.java   |    7 +-
 .../network/lb/LoadBalancingRulesManagerImpl.java  |    5 +
 .../VpcVirtualNetworkApplianceManagerImpl.java     |    4 +-
 .../com/cloud/network/rules/RulesManagerImpl.java  |   25 +-
 server/src/com/cloud/network/vpc/VpcManager.java   |    3 +-
 .../src/com/cloud/network/vpc/VpcManagerImpl.java  |  207 +-
 .../src/com/cloud/network/vpc/VpcServiceMapVO.java |   90 +
 server/src/com/cloud/network/vpc/dao/VpcDao.java   |    5 +
 .../src/com/cloud/network/vpc/dao/VpcDaoImpl.java  |   27 +
 .../cloud/network/vpc/dao/VpcServiceMapDao.java    |   40 +
 .../network/vpc/dao/VpcServiceMapDaoImpl.java      |  115 +
 server/src/com/cloud/resource/DiscovererBase.java  |    1 +
 .../com/cloud/resource/ResourceManagerImpl.java    |   78 +-
 .../resourcelimit/ResourceLimitManagerImpl.java    |   69 +-
 server/src/com/cloud/server/ManagementServer.java  |    3 +-
 .../src/com/cloud/server/ManagementServerImpl.java |   34 +-
 server/src/com/cloud/server/StatsCollector.java    |   11 +-
 .../src/com/cloud/service/ServiceOfferingVO.java   |   30 +-
 .../cloud/storage/LocalStoragePoolListener.java    |   66 +-
 server/src/com/cloud/storage/OCFS2ManagerImpl.java |    1 +
 .../com/cloud/storage/RegisterVolumePayload.java   |   43 +
 .../src/com/cloud/storage/ResizeVolumePayload.java |   31 +
 server/src/com/cloud/storage/StorageManager.java   |  173 +-
 .../src/com/cloud/storage/StorageManagerImpl.java  | 4206 ++++-----------
 server/src/com/cloud/storage/TemplateProfile.java  |   10 +-
 server/src/com/cloud/storage/VolumeManager.java    |   99 +
 .../src/com/cloud/storage/VolumeManagerImpl.java   | 2452 +++++++++
 .../allocator/AbstractStoragePoolAllocator.java    |   14 +-
 .../allocator/FirstFitStoragePoolAllocator.java    |    9 +-
 .../allocator/LocalStoragePoolAllocator.java       |    5 +-
 .../com/cloud/storage/dao/LaunchPermissionDao.java |    1 +
 server/src/com/cloud/storage/dao/SnapshotDao.java  |    2 +-
 .../src/com/cloud/storage/dao/SnapshotDaoImpl.java |    2 +-
 .../src/com/cloud/storage/dao/StoragePoolDao.java  |    3 +-
 .../com/cloud/storage/dao/StoragePoolDaoImpl.java  |    2 +-
 .../src/com/cloud/storage/dao/VMTemplateDao.java   |    6 +-
 .../com/cloud/storage/dao/VMTemplateDaoImpl.java   |   59 +-
 .../com/cloud/storage/dao/VMTemplateHostDao.java   |    8 +-
 .../cloud/storage/dao/VMTemplateHostDaoImpl.java   |   58 +-
 .../com/cloud/storage/dao/VMTemplatePoolDao.java   |    7 +-
 .../cloud/storage/dao/VMTemplatePoolDaoImpl.java   |   49 +
 .../src/com/cloud/storage/dao/VolumeDaoImpl.java   |    3 +-
 .../src/com/cloud/storage/dao/VolumeHostDao.java   |    6 +-
 .../com/cloud/storage/dao/VolumeHostDaoImpl.java   |   56 +-
 .../cloud/storage/download/DownloadListener.java   |    2 +-
 .../cloud/storage/download/DownloadMonitor.java    |    1 +
 .../storage/download/DownloadMonitorImpl.java      |   81 +-
 .../storage/listener/SnapshotStateListener.java    |   28 +-
 .../cloud/storage/listener/StoragePoolMonitor.java |   14 +-
 .../resource/DummySecondaryStorageResource.java    |    2 +-
 server/src/com/cloud/storage/s3/S3Manager.java     |    1 +
 server/src/com/cloud/storage/s3/S3ManagerImpl.java |    2 +-
 .../secondary/SecondaryStorageManagerImpl.java     |    2 +-
 .../cloud/storage/snapshot/SnapshotManager.java    |   98 +-
 .../storage/snapshot/SnapshotManagerImpl.java      |  761 +--
 .../com/cloud/storage/upload/UploadMonitor.java    |    1 +
 .../com/cloud/tags/TaggedResourceManagerImpl.java  |    4 +
 .../com/cloud/tags/dao/ResourceTagsDaoImpl.java    |    1 +
 .../cloud/template/HypervisorTemplateAdapter.java  |   41 +-
 server/src/com/cloud/template/TemplateAdapter.java |    3 +-
 .../com/cloud/template/TemplateAdapterBase.java    |   45 +-
 server/src/com/cloud/template/TemplateManager.java |   28 +-
 .../com/cloud/template/TemplateManagerImpl.java    |  760 +++-
 server/src/com/cloud/upgrade/DatabaseCreator.java  |   16 +-
 .../com/cloud/upgrade/DatabaseUpgradeChecker.java  |   55 +-
 .../src/com/cloud/upgrade/dao/Upgrade2214to30.java |   11 +
 .../src/com/cloud/upgrade/dao/Upgrade40to41.java   |   37 +-
 .../src/com/cloud/upgrade/dao/Upgrade410to420.java |   73 +
 .../src/com/cloud/upgrade/dao/VersionDaoImpl.java  |    2 +-
 server/src/com/cloud/user/AccountManagerImpl.java  |    7 +-
 server/src/com/cloud/vm/UserVmManager.java         |   13 +-
 server/src/com/cloud/vm/UserVmManagerImpl.java     | 1407 +----
 server/src/com/cloud/vm/VirtualMachineManager.java |    1 +
 .../com/cloud/vm/VirtualMachineManagerImpl.java    |  160 +-
 .../com/cloud/vm/VirtualMachineProfileImpl.java    |   29 +-
 server/src/com/cloud/vm/dao/UserVmDao.java         |    2 +
 server/src/com/cloud/vm/dao/UserVmDaoImpl.java     |   35 +-
 server/src/com/cloud/vm/dao/VMInstanceDao.java     |    3 +-
 server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java |   14 +-
 .../com/cloud/vm/snapshot/VMSnapshotManager.java   |   47 +
 .../cloud/vm/snapshot/VMSnapshotManagerImpl.java   |  836 +++
 server/src/com/cloud/vm/snapshot/VMSnapshotVO.java |  224 +
 .../com/cloud/vm/snapshot/dao/VMSnapshotDao.java   |   39 +
 .../cloud/vm/snapshot/dao/VMSnapshotDaoImpl.java   |  161 +
 server/test/com/cloud/api/APITest.java             |    2 -
 server/test/com/cloud/api/ListPerfTest.java        |    2 -
 server/test/com/cloud/api/LoginResponse.java       |    2 -
 .../com/cloud/capacity/CapacityManagerTest.java    |   78 +
 .../com/cloud/network/MockNetworkManagerImpl.java  |    2 +-
 .../com/cloud/network/MockNetworkModelImpl.java    |    6 +
 .../cloud/resource/MockResourceManagerImpl.java    |    6 +-
 .../ResourceLimitManagerImplTest.java              |   92 +
 .../test/com/cloud/vm/MockUserVmManagerImpl.java   |   50 +-
 server/test/com/cloud/vm/UserVmManagerTest.java    |  182 +
 .../cloud/vm/snapshot/VMSnapshotManagerTest.java   |  186 +
 .../cloud/vpc/MockConfigurationManagerImpl.java    |   11 +-
 .../test/com/cloud/vpc/MockNetworkManagerImpl.java |    6 +-
 .../test/com/cloud/vpc/MockNetworkModelImpl.java   |    6 +
 .../cloud/vpc/MockResourceLimitManagerImpl.java    |   17 +-
 server/test/com/cloud/vpc/MockVpcManagerImpl.java  |   24 +-
 server/test/com/cloud/vpc/dao/MockVpcDaoImpl.java  |   13 +-
 services/console-proxy/plugin/pom.xml              |   35 +
 services/console-proxy/pom.xml                     |   37 +
 .../server/bindir/cloud-setup-console-proxy.in     |  220 +
 services/console-proxy/server/certs/localhost.crt  |   22 +
 services/console-proxy/server/certs/localhost.key  |   27 +
 services/console-proxy/server/certs/realhostip.crt |   31 +
 services/console-proxy/server/certs/realhostip.csr |   15 +
 services/console-proxy/server/certs/realhostip.key |   24 +
 .../console-proxy/server/certs/realhostip.keystore |  Bin 0 -> 8690 bytes
 .../server/conf.dom0/agent.properties.in           |   46 +
 .../server/conf.dom0/consoleproxy.properties.in    |   23 +
 .../server/conf.dom0/log4j-cloud.xml.in            |  101 +
 .../console-proxy/server/conf/agent.properties     |   19 +
 .../server/conf/consoleproxy.properties            |   23 +
 services/console-proxy/server/conf/log4j-cloud.xml |  102 +
 services/console-proxy/server/css/ajaxviewer.css   |  144 +
 services/console-proxy/server/css/logger.css       |  139 +
 .../SYSCONFDIR/rc.d/init.d/cloud-console-proxy.in  |   98 +
 .../SYSCONFDIR/rc.d/init.d/cloud-console-proxy.in  |   98 +
 .../SYSCONFDIR/rc.d/init.d/cloud-console-proxy.in  |   98 +
 .../SYSCONFDIR/init.d/cloud-console-proxy.in       |  112 +
 services/console-proxy/server/images/back.gif      |  Bin 0 -> 149 bytes
 .../console-proxy/server/images/bright-green.png   |  Bin 0 -> 3903 bytes
 services/console-proxy/server/images/cad.gif       |  Bin 0 -> 918 bytes
 .../console-proxy/server/images/cannotconnect.jpg  |  Bin 0 -> 1810 bytes
 .../console-proxy/server/images/clr_button.gif     |  Bin 0 -> 1274 bytes
 .../server/images/clr_button_hover.gif             |  Bin 0 -> 437 bytes
 services/console-proxy/server/images/dot.cur       |  Bin 0 -> 326 bytes
 .../console-proxy/server/images/gray-green.png     |  Bin 0 -> 3833 bytes
 .../console-proxy/server/images/grid_headerbg.gif  |  Bin 0 -> 196 bytes
 services/console-proxy/server/images/left.png      |  Bin 0 -> 3024 bytes
 .../server/images/minimize_button.gif              |  Bin 0 -> 634 bytes
 .../server/images/minimize_button_hover.gif        |  Bin 0 -> 227 bytes
 services/console-proxy/server/images/notready.jpg  |  Bin 0 -> 1827 bytes
 .../console-proxy/server/images/play_button.gif    |  Bin 0 -> 657 bytes
 .../server/images/play_button_hover.gif            |  Bin 0 -> 243 bytes
 services/console-proxy/server/images/right.png     |  Bin 0 -> 3131 bytes
 services/console-proxy/server/images/right2.png    |  Bin 0 -> 3156 bytes
 .../console-proxy/server/images/shrink_button.gif  |  Bin 0 -> 655 bytes
 .../server/images/shrink_button_hover.gif          |  Bin 0 -> 243 bytes
 .../console-proxy/server/images/stop_button.gif    |  Bin 0 -> 649 bytes
 .../server/images/stop_button_hover.gif            |  Bin 0 -> 231 bytes
 services/console-proxy/server/images/winlog.png    |  Bin 0 -> 2629 bytes
 services/console-proxy/server/js/ajaxkeys.js       |   77 +
 services/console-proxy/server/js/ajaxviewer.js     | 1444 +++++
 services/console-proxy/server/js/cloud.logger.js   |  338 ++
 services/console-proxy/server/js/handler.js        |   72 +
 services/console-proxy/server/js/jquery.js         |   19 +
 .../server/libexec/console-proxy-runner.in         |   90 +
 services/console-proxy/server/pom.xml              |  247 +
 services/console-proxy/server/scripts/_run.sh      |   63 +
 .../console-proxy/server/scripts/config_auth.sh    |   69 +
 .../console-proxy/server/scripts/config_ssl.sh     |  174 +
 .../console-proxy/server/scripts/ipfirewall.sh     |   50 +
 services/console-proxy/server/scripts/run-proxy.sh |   48 +
 services/console-proxy/server/scripts/run.bat      |   18 +
 services/console-proxy/server/scripts/run.sh       |   45 +
 .../console-proxy/server/scripts/ssvm-check.sh     |  136 +
 .../com/cloud/consoleproxy/AjaxFIFOImageCache.java |   83 +
 .../consoleproxy/AuthenticationException.java      |   33 +
 .../src/com/cloud/consoleproxy/ConsoleProxy.java   |  499 ++
 .../consoleproxy/ConsoleProxyAjaxHandler.java      |  406 ++
 .../consoleproxy/ConsoleProxyAjaxImageHandler.java |  159 +
 .../ConsoleProxyAuthenticationResult.java          |   81 +
 .../ConsoleProxyBaseServerFactoryImpl.java         |   48 +
 .../com/cloud/consoleproxy/ConsoleProxyClient.java |   69 +
 .../cloud/consoleproxy/ConsoleProxyClientBase.java |  457 ++
 .../consoleproxy/ConsoleProxyClientListener.java   |   25 +
 .../consoleproxy/ConsoleProxyClientParam.java      |  110 +
 .../ConsoleProxyClientStatsCollector.java          |   88 +
 .../cloud/consoleproxy/ConsoleProxyCmdHandler.java |   70 +
 .../cloud/consoleproxy/ConsoleProxyGCThread.java   |  109 +
 .../ConsoleProxyHttpHandlerHelper.java             |   74 +
 .../consoleproxy/ConsoleProxyLoggerFactory.java    |   89 +
 .../cloud/consoleproxy/ConsoleProxyMonitor.java    |  153 +
 .../ConsoleProxyPasswordBasedEncryptor.java        |  142 +
 .../consoleproxy/ConsoleProxyResourceHandler.java  |  181 +
 .../ConsoleProxySecureServerFactoryImpl.java       |  145 +
 .../consoleproxy/ConsoleProxyServerFactory.java    |   29 +
 .../consoleproxy/ConsoleProxyThumbnailHandler.java |  212 +
 .../cloud/consoleproxy/ConsoleProxyVncClient.java  |  235 +
 .../src/com/cloud/consoleproxy/InputEventType.java |   58 +
 .../cloud/consoleproxy/util/ITileScanListener.java |   25 +
 .../com/cloud/consoleproxy/util/ImageHelper.java   |   32 +
 .../src/com/cloud/consoleproxy/util/Logger.java    |  223 +
 .../com/cloud/consoleproxy/util/LoggerFactory.java |   21 +
 .../src/com/cloud/consoleproxy/util/RawHTTP.java   |  249 +
 .../src/com/cloud/consoleproxy/util/Region.java    |   90 +
 .../cloud/consoleproxy/util/RegionClassifier.java  |   58 +
 .../src/com/cloud/consoleproxy/util/TileInfo.java  |   55 +
 .../com/cloud/consoleproxy/util/TileTracker.java   |  269 +
 .../consoleproxy/vnc/BufferedImageCanvas.java      |  150 +
 .../cloud/consoleproxy/vnc/FrameBufferCanvas.java  |   30 +
 .../vnc/FrameBufferUpdateListener.java             |   26 +
 .../vnc/PaintNotificationListener.java             |   27 +
 .../com/cloud/consoleproxy/vnc/RfbConstants.java   |   82 +
 .../src/com/cloud/consoleproxy/vnc/VncClient.java  |  451 ++
 .../consoleproxy/vnc/VncClientPacketSender.java    |  258 +
 .../consoleproxy/vnc/VncScreenDescription.java     |   89 +
 .../consoleproxy/vnc/VncServerPacketReceiver.java  |  123 +
 .../vnc/packet/client/ClientPacket.java            |   26 +
 .../client/FramebufferUpdateRequestPacket.java     |   53 +
 .../vnc/packet/client/KeyboardEventPacket.java     |   42 +
 .../vnc/packet/client/MouseEventPacket.java        |   43 +
 .../vnc/packet/client/SetEncodingsPacket.java      |   45 +
 .../vnc/packet/client/SetPixelFormatPacket.java    |   75 +
 .../vnc/packet/server/AbstractRect.java            |   53 +
 .../consoleproxy/vnc/packet/server/CopyRect.java   |   39 +
 .../server/FrameBufferSizeChangeRequest.java       |   39 +
 .../vnc/packet/server/FramebufferUpdatePacket.java |  102 +
 .../consoleproxy/vnc/packet/server/RawRect.java    |   75 +
 .../cloud/consoleproxy/vnc/packet/server/Rect.java |   33 +
 .../vnc/packet/server/ServerCutText.java           |   49 +
 .../console-proxy/server/systemvm-descriptor.xml   |  113 +
 .../console-proxy/server/ui/viewer-bad-sid.ftl     |   29 +
 .../server/ui/viewer-connect-failed.ftl            |   29 +
 services/console-proxy/server/ui/viewer-update.ftl |   24 +
 services/console-proxy/server/ui/viewer.ftl        |   60 +
 services/console-proxy/server/vm-script/vmops      |  119 +
 services/pom.xml                                   |   36 +
 setup/bindir/cloud-setup-databases.in              |    4 +-
 setup/db/4.1-new-db-schema.sql                     |  142 -
 setup/db/create-schema-view.sql                    | 1136 ----
 setup/db/create-schema.sql                         |  266 +-
 setup/db/db/schema-40to410-cleanup.sql             |   21 +
 setup/db/db/schema-40to410.sql                     |  426 ++-
 setup/db/db/schema-410to420-cleanup.sql            |   21 +
 setup/db/db/schema-410to420.sql                    |  110 +
 setup/db/deploy-db-dev.sh                          |   11 -
 setup/db/deploy-db-simulator.sh                    |   11 -
 setup/db/server-setup.xml                          |    2 +-
 setup/db/templates.sql                             |   18 +-
 test/integration/smoke/test_vm_life_cycle.py       |    6 -
 test/pom.xml                                       |    2 +-
 test/selenium/ReadMe.txt                           |   52 +
 test/selenium/lib/Global_Locators.py               |  224 +
 test/selenium/lib/initialize.py                    |   31 +
 test/selenium/smoke/Login_and_Accounts.py          |  253 +
 test/selenium/smoke/Service_Offering.py            |  426 ++
 test/selenium/smoke/TemplatesAndISO.py             |  244 +
 test/selenium/smoke/VM_lifeCycle.py                |  613 +++
 test/selenium/smoke/main.py                        |  145 +
 tools/apidoc/pom.xml                               |   18 +-
 tools/appliance/README.md                          |   17 +-
 tools/appliance/build.sh                           |   69 +
 .../appliance/definitions/systemvmtemplate/LICENSE |   21 -
 .../appliance/definitions/systemvmtemplate/base.sh |   18 -
 .../definitions/systemvmtemplate/cleanup.sh        |   18 -
 .../systemvmtemplate/cloudstack-packages.sh        |  152 -
 .../definitions/systemvmtemplate/config.dat        |  878 ---
 .../definitions/systemvmtemplate/definition.rb     |   19 +-
 .../definitions/systemvmtemplate/postinstall.sh    |  161 +-
 .../definitions/systemvmtemplate/preseed.cfg       |   81 +-
 .../definitions/systemvmtemplate/zerodisk.sh       |   18 +-
 tools/cli/pom.xml                                  |    8 +-
 tools/devcloud-kvm/pom.xml                         |    8 +-
 tools/devcloud/pom.xml                             |   12 +-
 .../src/deps/boxes/basebox-build/definition.rb     |   17 -
 .../src/deps/boxes/basebox-build/preseed.cfg       |   17 -
 tools/marvin/marvin/deployDataCenter.py            |    8 +-
 tools/marvin/pom.xml                               |   68 +-
 tools/pom.xml                                      |   44 +
 tools/whisker/LICENSE                              |  247 +-
 tools/whisker/NOTICE                               |    8 +
 tools/whisker/descriptor-for-packaging.xml         |   55 +
 tools/whisker/descriptor.xml                       |   43 +-
 ui/css/cloudstack3.css                             |  129 +-
 ui/dictionary.jsp                                  |   17 +-
 ui/images/sample-wizard/step1.png                  |  Bin 52950 -> 0 bytes
 ui/images/sample-wizard/step2.png                  |  Bin 42277 -> 0 bytes
 ui/images/sample-wizard/step3.png                  |  Bin 44303 -> 0 bytes
 ui/images/sample-wizard/step4.png                  |  Bin 37188 -> 0 bytes
 ui/images/sample-wizard/step5.png                  |  Bin 41363 -> 0 bytes
 ui/images/sample-wizard/step6.png                  |  Bin 39897 -> 0 bytes
 ui/images/screens/Dashboard.jpg                    |  Bin 69188 -> 0 bytes
 ui/images/screens/Dashboard2.jpg                   |  Bin 150035 -> 0 bytes
 ui/images/screens/Events-Details.jpg               |  Bin 35278 -> 0 bytes
 ui/images/screens/Events.jpg                       |  Bin 37224 -> 0 bytes
 ui/images/screens/MultiEdit.jpg                    |  Bin 14080 -> 0 bytes
 ui/images/screens/Network-Details.jpg              |  Bin 40540 -> 0 bytes
 ui/images/screens/Network.jpg                      |  Bin 39980 -> 0 bytes
 ui/images/screens/ProjectDashboard.png             |  Bin 97769 -> 0 bytes
 ui/images/screens/Projects-Details.jpg             |  Bin 63045 -> 0 bytes
 ui/images/screens/Projects.jpg                     |  Bin 37662 -> 0 bytes
 ui/images/screens/Storage-Details.jpg              |  Bin 37152 -> 0 bytes
 ui/images/screens/Storage.jpg                      |  Bin 39991 -> 0 bytes
 ui/images/screens/Templates-Details.jpg            |  Bin 37459 -> 0 bytes
 ui/images/screens/Templates.jpg                    |  Bin 41406 -> 0 bytes
 ui/images/screens/ZoneWizard-AddCluster.jpg        |  Bin 13883 -> 0 bytes
 ui/images/screens/ZoneWizard-AddHost.jpg           |  Bin 21496 -> 0 bytes
 ui/images/screens/ZoneWizard-AddPrimaryStorage.jpg |  Bin 19489 -> 0 bytes
 .../screens/ZoneWizard-AddSecondaryStorage.jpg     |  Bin 11123 -> 0 bytes
 ui/images/screens/ZoneWizard-SetupGuestTraffic.jpg |  Bin 15217 -> 0 bytes
 ui/images/screens/ZoneWizard-StorageTraffic.jpg    |  Bin 41681 -> 0 bytes
 ui/images/sprites.png                              |  Bin 180485 -> 182811 bytes
 ui/index.jsp                                       |   11 +-
 ui/lib/require.js                                  | 1993 +++++++
 ui/plugins/plugins.js                              |   21 +
 ui/plugins/testPlugin/config.js                    |   25 +
 ui/plugins/testPlugin/icon.png                     |  Bin 0 -> 7943 bytes
 ui/plugins/testPlugin/testPlugin.css               |   20 +
 ui/plugins/testPlugin/testPlugin.js                |   30 +
 ui/scripts/autoscaler.js                           |   22 +-
 ui/scripts/cloudStack.js                           |   35 +-
 ui/scripts/configuration.js                        |   13 +
 ui/scripts/globalSettings.js                       |  124 +
 ui/scripts/installWizard.js                        |    1 +
 ui/scripts/instances.js                            |  178 +-
 ui/scripts/plugins.js                              |   76 +
 ui/scripts/sharedFunctions.js                      |    1 +
 ui/scripts/storage.js                              |   16 +
 ui/scripts/system.js                               |   97 +-
 ui/scripts/ui-custom/physicalResources.js          |    2 +-
 ui/scripts/ui-custom/plugins.js                    |  109 +
 ui/scripts/ui-custom/zoneWizard.js                 |   13 +-
 ui/scripts/ui/core.js                              |   11 +-
 ui/scripts/ui/widgets/detailView.js                |   83 +-
 ui/scripts/ui/widgets/notifications.js             |    4 +-
 ui/scripts/vm_snapshots.js                         |  196 +
 ui/scripts/zoneWizard.js                           |  140 +-
 usage/pom.xml                                      |   20 +-
 usage/resources/usageApplicationContext.xml        |    5 +-
 usage/src/com/cloud/usage/UsageManagerImpl.java    |    2 +
 .../cloud/usage/UsageServerComponentConfig.java    |  180 -
 .../usage/parser/NetworkOfferingUsageParser.java   |    3 +-
 .../com/cloud/usage/parser/NetworkUsageParser.java |    2 +
 .../usage/parser/PortForwardingUsageParser.java    |    5 +-
 .../usage/parser/SecurityGroupUsageParser.java     |    3 +-
 .../com/cloud/usage/parser/StorageUsageParser.java |    3 +-
 .../cloud/usage/parser/VMInstanceUsageParser.java  |    9 +-
 .../com/cloud/usage/parser/VPNUserUsageParser.java |    3 +-
 .../com/cloud/usage/parser/VolumeUsageParser.java  |    3 +-
 usage/test/com/cloud/usage/UsageManagerTest.java   |   97 +
 .../cloud/usage/UsageManagerTestConfiguration.java |   94 +
 usage/test/resources/UsageManagerTestContext.xml   |   42 +
 usage/test/resources/db.properties                 |   70 +
 utils/pom.xml                                      |    7 +-
 utils/src/com/cloud/utils/StringUtils.java         |    5 +
 utils/src/com/cloud/utils/net/NetUtils.java        |    6 +
 utils/src/com/cloud/utils/script/Script.java       |    6 +
 utils/test/com/cloud/utils/db/TransactionTest.java |   12 +-
 utils/test/com/cloud/utils/net/NetUtilsTest.java   |    5 +
 vmware-base/pom.xml                                |    2 +-
 .../src/com/cloud/hypervisor/vmware/mo/HostMO.java |   16 +
 .../hypervisor/vmware/mo/VirtualMachineMO.java     |   20 +
 .../cloud/hypervisor/vmware/util/VmwareHelper.java |    7 +-
 985 files changed, 40599 insertions(+), 31036 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/fbfc5c68/client/tomcatconf/componentContext.xml.in
----------------------------------------------------------------------
diff --cc client/tomcatconf/componentContext.xml.in
index fc6c3e3,1629889..5f77cda
--- a/client/tomcatconf/componentContext.xml.in
+++ b/client/tomcatconf/componentContext.xml.in
@@@ -210,10 -220,18 +228,18 @@@
      <property name="name" value="UserConcentratedPod"/>
    </bean>
  
-   <bean id="BareMetalPlanner" class="com.cloud.deploy.BareMetalPlanner">
+   <bean id="BareMetalPlanner" class="com.cloud.baremetal.manager.BareMetalPlanner">
      <property name="name" value="BareMetal Fit"/>
    </bean>
 -
 +    
+   <bean id="BaremetalPlannerSelector" class="com.cloud.baremetal.manager.BaremetalPlannerSelector">
+     <property name="name" value="BaremetalPlannerSelector"/>
+   </bean>
+ 
+   <bean id="HypervisorPlannerSelector" class="com.cloud.deploy.HypervisorVmPlannerSelector">
+     <property name="name" value="BaremetalPlannerSelector"/>
+   </bean>
+     
     
    <!--
      Network Gurus
@@@ -277,5 -291,15 +299,15 @@@
    <bean id="OvmGuru" class="com.cloud.ovm.hypervisor.OvmGuru">
      <property name="name" value="OvmGuru"/>
    </bean>
 -
 +  
+   <!--
+   <bean id="SimulatorGuru" class="com.cloud.simulator.SimulatorGuru">
+     <property name="name" value="SimulatorGuru"/>
+   </bean>
+   -->
+ 
+   <bean id="BaremetalGuru" class="com.cloud.baremetal.manager.BareMetalGuru">
+     <property name="name" value="BaremetalGuru"/>
+   </bean>
+   
  </beans>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/fbfc5c68/client/tomcatconf/nonossComponentContext.xml.in
----------------------------------------------------------------------
diff --cc client/tomcatconf/nonossComponentContext.xml.in
index 57f7ad5,4bf9426..d862d4e
--- a/client/tomcatconf/nonossComponentContext.xml.in
+++ b/client/tomcatconf/nonossComponentContext.xml.in
@@@ -232,11 -239,10 +247,10 @@@
      <property name="name" value="UserConcentratedPod"/>
    </bean>
  
-   <bean id="BareMetalPlanner" class="com.cloud.deploy.BareMetalPlanner">
+   <bean id="BareMetalPlanner" class="com.cloud.baremetal.manager.BareMetalPlanner">
      <property name="name" value="BareMetal Fit"/>
    </bean>
 -
 +    
-    
    <!--
      Network Gurus
    -->
@@@ -281,15 -287,7 +295,7 @@@
    <bean id="KVMGuru" class="com.cloud.hypervisor.KVMGuru">
      <property name="name" value="KVMGuru"/>
    </bean>
 -
 +  
-   <bean id="BareMetalGuru" class="com.cloud.baremetal.BareMetalGuru">
-     <property name="name" value="BareMetalGuru"/>
-   </bean>
- 
-   <bean id="HypervGuru" class="com.cloud.hypervisor.guru.HypervGuru">
-     <property name="name" value="HypervGuru"/>
-   </bean>
- 
    <bean id="OvmGuru" class="com.cloud.ovm.hypervisor.OvmGuru">
      <property name="name" value="OvmGuru"/>
    </bean>
@@@ -297,7 -295,11 +303,11 @@@
    <bean id="VMwareGuru" class="com.cloud.hypervisor.guru.VMwareGuru">
      <property name="name" value="VMwareGuru"/>
    </bean>
 -
 +  
+   <bean id="BaremetalGuru" class="com.cloud.baremetal.manager.BareMetalGuru">
+     <property name="name" value="BaremetalGuru"/>
+   </bean>
+ 
    <!--
      DAO with customized configuration
    -->

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/fbfc5c68/plugins/hypervisors/vmware/pom.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/fbfc5c68/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareServerDiscoverer.java
----------------------------------------------------------------------
diff --cc plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareServerDiscoverer.java
index e3a8560,5d7edce..00b6111
--- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareServerDiscoverer.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareServerDiscoverer.java
@@@ -100,74 -102,63 +103,63 @@@ public class VmwareServerDiscoverer ext
  	public VmwareServerDiscoverer() {
  		s_logger.info("VmwareServerDiscoverer is constructed");
  	}
 -
 -    @Override
 +	
 +	@Override
- 	public Map<? extends ServerResource, Map<String, String>> find(long dcId,
- 			Long podId, Long clusterId, URI url, String username,
- 			String password, List<String> hostTags) throws DiscoveryException {
+     public Map<? extends ServerResource, Map<String, String>> find(long dcId, Long podId, Long clusterId, URI url, 
+     	String username, String password, List<String> hostTags) throws DiscoveryException {
 -    	
 +
- 		if (s_logger.isInfoEnabled())
- 			s_logger.info("Discover host. dc: " + dcId + ", pod: " + podId
- 					+ ", cluster: " + clusterId + ", uri host: "
- 					+ url.getHost());
+     	if(s_logger.isInfoEnabled())
+     		s_logger.info("Discover host. dc: " + dcId + ", pod: " + podId + ", cluster: " + clusterId + ", uri host: " + url.getHost());
 -    	
 +
- 		if (podId == null) {
- 			if (s_logger.isInfoEnabled())
+     	if(podId == null) {
+         	if(s_logger.isInfoEnabled())
 -        		s_logger.info("No pod is assigned, assuming that it is not for vmware and skip it to next discoverer"); 
 -    		return null;
 -    	}
 -    	
 -        ClusterVO cluster = _clusterDao.findById(clusterId);
 +				s_logger.info("No pod is assigned, assuming that it is not for vmware and skip it to next discoverer");
 +			return null;
 +		}
 +
 +		ClusterVO cluster = _clusterDao.findById(clusterId);
- 		if (cluster == null
- 				|| cluster.getHypervisorType() != HypervisorType.VMware) {
- 			if (s_logger.isInfoEnabled())
+         if(cluster == null || cluster.getHypervisorType() != HypervisorType.VMware) {
+         	if(s_logger.isInfoEnabled())
 -        		s_logger.info("invalid cluster id or cluster is not for VMware hypervisors"); 
 -    		return null;
 -        }
 -        
 -        List<HostVO> hosts = _resourceMgr.listAllHostsInCluster(clusterId);
 +				s_logger.info("invalid cluster id or cluster is not for VMware hypervisors");
 +			return null;
 +		}
 +
 +		List<HostVO> hosts = _resourceMgr.listAllHostsInCluster(clusterId);
- 		if (hosts.size() >= _vmwareMgr.getMaxHostsPerCluster()) {
- 			String msg = "VMware cluster "
- 					+ cluster.getName()
- 					+ " is too big to add new host now. (current configured cluster size: "
- 					+ _vmwareMgr.getMaxHostsPerCluster() + ")";
+         if (hosts != null && hosts.size() > 0) {
+             int maxHostsPerCluster = _hvCapabilitiesDao.getMaxHostsPerCluster(hosts.get(0).getHypervisorType(), hosts.get(0).getHypervisorVersion());
+             if (hosts.size() > maxHostsPerCluster) {
+                    String msg = "VMware cluster " + cluster.getName() + " is too big to add new host now. (current configured cluster size: " + maxHostsPerCluster + ")";
 -                   s_logger.error(msg);
 -                   throw new DiscoveredWithErrorException(msg);
 -            }
 +			s_logger.error(msg);
 +			throw new DiscoveredWithErrorException(msg);
 +		}
+         }
  
 -        String privateTrafficLabel = null;
 -        String publicTrafficLabel = null;
 -        String guestTrafficLabel = null;
 -        Map<String, String> vsmCredentials = null;
 -        
 +		String privateTrafficLabel = null;
 +		String publicTrafficLabel = null;
 +		String guestTrafficLabel = null;
 +		Map<String, String> vsmCredentials = null;
 +
- 		privateTrafficLabel = _netmgr.getDefaultManagementTrafficLabel(dcId,
- 				HypervisorType.VMware);
+         privateTrafficLabel = _netmgr.getDefaultManagementTrafficLabel(dcId, HypervisorType.VMware);
 -        if (privateTrafficLabel != null) {
 +		if (privateTrafficLabel != null) {
- 			s_logger.info("Detected private network label : "
- 					+ privateTrafficLabel);
+             s_logger.info("Detected private network label : " + privateTrafficLabel);
 -        }
 -        
 -        if (_vmwareMgr.getNexusVSwitchGlobalParameter()) {
 -            DataCenterVO zone = _dcDao.findById(dcId);
 -            NetworkType zoneType = zone.getNetworkType();
 -            if (zoneType != NetworkType.Basic) {
 +		}
 +
 +		if (_vmwareMgr.getNexusVSwitchGlobalParameter()) {
 +			DataCenterVO zone = _dcDao.findById(dcId);
 +			NetworkType zoneType = zone.getNetworkType();
 +			if (zoneType != NetworkType.Basic) {
- 				publicTrafficLabel = _netmgr.getDefaultPublicTrafficLabel(dcId,
- 						HypervisorType.VMware);
+                 publicTrafficLabel = _netmgr.getDefaultPublicTrafficLabel(dcId, HypervisorType.VMware);
 -                if (publicTrafficLabel != null) {
 +				if (publicTrafficLabel != null) {
- 					s_logger.info("Detected public network label : "
- 							+ publicTrafficLabel);
+                     s_logger.info("Detected public network label : " + publicTrafficLabel);
 -                }
 -            }
 -            // Get physical network label
 +				}
 +			}
 +			// Get physical network label
- 			guestTrafficLabel = _netmgr.getDefaultGuestTrafficLabel(dcId,
- 					HypervisorType.VMware);
+             guestTrafficLabel = _netmgr.getDefaultGuestTrafficLabel(dcId, HypervisorType.VMware);
 -            if (guestTrafficLabel != null) {
 +			if (guestTrafficLabel != null) {
- 				s_logger.info("Detected guest network label : "
- 						+ guestTrafficLabel);
+                 s_logger.info("Detected guest network label : " + guestTrafficLabel);
 -            }
 +			}
- 			vsmCredentials = _vmwareMgr
- 					.getNexusVSMCredentialsByClusterId(clusterId);
+             vsmCredentials = _vmwareMgr.getNexusVSMCredentialsByClusterId(clusterId);
 -        }
 +		}
  
  		VmwareContext context = null;
  		try {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/fbfc5c68/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
----------------------------------------------------------------------
diff --cc plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
index 64dbea1,6b6bf19..0ecfff8
--- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
@@@ -92,6 -91,8 +93,7 @@@ import com.cloud.utils.script.Script
  import com.cloud.utils.ssh.SshHelper;
  import com.cloud.vm.DomainRouterVO;
  import com.google.gson.Gson;
 -import com.vmware.apputils.vim25.ServiceUtil;
+ import com.vmware.vim25.AboutInfo;
  import com.vmware.vim25.HostConnectSpec;
  import com.vmware.vim25.ManagedObjectReference;
  
@@@ -390,24 -379,28 +381,29 @@@ public class VmwareManagerImpl extends 
              List<ManagedObjectReference> returnedHostList = new ArrayList<ManagedObjectReference>();
  
              if(mor.getType().equals("ComputeResource")) {
 -                ManagedObjectReference[] hosts = (ManagedObjectReference[])serviceContext.getServiceUtil().getDynamicProperty(mor, "host");
 -                assert(hosts != null);
 +                List<ManagedObjectReference> hosts = (List<ManagedObjectReference>)serviceContext.getVimClient().getDynamicProperty(mor, "host");
 +                assert(hosts != null && hosts.size() > 0);
  
                  // For ESX host, we need to enable host firewall to allow VNC access
 -                HostMO hostMo = new HostMO(serviceContext, hosts[0]);
 +                HostMO hostMo = new HostMO(serviceContext, hosts.get(0));
 +
                  prepareHost(hostMo, privateTrafficLabel);
 -                returnedHostList.add(hosts[0]);
 +                returnedHostList.add(hosts.get(0));
                  return returnedHostList;
              } else if(mor.getType().equals("ClusterComputeResource")) {
 -                ManagedObjectReference[] hosts = (ManagedObjectReference[])serviceContext.getServiceUtil().getDynamicProperty(mor, "host");
 +                List<ManagedObjectReference> hosts = (List<ManagedObjectReference>)serviceContext.getVimClient().getDynamicProperty(mor, "host");
                  assert(hosts != null);
  
-                 if(hosts.size() > _maxHostsPerCluster) {
-                     String msg = "vCenter cluster size is too big (current configured cluster size: " + _maxHostsPerCluster + ")";
 -                if (hosts.length > 0) {
 -                    AboutInfo about = (AboutInfo)(serviceContext.getServiceUtil().getDynamicProperty(hosts[0], "config.product"));
++                if (hosts.size() > 0) {
++                    AboutInfo about = (AboutInfo)(serviceContext.getVimClient().getDynamicProperty(hosts.get(0), "config.product"));
+                     String version = about.getApiVersion();
+                     int maxHostsPerCluster = _hvCapabilitiesDao.getMaxHostsPerCluster(HypervisorType.VMware, version);
 -                    if (hosts.length > maxHostsPerCluster) {
++                    if (hosts.size() > maxHostsPerCluster) {
+                         String msg = "vCenter cluster size is too big (current configured cluster size: " + maxHostsPerCluster + ")";
 -                        s_logger.error(msg);
 -                        throw new DiscoveredWithErrorException(msg);
 -                    }
 +                    s_logger.error(msg);
 +                    throw new DiscoveredWithErrorException(msg);
 +                }
+                 }
  
                  for(ManagedObjectReference morHost: hosts) {
                      // For ESX host, we need to enable host firewall to allow VNC access