You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bs...@apache.org on 2020/10/26 13:25:08 UTC

[cloudstack] branch master updated (81c524e -> 1a75872)

This is an automated email from the ASF dual-hosted git repository.

bstoyanov pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/cloudstack.git.


    from 81c524e  Fixing count for findHostsForMigration (#4375)
     new 0701dc9  Initial commit adding few required managed object classes and added pbm sdk
     new f05b567  Added PBM service connect
     new a72782f  Fix root folder issue on datastore
     new b8b4f0f  Added importVsphereStoragePolicies API and scheme changes
     new 037fcfd  Fixed bean creation errors on VsphereStoragePolicyDaoImpl
     new a4ec86a  Added Storage policy id to VO
     new 8b23ea9  Moved Dao and VO files to different packages
     new 2ff4989  Added gen_toc.py changes for API importvpsherestoragepolicies
     new a951e5f  Fixed unit test failure
     new 27e5dfa  Updated code to handle sync of storage policies when importVsphereStoragePolicies API is called multiple times
     new fb0a96e  Check if datastore is complaince with the storagepolicy provided in the disk offering. Added corresponding manager objects from PBM sdk to do the job. Made dao layer changes to read the storage policy in diskoffering
     new 487bb03  Added Storagepolicy while creating diskoffering. CreateDiskOffering API now takes storagepolicy as a parameter with UUID value
     new 851b562  Unit test fix
     new 6c31449  Fix NPE in case of preparing secondarystorage on Host
     new aa07959  Use VStorageObjectManager for disk operations.
     new bef00b1  Added PBM jar dependency for vsphere 6.7 version
     new 3d9edee  Bug fixing on default base folder
     new 4bbb747  VMFS to presetup change
     new 6df8190  UI changes and accept any type of datastore as presetup in vmware
     new 18340e9  importVsphereStoragePolices improvements
     new 778148b  Fix importstorage policies to update deleted policies on vcenter
     new 233e665  Fix response list on importVsphereStoragePoliciescmd
     new 586fa7e  Added listVsphereStoragePoliciesCmd
     new c45b83a  Logging variable name change
     new 48786b2  DataStore Clusters addition as a storage pool
     new bea31b8  Assetion fix in StorageTest.java
     new f858387  Import storagepolicies when vmware datacenter is added or updated
     new 41b3fc1  Add Datastore cluster and the child entities which are datastores in the cluster into CloudStack
     new 53fa3be  Register Disk to first class disk whereever possible
     new b4a23ea  Allocation logic to skip datastore cluster and consider only storagepools inside the datastore cluster
     new c9c38c0  Handle datastore clusters in list storage pools to list only parent not the children in the Datastore cluster
     new 75fb1d9  Fix adding Datastore clusters and listing
     new 873f9dd  Datastore Clusters operations on putting into maintenance mode, update storage pool with tags, cancelling mantenance mode and deleting storage pool
     new 0335713  Fix NPE on one of the register disk usecases
     new fef3926  Datastore cluster: update tag to the child storagepools also
     new ed7efdf  Generalise linked clone formats which are different for each datastore type
     new 5aac6c3  Fix immutable list to add another entry to list
     new 4178a7c  inter-cluster migration support
     new c8a28f3  Use clonevm task while creating template from volume
     new 4b10c61  Datastore cluster maintenance failure case handling.
     new 7932f63  Add checks before actual deletion of datastore cluster
     new 812d42e  Fix updateconfiguration API to add settings to child datastores in case of datastore clusters
     new e700ad7  Fix prepare template API incase of Datastore cluster
     new fc05d31  Fix ListVMsCmd with storageid as datastore cluster
     new 61dd858  Fix migrate vm and volume APIs in case if datastore cluster
     new 1244fca  Handle listsystemvms cmd in case of datastore clusters
     new 48dd0da  Adding Storagepolicies to the service offering for root disks
     new 36d6590  Base folder creation on datstores restrict only to primary storages, for secondary storage datastore it is not required
     new 1b18554  Fix test cases
     new e211b92  Changed workflow for storing volumes in sec storage
     new 70e19b2  fix some more test cases
     new a5531a9  Changed artifact id from pbm for vmware-pbm for policy based management
     new 0483e29  Deleted temporary files
     new 295ea50  Fixed unexpected token Exception
     new 2dd6e18  Fix simulator code for SimulatorStorageProcessor.java
     new ab171ad  Handle failure case of putting datastore cluster on maintenance mode
     new 201ebe8  Simulator failures fixing
     new b88df5e  Fixed a smoke test while taking snapshot
     new f320cf3  Remove registering virtual disk code
     new af84743  Fix addition of datastore clusters not to configure it as non NFS storage
     new d4d372a  Fix addition of datastores with invalid vCenter server details
     new d48cab7  Fix findstoragepoolsformigration cmd not to list the parent datastore cluster as suitable storagepool
     new 0a412ac  Handle volume copy from secondary to primary in case of vSAN
     new 85d440d  Fix list volume response to list datastore cluster name and id instead of child datastore
     new 97ae846  Removed unused imports caused due to some merge conflicts
     new 570f321  Handle VMFS6 sesparse format disk files
     new ebe0e2b  Keep retry logic for make directory method which is returning false positive yet times
     new d2d9b3c  Fix proper error message on revert volume snapshot operation in case of any hypervisor other than KVM
     new c16b40e  Fix list volumes cmd and update volume cmd to accept datastore cluster as storgeid
     new 38b9618  Fix destination hostname for stopped VMs in case of reset ssh keys
     new 19745ea  Fix enable primary datastore maintenance command seriliaztion on it
     new 40934ba  Fix travis failures by removing dependency of vmware from storage. Added a new command class to verify the vCenter details provided while adding primary storage
     new c11dc33  Set back the datastore cluster state to UP upon on failure in prepare maintenance
     new 04d400f  Handle import unmanaged VM into CloudStack to support any type of datastore
     new 8ee17e1  Fix fcd from being deleted when empty
     new d864e9d  [VMware] Full OVF properties support
     new cf2bb71  Remove extra line after merging
     new 5652097  Added backup on fail over scenrio in case of new create disk method
     new 700ab1a  vVols datastore support added
     new f825a94  Fixed volume migrations to and fro vVols datastorewq
     new f53f11b  Fix seeding template issue after PR merging
     new bc8ad68  prepare for maintenance of storage pool of type datastore cluster should not try to cancel the maintenance upon failure, rather keep it in error in maintenance state
     new f74262b  Snapshot on dettached volume considering wrong path, corrected it
     new fab6b41  Delete VM fix which does not move detached disks to fcd folder vVols attach disk fix
     new bb4ce21  Add new template and vm deploy as is details table and refactor
     new f73830a  Refactor deploy as is constants
     new 44bae98  Fix daos issue
     new 818981d  Fix typo
     new 6ebfdc6  Dettached datadisk migration failed between NFS storages. Fixed the issue of worker VM name being null
     new 19c83fe  Fix zone to zone scope volume migrations NPE
     new 44dc0c6  Fixed rat failure on new class DeployAsIsHelper.java Also removed some unused imports during rebase
     new 33ae2af  Removed few duplicate imports during rebase with master
     new 745dd00  Remove duplicate schema changes
     new 9c162c6  Fix ISO upload on Deploy OVF task
     new 61e7625  Do not set user-configurable details for deploy-as-is VMs
     new a43d0a6  Fix VM power sync NPE on system VMs
     new 0f5a6ee  Remove deploy as-is details when removing templates or vms
     new edfbed3  Use network adapter from OVF on deploy-as-is
     new acf872c  Relocate deploy-as-is cloned VM if does not end on the host receiving the start command and restore deployment logs
     new c6c4bfe  Fix deploy as is with datadisks
     new 89aa25d  VM deployment from ISO not working on VSAN65, fixed by adding a backup to create disk using old way
     new 4135422  Handle guest OS read from deploy-as-is OVF descriptor
     new 7a8dd46  Fix deploy as-is disks cleanup
     new bb90ce5  Fix for dettached disk migrations from vVols to other datastores
     new 81b1848  Added SesParse support which is an improved version of VMFSsparse virtual disk format
     new 32d85b0  Display storage on logging when not deploy-as-is and guest OS small refactor
     new 667cb53  Fix mismatch from OVF nic adapter type and expected adapter type string
     new 78aa3df  Fix reboot deploy-as-is VMs
     new 1638d72  Get allocated size for datastoreCluster from its child datastores to show the accumalated value for Datastore cluster
     new b0d3168  Fail template registration when guest OS not found
     new 6e81efa  Start addressing review comments
     new 9543fd6  Fix startcommand on Datastore cluster when the volume datastore in CloudStack mismatches with vCenter datastore. Volume could have migrated with in datastore cluster which caused the mismatch
     new 2f03877  Search in possible folders for volume while dettaching the volume
     new 9b51a70  Set deploy-as-is to default on VMware
     new 46d412d  Fix for system VMs
     new 08c0b07  Remove deployasis parameter from register template API
     new 94bebe8  Revert back deploy as is column on templates but keep it as default for new templates
     new 897cc4b  Fix nested virt marvin test
     new 588b7a1  Cleanup volume wrapper VM(ROOT-xxx) while deploying VM in case of any failure. since the same name will be used on retries and that will eventually fails saying volume wrapper VM already exists.
     new 9b923ba  Handle detach volume of datastore cluster if the volume name has changed at vCenter level and reconsile the chaininfo
     new 388a9c2  Reconcile chaininfo after attaching volume
     new 9dd1d60  Fix multidisk VM deployment on vVol datastore
     new db46a7a  Fix migrate root volume issue caused by regression from one of the commits
     new d69283a  Fix reset/restore VM
     new 3063b6c  Fixed import VM for NFS storage which added as presetup. Previous code assumes the NFS storage is always added by CloudStack, but NFS can also be added as presetup storagepool.
     new dc4f913  Fix restrictions on attach and restore VMs
     new cee71c6  Remove deploy as is option from the old UI
     new 07abcf5  During migrate volume command, when operation timed out exception or any exception is occured it is not handled properly to clean the volume_store_ref entry. Fixed it to clean the volume_store_ref entry upon on any exception
     new a54436b  service offering response: added vsphere storage policy to response if exists
     new 1e4e5cf  Disk offering response: added vsphere storage policy to response if exists
     new 46b5322  Adding vSphere storage policy to disk on start command and attach volume command
     new 5fdabc1  Added storage policy details to disk while creating disk and restricted migration of volumes to storage pools which are not storage policy compliance
     new 048e8c8  Fixed the issue of VM deletion not cleaning the VM folder on vVols datastore. Fixed it by deleting the VM as complete entity including the extra root disks.
     new 88c02ef  Fix deploy-as-is templates GC
     new 3600b3c  Reconcile root disk controller fix
     new d81f050  Check storage policy of disk offering if it suitable for storage pool while using migratevirtualmachinewithvolume API
     new 950292d  Ensure deploy as is disks get allocated to the same storage pool
     new ee5b876  Fix remove VM and its volumes for deploy-as-is if have previously failed - restore cpu flags in nested virtualization test
     new 38e119a  Throwing error if ostypeid, nicAdapter, rootDiskController is passed for VMWare templates
     new 6b715ec  Throwing error if boot type or boot mode specified while deploying VMs on VMware
     new b8a79ab  Elaborating error
     new 6e6d6d6  Fix template registration
     new 50ab1b2  Add missing guest OS entries for VMware
     new 67794ab  Fix reinstall VM bug
     new f1f490b  Fix restore VM workflow - clone and replace existing VM instead of cloning and moving disks
     new 5797cf5  guest-os-GC (#67)
     new ce236e9  Smoke test for VMWare storage policies.
     new 17783cb  Merge branch 'ovfprops-and-vsphere-adv-together' of github.com:shapeblue/cloudstack into ovfprops-and-vsphere-adv-together
     new 68d51cb  Remove unused code
     new 0101330  class object cleanup and append
     new 9581649  cleanup the right object list in the right order
     new 6db6660  object creation seperated from filling it
     new 6cde210  make sure dependencies get cleaned up after their depenedants
     new ff197b2  readability/formatting
     new 8c68843  Fix boot into hardware
     new 5d24e73  Fix smoke tests passing osTypeId parameter on VMware templates registration
     new 187813a  Fixes after smoke tests results on VMware
     new 0c6900e  Do not fail if osTypeId parameter or rootdiskcontroller/nicadapter details are set on template registration
     new 0d7c582  Fix macchinina checksums for VMware
     new d119a5d  Merge branch 'master' into ovfprops-and-vsphere-adv-together
     new a831ad1  Fix detach volume on stopped Vms
     new c405e5d  Add new API to check storage policy compatible pools and fix marvin test for storage policies
     new 85f5512  Fix unit test failure
     new 795dc01  Fix for none type response error handling
     new 7d7e7f7  Check there is at least a host to verify pool compatibility for a storage policy
     new 7501944  Fix storage policy smoke test
     new 1a75872  Merge pull request #4307 from shapeblue/ovfprops-and-vsphere-adv-together

The 32855 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../java/com/cloud/agent/api/StoragePoolInfo.java  |  21 +
 .../com/cloud/agent/api/storage/OVFHelper.java     | 847 ++++++++++++++++----
 .../java/com/cloud/agent/api/to/DatadiskTO.java    |  21 +-
 .../com/cloud/agent/api/to/DeployAsIsInfoTO.java   |  39 +-
 .../com/cloud/agent/api/to/OVFInformationTO.java   |  98 +++
 .../com/cloud/agent/api/to/VirtualMachineTO.java   |  21 +-
 .../api/to/deployasis/OVFConfigurationTO.java      |  64 ++
 .../agent/api/to/deployasis/OVFEulaSectionTO.java  |  40 +-
 .../agent/api/to/deployasis/OVFNetworkTO.java      | 124 +++
 .../{storage => to/deployasis}/OVFPropertyTO.java  |  25 +-
 .../to/deployasis/OVFVirtualHardwareItemTO.java    | 371 +++++++++
 .../to/deployasis/OVFVirtualHardwareSectionTO.java |  50 ++
 .../TemplateDeployAsIsInformationTO.java           |  10 +-
 .../VsphereStoragePolicy.java}                     |  24 +-
 .../java/com/cloud/deploy/DeployDestination.java   |  14 +-
 .../com/cloud/deployasis/DeployAsIsConstants.java  |  12 +-
 api/src/main/java/com/cloud/event/EventTypes.java  |   5 +
 api/src/main/java/com/cloud/storage/Storage.java   |   7 +-
 .../main/java/com/cloud/storage/StoragePool.java   |   2 +
 api/src/main/java/com/cloud/storage/Volume.java    |   2 +
 .../com/cloud/template/VirtualMachineTemplate.java |   2 +
 api/src/main/java/com/cloud/vm/DiskProfile.java    |   4 +
 api/src/main/java/com/cloud/vm/NicProfile.java     |  12 +
 .../main/java/com/cloud/vm/VmDetailConstants.java  |   2 +
 .../org/apache/cloudstack/api/ApiConstants.java    |   8 +-
 .../admin/offering/CreateDiskOfferingCmd.java      |   7 +
 .../admin/offering/CreateServiceOfferingCmd.java   |   8 +
 .../admin/vm/ImportUnmanagedInstanceCmd.java       |  19 +-
 .../user/offering/ListServiceOfferingsCmd.java     |  30 +
 .../user/template/ListTemplateOVFProperties.java   |  68 --
 .../command/user/template/ListTemplatesCmd.java    |  30 +
 .../command/user/template/RegisterTemplateCmd.java |  12 +-
 .../api/command/user/vm/DeployVMCmd.java           |  62 +-
 .../api/response/DiskOfferingResponse.java         |  12 +
 .../api/response/ServiceOfferingResponse.java      |  13 +
 .../api/response/TemplateOVFPropertyResponse.java  |  43 +-
 .../cloudstack/api/response/TemplateResponse.java  |  55 +-
 .../response/VsphereStoragePoliciesResponse.java   |  89 +++
 .../org/apache/cloudstack/query/QueryService.java  |   4 -
 .../com/cloud/agent/api/storage/OVFHelperTest.java | 702 +++++++++++++++-
 .../test/java/com/cloud/storage/StorageTest.java   |   2 +
 core/pom.xml                                       |   4 -
 .../cloud/agent/api/ModifyStoragePoolAnswer.java   |  20 +
 ...and.java => ValidateVcenterDetailsCommand.java} |  29 +-
 .../cloud/agent/api/storage/DownloadAnswer.java    |  13 +-
 .../agent/api/storage/GetDatadisksCommand.java     |   7 +-
 .../java/com/cloud/resource/ServerResource.java    |   1 +
 .../cloud/storage/resource/StorageProcessor.java   |   6 +
 .../StorageSubsystemCommandHandlerBase.java        |   3 +
 .../com/cloud/storage/template/OVAProcessor.java   | 213 +++--
 .../java/com/cloud/storage/template/Processor.java |   7 +-
 ...ckDataStoreStoragePolicyComplainceCommand.java} |  42 +-
 .../cloudstack/storage/to/PrimaryDataStoreTO.java  |   6 +-
 .../cloudstack/storage/to/TemplateObjectTO.java    |  16 +
 .../cloudstack/storage/to/VolumeObjectTO.java      |  25 +
 .../agent/api/storage/DownloadAnswerTest.java      |  62 ++
 .../api/agent/test/BackupSnapshotCommandTest.java  |   5 +
 .../api/agent/test/CheckNetworkAnswerTest.java     |   5 +
 .../api/agent/test/SnapshotCommandTest.java        |   5 +
 deps/install-non-oss.sh                            |   6 +
 .../service/VolumeOrchestrationService.java        |  12 +-
 .../engine/service/api/OrchestrationService.java   |   6 +-
 .../subsystem/api/storage/PrimaryDataStore.java    |   6 +-
 .../api/storage/PrimaryDataStoreInfo.java          |   2 +
 .../api/storage/StoragePoolAllocator.java          |   2 +
 .../subsystem/api/storage/TemplateDataFactory.java |   4 +-
 .../engine/subsystem/api/storage/TemplateInfo.java |   4 +
 .../subsystem/api/storage/TemplateService.java     |   7 +-
 .../engine/subsystem/api/storage/VolumeInfo.java   |   6 +
 .../storage/image/datastore/ImageStoreEntity.java  |   2 +-
 .../java/com/cloud/storage/StorageManager.java     |   4 +
 .../java/com/cloud/template/TemplateManager.java   |   3 +
 .../com/cloud/vm/VirtualMachineManagerImpl.java    |  37 +-
 .../src/main/java/com/cloud/vm/VmWorkMigrate.java  |   9 +-
 .../engine/orchestration/CloudOrchestrator.java    |   9 +-
 .../engine/orchestration/NetworkOrchestrator.java  | 259 ++++--
 .../engine/orchestration/VolumeOrchestrator.java   | 178 ++++-
 .../java/com/cloud/dc/VsphereStoragePolicyVO.java  | 126 +++
 .../dao/VsphereStoragePolicyDao.java}              |  12 +-
 .../cloud/dc/dao/VsphereStoragePolicyDaoImpl.java  |  64 ++
 .../deployasis/TemplateDeployAsIsDetailVO.java     |  94 +++
 .../cloud/deployasis/UserVmDeployAsIsDetailVO.java |  94 +++
 .../dao/TemplateDeployAsIsDetailsDao.java}         |  21 +-
 .../dao/TemplateDeployAsIsDetailsDaoImpl.java      |  83 ++
 .../dao/UserVmDeployAsIsDetailsDao.java}           |   8 +-
 .../dao/UserVmDeployAsIsDetailsDaoImpl.java}       |  21 +-
 .../service/dao/ServiceOfferingDetailsDao.java     |   1 +
 .../service/dao/ServiceOfferingDetailsDaoImpl.java |   9 +
 .../com/cloud/storage/TemplateOVFPropertyVO.java   | 167 ----
 .../com/cloud/storage/VMTemplateStoragePoolVO.java |  16 +-
 .../main/java/com/cloud/storage/VMTemplateVO.java  |  17 +-
 .../src/main/java/com/cloud/storage/VolumeVO.java  |   9 +
 .../com/cloud/storage/dao/GuestOSCategoryDao.java  |   1 +
 .../cloud/storage/dao/GuestOSCategoryDaoImpl.java  |   9 +-
 .../cloud/storage/dao/GuestOSHypervisorDao.java    |   7 +
 .../storage/dao/GuestOSHypervisorDaoImpl.java      |  37 +
 .../storage/dao/StoragePoolDetailsDaoImpl.java     |  12 +
 .../storage/dao/TemplateOVFPropertiesDaoImpl.java  |  78 --
 .../storage/dao/VMTemplateDetailsDaoImpl.java      |   2 +-
 .../com/cloud/storage/dao/VMTemplatePoolDao.java   |  20 +-
 .../cloud/storage/dao/VMTemplatePoolDaoImpl.java   |  23 +-
 .../resourcedetail/dao/DiskOfferingDetailsDao.java |   1 +
 .../dao/DiskOfferingDetailsDaoImpl.java            |  10 +
 .../storage/datastore/db/PrimaryDataStoreDao.java  |   5 +
 .../datastore/db/PrimaryDataStoreDaoImpl.java      |  16 +
 .../storage/datastore/db/StoragePoolVO.java        |  11 +
 .../spring-engine-schema-core-daos-context.xml     |   4 +-
 .../resources/META-INF/db/schema-41400to41500.sql  | 609 +++++++++++++-
 .../cache/manager/StorageCacheManagerImpl.java     |   2 +-
 .../storage/motion/AncientDataMotionStrategy.java  |  60 +-
 .../KvmNonManagedStorageDataMotionStrategy.java    |   6 +-
 .../motion/StorageSystemDataMotionStrategy.java    |   8 +-
 .../KvmNonManagedStorageSystemDataMotionTest.java  |   9 +-
 .../storage/image/TemplateDataFactoryImpl.java     |  35 +-
 .../storage/image/TemplateServiceImpl.java         |  60 +-
 .../storage/image/store/ImageStoreImpl.java        |   4 +-
 .../storage/image/store/TemplateObject.java        |  21 +-
 .../allocator/AbstractStoragePoolAllocator.java    |  31 +-
 .../storage/datastore/DataObjectManagerImpl.java   |   2 +-
 .../datastore/ObjectInDataStoreManager.java        |   4 +-
 .../datastore/ObjectInDataStoreManagerImpl.java    |  22 +-
 .../storage/image/BaseImageStoreDriverImpl.java    | 133 ++--
 .../cloudstack/storage/image/ImageStoreDriver.java |   2 +-
 .../storage/image/TemplateEntityImpl.java          | 314 --------
 .../storage/image/deployasis/DeployAsIsHelper.java |  35 +
 .../image/deployasis/DeployAsIsHelperImpl.java     | 384 +++++++++
 .../volume/datastore/PrimaryDataStoreHelper.java   |  14 +
 .../core/spring-engine-storage-core-context.xml    |   2 +
 .../storage/datastore/PrimaryDataStoreImpl.java    |  33 +-
 .../datastore/provider/DefaultHostListener.java    |  91 ++-
 .../cloudstack/storage/volume/VolumeObject.java    |  68 +-
 .../storage/volume/VolumeServiceImpl.java          |  68 +-
 .../kvm/storage/KVMStorageProcessor.java           |   7 +
 .../ovm3/resources/Ovm3StorageProcessor.java       |   7 +
 .../cloud/resource/SimulatorStorageProcessor.java  |   6 +
 plugins/hypervisors/vmware/pom.xml                 |   6 +
 .../java/com/cloud/hypervisor/guru/VMwareGuru.java |   4 +-
 .../cloud/hypervisor/guru/VmwareVmImplementer.java | 118 +--
 .../hypervisor/vmware/VmwareDatacenterService.java |  22 +-
 .../vmware/manager/VmwareHostService.java          |   3 +-
 .../vmware/manager/VmwareManagerImpl.java          | 207 ++++-
 .../vmware/manager/VmwareStorageManagerImpl.java   |  16 +-
 .../hypervisor/vmware/resource/VmwareResource.java | 878 ++++++++++++++-------
 .../VmwareSecondaryStorageResourceHandler.java     |   3 +-
 .../resource/VmwareStorageLayoutHelper.java        | 210 +++--
 .../storage/resource/VmwareStorageProcessor.java   | 732 ++++++++++++-----
 .../zone/ImportVsphereStoragePoliciesCmd.java      | 111 +++
 .../admin/zone/ListVsphereStoragePoliciesCmd.java  | 109 +++
 ...ListVsphereStoragePolicyCompatiblePoolsCmd.java |  97 +++
 .../motion/VmwareStorageMotionStrategy.java        |   5 +-
 .../cloudstack/core/spring-vmware-core-context.xml |   1 -
 .../vmware/VmwareDatacenterApiUnitTest.java        |  18 +
 .../vmware/manager/VmwareManagerImplTest.java      |   1 +
 .../resource/XenServerStorageProcessor.java        |   7 +
 .../resource/Xenserver625StorageProcessor.java     |   7 +
 .../driver/DateraPrimaryDataStoreDriver.java       |   6 +-
 .../CloudStackPrimaryDataStoreLifeCycleImpl.java   |  92 ++-
 .../driver/SolidFirePrimaryDataStoreDriver.java    |   4 +-
 server/src/main/java/com/cloud/api/ApiDBUtils.java |   8 +-
 .../main/java/com/cloud/api/ApiResponseHelper.java |   4 +-
 .../java/com/cloud/api/query/QueryManagerImpl.java | 154 ++--
 .../com/cloud/api/query/ViewResponseHelper.java    |  11 +-
 .../api/query/dao/DiskOfferingJoinDaoImpl.java     |  20 +
 .../api/query/dao/ServiceOfferingJoinDaoImpl.java  |  21 +-
 .../api/query/dao/StoragePoolJoinDaoImpl.java      |  20 +
 .../com/cloud/api/query/dao/TemplateJoinDao.java   |   6 +-
 .../cloud/api/query/dao/TemplateJoinDaoImpl.java   |  55 +-
 .../com/cloud/api/query/dao/UserVmJoinDaoImpl.java |   4 +-
 .../com/cloud/api/query/dao/VolumeJoinDaoImpl.java |  12 +
 .../com/cloud/api/query/vo/DiskOfferingJoinVO.java |   7 +
 .../cloud/api/query/vo/ServiceOfferingJoinVO.java  |  36 +
 .../com/cloud/api/query/vo/StoragePoolJoinVO.java  |   7 +
 .../com/cloud/api/query/vo/TemplateJoinVO.java     |   7 +
 .../configuration/ConfigurationManagerImpl.java    |  42 +-
 .../deploy/DeploymentPlanningManagerImpl.java      | 172 +++-
 .../network/element/CloudZonesNetworkElement.java  |   2 +-
 .../network/element/ConfigDriveNetworkElement.java |   2 +-
 .../cloud/network/router/CommandSetupHelper.java   |   2 +-
 .../com/cloud/server/ManagementServerImpl.java     |  53 +-
 .../cloud/storage/ImageStoreUploadMonitorImpl.java |   4 +-
 .../java/com/cloud/storage/StorageManagerImpl.java | 190 ++++-
 .../cloud/storage/StoragePoolAutomationImpl.java   |  10 +-
 .../java/com/cloud/storage/TemplateProfile.java    |   8 +-
 .../com/cloud/storage/VolumeApiServiceImpl.java    |  83 +-
 .../storage/snapshot/SnapshotManagerImpl.java      |   3 +-
 .../cloud/storage/upload/params/UploadParams.java  |   1 +
 .../storage/upload/params/UploadParamsBase.java    |   5 +
 .../cloud/template/HypervisorTemplateAdapter.java  |  26 +-
 .../java/com/cloud/template/TemplateAdapter.java   |  15 +-
 .../com/cloud/template/TemplateAdapterBase.java    |  38 +-
 .../com/cloud/template/TemplateManagerImpl.java    |  33 +-
 .../main/java/com/cloud/vm/UserVmManagerImpl.java  | 605 ++++++++------
 .../direct/download/DirectDownloadManagerImpl.java |   4 +-
 .../cloudstack/vm/UnmanagedVMsManagerImpl.java     |  22 +-
 .../api/query/dao/TemplateJoinDaoImplTest.java     |   1 -
 .../cloud/template/TemplateManagerImplTest.java    |  13 +-
 .../vm/DeploymentPlanningManagerImplTest.java      |  14 +
 .../src/test/resources/createNetworkOffering.xml   |   1 +
 .../resource/NfsSecondaryStorageResource.java      |  10 +-
 .../storage/template/DownloadManagerImpl.java      |  23 +-
 test/integration/smoke/test_kubernetes_clusters.py |   4 +-
 .../smoke/test_nested_virtualization.py            |  90 ++-
 test/integration/smoke/test_storage_policy.py      | 251 ++++++
 test/integration/smoke/test_templates.py           |   7 +-
 test/integration/smoke/test_vm_life_cycle.py       | 280 ++++++-
 tools/apidoc/gen_toc.py                            |   6 +-
 tools/marvin/marvin/config/test_data.py            |  55 +-
 tools/marvin/marvin/lib/base.py                    |  41 +-
 tools/marvin/marvin/lib/common.py                  |  68 ++
 tools/marvin/marvin/lib/vcenter.py                 |   6 +
 ui/scripts/docs.js                                 |   2 +-
 ui/scripts/instanceWizard.js                       |  24 +-
 ui/scripts/system.js                               |  14 +-
 ui/scripts/templates.js                            |  67 +-
 ui/scripts/ui-custom/instanceWizard.js             |  16 +-
 ui/scripts/zoneWizard.js                           |  14 +-
 utils/pom.xml                                      |   4 +
 .../cloud/utils/compression/CompressionUtil.java   |  58 ++
 .../utils/compression/CompressionUtilTest.java     | 128 +++
 vmware-base/pom.xml                                |   6 +
 .../com/cloud/hypervisor/vmware/mo/ClusterMO.java  |   8 +-
 .../cloud/hypervisor/vmware/mo/DatacenterMO.java   |  14 +
 .../cloud/hypervisor/vmware/mo/DatastoreMO.java    |  98 ++-
 .../vmware/mo/HostDatastoreSystemMO.java           | 135 +++-
 .../com/cloud/hypervisor/vmware/mo/HostMO.java     |  31 +-
 .../hypervisor/vmware/mo/HypervisorHostHelper.java | 175 +++-
 .../hypervisor/vmware/mo/PbmPlacementSolverMO.java |  68 ++
 .../hypervisor/vmware/mo/PbmProfileManagerMO.java  | 104 +++
 .../cloud/hypervisor/vmware/mo/StoragepodMO.java   |  48 ++
 .../com/cloud/hypervisor/vmware/mo/TaskMO.java     |   4 +
 .../hypervisor/vmware/mo/VirtualMachineMO.java     | 217 ++---
 .../vmware/mo/VirtualStorageObjectManagerMO.java   |  94 +++
 .../hypervisor/vmware/mo/VmdkAdapterType.java      |   2 +
 .../hypervisor/vmware/mo/VmdkFileDescriptor.java   |   3 +-
 .../hypervisor/vmware/mo/VmwareHypervisorHost.java |   4 +-
 .../vmware/util/VcenterSessionHandler.java         |  88 +++
 .../cloud/hypervisor/vmware/util/VmwareClient.java |  67 +-
 .../hypervisor/vmware/util/VmwareContext.java      |  63 +-
 .../cloud/hypervisor/vmware/util/VmwareHelper.java | 168 ++--
 239 files changed, 10865 insertions(+), 3099 deletions(-)
 copy core/src/main/java/com/cloud/agent/api/storage/GetDatadisksCommand.java => api/src/main/java/com/cloud/agent/api/to/DeployAsIsInfoTO.java (50%)
 create mode 100644 api/src/main/java/com/cloud/agent/api/to/OVFInformationTO.java
 create mode 100644 api/src/main/java/com/cloud/agent/api/to/deployasis/OVFConfigurationTO.java
 copy core/src/main/java/com/cloud/agent/api/storage/GetDatadisksCommand.java => api/src/main/java/com/cloud/agent/api/to/deployasis/OVFEulaSectionTO.java (54%)
 create mode 100644 api/src/main/java/com/cloud/agent/api/to/deployasis/OVFNetworkTO.java
 rename api/src/main/java/com/cloud/agent/api/{storage => to/deployasis}/OVFPropertyTO.java (90%)
 create mode 100644 api/src/main/java/com/cloud/agent/api/to/deployasis/OVFVirtualHardwareItemTO.java
 create mode 100644 api/src/main/java/com/cloud/agent/api/to/deployasis/OVFVirtualHardwareSectionTO.java
 copy engine/schema/src/main/java/com/cloud/storage/dao/GuestOSCategoryDao.java => api/src/main/java/com/cloud/agent/api/to/deployasis/TemplateDeployAsIsInformationTO.java (80%)
 rename api/src/main/java/com/cloud/{agent/api/storage/OVFProperty.java => dc/VsphereStoragePolicy.java} (74%)
 copy engine/schema/src/main/java/com/cloud/storage/dao/GuestOSCategoryDao.java => api/src/main/java/com/cloud/deployasis/DeployAsIsConstants.java (69%)
 delete mode 100644 api/src/main/java/org/apache/cloudstack/api/command/user/template/ListTemplateOVFProperties.java
 create mode 100644 api/src/main/java/org/apache/cloudstack/api/response/VsphereStoragePoliciesResponse.java
 copy core/src/main/java/com/cloud/agent/api/{storage/GetDatadisksCommand.java => ValidateVcenterDetailsCommand.java} (66%)
 copy core/src/main/java/{com/cloud/agent/api/storage/GetDatadisksCommand.java => org/apache/cloudstack/storage/command/CheckDataStoreStoragePolicyComplainceCommand.java} (50%)
 create mode 100644 core/src/test/java/com/cloud/agent/api/storage/DownloadAnswerTest.java
 create mode 100644 engine/schema/src/main/java/com/cloud/dc/VsphereStoragePolicyVO.java
 copy engine/schema/src/main/java/com/cloud/{storage/dao/GuestOSCategoryDao.java => dc/dao/VsphereStoragePolicyDao.java} (71%)
 create mode 100644 engine/schema/src/main/java/com/cloud/dc/dao/VsphereStoragePolicyDaoImpl.java
 create mode 100644 engine/schema/src/main/java/com/cloud/deployasis/TemplateDeployAsIsDetailVO.java
 create mode 100644 engine/schema/src/main/java/com/cloud/deployasis/UserVmDeployAsIsDetailVO.java
 copy engine/schema/src/main/java/{org/apache/cloudstack/resourcedetail/dao/DiskOfferingDetailsDao.java => com/cloud/deployasis/dao/TemplateDeployAsIsDetailsDao.java} (60%)
 create mode 100644 engine/schema/src/main/java/com/cloud/deployasis/dao/TemplateDeployAsIsDetailsDaoImpl.java
 copy engine/schema/src/main/java/com/cloud/{storage/dao/GuestOSCategoryDao.java => deployasis/dao/UserVmDeployAsIsDetailsDao.java} (74%)
 rename engine/schema/src/main/java/com/cloud/{storage/dao/TemplateOVFPropertiesDao.java => deployasis/dao/UserVmDeployAsIsDetailsDaoImpl.java} (59%)
 delete mode 100644 engine/schema/src/main/java/com/cloud/storage/TemplateOVFPropertyVO.java
 delete mode 100644 engine/schema/src/main/java/com/cloud/storage/dao/TemplateOVFPropertiesDaoImpl.java
 delete mode 100644 engine/storage/src/main/java/org/apache/cloudstack/storage/image/TemplateEntityImpl.java
 create mode 100644 engine/storage/src/main/java/org/apache/cloudstack/storage/image/deployasis/DeployAsIsHelper.java
 create mode 100644 engine/storage/src/main/java/org/apache/cloudstack/storage/image/deployasis/DeployAsIsHelperImpl.java
 create mode 100644 plugins/hypervisors/vmware/src/main/java/org/apache/cloudstack/api/command/admin/zone/ImportVsphereStoragePoliciesCmd.java
 create mode 100644 plugins/hypervisors/vmware/src/main/java/org/apache/cloudstack/api/command/admin/zone/ListVsphereStoragePoliciesCmd.java
 create mode 100644 plugins/hypervisors/vmware/src/main/java/org/apache/cloudstack/api/command/admin/zone/ListVsphereStoragePolicyCompatiblePoolsCmd.java
 create mode 100644 test/integration/smoke/test_storage_policy.py
 create mode 100644 utils/src/main/java/com/cloud/utils/compression/CompressionUtil.java
 create mode 100644 utils/src/test/java/com/cloud/utils/compression/CompressionUtilTest.java
 create mode 100644 vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/PbmPlacementSolverMO.java
 create mode 100644 vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/PbmProfileManagerMO.java
 create mode 100644 vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/StoragepodMO.java
 create mode 100644 vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/VirtualStorageObjectManagerMO.java
 create mode 100644 vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VcenterSessionHandler.java