You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ha...@apache.org on 2021/08/05 09:34:23 UTC

[cloudstack] branch decoupleServiceOfferingDiskOffering updated (ba06d60 -> b3c1ce9)

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

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


 discard ba06d60  Added disk offering change checks during resize volume operation
 discard 6b8d933  Added configuration parameter to decide whether to check volume tags on the destination storagepool during migration
 discard 4f02634  Added volumeId parameter to listDiskOfferings API and the disksizestrictness flag of the current disk offering is honored while list disk offerings
 discard 2aba905  UI: move compute only toggle button outside the box in add compute offering wizard
    omit fb87df4  Fixed diskoffering automatic selection on add compute offering wizard
    omit 83164ee  UI: Separated compute and disk releated parameters in add compute offering wizard, also added association to disk offering
    omit fc32515  Move uselocalstorage column access from service offering to disk offering
    omit 66f2045  Fix VM deployment from custom service offering
    omit 841a011  Fix delete compute offering
    omit 024308b  Added UI changes in deployvm wizard to accept override disk offering id
    omit b84d5cd  Added diskoffering details to the service offering response
    omit dd9dcd7  Added UI changes for Disk offering strictness in add compute offering form and Disk size strictness in add disk offering form
    omit 8cf80d5  Remove comments
    omit 22ece8d  Added disk offering strictness to the service offering response
    omit 50b111e  Added disk size strictness in disk offering response
    omit 021b906  Fix User vm response to show proper service offering and disk offerings
    omit 7b2fd66  Added overrideDiskOfferingId parameter in deploy VM API which will override disk offering for the root disk both in template and ISO case
    omit b36eb55  Add diskofferingstrictness to serviceoffering vo under quota
    omit 7748009  Added new API params to compute offering creation
    omit 8e094ef  Fix deployVM flow
    omit d2c95db  diskoffering getsize() is only for strict disk offerings
    omit 77cda73  Decouple service offering and disk offering states
    omit d9e7befa Remove diskofferingid from vminstance VO
    omit f026f64  Decoupled service offering and disk offering
    omit a4723e0b Few more changes
    omit c7f7c23  Schema changes and disk offering column change from "type" to "compute_only"
     add 4f6851f  Some missed inclusivity changes - use inclusive words/terms as appropriate. (#5131)
     add 1a7bfa9  Follow consistent vo table name convention (#5004)
     add 29109b4  db: Cleanup obsolete tables (#5002)
     add 5edcf33  vxlan: Fix failure to delete vxlan (#5079)
     add 3a51540  ui: Notify vm password on reinstall of VM (for password enabled templates) (#5129)
     add 53c2e19  ui: Fix UI issue when deploying VM with rootdisksize (GB now, not in bytes) (#5150)
     add 347f8a5  VR: fix source cidr of egress rules are not applied (#5143)
     add 0eeb094  ui: watch the systemVM for enabling quickview when newly resource (#5137)
     add faa5743  systemvm: Change logrotate interval to hourly (#5132)
     add b9712c6  ui: fix missing component in SearchView (#5123)
     add 5195f8b  packaging: Create cloud user and group if not present (#5115)
     add a4448b4  ui: Notify users of new VM password on resetting VM's SSH key (#5153)
     add d829093  server: Fix of delete of Ceph's snapshots from secondary storage (#5130)
     add aa80972  Fix configuration of ntp server list in systemVMs (#5160)
     add 5396325  server: Bug/false positive success message vm start (#5148)
     add f58b72f  Merge remote-tracking branch 'origin/4.15'
     add ee2c9ce  tests: Skip test_persistent_networks if kvm and ovs (#5128)
     add 9ac3925  server: list routers by healthchecksfailed (#4886)
     add 9fd38c4  server: Display proper names in error message (#5140)
     add 7835c08  tests: formatting and cleanup fixes for test_volumes (#5146)
     add 4645863  tests: Fix test failures for Local storage and Basic zones (#5106)
     add 0d72886  Replace the DB properties having master and slave(s), with source and replica(s) respectively, on Upgrade for inclusiveness (#5162)
     add 5fd970d  db, server: refactor host_view to prevent duplicate entries (#4796)
     add 293dd4d  volume: Fix deletion of Uploaded volumes (#5125)
     add f81d79d  Updated some offensive words in kubernetes plugin/service with inclusive words/terms. (#5171)
     add 9ee6a57  ui: deployvm - Add option to stay on page (#4843)
     add 6e8c114  Merge remote-tracking branch 'origin/4.15' into main
     add 379454c  Updating pom.xml version numbers for release 4.15.1.0
     add 337e8c7  Merge tag '4.15.1.0' into 4.15
     add d916e41  Updating pom.xml version numbers for release 4.15.2.0-SNAPSHOT
     add 0a7dafd  Merge remote-tracking branch 'origin/4.15' into main
     add 50bf286  server: Fix NPE during destroy VM (#5142)
     add 6651427  server: Fix NPE when no recipients configured for sending alerts (#5154)
     add 9533054  ui: Changes of the german translation (#5173)
     add 584c1cf  ui: secondary storage - Display text and change the badge color of the Read-only column (#5176)
     add f286f01  kvm: fix VM HA on zone-wide storage pools (#5164)
     add 16d0795  Merge remote-tracking branch 'origin/4.15' into main
     add f7cc3c9  UI - zone wizard - fix undefined property when setting RBD primary storage (#5167)
     add 3fd9250  Prevent starting a VM in destroyed state (or any state but Stopped) (#5165)
     add a8cfb77  Document cidrlist parameter deprecation (#4037)
     add 2e376f2  marvin: make deployDataCenter.py script py2/py3 compatible (#5139)
     add b5d7535  expunge vm: Allow expunging a VM in destroyed state (#5183)
     add ca78f5b  Enhance log messages with host name (#4575)
     add 9678c7b  ui: Fix traversal to domain details via domain router-link of a resource (#5182)
     add 041948c  ui: refactor labels with tooltip in forms (#5133)
     add f98d35d  api: Ensure required parameters are not empty (#5136)
     add 476f77a  ui: change `edit traffic type` form of VMware (#5178)
     add 757bc2d  vmware: fix migrate vm with volume (#5170)
     add 50a1697  refactor: migrate vm with storage (#5030)
     add cc27c70  systemvmtemplate: use latest LTS kernel from buster-ports (#5073)
     add 1d831a3  kvmk: KVM NFS disk IO driver supporting IO_URING (#5012)
     add 0406e27  ui: refactor get api params in forms (#5064)
     add cf0f1fe  configdrive: fix some failures in tests/component/test_configdrive.py (#5144)
     add 6b5adb7  ui: register vue component Descriptions (#5197)
     add 7123269  ui: deploy VM - FIX missing custom iops field (#5199)
     add e0141ab  server: fix network access for addNicToVirtualMachine API (#5184)
     add 5228fae  kvm: pre-add 32 PCI controller for hot-plug issue on ARM64 (#5193)
     add 5ac184e  Merge remote-tracking branch 'apache/4.15' into main
     add cbe380a  Externalize secondary storage capacity threshold (#4790)
     add ff07fee  api: Fix deprecation of CIDR_LIST parameter (#5211)
     add 15d3d39  UI: bulk action support for various resources (#5034)
     add 96c9c5a  Added disk provisioning type support for VMWare (#4640)
     add f7fdc8a  Do remove volume only on expunge (#5213)
     add 05a978c  Externalize kvm agent storage timeout configuration (#4585)
     add 535761b  UI: Refactor async job polling codebase-wide (#4782)
     add 27d674d  Merge branch '4.15' into main
     add 908bf98  ui: Fix title error
     add 6f93e5c  Revert "Externalize kvm agent storage timeout configuration (#4585)" (#5218)
     add 1f743e9  api: Add 'created' field to API response (#5210)
     add 61de489  ui: Replace bulk delete icons (#5222)
     add 84e52c9  ui: Fix async poll job (#5221)
     add 1f8b34f  add entity-type to message when no UUID is found for a DB ID (#5163)
     add eb3acc3  Externalize tls version and security protocols configuration on mail sending (#5119)
     add eff2da2  Refactor and improvements for method com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.createVMFromSpec() (#5149)
     add c23cbdf  Remove condition that are prevent resizing for root volumes (vmware) (#5186)
     add b065e79  ui: Fix refresh issue (#5232)
     add 7678bc1  ui bug fix: scalevm is disabled when vm is Stopped (#5233)
     add 8efc3ea  UI: Submit the form when press CTRL + ENTER (#4766)
     add 3c1219a  Add logs to api removeVpnUser (#4616)
     add c4388d7  ui: Refresh only on current / parent page (#5214)
     add 29090fe  Only display information, if they are relevant (#5206)
     add 446337b  Fix of shrinking volumes with QCOW2 format (#5225)
     add 37f3fc3  Merge remote-tracking branch 'apache/4.15' into main
     add 87ee866  ui: vmware vm import-unmanage (#5075)
     add 6cd5b36  [UI] Add Shift key for noVNC consoles (#5237)
     add 0c6b8fe  ui: Update header notice if job failed (#5245)
     add 2643854  ui: Fix current for vmsnapshots (#5247)
     add a436869  ui: Fix comparator for boolean (#5246)
     add 826e479  api: Fix pagination for list PublicIPAddresses (#5231)
     add 8ed5a4f  ui: fix create shared network with multi-zone (#5205)
     add 6540d99  ui: submit form with false boolean params (#5224)
     add c6cb30d  Merge remote-tracking branch 'origin/4.15' into main
     add 1f5ee5b  Improve logs on ConsoleProxyManagerImpl and refactor a few process (#4959)
     add 7b752c3  Externalize KVM Agent storage's timeout configuration (#5239)
     add 490658c  display nics deviceid and order nics by deviceid on Nics tab of instances. (#4768)
     add 4f779c2  remove the unnecessary check for tags when migrating volumes
     add 98d4275  Merge pull request #4257 from RodrigoDLopez/Remove_tags_check_when_migrate_volume
     add 5033426  ui: fix import instance form root disk label (#5252)
     add 61fd402  vmware: VR health check in vmware basic zone (#5236)
     add c24aee9  ui: fix error using value of ip6dns1 for ip6dns2 (#5253)
     add 1ccd61c  [TEST] - Test unit - Fix failing UI unit test 4.15 branch (#5219)
     add db31e67  Merge remote-tracking branch 'origin/4.15' into main
     add 66e7bde  ui: Fix failing UI (#5263)
     add 0d8b4de  Cleaning up code and enhancing a few IP management logs (#4714)
     add 82df04e  Improve HA logs (#5241)
     add d6a77a7  Allow updating the storage/host tags of service offerings (#5043)
     add 5b20e6f  ui: fix import instance form for recent changes (#5257)
     add 450de92  ui: Fix failing UI unit test main branch (#5262)
     add 0d1adf5  Schema changes and disk offering column change from "type" to "compute_only"
     add 78d49f0  Few more changes
     add 3c13458  Decoupled service offering and disk offering
     add 3902557  Remove diskofferingid from vminstance VO
     add 185ca73  Decouple service offering and disk offering states
     add 8af7dda  diskoffering getsize() is only for strict disk offerings
     add d9f0a16  Fix deployVM flow
     add 45a8cfb  Added new API params to compute offering creation
     add 46d2df8  Add diskofferingstrictness to serviceoffering vo under quota
     add 5bd56e2  Added overrideDiskOfferingId parameter in deploy VM API which will override disk offering for the root disk both in template and ISO case
     add a3cb7ee  Fix User vm response to show proper service offering and disk offerings
     add 2bb2a44  Added disk size strictness in disk offering response
     add 24dd93a  Added disk offering strictness to the service offering response
     add 6b6de21  Remove comments
     add f799abf  Added UI changes for Disk offering strictness in add compute offering form and Disk size strictness in add disk offering form
     add 151af11  Added diskoffering details to the service offering response
     add 0f114b4  Added UI changes in deployvm wizard to accept override disk offering id
     add 2ca0958  Fix delete compute offering
     add 8cb9a64  Fix VM deployment from custom service offering
     add d20c28b  Move uselocalstorage column access from service offering to disk offering
     add 07c7ea0  UI: Separated compute and disk releated parameters in add compute offering wizard, also added association to disk offering
     add 180dbb3  Fixed diskoffering automatic selection on add compute offering wizard
     add 6648810  UI: move compute only toggle button outside the box in add compute offering wizard
     add 16e4754  Added volumeId parameter to listDiskOfferings API and the disksizestrictness flag of the current disk offering is honored while list disk offerings
     add 524860c  Added configuration parameter to decide whether to check volume tags on the destination storagepool during migration
     add ce963a8  Added disk offering change checks during resize volume operation
     add 5f0f690  Added new API changeofferingforVolume API and corresponding changes
     add 7e68912  Add UI form for changeOfferingForVolume API
     add 58b64d8  Fix UI conflicts
     add e87ab92  Fix service offering usage as disk offering
     add b3c1ce9  Fix unit test failures

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (ba06d60)
            \
             N -- N -- N   refs/heads/decoupleServiceOfferingDiskOffering (b3c1ce9)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 agent/conf/agent.properties                        |   4 +
 .../cloud/agent/properties/AgentProperties.java    |  52 ++
 .../properties/AgentPropertiesFileHandler.java     |  70 ++
 .../properties/AgentPropertiesFileHandlerTest.java | 143 ++++
 .../com/cloud/agent/api/to/VirtualMachineTO.java   |   5 +
 api/src/main/java/com/cloud/event/EventTypes.java  |   2 +
 api/src/main/java/com/cloud/network/Network.java   |   3 +
 .../java/com/cloud/network/NetworkProfile.java     |   6 +
 api/src/main/java/com/cloud/network/vpc/Vpc.java   |   4 +
 .../java/com/cloud/offering/NetworkOffering.java   |   4 +
 .../java/com/cloud/server/ManagementService.java   |   4 +-
 api/src/main/java/com/cloud/storage/Storage.java   |  10 +
 .../java/com/cloud/storage/StorageService.java     |   4 +-
 .../java/com/cloud/storage/VolumeApiService.java   |   3 +
 api/src/main/java/com/cloud/vm/DiskProfile.java    |   2 +
 .../org/apache/cloudstack/api/ApiConstants.java    |   3 +
 .../org/apache/cloudstack/api/BaseListCmd.java     |   2 +-
 .../command/admin/acl/BaseRolePermissionCmd.java   |   4 +-
 .../api/command/admin/acl/CreateRoleCmd.java       |   3 +-
 .../api/command/admin/acl/ImportRoleCmd.java       |   3 +-
 .../admin/acl/project/CreateProjectRoleCmd.java    |   3 +-
 .../project/CreateProjectRolePermissionCmd.java    |   2 +-
 .../command/admin/acl/project/ProjectRoleCmd.java  |   3 +-
 .../project/UpdateProjectRolePermissionCmd.java    |   2 +-
 .../admin/diagnostics/RunDiagnosticsCmd.java       |   2 -
 .../command/admin/ha/ConfigureHAForHostCmd.java    |   2 +-
 .../command/admin/ha/ListHostHAProvidersCmd.java   |   3 +-
 .../network/CreateManagementNetworkIpRangeCmd.java |   9 +-
 .../admin/network/CreateNetworkOfferingCmd.java    |   3 +-
 .../network/DeleteManagementNetworkIpRangeCmd.java |   6 +-
 .../admin/offering/UpdateServiceOfferingCmd.java   |  24 +
 .../IssueOutOfBandManagementPowerActionCmd.java    |   2 +-
 .../api/command/admin/router/ListRoutersCmd.java   |   8 +
 .../storage/FindStoragePoolsForMigrationCmd.java   |   2 +-
 .../command/admin/storage/ListStoragePoolsCmd.java |   5 +-
 .../storage/UpdateStorageCapabilitiesCmd.java      |  86 ++
 .../admin/volume/MigrateVolumeCmdByAdmin.java      |   3 +-
 .../user/firewall/CreatePortForwardingRuleCmd.java |   2 +-
 .../loadbalancer/CreateLoadBalancerRuleCmd.java    |   2 +-
 .../user/nat/CreateIpForwardingRuleCmd.java        |   2 +-
 .../user/network/MoveNetworkAclItemCmd.java        |   2 +-
 .../api/command/user/project/CreateProjectCmd.java |   3 +-
 .../user/resource/ListDetailOptionsCmd.java        |   5 +-
 .../user/volume/ChangeOfferingForVolume.java       | 139 ++++
 .../api/command/user/volume/MigrateVolumeCmd.java  |  18 +-
 .../api/command/user/vpn/RemoveVpnUserCmd.java     |  27 +-
 .../api/response/DomainRouterResponse.java         |   2 +-
 .../cloudstack/api/response/NetworkResponse.java   |  13 +
 .../cloudstack/api/response/ProjectResponse.java   |  13 +
 .../api/response/ServiceOfferingResponse.java      |   2 +-
 .../api/response/UnmanagedInstanceResponse.java    |  12 +
 .../cloudstack/api/response/UserVmResponse.java    |   4 +-
 .../api/GetStoragePoolCapabilitiesAnswer.java      |  49 +-
 .../api/GetStoragePoolCapabilitiesCommand.java     |  23 +-
 .../cloudstack/storage/to/PrimaryDataStoreTO.java  |   9 +
 debian/cloudstack-management.postinst              |   8 +
 .../service/VolumeOrchestrationService.java        |   2 +
 .../api/storage/StoragePoolAllocator.java          |   2 +-
 .../main/java/com/cloud/alert/AlertManager.java    |   6 +
 .../java/com/cloud/capacity/CapacityManager.java   |   3 +
 .../java/com/cloud/storage/StorageManager.java     |  15 +-
 .../java/com/cloud/template/TemplateManager.java   |   3 -
 .../agent/manager/ClusteredAgentManagerImpl.java   |   2 +-
 .../com/cloud/vm/VirtualMachineManagerImpl.java    |  38 +-
 .../cloud/entity/api/VMEntityManagerImpl.java      |   2 +
 .../engine/orchestration/StorageOrchestrator.java  |   4 +-
 .../engine/orchestration/VolumeOrchestrator.java   |  32 +-
 .../src/main/java/com/cloud/dc/ClusterVO.java      |   5 +
 .../src/main/java/com/cloud/dc/DataCenterVO.java   |   1 -
 .../main/java/com/cloud/dc/DomainVlanMapVO.java    |   2 +-
 .../main/java/com/cloud/gpu/HostGpuGroupsVO.java   |   2 +-
 .../src/main/java/com/cloud/gpu/VGPUTypesVO.java   |   2 +-
 .../src/main/java/com/cloud/host/dao/HostDao.java  |   2 +
 .../main/java/com/cloud/host/dao/HostDaoImpl.java  |  25 +
 .../hypervisor/dao/HypervisorCapabilitiesDao.java  |   2 +-
 .../dao/HypervisorCapabilitiesDaoImpl.java         |   2 +-
 .../com/cloud/network/LBHealthCheckPolicyVO.java   |   2 +-
 .../java/com/cloud/network/UserIpv6AddressVO.java  |   2 +-
 .../src/main/java/com/cloud/network/VpnUserVO.java |   2 +-
 .../network/as/AutoScalePolicyConditionMapVO.java  |   2 +-
 .../network/as/AutoScaleVmGroupPolicyMapVO.java    |   2 +-
 .../cloud/network/as/AutoScaleVmGroupVmMapVO.java  |   2 +-
 .../cloud/network/dao/FirewallRulesCidrsVO.java    |   2 +-
 .../network/dao/FirewallRulesDestCidrsVO.java      |   2 +-
 .../java/com/cloud/network/dao/IPAddressVO.java    |   2 +-
 .../network/dao/InlineLoadBalancerNicMapVO.java    |   2 +-
 .../cloud/network/dao/LBStickinessPolicyVO.java    |   2 +-
 .../com/cloud/network/dao/LoadBalancerVMMapVO.java |   2 +-
 .../java/com/cloud/network/dao/LoadBalancerVO.java |   2 +-
 .../com/cloud/network/dao/NetworkRuleConfigVO.java |   2 +-
 .../com/cloud/network/dao/RemoteAccessVpnVO.java   |   2 +-
 .../network/dao/Site2SiteCustomerGatewayVO.java    |   2 +-
 .../network/dao/Site2SiteVpnConnectionVO.java      |   2 +-
 .../cloud/network/dao/Site2SiteVpnGatewayVO.java   |   2 +-
 .../com/cloud/network/element/OvsProviderVO.java   |   2 +-
 .../network/element/VirtualRouterProviderVO.java   |   2 +-
 .../cloud/network/rules/PortForwardingRuleVO.java  |   2 +-
 .../network/security/SecurityGroupRuleVO.java      |   2 +-
 .../network/security/SecurityGroupRulesVO.java     |   2 +-
 .../network/security/SecurityGroupVMMapVO.java     |   2 +-
 .../cloud/network/security/SecurityGroupVO.java    |   2 +-
 .../src/main/java/com/cloud/network/vpc/VpcVO.java |   5 +
 .../dao/NetworkOfferingServiceMapDaoImpl.java      |   8 +-
 .../java/com/cloud/storage/VMTemplateHostVO.java   | 334 --------
 .../main/java/com/cloud/storage/VolumeHostVO.java  | 346 --------
 .../java/com/cloud/storage/dao/VMTemplateDao.java  |   4 -
 .../com/cloud/storage/dao/VMTemplateDaoImpl.java   | 445 -----------
 .../com/cloud/storage/dao/VMTemplateHostDao.java   |  68 --
 .../cloud/storage/dao/VMTemplateHostDaoImpl.java   | 431 ----------
 .../cloud/storage/dao/VMTemplatePoolDaoImpl.java   |   2 +-
 .../java/com/cloud/storage/dao/VolumeHostDao.java  |  41 -
 .../com/cloud/storage/dao/VolumeHostDaoImpl.java   | 181 -----
 .../cloud/usage/ExternalPublicIpStatisticsVO.java  |  98 ---
 .../dao/ExternalPublicIpStatisticsDaoImpl.java     |  76 --
 .../src/main/java/com/cloud/vm/ConsoleProxyVO.java |   4 +
 .../java/com/cloud/vm/InstanceGroupVMMapVO.java    |   2 +-
 .../src/main/java/com/cloud/vm/VMInstanceVO.java   |   2 +-
 .../cloudstack/affinity/AffinityGroupVMMapVO.java  |   2 +-
 .../cloudstack/affinity/AffinityGroupVO.java       |   2 +-
 .../lb/ApplicationLoadBalancerRuleVO.java          |   2 +-
 .../org/apache/cloudstack/region/RegionSyncVO.java |  96 ---
 .../region/gslb/GlobalLoadBalancerLbRuleMapVO.java |   2 +-
 .../region/gslb/GlobalLoadBalancerRuleVO.java      |   2 +-
 .../storage/datastore/db/PrimaryDataStoreDao.java  |   1 +
 .../datastore/db/PrimaryDataStoreDaoImpl.java      |  26 +
 .../storage/datastore/db/StoragePoolDetailVO.java  |   4 +
 .../spring-engine-schema-core-daos-context.xml     |   3 -
 .../resources/META-INF/db/schema-41510to41600.sql  | 292 ++++++-
 .../storage/motion/AncientDataMotionStrategy.java  |  25 +-
 .../motion/AncientDataMotionStrategyTest.java      |   9 +-
 .../storage/image/store/TemplateObject.java        |  18 -
 .../storage/test/ChildTestConfiguration.java       |   4 +-
 .../storage/snapshot/CephSnapshotStrategy.java     |   4 -
 .../storage/snapshot/CephSnapshotStrategyTest.java |   2 -
 .../allocator/AbstractStoragePoolAllocator.java    |  68 +-
 .../datastore/provider/DefaultHostListener.java    |  11 +-
 packaging/centos7/cloud.spec                       |  12 +-
 packaging/centos8/cloud.spec                       |  12 +-
 .../main/java/com/cloud/ha/KVMInvestigator.java    |   9 +
 .../hypervisor/kvm/resource/BridgeVifDriver.java   |   4 +-
 .../hypervisor/kvm/resource/KVMHAChecker.java      |  49 +-
 .../hypervisor/kvm/resource/KVMHAMonitor.java      | 178 +++--
 .../kvm/resource/LibvirtComputingResource.java     | 520 ++++++++----
 .../hypervisor/kvm/resource/LibvirtVMDef.java      |  43 +
 .../wrapper/LibvirtMigrateCommandWrapper.java      |   5 +
 .../wrapper/LibvirtPlugNicCommandWrapper.java      |   4 +
 .../kvm/resource/LibvirtComputingResourceTest.java | 569 ++++++++++++--
 .../com/cloud/resource/SimulatorDiscoverer.java    |  19 -
 .../hypervisor/vmware/resource/VmwareResource.java | 115 ++-
 .../storage/resource/VmwareStorageProcessor.java   |  47 +-
 .../VmwareStorageSubsystemCommandHandler.java      |   4 +
 .../vmware/resource/VmwareResourceTest.java        |   2 +-
 ...ernetesClusterResourceModifierActionWorker.java |   4 +-
 .../KubernetesClusterStartWorker.java              |  92 +--
 .../api/response/KubernetesClusterResponse.java    |   4 +-
 .../main/resources/conf/k8s-control-node-add.yml   |   4 +-
 .../src/main/resources/conf/k8s-control-node.yml   |   8 +-
 .../src/main/resources/conf/k8s-node.yml           |   4 +-
 .../java/com/cloud/network/ElasticLbVmMapVO.java   |   2 +-
 .../management/IntegrationTestConfiguration.java   |   6 +-
 .../cloud/network/NetScalerServicePackageVO.java   |   2 +-
 .../network/ovs/dao/OvsTunnelInterfaceVO.java      |   2 +-
 .../cloud/network/ovs/dao/OvsTunnelNetworkVO.java  |   2 +-
 .../CloudStackPrimaryDataStoreLifeCycleImpl.java   |   2 +
 scripts/storage/secondary/createvolume.sh          |  16 +-
 scripts/vm/hypervisor/kvm/kvmheartbeat.sh          |   7 +-
 .../src/main/java/com/cloud/acl/DomainChecker.java |   9 +-
 .../allocator/impl/UserConcentratedAllocator.java  |  11 -
 .../java/com/cloud/alert/AlertManagerImpl.java     |   8 +-
 server/src/main/java/com/cloud/api/ApiDBUtils.java |   8 -
 .../main/java/com/cloud/api/ApiResponseHelper.java |   2 +
 .../com/cloud/api/dispatch/ParamProcessWorker.java |   3 +
 .../java/com/cloud/api/query/QueryManagerImpl.java |  49 +-
 .../com/cloud/api/query/ViewResponseHelper.java    |  18 +-
 .../java/com/cloud/api/query/dao/HostJoinDao.java  |   4 -
 .../com/cloud/api/query/dao/HostJoinDaoImpl.java   |  69 +-
 .../api/query/dao/NetworkOfferingJoinDaoImpl.java  |   1 +
 .../cloud/api/query/dao/ProjectJoinDaoImpl.java    |   1 +
 .../cloud/api/query/dao/TemplateJoinDaoImpl.java   |   9 +-
 .../com/cloud/api/query/dao/UserVmJoinDaoImpl.java |   2 +
 .../com/cloud/api/query/dao/VolumeJoinDaoImpl.java |  10 +-
 .../com/cloud/api/query/vo/AsyncJobJoinVO.java     |   2 +-
 .../java/com/cloud/api/query/vo/DomainJoinVO.java  |   2 +-
 .../java/com/cloud/api/query/vo/UserVmJoinVO.java  |   7 +
 .../com/cloud/capacity/CapacityManagerImpl.java    |   9 +-
 .../configuration/ConfigurationManagerImpl.java    |  90 ++-
 .../consoleproxy/ConsoleProxyManagerImpl.java      | 875 +++++++++------------
 .../deploy/DeploymentPlanningManagerImpl.java      |  21 +-
 .../com/cloud/hypervisor/HypervisorGuruBase.java   |   8 +-
 .../com/cloud/network/IpAddressManagerImpl.java    |  24 +-
 .../java/com/cloud/network/NetworkModelImpl.java   |   1 +
 .../network/element/VirtualRouterElement.java      |   5 +-
 .../router/VirtualNetworkApplianceManagerImpl.java |  33 +-
 .../com/cloud/network/rules/RulesManagerImpl.java  |  19 +-
 .../network/vpn/RemoteAccessVpnManagerImpl.java    |   4 +-
 .../java/com/cloud/projects/ProjectManager.java    |   7 +
 .../com/cloud/projects/ProjectManagerImpl.java     |  13 +-
 .../com/cloud/resource/ResourceManagerImpl.java    |  49 +-
 .../resource/RollingMaintenanceManagerImpl.java    |  38 +-
 .../com/cloud/server/ManagementServerImpl.java     |  93 ++-
 .../main/java/com/cloud/server/StatsCollector.java |  28 +-
 .../java/com/cloud/storage/StorageManagerImpl.java | 146 +++-
 .../com/cloud/storage/VolumeApiServiceImpl.java    | 436 ++++++++--
 .../cloud/storage/download/DownloadListener.java   |   3 +-
 .../com/cloud/template/TemplateManagerImpl.java    |  39 -
 .../com/cloud/uuididentity/UUIDManagerImpl.java    |  10 +-
 .../main/java/com/cloud/vm/UserVmManagerImpl.java  | 187 +++--
 .../agent/lb/IndirectAgentLBServiceImpl.java       |   2 +-
 .../OutOfBandManagementServiceImpl.java            |  32 +-
 .../cloudstack/vm/UnmanagedVMsManagerImpl.java     |  40 +-
 server/src/test/async-job-component.xml            |  40 +-
 .../configuration/ConfigurationManagerTest.java    |  12 +-
 .../consoleproxy/ConsoleProxyManagerTest.java      | 129 +--
 .../cloud/storage/VolumeApiServiceImplTest.java    |  26 +
 .../java/com/cloud/vpc/VpcTestConfiguration.java   |   3 +-
 .../SecondaryStorageManagerImpl.java               |   2 +-
 .../storage/template/DownloadManager.java          |   4 +-
 .../storage/template/DownloadManagerImpl.java      |  23 +-
 setup/bindir/cloud-set-guest-sshkey-configdrive.in |   4 +-
 systemvm/agent/noVNC/app/images/shift.png          | Bin 0 -> 212 bytes
 systemvm/agent/noVNC/app/ui.js                     |  13 +
 systemvm/agent/noVNC/vnc.html                      |   3 +
 systemvm/debian/opt/cloud/bin/configure.py         |   2 +-
 systemvm/debian/opt/cloud/bin/setup/common.sh      |   6 +-
 systemvm/debian/opt/cloud/bin/setup/router.sh      |   7 +
 systemvm/debian/opt/cloud/bin/setup/vpcrouter.sh   |   7 +
 .../component/test_acl_isolatednetwork.py          |   2 +-
 test/integration/component/test_configdrive.py     |  29 +-
 .../component/test_rootvolume_resize.py            |  29 +-
 test/integration/smoke/test_direct_download.py     |  80 +-
 test/integration/smoke/test_disk_offerings.py      |   3 +-
 .../smoke/test_disk_provisioning_types.py          | 149 ++++
 .../smoke/test_domain_network_offerings.py         |   1 -
 .../integration/smoke/test_domain_vpc_offerings.py |   1 -
 test/integration/smoke/test_persistent_network.py  |  24 +-
 test/integration/smoke/test_primary_storage.py     |   3 +
 test/integration/smoke/test_service_offerings.py   |  15 +
 test/integration/smoke/test_vm_life_cycle.py       |   3 +
 test/integration/smoke/test_volumes.py             | 642 ++++++++-------
 test/metadata/func/templates_sync.xml              | 482 ++----------
 tools/apidoc/gen_toc.py                            |   2 +-
 tools/appliance/systemvmtemplate/http/preseed.cfg  |   8 +-
 .../systemvmtemplate/scripts/apt_upgrade.sh        |   5 +
 .../systemvmtemplate/scripts/configure_grub.sh     |   3 +
 .../scripts/install_systemvm_packages.sh           |   6 +-
 tools/appliance/systemvmtemplate/template.json     |  11 +-
 tools/marvin/marvin/deployDataCenter.py            |   4 +-
 tools/marvin/marvin/lib/base.py                    |   6 +
 ui/public/locales/de_DE.json                       |  50 +-
 ui/public/locales/en.json                          |  71 +-
 ui/src/components/CheckBoxInputPair.vue            | 117 +++
 ui/src/components/CheckBoxSelectPair.vue           | 103 ++-
 ui/src/components/header/HeaderNotice.vue          |  77 +-
 ui/src/components/view/BulkActionProgress.vue      | 191 +++++
 ui/src/components/view/BulkActionView.vue          | 192 +++++
 ui/src/components/view/DedicateData.vue            |  44 +-
 ui/src/components/view/DedicateModal.vue           |  77 +-
 ui/src/components/view/DetailSettings.vue          |   2 +-
 ui/src/components/view/FormView.vue                |   3 -
 ui/src/components/view/InfoCard.vue                |  50 +-
 ui/src/components/view/ListView.vue                |  17 +-
 ui/src/components/view/QuickView.vue               |   2 +-
 ui/src/components/view/ResourceLimitTab.vue        |   3 +
 ui/src/components/view/SearchView.vue              |  15 +-
 ui/src/components/view/SettingsTab.vue             |   2 +-
 ui/src/components/widgets/Status.vue               |  18 +-
 .../components/{view => widgets}/TooltipButton.vue |   0
 .../src/components/widgets/TooltipLabel.vue        |  44 +-
 ui/src/config/router.js                            |   2 +
 ui/src/config/section/account.js                   |  20 +-
 ui/src/config/section/compute.js                   |  67 +-
 ui/src/config/section/infra/ilbvms.js              |  10 +-
 ui/src/config/section/infra/routers.js             |  20 +-
 ui/src/config/section/infra/secondaryStorages.js   |   5 +-
 ui/src/config/section/infra/systemVms.js           |  20 +-
 ui/src/config/section/network.js                   |  45 +-
 ui/src/config/section/offering.js                  |  56 +-
 ui/src/config/section/project.js                   |  15 +-
 ui/src/config/section/storage.js                   |  27 +-
 .../src/config/section/tools.js                    |  30 +-
 ui/src/core/bootstrap.js                           |   4 +-
 ui/src/core/lazy_lib/components_use.js             |   1 +
 ui/src/main.js                                     |   4 +-
 ui/src/store/getters.js                            |   2 +-
 ui/src/store/modules/user.js                       |  33 +-
 ui/src/store/mutation-types.js                     |   2 +-
 ui/src/style/vars.less                             |  11 +-
 .../mock/mockStore.js => src/utils/directives.js}  |  51 +-
 ui/src/utils/plugins.js                            |  86 +-
 ui/src/utils/sort.js                               |   2 +-
 ui/src/views/AutogenView.vue                       | 427 +++++++---
 ui/src/views/auth/Login.vue                        |   3 +
 ui/src/views/compute/AssignInstance.vue            |   6 +-
 ui/src/views/compute/AttachIso.vue                 |  26 +-
 ui/src/views/compute/ChangeAffinity.vue            |  13 +-
 ui/src/views/compute/CreateKubernetesCluster.vue   | 142 +---
 ui/src/views/compute/CreateSSHKeyPair.vue          |  24 +-
 ui/src/views/compute/CreateSnapshotWizard.vue      |  57 +-
 ui/src/views/compute/DeployVM.vue                  | 150 ++--
 ui/src/views/compute/DestroyVM.vue                 |  47 +-
 ui/src/views/compute/EditVM.vue                    |  55 +-
 ui/src/views/compute/InstanceTab.vue               | 116 +--
 ui/src/views/compute/KubernetesServiceTab.vue      |   9 -
 ui/src/views/compute/MigrateVMStorage.vue          |  17 +-
 ui/src/views/compute/MigrateWizard.vue             |  17 +-
 ui/src/views/compute/ScaleKubernetesCluster.vue    |  50 +-
 ui/src/views/compute/ScaleVM.vue                   |  20 +-
 ui/src/views/compute/StartVirtualMachine.vue       |  66 +-
 ui/src/views/compute/UpgradeKubernetesCluster.vue  |  44 +-
 ui/src/views/compute/backup/BackupSchedule.vue     |   2 +-
 ui/src/views/compute/backup/FormSchedule.vue       |  13 +-
 ui/src/views/compute/wizard/ComputeSelection.vue   |  72 +-
 .../views/compute/wizard/DiskOfferingSelection.vue |  13 +-
 ui/src/views/compute/wizard/DiskSizeSelection.vue  |  77 +-
 ui/src/views/compute/wizard/MultiDiskSelection.vue | 128 ++-
 .../views/compute/wizard/MultiNetworkSelection.vue | 257 ++++++
 ui/src/views/compute/wizard/NetworkSelection.vue   |   1 -
 ui/src/views/dashboard/OnboardingDashboard.vue     |   2 -
 ui/src/views/iam/AddAccount.vue                    | 113 +--
 ui/src/views/iam/AddLdapAccount.vue                |  15 +-
 ui/src/views/iam/AddUser.vue                       |  95 +--
 ui/src/views/iam/ChangeUserPassword.vue            |  44 +-
 ui/src/views/iam/ConfigureSamlSsoAuth.vue          |  15 +-
 ui/src/views/iam/CreateRole.vue                    |  68 +-
 ui/src/views/iam/DomainActionForm.vue              |  75 +-
 ui/src/views/iam/EditUser.vue                      |  56 +-
 ui/src/views/iam/ImportRole.vue                    |  64 +-
 ui/src/views/iam/RolePermissionTab.vue             |   2 +-
 ui/src/views/iam/RuleDelete.vue                    |   2 +-
 ui/src/views/iam/SSLCertificateTab.vue             |   2 +-
 .../views/image/AddKubernetesSupportedVersion.vue  |  73 +-
 ui/src/views/image/IsoZones.vue                    | 156 +++-
 ui/src/views/image/RegisterOrUploadIso.vue         |  18 +-
 ui/src/views/image/RegisterOrUploadTemplate.vue    |  18 +-
 ui/src/views/image/TemplateZones.vue               | 225 +++++-
 .../image/UpdateKubernetesSupportedVersion.vue     |  19 +-
 .../views/image/UpdateTemplateIsoPermissions.vue   |  24 +-
 ui/src/views/infra/AddPrimaryStorage.vue           | 179 +----
 ui/src/views/infra/AddSecondaryStorage.vue         |  18 +-
 ui/src/views/infra/ClusterAdd.vue                  |  26 +-
 ui/src/views/infra/HostAdd.vue                     |  24 +-
 ui/src/views/infra/HostInfo.vue                    |   8 +-
 ui/src/views/infra/InfraSummary.vue                |  52 +-
 ui/src/views/infra/MigrateData.vue                 |  54 +-
 ui/src/views/infra/PodAdd.vue                      |  27 +-
 ui/src/views/infra/network/DedicatedVLANTab.vue    |  19 +-
 ui/src/views/infra/network/EditTrafficLabel.vue    |  77 +-
 ui/src/views/infra/network/IpRangesTabGuest.vue    |   3 +-
 .../views/infra/network/IpRangesTabManagement.vue  |  28 +-
 ui/src/views/infra/network/IpRangesTabPublic.vue   |  29 +-
 ui/src/views/infra/network/IpRangesTabStorage.vue  |  29 +-
 ui/src/views/infra/network/ServiceProvidersTab.vue |  23 +-
 .../infra/network/providers/AddF5LoadBalancer.vue  |  63 +-
 .../network/providers/AddNetscalerLoadBalancer.vue |  63 +-
 .../infra/network/providers/AddNiciraNvpDevice.vue |  63 +-
 .../network/providers/AddPaloAltoFirewall.vue      |  63 +-
 .../infra/network/providers/AddSrxFirewall.vue     |  63 +-
 .../infra/network/providers/ProviderListView.vue   |  20 +-
 ui/src/views/infra/routers/RouterHealthCheck.vue   |  28 +-
 .../views/infra/zone/AdvancedGuestTrafficForm.vue  |   4 +-
 ui/src/views/infra/zone/IpAddressRangeForm.vue     |  17 +-
 ui/src/views/infra/zone/StaticInputsForm.vue       |   3 +-
 ui/src/views/infra/zone/ZoneWizardLaunchZone.vue   |  46 +-
 .../zone/ZoneWizardPhysicalNetworkSetupStep.vue    |  87 +-
 .../views/infra/zone/ZoneWizardZoneDetailsStep.vue |   4 +-
 ui/src/views/infra/zone/ZoneWizardZoneTypeStep.vue |   5 +-
 ui/src/views/network/AclListRulesTab.vue           |  66 +-
 ui/src/views/network/CreateIsolatedNetworkForm.vue | 106 +--
 ui/src/views/network/CreateL2NetworkForm.vue       |  91 +--
 ui/src/views/network/CreateNetwork.vue             |   8 -
 ui/src/views/network/CreateSharedNetworkForm.vue   | 372 ++++-----
 ui/src/views/network/CreateVlanIpRange.vue         |  80 +-
 ui/src/views/network/CreateVpc.vue                 |  81 +-
 ui/src/views/network/CreateVpnCustomerGateway.vue  | 114 +--
 ui/src/views/network/EgressRulesTab.vue            | 130 ++-
 ui/src/views/network/FirewallRules.vue             | 244 ++++--
 ui/src/views/network/GuestIpRanges.vue             |   4 +-
 .../views/network/IngressEgressRuleConfigure.vue   |  31 +-
 ui/src/views/network/InternalLBAssignVmForm.vue    |  14 +-
 ui/src/views/network/InternalLBAssignedVmTab.vue   |   2 +-
 ui/src/views/network/IpAddressesTab.vue            | 117 ++-
 ui/src/views/network/LoadBalancing.vue             | 186 ++++-
 ui/src/views/network/NicsTable.vue                 |   5 +
 ui/src/views/network/PortForwarding.vue            | 239 ++++--
 ui/src/views/network/StaticRoutesTab.vue           |  29 +-
 ui/src/views/network/VpcTab.vue                    |  61 +-
 ui/src/views/network/VpcTiersTab.vue               |  48 +-
 ui/src/views/network/VpnDetails.vue                |  29 +-
 ui/src/views/offering/AddComputeOffering.vue       | 821 +++++++------------
 ui/src/views/offering/AddDiskOffering.vue          | 263 ++-----
 ui/src/views/offering/AddNetworkOffering.vue       | 260 +++---
 ui/src/views/offering/AddVpcOffering.vue           |  96 +--
 ui/src/views/offering/ImportBackupOffering.vue     |  78 +-
 ui/src/views/offering/UpdateOfferingAccess.vue     |  14 +-
 .../views/plugins/quota/EditTariffValueWizard.vue  |  11 +-
 .../views/plugins/quota/EmailTemplateDetails.vue   |   4 +-
 ui/src/views/project/AccountsTab.vue               |  12 +-
 ui/src/views/project/AddAccountOrUserToProject.vue |  94 +--
 ui/src/views/project/InvitationTokenTemplate.vue   |  28 +-
 ui/src/views/project/InvitationsTemplate.vue       |  12 +-
 .../views/project/iam/ProjectRolePermissionTab.vue |   2 +-
 ui/src/views/project/iam/ProjectRoleTab.vue        |  26 +-
 ui/src/views/storage/AttachVolume.vue              |  23 +-
 ui/src/views/storage/ChangeOfferingForVolume.vue   | 154 ++++
 .../views/storage/CreateSnapshotFromVMSnapshot.vue |  33 +-
 ui/src/views/storage/CreateVolume.vue              | 122 +--
 ui/src/views/storage/FormSchedule.vue              |  14 +-
 ui/src/views/storage/MigrateVolume.vue             |  17 +-
 ui/src/views/storage/ResizeVolume.vue              |  22 +-
 ui/src/views/storage/RestoreAttachBackupVolume.vue |  25 +-
 ui/src/views/storage/ScheduledSnapshots.vue        |   2 +-
 ui/src/views/storage/TakeSnapshot.vue              |  32 +-
 ui/src/views/storage/UploadLocalVolume.vue         |  53 +-
 ui/src/views/tools/ImportUnmanagedInstance.vue     | 763 ++++++++++++++++++
 ui/src/views/tools/ManageInstances.vue             | 818 +++++++++++++++++++
 ui/tests/common/index.js                           |   7 +-
 ui/tests/mock/mockStore.js                         |  13 +-
 ui/tests/mockData/ActionButton.mock.json           |  12 +-
 ui/tests/mockData/AutogenView.mock.json            |  96 ++-
 ui/tests/mockData/MigrateWizard.mock.json          |  46 +-
 ui/tests/setup.js                                  |   1 +
 ui/tests/unit/views/AutogenView.spec.js            | 319 +++-----
 ui/tests/unit/views/compute/MigrateWizard.spec.js  |  89 +--
 .../hypervisor/vmware/mo/VirtualMachineMO.java     |  33 +-
 .../vmware/mo/VirtualStorageObjectManagerMO.java   |  16 +-
 425 files changed, 12062 insertions(+), 9696 deletions(-)
 create mode 100644 agent/src/main/java/com/cloud/agent/properties/AgentProperties.java
 create mode 100644 agent/src/main/java/com/cloud/agent/properties/AgentPropertiesFileHandler.java
 create mode 100644 agent/src/test/java/com/cloud/agent/properties/AgentPropertiesFileHandlerTest.java
 create mode 100644 api/src/main/java/org/apache/cloudstack/api/command/admin/storage/UpdateStorageCapabilitiesCmd.java
 create mode 100644 api/src/main/java/org/apache/cloudstack/api/command/user/volume/ChangeOfferingForVolume.java
 copy ui/tests/mock/mockStore.js => core/src/main/java/com/cloud/agent/api/GetStoragePoolCapabilitiesAnswer.java (54%)
 copy engine/schema/src/main/java/com/cloud/usage/dao/ExternalPublicIpStatisticsDao.java => core/src/main/java/com/cloud/agent/api/GetStoragePoolCapabilitiesCommand.java (61%)
 delete mode 100644 engine/schema/src/main/java/com/cloud/storage/VMTemplateHostVO.java
 delete mode 100644 engine/schema/src/main/java/com/cloud/storage/VolumeHostVO.java
 delete mode 100644 engine/schema/src/main/java/com/cloud/storage/dao/VMTemplateHostDao.java
 delete mode 100644 engine/schema/src/main/java/com/cloud/storage/dao/VMTemplateHostDaoImpl.java
 delete mode 100644 engine/schema/src/main/java/com/cloud/storage/dao/VolumeHostDao.java
 delete mode 100644 engine/schema/src/main/java/com/cloud/storage/dao/VolumeHostDaoImpl.java
 delete mode 100644 engine/schema/src/main/java/com/cloud/usage/ExternalPublicIpStatisticsVO.java
 delete mode 100644 engine/schema/src/main/java/com/cloud/usage/dao/ExternalPublicIpStatisticsDaoImpl.java
 delete mode 100644 engine/schema/src/main/java/org/apache/cloudstack/region/RegionSyncVO.java
 create mode 100644 systemvm/agent/noVNC/app/images/shift.png
 create mode 100644 test/integration/smoke/test_disk_provisioning_types.py
 create mode 100644 ui/src/components/CheckBoxInputPair.vue
 create mode 100644 ui/src/components/view/BulkActionProgress.vue
 create mode 100644 ui/src/components/view/BulkActionView.vue
 rename ui/src/components/{view => widgets}/TooltipButton.vue (100%)
 copy engine/schema/src/main/java/com/cloud/usage/dao/ExternalPublicIpStatisticsDao.java => ui/src/components/widgets/TooltipLabel.vue (58%)
 rename engine/schema/src/main/java/com/cloud/usage/dao/ExternalPublicIpStatisticsDao.java => ui/src/config/section/tools.js (60%)
 copy ui/{tests/mock/mockStore.js => src/utils/directives.js} (53%)
 create mode 100644 ui/src/views/compute/wizard/MultiNetworkSelection.vue
 create mode 100644 ui/src/views/storage/ChangeOfferingForVolume.vue
 create mode 100644 ui/src/views/tools/ImportUnmanagedInstance.vue
 create mode 100644 ui/src/views/tools/ManageInstances.vue