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

pearl11594 pushed a change to branch fix-ui-k8s-capc
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


    from c20869833aa UI: Fix cpu & memory details on list view for unmanaged 
k8s clusters (CAPC)
     add 84b807eeee1 [CKS] Simplify logic for scaling CKS cluster service 
offerings (#11063)
     add 3220eb442a5 PowerFlex/ScaleIO - MDM and host SDC connection 
enhancements (#11047)
     add bb75abcffa2 Usage parsers refactoring (#11097)
     add 53eb2c5b9b7 File-based disk-only VM snapshot with KVM as hypervisor 
(#10632)
     add 65d359228dc Allow populating generic templates during Zone Deployment 
(#10947)
     add 9688cbb0953 systemvm: build 4.20.2 template with 'depmod -a' (#11128)
     add c94f75c7ea7 PowerFlex/ScaleIO - Wait after SDC service 
start/restart/stop, and retry to fetch SDC id/guid (#11099)
     add 06c80cdbe91 Remove unfinished usage job entries of the host (#10848)
     add 0d65c8c4543 Merge branch '4.19' into 4.20
     add b57994eeb0d Merge branch '4.20'
     add 15c09af5cc7 UI: Fix traffic Label on Zone creation wizard for VMware 
(#11101)
     add a849b822c21 Update .asf.yaml: remove new committer Bernardo (#11231)
     add 3687032ed68 Update .asf.yaml re-add rosi
     add 1003c8034c1 Update .asf.yaml remove sudo87
     add c5da9e6188c Update .asf.yaml re-add sudo87
     add 6ad92964120 Fix KVM incremental snapshot removal when using multiple 
secondary storages (#11180)
     add e7172161dd2 Guard OS type update for iso/template with existing vms 
(#11215)
     add 9d049707d5e Fix deletion of backup schedules (#11222)
     add a710ff8c6db UI: Fix ISO Hypervisor selection (#11261)
     add 666784f4e57 ovm deprecation (#11196)
     add d63899fc8a4 Set Content-Type from the file type (#11093)
     add 6d5cefdfe94 add since parameter to BackupScheduleResponse (#11265)
     add fb3bb3fd568 pre-commit: upgrade markdownlint to the latest version 
(#11066)
     add 165ab0aabe2 Fix HTML license; standardize HTML code (#11067)
     add 1fbe1d76827 pre-commit: add gitleaks to detect hardcoded secrets 
(#11064)
     add 071e612f404 UI: Fix OS Type displayed for a VM (#11075)
     add 7da5f9002b2 misc: fix typo `sercurity` -> `security` (#10966)
     add 83bccead3db schema, refactor: rename cloud.user_vm_details to 
cloud.vm_instance_details (#10736)
     add 22b753e9302 [UI] Deploy VM: Preselect first available template (#11207)
     add 11455f6d49c UI: Add option to Login to a specific Project view via 
setting on config.json (#10935)
     add 935c568082c Merge fix for UI
     add 074f75838e4 Fix pre-commit warnings for deprecated stage names (#11276)
     add ae501037047 Config 'vm.network.nic.max.secondary.ipaddresses' - Sync 
default value (and value if not set) to 10 as per the config description and 
default value in parseInt of the config (#11256)
     add 0d4147f3f63 Netris Network Plugin Integration with CloudStack (#10458)
     add 13892e2ff06 [CKS] Create Kubernetes ISO support for ARCH optional 
parameter (#10986)
     add 407072ffd43 schema,framework/db,server: fix user_vm_details usage 
(#11292)
     add 217ff27650f ui: fix compute offering edit (#11232)
     add cca8b2fef90  Extensions Framework & Orchestrate Anything (#9752)
     add 21dde2b9a28 [DB] Add force recreate parameter to 
cloudstack-setup-databases script (#11239)
     add 1a9efe8de3c Add unit tests for getConfigResources in 
ModuleDefinitionSet and improve context readability (#11042)
     add 45edf82efaf [UI] Fix for local storage enable/disable toggle in edit 
zone (#11309)
     add 524f0d80db0 server: fix NaN values for external resource metrics 
(#11302)
     add d693736ee82 ui: fix NAN% used memory for vm (#11307)
     add 9fee6dae34c Fix local storage pool disconnect issue (#11200)
     add 4aed972e78c api,server,extensions: allow updating extension resource 
map details (#11303)
     add b92c1965b97 README: add `Contributors Avatars` and `Star History` 
(#11311)
     add f6ad184ea2d Feature: Add support for GPU with KVM hosts (#11143)
     add 86827f871d2 Update CIDR/Gateway of the Shared Networks from Guest IP 
ranges (#11249)
     add f2bda464193 Upgrade noVNC from 1.4.0 to 1.6.0 (#11119)
     add 30deec89e6b kvm: consider Debian same as Ubuntu (#10917)
     add 23de6c7db4d Fix update resource count failure for domains (#11138)
     add d5f6b7cd1d1 Fix to create instances with smaller templates (< 1 GB) on 
PowerFlex/ScaleIO storage (#11211)
     add d72a05aa5ad Add special Icon to Shared FileSystem Instances (#10857)
     add 0ebf72df0f1 Handle nas backup and restore on Shared mount point. 
(#11204)
     add 1b74c2dd3f9 Fix restore from NAS backup when datadisk is older than 
the root disk. (#11258)
     add 4111061d295 list only own zones for resource admin (#11087)
     add 948ecda785e UI: Fix missing labels (#11102)
     add 111d87b845a console: optimise buffer sizes for faster console 
performance (#11221)
     add eeb4d55e890 polish: Fix some inconsistencies in object names and 
messages (#10856)
     add a51a04efc2b [Vmware to KVM Migration] Preserve boot type and boot mode 
of instances to be migrated (#10975)
     add 890386e9499 Allow custom NTP servers for CPVM (#11210)
     add ed6ee6b704f Mark LDAP user query timeout as incorrect login instead of 
disabling user immediately (#11220)
     add bf464585785 List templates and ISOs by domain (#11179)
     add 714b04e3a5f npe guard for get host info on vmware (#11054)
     add 9c6dfd2b264 Handle IllegalReferenceCountException for decoder, while 
uploading ISO from local (#10879)
     add 3fc02ddd45e Add format and physicalsize in listIsoOs api response 
(#11214)
     add 264e404108a Fix for dynamic scaling toggle for instance (#11086)
     add 75a2b3cc54c Validate qcow2 file during import operation (#11264)
     add a4263da8aea linstor: Use template's uuid if pool's downloadPath is 
null as resource-name (#11053)
     add 609efcc231a Merge branch '4.19' into 4.20
     add 40035f54d0f [UI] Add dedicated account field dropdown on zone creation 
(#11195)
     add 82396b621ed appliance: bump systemvmtemplate version to 4.20.2
     add 8756be5c187 [Multi-Arch] Select Template Arch when creating template 
from volume (#11068)
     add e9918ba15de ui: fix volume size not showing (#11328)
     add ca6d2dc57ec Prevent multi-select dropdown menu from floating on 
scrolling through the form (#11237)
     add a32738c52ed Prevent infinite autoscaling (#11244)
     add 1961aea7706 Merge branch '4.19' into 4.20
     add 4b1a605e597 server: fix IllegalMonitorStateException on cluster 
managedstate change (#11310)
     add be08fff32b7 Merge branch '4.19' into 4.20
     add 0b3959221b5 Merge branch '4.20'
     add 8429223782d missing imports from merge forward
     add 2bffabba7b1 Fix unit tests after merge forward
     add da3ba17884e Fix build and ui build errors in main (#11332)
     add 8497f70b46c ui: make events tab selected columns persistent using 
cache (#11317)
     add fd4223295a0 ui: fix advance setting behaviour in autoscale form 
(#11306)
     add 7506a547afc kvm, ui: fix interface when using vlan subnet for storage 
traffic type (#11245)
     add 96ed9d47bc1 Merge branch '4.19' into 4.20
     add 76cfcb48fbf Merge branch '4.20'
     add f73cb5621df Refactoring retention of backup schedules (#11223)
     add 4d2beea7773 logger fix
     add 2d025bd0749 kvm: fix regression 
5a52ca78ae5e165211c618525613c3d62cfd1b28 (#11342)
     add 1dc134a3ecf UI: Display NSX Provider only when NSX is the selected 
Isolation method (#11142)
     add 294aef5ecff Fix listCapacity sort by usage (#11316)
     add 7e0414354a9 Merge branch '4.19' into 4.20
     add 70468a62584 Merge branch '4.20'
     add 9def21c15e1 Merge branch 'main' of 
https://github.com/apache/cloudstack into fix-ui-k8s-capc

No new revisions were added by this update.

Summary of changes:
 .asf.yaml                                          |    3 +-
 .github/linters/.markdown-lint.yml                 |    3 +
 .github/workflows/ci.yml                           |    6 +-
 .pre-commit-config.yaml                            |   16 +-
 README.md                                          |    8 +
 .../cloud/agent/properties/AgentProperties.java    |   37 +-
 api/src/main/java/com/cloud/agent/api/Command.java |   14 +-
 .../java/com/cloud/agent/api/VgpuTypesInfo.java    |  164 +-
 .../com/cloud/agent/api/to/FirewallRuleTO.java     |    2 +-
 .../java/com/cloud/agent/api/to/GPUDeviceTO.java   |   33 +-
 .../cloud/agent/api/to/PortForwardingRuleTO.java   |    4 -
 .../com/cloud/agent/api/to/VirtualMachineTO.java   |   14 +
 .../cloud/configuration/ConfigurationService.java  |   16 +
 .../java/com/cloud/configuration/Resource.java     |    3 +-
 api/src/main/java/com/cloud/event/EventTypes.java  |   63 +-
 .../main/java/com/cloud/hypervisor/Hypervisor.java |    1 +
 api/src/main/java/com/cloud/network/IpAddress.java |    1 +
 api/src/main/java/com/cloud/network/Network.java   |    1 +
 .../main/java/com/cloud/network/NetworkModel.java  |    2 +
 .../java/com/cloud/network/NetworkService.java     |    9 +-
 api/src/main/java/com/cloud/network/Networks.java  |    3 +-
 .../com/cloud/network/SDNProviderNetworkRule.java  |  139 +-
 .../com/cloud/network/Site2SiteVpnConnection.java  |    2 +-
 .../com/cloud/network/element/NetworkElement.java  |    9 +
 .../element/PortForwardingServiceProvider.java     |   28 +
 .../com/cloud/network/element/VpcProvider.java     |    4 +
 .../java/com/cloud/network/guru/NetworkGuru.java   |    4 +
 .../com/cloud/network/netris/NetrisLbBackend.java  |   28 +-
 .../cloud/network/netris/NetrisNetworkRule.java    |  108 ++
 .../cloud/network/netris/NetrisProvider.java}      |   24 +-
 .../com/cloud/network/netris/NetrisService.java    |  310 +++
 .../java/com/cloud/network/nsx/NsxService.java     |    4 +-
 .../java/com/cloud/network/vpc/StaticRoute.java    |    5 +-
 .../com/cloud/network/vpc/StaticRouteProfile.java  |   22 +-
 .../java/com/cloud/network/vpc/VpcOffering.java    |    4 +-
 .../cloud/network/vpc/VpcProvisioningService.java  |    2 +-
 .../java/com/cloud/network/vpc/VpcService.java     |    2 +-
 .../java/com/cloud/offering/NetworkOffering.java   |    6 +-
 .../java/com/cloud/offering/ServiceOffering.java   |    4 +
 api/src/main/java/com/cloud/storage/Storage.java   |    1 +
 .../java/com/cloud/storage/VolumeApiService.java   |    2 +-
 .../com/cloud/template/VirtualMachineTemplate.java |    2 +
 .../main/java/com/cloud/user/AccountService.java   |    2 +
 .../java/com/cloud/user/ResourceLimitService.java  |   14 +-
 .../main/java/com/cloud/vm/VmDetailConstants.java  |    8 +
 .../java/com/cloud/vm/snapshot/VMSnapshot.java     |    7 +-
 .../java/org/apache/cloudstack/acl/RoleType.java   |   27 +
 .../org/apache/cloudstack/alert/AlertService.java  |    1 +
 .../cloudstack/api/ApiCommandResourceType.java     |    4 +-
 .../org/apache/cloudstack/api/ApiConstants.java    |   58 +-
 .../java/org/apache/cloudstack/api/BaseCmd.java    |   14 +
 .../cloudstack/api/BaseUpdateTemplateOrIsoCmd.java |    8 +
 .../api/command/admin/cluster/AddClusterCmd.java   |   32 +-
 .../api/command/admin/cluster/ListClustersCmd.java |   39 +-
 .../command/admin/cluster/UpdateClusterCmd.java    |   12 +
 .../api/command/admin/gpu/CreateGpuCardCmd.java    |  122 ++
 .../api/command/admin/gpu/CreateGpuDeviceCmd.java  |  123 ++
 .../command/admin/gpu/CreateVgpuProfileCmd.java    |  131 ++
 .../api/command/admin/gpu/DeleteGpuCardCmd.java    |   75 +
 .../api/command/admin/gpu/DeleteGpuDeviceCmd.java  |   78 +
 .../command/admin/gpu/DeleteVgpuProfileCmd.java    |   76 +
 .../command/admin/gpu/DiscoverGpuDevicesCmd.java   |   63 +
 .../admin/gpu/ListGpuDevicesCmdByAdmin.java        |   74 +
 .../api/command/admin/gpu/ManageGpuDeviceCmd.java  |   78 +
 .../command/admin/gpu/UnmanageGpuDeviceCmd.java    |   79 +
 .../api/command/admin/gpu/UpdateGpuCardCmd.java    |   99 +
 .../api/command/admin/gpu/UpdateGpuDeviceCmd.java  |  109 ++
 .../command/admin/gpu/UpdateVgpuProfileCmd.java    |  129 ++
 .../api/command/admin/host/AddHostCmd.java         |   12 +-
 .../api/command/admin/host/UpdateHostCmd.java      |   15 +-
 .../admin/network/CreateNetworkOfferingCmd.java    |   56 +-
 .../admin/offering/CreateServiceOfferingCmd.java   |   48 +-
 .../admin/offering/UpdateServiceOfferingCmd.java   |   11 +
 .../api/command/admin/pod/ListPodsByCmd.java       |    4 +-
 .../command/admin/resource/ListCapacityCmd.java    |    6 +-
 .../command/admin/vlan/CreateVlanIpRangeCmd.java   |   13 +-
 .../api/command/admin/vm/MigrateVMCmd.java         |    5 +
 .../command/admin/vpc/CreateVPCOfferingCmd.java    |   56 +-
 .../user/address/ListPublicIpAddressesCmd.java     |    7 +
 .../api/command/user/backup/CreateBackupCmd.java   |   19 +-
 .../user/backup/CreateBackupScheduleCmd.java       |    6 +-
 .../user/backup/DeleteBackupScheduleCmd.java       |   16 +-
 .../command/user/config/ListCapabilitiesCmd.java   |    2 +
 .../api/command/user/gpu/ListGpuCardsCmd.java      |   96 +
 .../api/command/user/gpu/ListGpuDevicesCmd.java    |   65 +
 .../api/command/user/gpu/ListVgpuProfilesCmd.java  |   80 +
 .../user/offering/ListServiceOfferingsCmd.java     |   22 +
 .../snapshot/CreateSnapshotFromVMSnapshotCmd.java  |    2 +-
 .../command/user/template/CreateTemplateCmd.java   |   10 +
 .../command/user/template/ListTemplatesCmd.java    |   12 +-
 .../command/user/template/RegisterTemplateCmd.java |   23 +-
 .../command/user/userdata/RegisterUserDataCmd.java |    3 +-
 .../api/command/user/vm/DeployVMCmd.java           |   73 +-
 .../cloudstack/api/command/user/vm/ListVMsCmd.java |   20 +
 .../api/command/user/vpc/CreateStaticRouteCmd.java |   53 +-
 .../api/command/user/vpn/CreateVpnGatewayCmd.java  |   14 +-
 .../api/command/user/zone/ListZonesCmd.java        |    7 -
 .../cloudstack/api/response/AccountResponse.java   |   27 +
 .../cloudstack/api/response/AsyncJobResponse.java  |    9 -
 .../api/response/BackupScheduleResponse.java       |   13 +-
 .../api/response/CapabilitiesResponse.java         |   17 +
 .../response/ClusterDrsPlanMigrationResponse.java  |   12 +-
 .../cloudstack/api/response/ClusterResponse.java   |   34 +
 .../response/CreateConsoleEndpointResponse.java    |    2 +-
 .../cloudstack/api/response/DomainResponse.java    |   24 +
 .../ExtensionCustomActionParameterResponse.java    |   58 +
 .../response/ExtensionCustomActionResponse.java    |  184 ++
 .../api/response/ExtensionResourceResponse.java    |   95 +
 .../cloudstack/api/response/ExtensionResponse.java |  182 ++
 .../cloudstack/api/response/GpuCardResponse.java   |  109 ++
 .../cloudstack/api/response/GpuDeviceResponse.java |  227 +++
 .../cloudstack/api/response/HostResponse.java      |   59 +-
 .../cloudstack/api/response/IPAddressResponse.java |    8 +
 .../cloudstack/api/response/NetworkResponse.java   |   16 -
 .../cloudstack/api/response/ProjectResponse.java   |   27 +
 .../response/ResourceLimitAndCountResponse.java    |    6 +
 .../response/RouterHealthCheckResultResponse.java  |    2 +-
 .../api/response/ServiceOfferingResponse.java      |  120 ++
 .../api/response/StaticRouteResponse.java          |   24 +-
 .../cloudstack/api/response/SystemVmResponse.java  |    8 -
 .../cloudstack/api/response/TemplateResponse.java  |   22 +
 .../api/response/UnmanageVMInstanceResponse.java   |    2 +-
 .../cloudstack/api/response/UserDataResponse.java  |   22 +-
 .../cloudstack/api/response/UserVmResponse.java    |  108 ++
 .../api/response/VgpuProfileResponse.java          |  135 ++
 .../api/response/VlanIpRangeResponse.java          |   10 +-
 .../cloudstack/api/response/ZoneResponse.java      |   37 +
 .../java/org/apache/cloudstack/backup/Backup.java  |   23 +-
 .../apache/cloudstack/backup/BackupManager.java    |   36 +-
 .../apache/cloudstack/backup/BackupSchedule.java   |    3 +-
 .../CustomActionResultResponse.java}               |   51 +-
 .../org/apache/cloudstack/extension/Extension.java |   44 +
 .../extension/ExtensionCustomAction.java           |  386 ++++
 .../cloudstack/extension/ExtensionHelper.java      |    9 +-
 .../cloudstack/extension/ExtensionResourceMap.java |   34 +
 .../apache/cloudstack/gpu/GpuCard.java}            |   54 +-
 .../BackupSchedule.java => gpu/GpuDevice.java}     |   32 +-
 .../java/org/apache/cloudstack/gpu/GpuService.java |  157 ++
 .../apache/cloudstack/gpu/VgpuProfile.java}        |   59 +-
 .../org/apache/cloudstack/query/QueryService.java  |   12 +-
 .../command/admin/cluster/ListClustersCmdTest.java |   83 +
 .../command/admin/gpu/CreateGpuCardCmdTest.java    |   90 +
 .../command/admin/gpu/CreateGpuDeviceCmdTest.java  |  100 +
 .../admin/gpu/CreateVgpuProfileCmdTest.java        |  108 ++
 .../command/admin/gpu/DeleteGpuCardCmdTest.java    |   45 +
 .../command/admin/gpu/DeleteGpuDeviceCmdTest.java  |   47 +
 .../admin/gpu/DeleteVgpuProfileCmdTest.java        |   45 +
 .../admin/gpu/DiscoverGpuDevicesCmdTest.java       |   38 +
 .../admin/gpu/ListGpuDevicesCmdByAdminTest.java    |   65 +
 .../command/admin/gpu/ManageGpuDeviceCmdTest.java  |   47 +
 .../admin/gpu/UnmanageGpuDeviceCmdTest.java        |   47 +
 .../command/admin/gpu/UpdateGpuCardCmdTest.java    |   72 +
 .../command/admin/gpu/UpdateGpuDeviceCmdTest.java  |   91 +
 .../admin/gpu/UpdateVgpuProfileCmdTest.java        |  108 ++
 .../offering/CreateServiceOfferingCmdTest.java     |   19 +
 .../api/command/user/gpu/ListGpuCardsCmdTest.java  |   82 +
 .../command/user/gpu/ListGpuDevicesCmdTest.java    |   36 +
 .../command/user/gpu/ListVgpuProfilesCmdTest.java  |   63 +
 .../extension/ExtensionCustomActionTest.java       |  484 +++++
 build/replace.properties                           |    1 +
 client/conf/server.properties.in                   |    3 +
 client/pom.xml                                     |   20 +-
 .../agent/api/CheckS2SVpnConnectionsAnswer.java    |    1 -
 .../com/cloud/agent/api/CheckVolumeAnswer.java     |   15 +-
 .../cloud/agent/api/CopyRemoteVolumeAnswer.java    |   15 +-
 .../com/cloud/agent/api/GetGPUStatsAnswer.java     |   17 +
 ...java => PrepareExternalProvisioningAnswer.java} |   47 +-
 ...ava => PrepareExternalProvisioningCommand.java} |   24 +-
 .../com/cloud/agent/api/RunCustomActionAnswer.java |   17 +-
 ...tatsAnswer.java => RunCustomActionCommand.java} |   40 +-
 .../cloud/agent/api/SetupGuestNetworkCommand.java  |    9 +
 .../com/cloud/agent/api/StartupRoutingCommand.java |   11 +-
 .../main/java/com/cloud/agent/api/StopCommand.java |   17 +-
 .../storage/CreateDiskOnlyVmSnapshotAnswer.java    |   39 +
 .../storage/CreateDiskOnlyVmSnapshotCommand.java   |   41 +
 .../storage/DeleteDiskOnlyVmSnapshotCommand.java   |   44 +
 .../storage/MergeDiskOnlyVmSnapshotCommand.java    |   55 +
 .../storage/RevertDiskOnlyVmSnapshotAnswer.java    |   38 +
 .../storage/RevertDiskOnlyVmSnapshotCommand.java   |   50 +
 .../agent/api/storage/SnapshotMergeTreeTO.java     |   57 +
 .../facade/SetGuestNetworkConfigItem.java          |    1 +
 .../virtualnetwork/model/GuestNetwork.java         |    9 +
 .../cloud/agent/transport/ArrayTypeAdaptor.java    |   12 +-
 .../com/cloud/agent/transport/ResponseTest.java    |   46 +
 debian/cloudstack-common.install                   |    1 +
 debian/cloudstack-management.install               |    2 +
 debian/cloudstack-management.postinst              |    3 +
 debian/rules                                       |    3 +
 deps/install-non-oss.sh                            |    3 +
 .../main/java/com/cloud/vm/VirtualMachineGuru.java |    4 +
 .../service/NetworkOrchestrationService.java       |    3 +
 .../cloud/configuration/ConfigurationManager.java  |    5 +-
 .../com/cloud/hypervisor/ExternalProvisioner.java  |   61 +
 .../main/java/com/cloud/network/addr/PublicIp.java |    4 +
 .../java/com/cloud/network/rules/RulesManager.java |    2 +
 .../com/cloud/network/vpc/NetworkACLManager.java   |    2 +-
 .../java/com/cloud/network/vpc/VpcManager.java     |   16 +
 .../main/java/com/cloud/resource/Discoverer.java   |    1 -
 .../java/com/cloud/resource/ResourceManager.java   |   43 +-
 .../java/com/cloud/template/TemplateManager.java   |    3 +-
 .../com/cloud/vm/VirtualMachineProfileImpl.java    |    2 +-
 engine/orchestration/pom.xml                       |    5 +
 .../com/cloud/agent/manager/AgentManagerImpl.java  |   20 +-
 .../agent/manager/ClusteredAgentManagerImpl.java   |    9 +-
 .../com/cloud/vm/VirtualMachineManagerImpl.java    |  293 ++-
 .../engine/orchestration/CloudOrchestrator.java    |   10 +-
 .../engine/orchestration/NetworkOrchestrator.java  |   90 +-
 .../engine/orchestration/VolumeOrchestrator.java   |   18 +-
 .../cloud/vm/VirtualMachineManagerImplTest.java    |  326 +++-
 .../com/cloud/capacity/dao/CapacityDaoImpl.java    |    6 +-
 .../cloud/configuration/dao/ResourceCountDao.java  |   14 -
 .../configuration/dao/ResourceCountDaoImpl.java    |   15 +-
 .../src/main/java/com/cloud/dc/dao/ClusterDao.java |    2 +
 .../main/java/com/cloud/dc/dao/ClusterDaoImpl.java |   25 +
 .../src/main/java/com/cloud/dc/dao/VlanDao.java    |    2 +
 .../main/java/com/cloud/dc/dao/VlanDaoImpl.java    |   27 +
 .../src/main/java/com/cloud/gpu/GpuCardVO.java     |  147 ++
 .../src/main/java/com/cloud/gpu/GpuDeviceVO.java   |  200 ++
 .../src/main/java/com/cloud/gpu/VGPUTypesVO.java   |   32 +-
 .../src/main/java/com/cloud/gpu/VgpuProfileVO.java |  191 ++
 .../dao/GpuCardDao.java}                           |   29 +-
 .../java/com/cloud/gpu/dao/GpuCardDaoImpl.java     |  122 ++
 .../main/java/com/cloud/gpu/dao/GpuDeviceDao.java  |   71 +
 .../java/com/cloud/gpu/dao/GpuDeviceDaoImpl.java   |  260 +++
 .../java/com/cloud/gpu/dao/HostGpuGroupsDao.java   |   12 +
 .../com/cloud/gpu/dao/HostGpuGroupsDaoImpl.java    |   78 +
 .../java/com/cloud/gpu/dao/VGPUTypesDaoImpl.java   |   59 +-
 .../dao/VgpuProfileDao.java}                       |   20 +-
 .../java/com/cloud/gpu/dao/VgpuProfileDaoImpl.java |  110 ++
 .../java/com/cloud/host/dao/HostDetailsDao.java    |    3 +
 .../com/cloud/host/dao/HostDetailsDaoImpl.java     |   32 +
 .../network/as/dao/AutoScaleVmGroupVmMapDao.java   |    2 +
 .../as/dao/AutoScaleVmGroupVmMapDaoImpl.java       |    9 +
 .../com/cloud/network/dao/IPAddressDaoImpl.java    |    1 +
 .../java/com/cloud/network/dao/IPAddressVO.java    |   12 +
 ...teVpnGatewayDao.java => NetrisProviderDao.java} |    5 +-
 ...ewayDaoImpl.java => NetrisProviderDaoImpl.java} |   41 +-
 .../dao/PhysicalNetworkTrafficTypeDaoImpl.java     |    2 +-
 .../com/cloud/network/dao/RemoteAccessVpnDao.java  |    2 +
 .../cloud/network/dao/RemoteAccessVpnDaoImpl.java  |    7 +
 .../cloud/network/dao/Site2SiteVpnGatewayDao.java  |    2 +
 .../network/dao/Site2SiteVpnGatewayDaoImpl.java    |    8 +
 .../cloud/network/element/NetrisProviderVO.java    |  265 +++
 .../java/com/cloud/network/vpc/StaticRouteVO.java  |   35 +-
 .../java/com/cloud/network/vpc/VpcOfferingVO.java  |   11 -
 .../network/vpc/dao/VpcOfferingServiceMapDao.java  |    5 +
 .../vpc/dao/VpcOfferingServiceMapDaoImpl.java      |   19 +
 .../network/vpc/dao/VpcServiceMapDaoImpl.java      |   11 +-
 .../com/cloud/offerings/NetworkOfferingVO.java     |   24 -
 .../java/com/cloud/service/ServiceOfferingVO.java  |   37 +
 .../com/cloud/service/dao/ServiceOfferingDao.java  |    3 +
 .../cloud/service/dao/ServiceOfferingDaoImpl.java  |   17 +-
 .../main/java/com/cloud/storage/VMTemplateVO.java  |   13 +-
 .../java/com/cloud/storage/dao/SnapshotDao.java    |    2 +
 .../com/cloud/storage/dao/SnapshotDaoImpl.java     |   23 +
 .../java/com/cloud/storage/dao/VMTemplateDao.java  |    2 +
 .../com/cloud/storage/dao/VMTemplateDaoImpl.java   |   11 +
 .../main/java/com/cloud/usage/dao/UsageJobDao.java |    2 +
 .../java/com/cloud/usage/dao/UsageJobDaoImpl.java  |   37 +-
 ...UserVmDetailVO.java => VMInstanceDetailVO.java} |    8 +-
 .../src/main/java/com/cloud/vm/dao/NicDao.java     |    4 +
 .../src/main/java/com/cloud/vm/dao/NicDaoImpl.java |   20 +
 .../main/java/com/cloud/vm/dao/UserVmDaoImpl.java  |   15 +-
 .../java/com/cloud/vm/dao/VMInstanceDaoImpl.java   |   32 +-
 ...VmDetailsDao.java => VMInstanceDetailsDao.java} |    4 +-
 ...sDaoImpl.java => VMInstanceDetailsDaoImpl.java} |    6 +-
 .../com/cloud/vm/snapshot/dao/VMSnapshotDao.java   |    4 +
 .../cloud/vm/snapshot/dao/VMSnapshotDaoImpl.java   |   27 +
 .../apache/cloudstack/backup/BackupScheduleVO.java |   17 +-
 .../org/apache/cloudstack/backup/BackupVO.java     |   23 +-
 .../apache/cloudstack/backup/dao/BackupDao.java    |    3 +-
 .../cloudstack/backup/dao/BackupDaoImpl.java       |   23 +-
 .../backup/dao/BackupScheduleDaoImpl.java          |    3 +-
 .../resourcedetail/ResourceDetailsDao.java         |    3 +
 .../resourcedetail/ResourceDetailsDaoBase.java     |   14 +
 .../storage/datastore/db/SnapshotDataStoreDao.java |    2 +
 .../datastore/db/SnapshotDataStoreDaoImpl.java     |    6 +
 ...n-daos-between-management-and-usage-context.xml |    2 +-
 .../spring-engine-schema-core-daos-context.xml     |    4 +
 .../resources/META-INF/db/schema-42010to42100.sql  |  436 ++++-
 .../META-INF/db/views/cloud.account_view.sql       |    8 +
 .../META-INF/db/views/cloud.domain_view.sql        |    8 +
 .../db/views/cloud.network_offering_view.sql       |    2 -
 .../db/views/cloud.service_offering_view.sql       |   16 +
 .../META-INF/db/views/cloud.template_view.sql      |    6 +-
 .../META-INF/db/views/cloud.user_vm_view.sql       |   29 +-
 .../META-INF/db/views/cloud.vpc_offering_view.sql  |    1 -
 .../java/com/cloud/gpu/dao/GpuCardDaoImplTest.java |   57 +
 .../com/cloud/gpu/dao/GpuDeviceDaoImplTest.java    |  277 +++
 .../com/cloud/gpu/dao/VgpuProfileDaoImplTest.java  |   70 +
 .../cloud/storage/dao/VMTemplateDaoImplTest.java   |   17 +
 .../storage/image/TemplateServiceImpl.java         |    4 +-
 .../storage/image/store/TemplateObject.java        |    5 +
 .../storage/test/ChildTestConfiguration.java       |    4 +-
 .../storage/snapshot/DefaultSnapshotStrategy.java  |   44 +
 .../storage/snapshot/SnapshotObject.java           |    4 +-
 .../vmsnapshot/DefaultVMSnapshotStrategy.java      |   35 +-
 .../KvmFileBasedStorageVmSnapshotStrategy.java     |  689 +++++++
 .../vmsnapshot/StorageVMSnapshotStrategy.java      |   23 +-
 ...ing-engine-storage-snapshot-storage-context.xml |    3 +
 .../storage/vmsnapshot/VMSnapshotStrategyTest.java |    6 +
 extensions/HyperV/hyperv.py                        |  302 +++
 extensions/Proxmox/proxmox.sh                      |  413 ++++
 .../utils/crypt/EncryptionSecretKeyChanger.java    |    2 +-
 framework/extensions/pom.xml                       |   54 +
 .../extensions/api/AddCustomActionCmd.java         |  175 ++
 .../extensions/api/CreateExtensionCmd.java         |  140 ++
 .../extensions/api/DeleteCustomActionCmd.java      |   87 +-
 .../extensions/api/DeleteExtensionCmd.java         |   95 +-
 .../extensions/api/ListCustomActionCmd.java        |  110 ++
 .../extensions/api/ListExtensionsCmd.java          |  114 ++
 .../extensions/api/RegisterExtensionCmd.java       |  118 ++
 .../extensions/api/RunCustomActionCmd.java         |  121 ++
 .../extensions/api/UnregisterExtensionCmd.java     |  109 ++
 .../extensions/api/UpdateCustomActionCmd.java      |  197 ++
 .../extensions/api/UpdateExtensionCmd.java         |  136 ++
 .../command/CleanupExtensionFilesCommand.java}     |   12 +-
 .../extensions/command/ExtensionBaseCommand.java   |   63 +
 .../command/ExtensionRoutingUpdateCommand.java     |   23 +-
 .../command/ExtensionServerActionBaseCommand.java  |   23 +-
 .../command/GetExtensionPathChecksumCommand.java}  |   12 +-
 .../command/PrepareExtensionPathCommand.java}      |   12 +-
 .../extensions/dao/ExtensionCustomActionDao.java   |   18 +-
 .../dao/ExtensionCustomActionDaoImpl.java          |   59 +
 .../dao/ExtensionCustomActionDetailsDao.java       |    9 +-
 .../dao/ExtensionCustomActionDetailsDaoImpl.java   |   14 +-
 .../framework/extensions/dao/ExtensionDao.java     |    9 +-
 .../framework/extensions/dao/ExtensionDaoImpl.java |   30 +-
 .../extensions/dao/ExtensionDetailsDao.java        |    9 +-
 .../extensions/dao/ExtensionDetailsDaoImpl.java    |   14 +-
 .../extensions/dao/ExtensionResourceMapDao.java    |   19 +-
 .../dao/ExtensionResourceMapDaoImpl.java           |   70 +
 .../dao/ExtensionResourceMapDetailsDao.java        |    9 +-
 .../dao/ExtensionResourceMapDetailsDaoImpl.java    |   14 +-
 .../extensions/manager/ExtensionsManager.java      |   96 +
 .../extensions/manager/ExtensionsManagerImpl.java  | 1632 ++++++++++++++++
 .../vo/ExtensionCustomActionDetailsVO.java         |   47 +-
 .../extensions/vo/ExtensionCustomActionVO.java     |  215 +++
 .../extensions/vo/ExtensionDetailsVO.java          |   47 +-
 .../vo/ExtensionResourceMapDetailsVO.java          |   47 +-
 .../extensions/vo/ExtensionResourceMapVO.java      |  122 ++
 .../framework/extensions/vo/ExtensionVO.java       |  179 ++
 .../spring-framework-extensions-core-context.xml   |   31 +-
 .../extensions/api/AddCustomActionCmdTest.java     |  224 +++
 .../extensions/api/CreateExtensionCmdTest.java     |   97 +
 .../extensions/api/DeleteCustomActionCmdTest.java  |   81 +
 .../extensions/api/DeleteExtensionCmdTest.java     |   90 +
 .../extensions/api/ListCustomActionCmdTest.java    |  153 ++
 .../extensions/api/ListExtensionsCmdTest.java      |   92 +
 .../extensions/api/RegisterExtensionCmdTest.java   |  133 ++
 .../extensions/api/RunCustomActionCmdTest.java     |  127 ++
 .../extensions/api/UnregisterExtensionCmdTest.java |  124 ++
 .../extensions/api/UpdateCustomActionCmdTest.java  |  240 +++
 .../extensions/api/UpdateExtensionCmdTest.java     |  168 ++
 .../command/ExtensionBaseCommandTest.java          |   78 +
 .../dao/ExtensionCustomActionDaoImplTest.java      |   68 +
 .../extensions/dao/ExtensionDaoImplTest.java       |   34 +-
 .../dao/ExtensionResourceMapDaoImplTest.java       |   86 +
 .../manager/ExtensionsManagerImplTest.java         | 1885 ++++++++++++++++++
 framework/pom.xml                                  |    1 +
 .../presetvariables/PresetVariableHelper.java      |   14 +-
 ...VmDetailsDao.java => VMInstanceDetailsDao.java} |    4 +-
 ...sDaoImpl.java => VMInstanceDetailsDaoImpl.java} |   14 +-
 ...UserVmDetailVO.java => VMInstanceDetailVO.java} |    8 +-
 .../quota/spring-framework-quota-context.xml       |    2 +-
 .../presetvariables/PresetVariableHelperTest.java  |   20 +-
 .../factory/ModuleBasedContextFactoryTest.java     |   79 +-
 ...nheritable.xml => base-context-inheritable.xml} |    0
 .../base/{test-context.xml => base-context.xml}    |    0
 .../{test-context.xml => child1-1-context.xml}     |    0
 ...override.xml => child1-context-inheritable.xml} |   12 +-
 ...xt-override.xml => child1-context-override.xml} |    0
 .../{test-context.xml => child1-context.xml}       |    0
 .../{test-context.xml => child2-context.xml}       |    0
 packaging/debian/replace.properties                |    1 +
 packaging/el8/cloud.spec                           |    8 +
 packaging/el8/replace.properties                   |    1 +
 .../cloudstack/backup/NASBackupProvider.java       |   34 +-
 .../implicitplanner/ImplicitPlannerTest.java       |    8 +-
 .../main/resources/security_group_agent/cs-sgagent |    2 +-
 plugins/hypervisors/external/pom.xml               |   44 +
 .../agent/manager/ExternalAgentManager.java        |    9 +-
 .../agent/manager/ExternalAgentManagerImpl.java    |   55 +
 .../agent/manager/ExternalServerPlanner.java       |  183 ++
 .../agent/manager/ExternalTemplateAdapter.java     |  279 +++
 .../cloudstack/guru/ExternalHypervisorGuru.java    |  114 ++
 .../discoverer/ExternalServerDiscoverer.java       |  294 +++
 .../ExternalPathPayloadProvisioner.java            |  832 ++++++++
 .../external/resource/ExternalResource.java        |  376 ++++
 .../core/spring-external-core-context.xml          |   24 +-
 .../cloudstack/external-compute/module.properties  |    9 +-
 .../spring-external-compute-context.xml            |   15 +-
 .../external-discoverer/module.properties          |    9 +-
 .../spring-external-discoverer-context.xml         |   18 +-
 .../cloudstack/external-planner/module.properties  |    9 +-
 .../spring-external-planner-context.xml            |   18 +-
 .../cloudstack/external-storage/module.properties  |    9 +-
 .../spring-external-storage-context.xml            |   18 +-
 .../agent/manager/ExternalTemplateAdapterTest.java |  173 ++
 .../discoverer/ExternalServerDiscovererTest.java   |  182 ++
 .../ExternalPathPayloadProvisionerTest.java        |  750 ++++++++
 .../external/resource/ExternalResourceTest.java    |   93 +
 .../kvm/resource/BlockCommitListener.java          |   77 +
 .../hypervisor/kvm/resource/BridgeVifDriver.java   |   21 +-
 .../kvm/resource/LibvirtComputingResource.java     |  475 ++++-
 .../hypervisor/kvm/resource/LibvirtGpuDef.java     |  102 +
 .../kvm/resource/LibvirtKvmAgentHook.java          |   89 +-
 .../hypervisor/kvm/resource/LibvirtVMDef.java      |    4 +-
 .../LibvirtCheckConvertInstanceCommandWrapper.java |    2 +-
 .../wrapper/LibvirtCheckVolumeCommandWrapper.java  |   80 +-
 .../LibvirtConvertInstanceCommandWrapper.java      |    2 +-
 .../LibvirtCopyRemoteVolumeCommandWrapper.java     |   76 +-
 ...virtCreateDiskOnlyVMSnapshotCommandWrapper.java |  198 ++
 ...virtDeleteDiskOnlyVMSnapshotCommandWrapper.java |   58 +
 .../wrapper/LibvirtGetGPUStatsCommandWrapper.java  |   42 +-
 .../LibvirtGetVolumesOnStorageCommandWrapper.java  |   66 +-
 ...bvirtMergeDiskOnlyVMSnapshotCommandWrapper.java |  150 ++
 .../wrapper/LibvirtMigrateCommandWrapper.java      |  117 ++
 .../LibvirtModifyStoragePoolCommandWrapper.java    |   16 +-
 .../wrapper/LibvirtReadyCommandWrapper.java        |    6 +-
 .../wrapper/LibvirtResizeVolumeCommandWrapper.java |   19 +-
 .../LibvirtRestoreBackupCommandWrapper.java        |   60 +-
 ...virtRevertDiskOnlyVMSnapshotCommandWrapper.java |  111 ++
 .../resource/wrapper/LibvirtUtilitiesHelper.java   |   10 +
 .../hypervisor/kvm/storage/KVMPhysicalDisk.java    |   32 +
 .../kvm/storage/KVMStorageProcessor.java           |   79 +-
 .../kvm/storage/ScaleIOStorageAdaptor.java         |  186 +-
 .../org/apache/cloudstack/utils/qemu/QemuImg.java  |   40 +
 .../apache/cloudstack/utils/qemu/QemuImgFile.java  |    6 +
 .../kvm/resource/LibvirtComputingResourceTest.java |  510 ++++-
 .../hypervisor/kvm/resource/LibvirtGpuDefTest.java |  142 ++
 .../kvm/resource/LibvirtKvmAgentHookTest.java      |   43 +
 .../wrapper/LibvirtMigrateCommandWrapperTest.java  |  219 +++
 .../kvm/storage/KVMStorageProcessorTest.java       |   57 +-
 .../kvm/storage/ScaleIOStorageAdaptorTest.java     |   32 +
 .../com/cloud/agent/manager/MockAgentManager.java  |    7 +
 .../cloud/agent/manager/MockAgentManagerImpl.java  |  194 +-
 .../com/cloud/agent/manager/MockVmManagerImpl.java |   60 +-
 .../cloud/agent/manager/SimulatorManagerImpl.java  |    5 +-
 .../com/cloud/resource/SimulatorDiscoverer.java    |    2 +
 .../java/com/cloud/simulator/MockGpuDevice.java    |   27 +-
 .../java/com/cloud/simulator/MockGpuDeviceVO.java  |  313 +++
 .../com/cloud/simulator/dao/MockGpuDeviceDao.java  |   30 +-
 .../cloud/simulator/dao/MockGpuDeviceDaoImpl.java  |   67 +
 .../core/spring-simulator-core-context.xml         |    1 +
 .../java/com/cloud/hypervisor/guru/VMwareGuru.java |    2 +-
 .../hypervisor/vmware/resource/VmwareResource.java |    2 +-
 .../network/element/CiscoNexusVSMElement.java      |    1 -
 .../cluster/KubernetesClusterManagerImpl.java      |   54 +-
 .../KubernetesClusterActionWorker.java             |   10 +-
 .../KubernetesClusterScaleWorker.java              |   85 +-
 .../cloudstack/metrics/PrometheusExporterImpl.java |   11 +
 .../cloudstack/metrics/MetricsServiceImpl.java     |    2 +-
 .../cloudstack/response/HostMetricsResponse.java   |   10 -
 .../response/ManagementServerMetricsResponse.java  |   17 -
 .../cloud/network/element/BigSwitchBcfElement.java |   54 +-
 .../contrail/management/ContrailManagerImpl.java   |    6 +-
 .../management/IntegrationTestConfiguration.java   |    4 +-
 .../contrail/management/MockAccountManager.java    |    6 +
 plugins/network-elements/netris/pom.xml            |   44 +
 .../apache/cloudstack/StartupNetrisCommand.java    |   11 +-
 .../api/AddOrUpdateNetrisStaticRouteCommand.java   |   48 +
 .../agent/api/CreateNetrisACLCommand.java          |  119 ++
 .../agent/api/CreateNetrisVnetCommand.java         |   84 +
 .../agent/api/CreateNetrisVpcCommand.java          |   24 +-
 .../agent/api/CreateOrUpdateNetrisACLCommand.java  |  119 ++
 ...reateOrUpdateNetrisLoadBalancerRuleCommand.java |   90 +
 .../agent/api/CreateOrUpdateNetrisNatCommand.java  |  148 ++
 .../agent/api/DeleteNetrisACLCommand.java          |   31 +-
 .../api/DeleteNetrisLoadBalancerRuleCommand.java   |   35 +-
 .../agent/api/DeleteNetrisNatRuleCommand.java      |   72 +
 .../agent/api/DeleteNetrisStaticRouteCommand.java  |   14 +-
 .../agent/api/DeleteNetrisVnetCommand.java         |   51 +
 .../agent/api/DeleteNetrisVpcCommand.java          |   25 +-
 .../agent/api/ListNetrisStaticRoutesAnswer.java    |   25 +-
 .../agent/api/ListNetrisStaticRoutesCommand.java   |   14 +-
 .../apache/cloudstack/agent/api/NetrisAnswer.java  |   17 +-
 .../apache/cloudstack/agent/api/NetrisCommand.java |   70 +
 .../cloudstack/agent/api/ReleaseNatIpCommand.java  |   17 +-
 .../agent/api/SetupNetrisPublicRangeCommand.java   |   26 +-
 .../agent/api/UpdateNetrisVnetCommand.java         |   34 +-
 .../agent/api/UpdateNetrisVpcCommand.java          |   25 +-
 .../api/command/AddNetrisProviderCmd.java          |  126 ++
 .../api/command/DeleteNetrisProviderCmd.java}      |   47 +-
 .../api/command/ListNetrisProvidersCmd.java        |   73 +
 .../api/response/NetrisProviderResponse.java       |  135 ++
 .../cloudstack/resource/NetrisPortGroup.java       |   15 +-
 .../apache/cloudstack/resource/NetrisResource.java |  441 +++++
 .../resource/NetrisResourceObjectUtils.java        |  103 +
 .../apache/cloudstack/service/NetrisApiClient.java |  100 +
 .../cloudstack/service/NetrisApiClientImpl.java    | 2000 ++++++++++++++++++++
 .../apache/cloudstack/service/NetrisElement.java}  |  876 ++++-----
 .../service/NetrisGuestNetworkGuru.java}           |  188 +-
 .../cloudstack/service/NetrisProviderService.java  |   27 +-
 .../service/NetrisProviderServiceImpl.java         |  217 +++
 .../service/NetrisPublicNetworkGuru.java}          |   66 +-
 .../cloudstack/service/NetrisServiceImpl.java      |  556 ++++++
 .../core/spring-netris-core-managers-context.xml   |   15 +-
 .../META-INF/cloudstack/netris/module.properties   |   10 +-
 .../cloudstack/netris/spring-netris-context.xml    |   36 +-
 .../AddOrUpdateNetrisStaticRouteCommandTest.java   |   91 +
 .../agent/api/CreateNetrisACLCommandTest.java      |  144 ++
 .../agent/api/CreateNetrisVnetCommandTest.java     |   95 +
 .../agent/api/CreateNetrisVpcCommandTest.java      |   63 +
 ...eOrUpdateNetrisLoadBalancerRuleCommandTest.java |  139 ++
 .../api/CreateOrUpdateNetrisNatCommandTest.java    |  145 ++
 .../agent/api/DeleteNetrisACLCommandTest.java      |  103 +
 .../DeleteNetrisLoadBalancerRuleCommandTest.java   |   98 +
 .../agent/api/DeleteNetrisNatRuleCommandTest.java  |   94 +
 .../agent/api/DeleteNetrisVnetCommandTest.java     |   83 +
 .../agent/api/DeleteNetrisVpcCommandTest.java      |   64 +
 .../agent/api/ReleaseNatIpCommandTest.java         |   80 +
 .../api/SetupNetrisPublicRangeCommandTest.java     |   63 +
 .../agent/api/UpdateNetrisVnetCommandTest.java     |  105 +
 .../agent/api/UpdateNetrisVpcCommandTest.java      |   93 +
 .../api/command/AddNetrisProviderCmdTest.java      |  122 ++
 .../api/command/DeleteNetrisProviderCmdTest.java   |  101 +
 .../api/command/ListNetrisProvidersCmdTest.java    |  104 +
 .../resource/NetrisResourceObjectUtilsTest.java    |  109 ++
 .../cloudstack/resource/NetrisResourceTest.java    |  141 ++
 .../service/NetrisApiClientImplTest.java           |  103 +
 .../cloudstack/service/NetrisElementTest.java      |  141 ++
 .../service/NetrisGuestNetworkGuruTest.java        |  230 +++
 .../service/NetrisProviderServiceImplTest.java     |  220 +++
 .../service/NetrisPublicNetworkGuruTest.java       |  225 +++
 .../cloudstack/service/NetrisServiceImplTest.java  |   28 +-
 .../api/command/DeleteNsxControllerCmd.java        |    3 +-
 .../apache/cloudstack/resource/NsxNetworkRule.java |  353 +---
 .../apache/cloudstack/service/NsxApiClient.java    |   13 +-
 .../org/apache/cloudstack/service/NsxElement.java  |  138 +-
 .../cloudstack/service/NsxGuestNetworkGuru.java    |    9 -
 .../cloudstack/service/NsxPublicNetworkGuru.java   |   18 +-
 .../apache/cloudstack/service/NsxServiceImpl.java  |   48 +-
 .../cloudstack/service/NsxApiClientTest.java       |    6 +-
 .../apache/cloudstack/service/NsxElementTest.java  |   42 +-
 .../service/NsxPublicNetworkGuruTest.java          |   10 +-
 .../command/ConfigTungstenFabricServiceCmd.java    |    1 -
 plugins/pom.xml                                    |    4 +-
 .../lifecycle/StorageVmSharedFSLifeCycle.java      |   25 +-
 .../lifecycle/StorageVmSharedFSLifeCycleTest.java  |   11 +-
 plugins/storage/volume/linstor/CHANGELOG.md        |    6 +
 .../kvm/storage/LinstorStorageAdaptor.java         |    2 +-
 .../driver/LinstorPrimaryDataStoreDriverImpl.java  |   12 +-
 .../datastore/client/ScaleIOGatewayClient.java     |    3 +
 .../driver/ScaleIOPrimaryDataStoreDriver.java      |   16 +-
 .../ScaleIOPrimaryDataStoreLifeCycle.java          |   39 +-
 .../datastore/manager/ScaleIOSDCManager.java       |   37 +
 .../datastore/manager/ScaleIOSDCManagerImpl.java   |   58 +-
 .../datastore/provider/ScaleIOHostListener.java    |   12 +-
 .../storage/datastore/util/ScaleIOUtil.java        |  351 +++-
 .../driver/ScaleIOPrimaryDataStoreDriverTest.java  |   12 +
 .../kvm/storage/StorPoolStorageAdaptor.java        |    3 +
 .../cloudstack/api/command/LdapListUsersCmd.java   |    5 +-
 .../apache/cloudstack/ldap/LdapAuthenticator.java  |   58 +-
 .../apache/cloudstack/ldap/LdapManagerImpl.java    |   22 +-
 pom.xml                                            |    4 +-
 requirements.txt => requirements-dev.txt           |    5 -
 requirements.txt                                   |    2 -
 scripts/util/create-kubernetes-binaries-iso.sh     |   36 +-
 .../hypervisor/external/provisioner/provisioner.sh |  147 ++
 scripts/vm/hypervisor/kvm/gpudiscovery.sh          |  734 +++++++
 server/pom.xml                                     |    6 +
 .../manager/allocator/impl/FirstFitAllocator.java  |   47 +-
 .../java/com/cloud/alert/AlertManagerImpl.java     |   14 +-
 server/src/main/java/com/cloud/api/ApiDBUtils.java |   14 +-
 .../main/java/com/cloud/api/ApiResponseHelper.java |  124 +-
 .../api/dispatch/ParamGenericValidationWorker.java |    1 +
 .../java/com/cloud/api/query/QueryManagerImpl.java |  626 +++---
 .../com/cloud/api/query/ViewResponseHelper.java    |    7 +
 .../cloud/api/query/dao/AccountJoinDaoImpl.java    |   13 +
 .../cloud/api/query/dao/DataCenterJoinDaoImpl.java |   34 +-
 .../com/cloud/api/query/dao/DomainJoinDaoImpl.java |   13 +
 .../com/cloud/api/query/dao/HostJoinDaoImpl.java   |   21 +-
 .../api/query/dao/ServiceOfferingJoinDaoImpl.java  |   10 +
 .../cloud/api/query/dao/TemplateJoinDaoImpl.java   |   15 +-
 .../com/cloud/api/query/dao/UserVmJoinDaoImpl.java |  118 +-
 .../api/query/dao/VpcOfferingJoinDaoImpl.java      |    9 +-
 .../java/com/cloud/api/query/vo/AccountJoinVO.java |   14 +
 .../java/com/cloud/api/query/vo/DomainJoinVO.java  |   21 +
 .../cloud/api/query/vo/NetworkOfferingJoinVO.java  |   20 -
 .../cloud/api/query/vo/ServiceOfferingJoinVO.java  |   84 +
 .../com/cloud/api/query/vo/TemplateJoinVO.java     |   21 +
 .../java/com/cloud/api/query/vo/UserVmJoinVO.java  |   78 +
 .../com/cloud/api/query/vo/VpcOfferingJoinVO.java  |    8 -
 .../cloud/api/response/ApiResponseSerializer.java  |    4 +-
 .../com/cloud/capacity/CapacityManagerImpl.java    |   27 +-
 .../main/java/com/cloud/configuration/Config.java  |    4 +-
 .../configuration/ConfigurationManagerImpl.java    |  251 ++-
 .../consoleproxy/ConsoleProxyManagerImpl.java      |   12 +-
 .../deploy/DeploymentPlanningManagerImpl.java      |   25 +-
 .../java/com/cloud/deploy/FirstFitPlanner.java     |   15 +-
 .../com/cloud/hypervisor/HypervisorGuruBase.java   |   31 +-
 .../cloud/hypervisor/kvm/dpdk/DpdkHelperImpl.java  |   13 +-
 .../metadata/ResourceMetaDataManagerImpl.java      |    4 +-
 .../com/cloud/network/IpAddressManagerImpl.java    |   88 +
 .../java/com/cloud/network/NetworkModelImpl.java   |   35 +-
 .../java/com/cloud/network/NetworkServiceImpl.java |   85 +-
 .../com/cloud/network/SDNProviderOpObject.java     |    8 +-
 .../com/cloud/network/as/AutoScaleManager.java     |    6 +
 .../com/cloud/network/as/AutoScaleManagerImpl.java |   26 +-
 .../network/element/ConfigDriveNetworkElement.java |   24 +-
 .../network/element/VirtualRouterElement.java      |    1 -
 .../network/guru/ExternalGuestNetworkGuru.java     |    5 +-
 .../com/cloud/network/guru/GuestNetworkGuru.java   |   20 +-
 .../com/cloud/network/guru/PublicNetworkGuru.java  |   14 +-
 .../network/lb/LoadBalancingRulesManagerImpl.java  |   15 +
 .../cloud/network/router/CommandSetupHelper.java   |   11 +-
 .../cloud/network/router/NetworkHelperImpl.java    |   26 +-
 .../cloud/network/router/NicProfileHelperImpl.java |    4 +-
 .../router/VirtualNetworkApplianceManagerImpl.java |   12 +-
 .../VpcVirtualNetworkApplianceManagerImpl.java     |   20 +-
 .../com/cloud/network/rules/RulesManagerImpl.java  |   35 +-
 .../cloud/network/vpc/NetworkACLManagerImpl.java   |   11 +-
 .../cloud/network/vpc/NetworkACLServiceImpl.java   |   11 +-
 .../java/com/cloud/network/vpc/VpcManagerImpl.java |  558 +++++-
 .../network/vpn/RemoteAccessVpnManagerImpl.java    |   72 +-
 .../cloud/network/vpn/Site2SiteVpnManagerImpl.java |   76 +-
 .../java/com/cloud/resource/DiscovererBase.java    |   20 +-
 .../com/cloud/resource/ResourceManagerImpl.java    |  327 +++-
 .../resource/RollingMaintenanceManagerImpl.java    |   10 +-
 .../resourcelimit/ResourceLimitManagerImpl.java    |  235 ++-
 .../com/cloud/server/ConfigurationServerImpl.java  |   71 +-
 .../com/cloud/server/ManagementServerImpl.java     |   97 +-
 .../java/com/cloud/storage/StorageManagerImpl.java |    2 +-
 .../java/com/cloud/storage/TemplateProfile.java    |   11 +-
 .../com/cloud/storage/VolumeApiServiceImpl.java    |  108 +-
 .../cloud/storage/listener/StoragePoolMonitor.java |    4 +-
 .../storage/snapshot/SnapshotManagerImpl.java      |    2 +
 .../cloud/template/HypervisorTemplateAdapter.java  |  136 +-
 .../java/com/cloud/template/TemplateAdapter.java   |    5 +-
 .../com/cloud/template/TemplateAdapterBase.java    |  206 +-
 .../com/cloud/template/TemplateManagerImpl.java    |   39 +-
 .../java/com/cloud/user/AccountManagerImpl.java    |    1 +
 .../main/java/com/cloud/vm/UserVmManagerImpl.java  |  152 +-
 .../cloud/vm/snapshot/VMSnapshotManagerImpl.java   |   46 +-
 .../affinity/AffinityGroupServiceImpl.java         |    7 +
 .../cloudstack/backup/BackupManagerImpl.java       |  287 +--
 .../consoleproxy/ConsoleAccessManagerImpl.java     |   22 +-
 .../org/apache/cloudstack/gpu/GpuServiceImpl.java  | 1385 ++++++++++++++
 .../deployment/RouterDeploymentDefinition.java     |   19 +-
 .../RouterDeploymentDefinitionBuilder.java         |    4 +
 .../deployment/VpcRouterDeploymentDefinition.java  |    6 +-
 .../resource/ResourceCleanupServiceImpl.java       |    6 +-
 .../cloudstack/vm/UnmanagedVMsManagerImpl.java     |   49 +-
 .../cloudstack/vm/lease/VMLeaseManagerImpl.java    |   69 +-
 .../core/spring-server-core-managers-context.xml   |    7 +
 .../allocator/impl/FirstFitAllocatorTest.java      |   18 +-
 .../com/cloud/api/query/QueryManagerImplTest.java  |  256 ++-
 .../cloud/api/query/dao/UserVmJoinDaoImplTest.java |    4 +-
 .../ConfigurationManagerImplTest.java              |   55 +
 .../deploy/DeploymentPlanningManagerImplTest.java  |   14 +-
 .../hypervisor/kvm/dpdk/DpdkHelperImplTest.java    |   23 +-
 .../com/cloud/network/MockNetworkModelImpl.java    |    5 +
 .../com/cloud/network/NetworkModelImplTest.java    |  143 +-
 .../com/cloud/network/NetworkServiceImplTest.java  |   51 +
 .../cloud/network/as/AutoScaleManagerImplTest.java |   16 +-
 .../element/ConfigDriveNetworkElementTest.java     |   12 +-
 .../network/element/VirtualRouterElementTest.java  |    5 +-
 .../cloud/network/lb/UpdateLoadBalancerTest.java   |    7 +-
 .../VirtualNetworkApplianceManagerImplTest.java    |    4 +-
 .../SecurityGroupManagerTestConfiguration.java     |    4 +-
 .../cloud/resource/MockResourceManagerImpl.java    |   21 +-
 .../cloud/resource/ResourceManagerImplTest.java    |   12 +-
 .../RollingMaintenanceManagerImplTest.java         |   16 +-
 .../ResourceLimitManagerImplTest.java              |   88 +
 .../com/cloud/server/ManagementServerImplTest.java |   12 +-
 .../cloud/storage/VolumeApiServiceImplTest.java    |  104 +-
 .../cloud/template/TemplateManagerImplTest.java    |   28 +-
 .../com/cloud/user/MockAccountManagerImpl.java     |    5 +
 .../java/com/cloud/vm/FirstFitPlannerTest.java     |    9 +-
 .../java/com/cloud/vm/UserVmManagerImplTest.java   |  103 +-
 .../cloud/vm/snapshot/VMSnapshotManagerTest.java   |   24 +-
 .../cloud/vpc/MockConfigurationManagerImpl.java    |    4 +-
 .../java/com/cloud/vpc/MockNetworkManagerImpl.java |   16 +-
 .../java/com/cloud/vpc/MockNetworkModelImpl.java   |    5 +
 .../cloud/vpc/MockResourceLimitManagerImpl.java    |   15 +
 .../java/com/cloud/vpc/NetworkACLServiceTest.java  |    6 +
 .../java/com/cloud/vpc/VpcTestConfiguration.java   |    4 +-
 .../vpc/dao/MockVpcOfferingServiceMapDaoImpl.java  |   11 +
 .../cloudstack/backup/BackupManagerTest.java       |  470 ++++-
 .../consoleproxy/ConsoleAccessManagerImplTest.java |    4 +-
 .../apache/cloudstack/gpu/GpuServiceImplTest.java  | 1495 +++++++++++++++
 .../deployment/RouterDeploymentDefinitionTest.java |    3 +
 .../VpcRouterDeploymentDefinitionTest.java         |    3 +
 .../networkoffering/CreateNetworkOfferingTest.java |   24 +-
 .../resource/ResourceCleanupServiceImplTest.java   |   10 +-
 .../cloudstack/service/NetrisServiceMockTest.java  |  134 ++
 .../vm/lease/VMLeaseManagerImplTest.java           |   74 +-
 .../src/test/resources/createNetworkOffering.xml   |    4 +-
 .../java/com/cloud/consoleproxy/ConsoleProxy.java  |    7 +
 .../consoleproxy/ConsoleProxyNoVncClient.java      |   84 +-
 .../com/cloud/consoleproxy/vnc/NoVncClient.java    |    8 +-
 .../cloud/consoleproxy/vnc/network/NioSocket.java  |    3 +-
 .../consoleproxy/vnc/network/NioSocketHandler.java |    3 +-
 .../vnc/network/NioSocketHandlerImpl.java          |   16 +-
 .../vnc/network/NioSocketInputStream.java          |   46 +-
 .../vnc/network/NioSocketSSLEngineManager.java     |   40 +-
 .../vnc/network/NioSocketTLSInputStream.java       |    3 +-
 .../vnc/network/NioSocketTLSOutputStream.java      |    5 +-
 .../SecondaryStorageManagerImpl.java               |    9 +-
 .../storage/resource/HttpUploadServerHandler.java  |   12 +-
 setup/bindir/cloud-setup-databases.in              |   15 +-
 setup/db/create-schema-simulator.sql               |   28 +
 systemvm/agent/conf/consoleproxy.properties        |    1 +
 systemvm/agent/noVNC/app/error-handler.js          |    2 +-
 systemvm/agent/noVNC/app/locale/cs.json            |   24 +-
 systemvm/agent/noVNC/app/locale/de.json            |   29 +-
 systemvm/agent/noVNC/app/locale/el.json            |   51 +-
 systemvm/agent/noVNC/app/locale/es.json            |   16 +-
 systemvm/agent/noVNC/app/locale/fr.json            |   56 +-
 systemvm/agent/noVNC/app/locale/it.json            |   10 +-
 systemvm/agent/noVNC/app/locale/ja.json            |   47 +-
 systemvm/agent/noVNC/app/locale/ko.json            |   22 +-
 systemvm/agent/noVNC/app/locale/nl.json            |   78 +-
 systemvm/agent/noVNC/app/locale/pl.json            |   25 +-
 systemvm/agent/noVNC/app/locale/pt_BR.json         |   26 +-
 systemvm/agent/noVNC/app/locale/ru.json            |   26 +-
 systemvm/agent/noVNC/app/locale/sv.json            |   37 +-
 systemvm/agent/noVNC/app/locale/tr.json            |    2 +-
 systemvm/agent/noVNC/app/locale/zh_CN.json         |   90 +-
 systemvm/agent/noVNC/app/locale/zh_TW.json         |   22 +-
 systemvm/agent/noVNC/app/localization.js           |   53 +-
 systemvm/agent/noVNC/app/styles/base.css           |  951 +++++-----
 systemvm/agent/noVNC/app/styles/constants.css      |   30 +
 systemvm/agent/noVNC/app/styles/input.css          |  785 +++++---
 systemvm/agent/noVNC/app/ui.js                     |  195 +-
 systemvm/agent/noVNC/app/webutil.js                |   98 +-
 systemvm/agent/noVNC/core/crypto/aes.js            |  178 ++
 systemvm/agent/noVNC/core/crypto/bigint.js         |   34 +
 systemvm/agent/noVNC/core/crypto/crypto.js         |   90 +
 systemvm/agent/noVNC/core/{ => crypto}/des.js      |   72 +-
 systemvm/agent/noVNC/core/crypto/dh.js             |   55 +
 systemvm/agent/noVNC/core/{util => crypto}/md5.js  |   13 +-
 systemvm/agent/noVNC/core/crypto/rsa.js            |  132 ++
 systemvm/agent/noVNC/core/decoders/copyrect.js     |    2 +-
 systemvm/agent/noVNC/core/decoders/h264.js         |  321 ++++
 systemvm/agent/noVNC/core/decoders/hextile.js      |   36 +-
 systemvm/agent/noVNC/core/decoders/jpeg.js         |  219 +--
 systemvm/agent/noVNC/core/decoders/raw.js          |   53 +-
 systemvm/agent/noVNC/core/decoders/rre.js          |    2 +-
 systemvm/agent/noVNC/core/decoders/tight.js        |   80 +-
 systemvm/agent/noVNC/core/decoders/tightpng.js     |    2 +-
 systemvm/agent/noVNC/core/decoders/zlib.js         |   51 +
 systemvm/agent/noVNC/core/decoders/zrle.js         |    4 +-
 systemvm/agent/noVNC/core/deflator.js              |    7 +-
 systemvm/agent/noVNC/core/display.js               |   78 +-
 systemvm/agent/noVNC/core/encodings.js             |    8 +-
 systemvm/agent/noVNC/core/inflator.js              |    5 +-
 systemvm/agent/noVNC/core/input/domkeytable.js     |    2 +-
 systemvm/agent/noVNC/core/input/fixedkeys.js       |    2 +-
 systemvm/agent/noVNC/core/input/gesturehandler.js  |    2 +-
 systemvm/agent/noVNC/core/input/keyboard.js        |   59 +-
 systemvm/agent/noVNC/core/input/util.js            |    2 +-
 systemvm/agent/noVNC/core/input/vkeys.js           |    2 +-
 systemvm/agent/noVNC/core/ra2.js                   |  345 +---
 systemvm/agent/noVNC/core/rfb.js                   | 1003 +++++-----
 systemvm/agent/noVNC/core/util/browser.js          |   85 +-
 systemvm/agent/noVNC/core/util/cursor.js           |    6 +-
 systemvm/agent/noVNC/core/util/element.js          |    2 +-
 systemvm/agent/noVNC/core/util/events.js           |    2 +-
 systemvm/agent/noVNC/core/util/eventtarget.js      |    2 +-
 systemvm/agent/noVNC/core/util/int.js              |    2 +-
 systemvm/agent/noVNC/core/util/logging.js          |    2 +-
 systemvm/agent/noVNC/core/util/strings.js          |    2 +-
 systemvm/agent/noVNC/core/websock.js               |  140 +-
 systemvm/agent/noVNC/defaults.json                 |    1 +
 systemvm/agent/noVNC/docs/novnc_proxy.1            |    8 +-
 systemvm/agent/noVNC/mandatory.json                |    1 +
 systemvm/agent/noVNC/package.json                  |   17 +-
 systemvm/agent/noVNC/po/fr.po                      |  243 ++-
 systemvm/agent/noVNC/po/it.po                      |   12 +-
 systemvm/agent/noVNC/po/pt_BR.po                   |   28 +-
 systemvm/agent/noVNC/utils/convert.js              |    2 +-
 systemvm/agent/noVNC/vnc.html                      |   97 +-
 systemvm/agent/noVNC/vnc_lite.html                 |   16 +-
 systemvm/agent/ui/viewer.ftl                       |   10 +-
 systemvm/debian/opt/cloud/bin/configure.py         |   38 +-
 systemvm/debian/opt/cloud/bin/cs/CsAddress.py      |  110 +-
 systemvm/debian/opt/cloud/bin/cs/CsConfig.py       |    3 +
 systemvm/debian/opt/cloud/bin/cs/CsDatabag.py      |    7 +
 systemvm/debian/opt/cloud/bin/cs/CsDhcp.py         |    4 +-
 systemvm/debian/opt/cloud/bin/cs/CsGuestNetwork.py |   10 +-
 systemvm/debian/opt/cloud/bin/cs/CsRoute.py        |   21 +
 .../debian/opt/cloud/bin/cs/CsVpcGuestNetwork.py   |   15 +-
 systemvm/debian/opt/cloud/bin/passwd_server_ip.py  |   13 +-
 systemvm/debian/opt/cloud/bin/setup/common.sh      |    6 +-
 .../debian/opt/cloud/bin/setup/consoleproxy.sh     |    4 +
 systemvm/debian/opt/cloud/bin/setup/secstorage.sh  |    1 +
 .../maint/test_egress_rules_host_maintenance.py    |    6 +-
 test/integration/component/test_egress_rules.py    |   60 +-
 .../component/test_project_resources.py            |    6 +-
 test/integration/component/test_project_usage.py   |   25 +-
 .../component/test_rootvolume_resize.py            |    2 +-
 test/integration/component/test_security_groups.py |   72 +-
 test/integration/component/test_update_vm.py       |    4 +-
 test/integration/component/test_vpn_users.py       |  118 +-
 .../plugins/linstor/test_linstor_volumes.py        |   73 +-
 .../smoke/test_deploy_vgpu_enabled_vm.py           |  233 ++-
 test/integration/smoke/test_extension_custom.py    |  619 ++++++
 .../test_extension_custom_action_lifecycle.py      |  281 +++
 test/integration/smoke/test_extension_lifecycle.py |  480 +++++
 test/integration/smoke/test_usage.py               |   12 +-
 tools/apidoc/gen_toc.py                            |    9 +-
 tools/apidoc/generatecommands.xsl                  |    2 +-
 .../appliance/systemvmtemplate/scripts/finalize.sh |    1 +
 tools/marvin/marvin/lib/base.py                    |  220 +++
 tools/ngui/templates/index.html                    |  106 +-
 ui/public/cloud-image-templates.json               |  110 ++
 ui/public/config.json                              |    1 +
 ui/public/example.html                             |    2 +-
 ui/public/index.html                               |    2 +-
 ui/public/locales/ar.json                          |   24 +-
 ui/public/locales/ca.json                          |   22 +-
 ui/public/locales/de_DE.json                       |   26 +-
 ui/public/locales/el_GR.json                       |   51 +-
 ui/public/locales/en.json                          |  973 ++++++----
 ui/public/locales/es.json                          |   24 +-
 ui/public/locales/fr_FR.json                       |   24 +-
 ui/public/locales/hi.json                          |    4 +-
 ui/public/locales/hu.json                          |   26 +-
 ui/public/locales/it_IT.json                       |   24 +-
 ui/public/locales/ja_JP.json                       |   24 +-
 ui/public/locales/ko_KR.json                       |   24 +-
 ui/public/locales/nb_NO.json                       |   24 +-
 ui/public/locales/nl_NL.json                       |   24 +-
 ui/public/locales/pl.json                          |   24 +-
 ui/public/locales/pt_BR.json                       |   24 +-
 ui/public/locales/ru_RU.json                       |   24 +-
 ui/public/locales/zh_CN.json                       |   24 +-
 ui/src/components/CheckBoxSelectPair.vue           |    8 +-
 ui/src/components/view/ActionButton.vue            |    4 +-
 ui/src/components/view/DetailsTab.vue              |   37 +-
 ui/src/components/view/EventsTab.vue               |   15 +-
 ui/src/components/view/GPUDevicesTab.vue           |  902 +++++++++
 ui/src/components/view/GPUSummaryTab.vue           |  301 +++
 ui/src/components/view/GPUTab.vue                  |  440 +++++
 ui/src/components/view/InfoCard.vue                |  103 +-
 ui/src/components/view/ListView.vue                |  631 ++++--
 ui/src/components/view/ObjectListTable.vue         |   89 +
 ui/src/components/view/ObjectStoreBrowser.vue      |    7 +-
 ui/src/components/view/ResourceCountUsage.vue      |    3 +-
 ui/src/components/view/SearchView.vue              |  134 +-
 ui/src/components/view/VgpuProfilesTab.vue         |  405 ++++
 ui/src/components/widgets/DetailsInput.vue         |  186 ++
 ui/src/components/widgets/Status.vue               |   14 +
 ui/src/config/router.js                            |    4 +
 ui/src/config/section/account.js                   |    2 +-
 ui/src/config/section/compute.js                   |   61 +-
 ui/src/config/section/config.js                    |   91 +
 ui/src/config/section/domain.js                    |    5 +
 ui/src/config/section/extension.js                 |  147 ++
 ui/src/config/section/extension/customaction.js    |   94 +
 ui/src/config/section/image.js                     |    4 +-
 ui/src/config/section/infra.js                     |   21 +
 ui/src/config/section/infra/clusters.js            |   18 +-
 ui/src/config/section/infra/hosts.js               |   20 +-
 ui/src/config/section/infra/phynetworks.js         |    2 +-
 ui/src/config/section/infra/zones.js               |    2 +-
 ui/src/config/section/network.js                   |   24 +-
 ui/src/config/section/offering.js                  |   14 +-
 ui/src/config/section/storage.js                   |    2 +-
 ui/src/core/ext.js                                 |    4 +-
 ui/src/core/lazy_lib/icons_use.js                  |    6 +
 ui/src/main.js                                     |    4 +-
 .../src/utils/extension.js                         |   21 +-
 ui/src/utils/plugins.js                            |   55 +-
 ui/src/views/AutogenView.vue                       |  292 ++-
 ui/src/views/auth/Login.vue                        |   44 +-
 ui/src/views/compute/AutoScaleVmProfile.vue        |   14 +-
 ui/src/views/compute/CreateAutoScaleVmGroup.vue    |   17 +-
 ui/src/views/compute/CreateKubernetesCluster.vue   |    4 +-
 ui/src/views/compute/DeployVM.vue                  |  199 +-
 ui/src/views/compute/DeployVnfAppliance.vue        |   96 +-
 ui/src/views/compute/EditVM.vue                    |    7 +-
 ui/src/views/compute/InstanceTab.vue               |   13 +-
 ui/src/views/compute/MigrateWizard.vue             |    3 +-
 ui/src/views/compute/RegisterUserData.vue          |    8 +-
 ui/src/views/compute/ResetUserData.vue             |   14 +-
 ui/src/views/compute/ScaleVM.vue                   |    1 +
 ui/src/views/compute/backup/BackupSchedule.vue     |    2 +-
 ui/src/views/compute/backup/FormSchedule.vue       |    2 +-
 .../compute/wizard/ComputeOfferingSelection.vue    |  105 +-
 .../compute/wizard/OsBasedImageRadioGroup.vue      |    5 +
 .../views/compute/wizard/OsBasedImageSelection.vue |    6 +-
 ui/src/views/compute/wizard/UserDataSelection.vue  |    5 +-
 ui/src/views/dashboard/UsageDashboard.vue          |   13 +-
 ui/src/views/extension/AddCustomAction.vue         |  247 +++
 ui/src/views/extension/CreateExtension.vue         |  256 +++
 .../views/extension/ExtensionCustomActionsTab.vue  |  274 +++
 ui/src/views/extension/ExtensionResourcesTab.vue   |  135 ++
 .../extension/ExternalConfigurationDetails.vue     |  116 ++
 ui/src/views/extension/ParametersInput.vue         |  328 ++++
 ui/src/views/extension/RegisterExtension.vue       |  200 ++
 ui/src/views/extension/RunCustomAction.vue         |  386 ++++
 ui/src/views/extension/UpdateCustomAction.vue      |  232 +++
 ui/src/views/extension/UpdateExtension.vue         |  160 ++
 ui/src/views/iam/CreateRole.vue                    |    2 +-
 ui/src/views/image/RegisterOrUploadIso.vue         |    4 +-
 ui/src/views/image/RegisterOrUploadTemplate.vue    |   83 +-
 ui/src/views/image/UpdateISO.vue                   |   24 +-
 ui/src/views/image/UpdateTemplate.vue              |   30 +-
 ui/src/views/infra/ClusterAdd.vue                  |  421 ++--
 ui/src/views/infra/ClusterUpdate.vue               |   41 +-
 ui/src/views/infra/HostAdd.vue                     |  509 ++---
 ui/src/views/infra/HostUpdate.vue                  |   34 +-
 ui/src/views/infra/ZoneUpdate.vue                  |    2 +-
 ui/src/views/infra/network/IpRangesTabPublic.vue   |   21 +
 ui/src/views/infra/network/IpRangesTabStorage.vue  |    2 +-
 ui/src/views/infra/network/ServiceProvidersTab.vue |   47 +-
 ui/src/views/infra/network/TrafficTypesTab.vue     |    2 +-
 ui/src/views/infra/zone/IpAddressRangeForm.vue     |   20 +-
 ui/src/views/infra/zone/PhysicalNetworksTab.vue    |    2 +-
 ui/src/views/infra/zone/ZoneWizard.vue             |   42 +-
 ui/src/views/infra/zone/ZoneWizardLaunchZone.vue   |   95 +-
 .../infra/zone/ZoneWizardNetworkSetupStep.vue      |   90 +-
 .../zone/ZoneWizardPhysicalNetworkSetupStep.vue    |    7 +-
 .../infra/zone/ZoneWizardRegisterTemplate.vue      |  298 +++
 .../views/infra/zone/ZoneWizardZoneDetailsStep.vue |   32 +-
 .../{AclListRulesTab.vue => AclRulesTab.vue}       |    2 +-
 ui/src/views/network/IpAddressesTab.vue            |   22 +-
 ui/src/views/network/LoadBalancing.vue             |   41 +-
 ui/src/views/network/NicsTab.vue                   |   10 +-
 ui/src/views/network/PublicIpResource.vue          |   31 +-
 ui/src/views/network/StaticRoutesTab.vue           |  130 +-
 ui/src/views/network/VpcTab.vue                    |  141 +-
 ui/src/views/network/VpcTiersTab.vue               |    6 +-
 ui/src/views/network/VpnDetails.vue                |  164 +-
 ui/src/views/offering/AddComputeOffering.vue       |  233 ++-
 ui/src/views/offering/AddDiskOffering.vue          |    4 +
 ui/src/views/offering/AddNetworkOffering.vue       |  161 +-
 ui/src/views/offering/AddVpcOffering.vue           |  103 +-
 ui/src/views/storage/CreateTemplate.vue            |   25 +-
 ui/tests/unit/views/compute/MigrateWizard.spec.js  |   10 +-
 .../java/com/cloud/usage/UsageManagerImpl.java     |  157 +-
 .../com/cloud/usage/parser/BackupUsageParser.java  |   32 +-
 .../com/cloud/usage/parser/BucketUsageParser.java  |   33 +-
 .../cloud/usage/parser/IPAddressUsageParser.java   |   45 +-
 .../usage/parser/LoadBalancerUsageParser.java      |   46 +-
 .../usage/parser/NetworkOfferingUsageParser.java   |   46 +-
 .../com/cloud/usage/parser/NetworkUsageParser.java |   41 +-
 .../cloud/usage/parser/NetworksUsageParser.java    |   34 +-
 .../usage/parser/PortForwardingUsageParser.java    |   44 +-
 .../usage/parser/SecurityGroupUsageParser.java     |   44 +-
 .../com/cloud/usage/parser/StorageUsageParser.java |   44 +-
 .../java/com/cloud/usage/parser/UsageParser.java   |   31 +-
 .../cloud/usage/parser/VMInstanceUsageParser.java  |   42 +-
 .../usage/parser/VMSnapshotOnPrimaryParser.java    |   48 +-
 .../cloud/usage/parser/VMSnapshotUsageParser.java  |   48 +-
 .../com/cloud/usage/parser/VPNUserUsageParser.java |   44 +-
 .../com/cloud/usage/parser/VmDiskUsageParser.java  |   41 +-
 .../com/cloud/usage/parser/VolumeUsageParser.java  |   44 +-
 .../com/cloud/usage/parser/VpcUsageParser.java     |   33 +-
 utils/src/main/java/com/cloud/utils/FileUtil.java  |   15 +
 .../src/main/java/com/cloud/utils/StringUtils.java |   52 +
 .../java/com/cloud/utils/json/JsonMergeUtil.java   |  108 ++
 .../main/java/com/cloud/utils/net/NetUtils.java    |   34 +
 .../main/java/com/cloud/utils/script/Script.java   |   21 +-
 .../test/java/com/cloud/utils/LogUtilsTest.java    |    2 +-
 .../com/cloud/utils/json/JsonMergeUtilTest.java    |  108 ++
 .../java/com/cloud/utils/net/NetUtilsTest.java     |   19 +
 .../com/cloud/hypervisor/vmware/mo/HostMO.java     |  152 +-
 961 files changed, 61890 insertions(+), 10548 deletions(-)
 copy 
plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/resource/NsxNetworkRule.java
 => api/src/main/java/com/cloud/network/SDNProviderNetworkRule.java (74%)
 copy core/src/main/java/com/cloud/agent/api/CheckVolumeAnswer.java => 
api/src/main/java/com/cloud/network/netris/NetrisLbBackend.java (66%)
 create mode 100644 
api/src/main/java/com/cloud/network/netris/NetrisNetworkRule.java
 copy api/src/main/java/{org/apache/cloudstack/backup/BackupSchedule.java => 
com/cloud/network/netris/NetrisProvider.java} (70%)
 create mode 100644 
api/src/main/java/com/cloud/network/netris/NetrisService.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/command/admin/gpu/CreateGpuCardCmd.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/command/admin/gpu/CreateGpuDeviceCmd.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/command/admin/gpu/CreateVgpuProfileCmd.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/command/admin/gpu/DeleteGpuCardCmd.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/command/admin/gpu/DeleteGpuDeviceCmd.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/command/admin/gpu/DeleteVgpuProfileCmd.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/command/admin/gpu/DiscoverGpuDevicesCmd.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/command/admin/gpu/ListGpuDevicesCmdByAdmin.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/command/admin/gpu/ManageGpuDeviceCmd.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/command/admin/gpu/UnmanageGpuDeviceCmd.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/command/admin/gpu/UpdateGpuCardCmd.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/command/admin/gpu/UpdateGpuDeviceCmd.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/command/admin/gpu/UpdateVgpuProfileCmd.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/command/user/gpu/ListGpuCardsCmd.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/command/user/gpu/ListGpuDevicesCmd.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/command/user/gpu/ListVgpuProfilesCmd.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/response/ExtensionCustomActionParameterResponse.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/response/ExtensionCustomActionResponse.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/response/ExtensionResourceResponse.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/response/ExtensionResponse.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/response/GpuCardResponse.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/response/GpuDeviceResponse.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/api/response/VgpuProfileResponse.java
 copy 
api/src/main/java/org/apache/cloudstack/{api/response/UnmanageVMInstanceResponse.java
 => extension/CustomActionResultResponse.java} (56%)
 create mode 100644 
api/src/main/java/org/apache/cloudstack/extension/Extension.java
 create mode 100644 
api/src/main/java/org/apache/cloudstack/extension/ExtensionCustomAction.java
 copy 
engine/schema/src/main/java/com/cloud/network/dao/Site2SiteVpnGatewayDao.java 
=> api/src/main/java/org/apache/cloudstack/extension/ExtensionHelper.java (78%)
 create mode 100644 
api/src/main/java/org/apache/cloudstack/extension/ExtensionResourceMap.java
 copy api/src/main/java/{com/cloud/network/vpc/StaticRoute.java => 
org/apache/cloudstack/gpu/GpuCard.java} (51%)
 copy api/src/main/java/org/apache/cloudstack/{backup/BackupSchedule.java => 
gpu/GpuDevice.java} (65%)
 create mode 100644 api/src/main/java/org/apache/cloudstack/gpu/GpuService.java
 copy api/src/main/java/{com/cloud/network/vpc/StaticRoute.java => 
org/apache/cloudstack/gpu/VgpuProfile.java} (50%)
 create mode 100644 
api/src/test/java/org/apache/cloudstack/api/command/admin/cluster/ListClustersCmdTest.java
 create mode 100644 
api/src/test/java/org/apache/cloudstack/api/command/admin/gpu/CreateGpuCardCmdTest.java
 create mode 100644 
api/src/test/java/org/apache/cloudstack/api/command/admin/gpu/CreateGpuDeviceCmdTest.java
 create mode 100644 
api/src/test/java/org/apache/cloudstack/api/command/admin/gpu/CreateVgpuProfileCmdTest.java
 create mode 100644 
api/src/test/java/org/apache/cloudstack/api/command/admin/gpu/DeleteGpuCardCmdTest.java
 create mode 100644 
api/src/test/java/org/apache/cloudstack/api/command/admin/gpu/DeleteGpuDeviceCmdTest.java
 create mode 100644 
api/src/test/java/org/apache/cloudstack/api/command/admin/gpu/DeleteVgpuProfileCmdTest.java
 create mode 100644 
api/src/test/java/org/apache/cloudstack/api/command/admin/gpu/DiscoverGpuDevicesCmdTest.java
 create mode 100644 
api/src/test/java/org/apache/cloudstack/api/command/admin/gpu/ListGpuDevicesCmdByAdminTest.java
 create mode 100644 
api/src/test/java/org/apache/cloudstack/api/command/admin/gpu/ManageGpuDeviceCmdTest.java
 create mode 100644 
api/src/test/java/org/apache/cloudstack/api/command/admin/gpu/UnmanageGpuDeviceCmdTest.java
 create mode 100644 
api/src/test/java/org/apache/cloudstack/api/command/admin/gpu/UpdateGpuCardCmdTest.java
 create mode 100644 
api/src/test/java/org/apache/cloudstack/api/command/admin/gpu/UpdateGpuDeviceCmdTest.java
 create mode 100644 
api/src/test/java/org/apache/cloudstack/api/command/admin/gpu/UpdateVgpuProfileCmdTest.java
 create mode 100644 
api/src/test/java/org/apache/cloudstack/api/command/user/gpu/ListGpuCardsCmdTest.java
 create mode 100644 
api/src/test/java/org/apache/cloudstack/api/command/user/gpu/ListGpuDevicesCmdTest.java
 create mode 100644 
api/src/test/java/org/apache/cloudstack/api/command/user/gpu/ListVgpuProfilesCmdTest.java
 create mode 100644 
api/src/test/java/org/apache/cloudstack/extension/ExtensionCustomActionTest.java
 copy core/src/main/java/com/cloud/agent/api/{CopyRemoteVolumeAnswer.java => 
PrepareExternalProvisioningAnswer.java} (50%)
 copy core/src/main/java/com/cloud/agent/api/{CheckVolumeAnswer.java => 
PrepareExternalProvisioningCommand.java} (66%)
 copy 
framework/quota/src/main/java/org/apache/cloudstack/quota/dao/UserVmDetailsDao.java
 => core/src/main/java/com/cloud/agent/api/RunCustomActionAnswer.java (72%)
 copy core/src/main/java/com/cloud/agent/api/{GetGPUStatsAnswer.java => 
RunCustomActionCommand.java} (54%)
 create mode 100644 
core/src/main/java/com/cloud/agent/api/storage/CreateDiskOnlyVmSnapshotAnswer.java
 create mode 100644 
core/src/main/java/com/cloud/agent/api/storage/CreateDiskOnlyVmSnapshotCommand.java
 create mode 100644 
core/src/main/java/com/cloud/agent/api/storage/DeleteDiskOnlyVmSnapshotCommand.java
 create mode 100644 
core/src/main/java/com/cloud/agent/api/storage/MergeDiskOnlyVmSnapshotCommand.java
 create mode 100644 
core/src/main/java/com/cloud/agent/api/storage/RevertDiskOnlyVmSnapshotAnswer.java
 create mode 100644 
core/src/main/java/com/cloud/agent/api/storage/RevertDiskOnlyVmSnapshotCommand.java
 create mode 100644 
core/src/main/java/com/cloud/agent/api/storage/SnapshotMergeTreeTO.java
 create mode 100644 
core/src/test/java/com/cloud/agent/transport/ResponseTest.java
 create mode 100644 
engine/components-api/src/main/java/com/cloud/hypervisor/ExternalProvisioner.java
 create mode 100644 engine/schema/src/main/java/com/cloud/gpu/GpuCardVO.java
 create mode 100644 engine/schema/src/main/java/com/cloud/gpu/GpuDeviceVO.java
 create mode 100644 engine/schema/src/main/java/com/cloud/gpu/VgpuProfileVO.java
 copy 
engine/schema/src/main/java/com/cloud/{network/vpc/dao/VpcOfferingServiceMapDao.java
 => gpu/dao/GpuCardDao.java} (58%)
 create mode 100644 
engine/schema/src/main/java/com/cloud/gpu/dao/GpuCardDaoImpl.java
 create mode 100644 
engine/schema/src/main/java/com/cloud/gpu/dao/GpuDeviceDao.java
 create mode 100644 
engine/schema/src/main/java/com/cloud/gpu/dao/GpuDeviceDaoImpl.java
 copy engine/schema/src/main/java/com/cloud/{host/dao/HostDetailsDao.java => 
gpu/dao/VgpuProfileDao.java} (65%)
 create mode 100644 
engine/schema/src/main/java/com/cloud/gpu/dao/VgpuProfileDaoImpl.java
 copy 
engine/schema/src/main/java/com/cloud/network/dao/{Site2SiteVpnGatewayDao.java 
=> NetrisProviderDao.java} (83%)
 copy 
engine/schema/src/main/java/com/cloud/network/dao/{Site2SiteVpnGatewayDaoImpl.java
 => NetrisProviderDaoImpl.java} (51%)
 create mode 100644 
engine/schema/src/main/java/com/cloud/network/element/NetrisProviderVO.java
 copy engine/schema/src/main/java/com/cloud/vm/{UserVmDetailVO.java => 
VMInstanceDetailVO.java} (90%)
 copy engine/schema/src/main/java/com/cloud/vm/dao/{UserVmDetailsDao.java => 
VMInstanceDetailsDao.java} (84%)
 copy engine/schema/src/main/java/com/cloud/vm/dao/{UserVmDetailsDaoImpl.java 
=> VMInstanceDetailsDaoImpl.java} (81%)
 create mode 100644 
engine/schema/src/test/java/com/cloud/gpu/dao/GpuCardDaoImplTest.java
 create mode 100644 
engine/schema/src/test/java/com/cloud/gpu/dao/GpuDeviceDaoImplTest.java
 create mode 100644 
engine/schema/src/test/java/com/cloud/gpu/dao/VgpuProfileDaoImplTest.java
 create mode 100644 
engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/KvmFileBasedStorageVmSnapshotStrategy.java
 create mode 100755 extensions/HyperV/hyperv.py
 create mode 100755 extensions/Proxmox/proxmox.sh
 create mode 100644 framework/extensions/pom.xml
 create mode 100644 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/AddCustomActionCmd.java
 create mode 100644 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/CreateExtensionCmd.java
 copy 
plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/api/command/DeleteNsxControllerCmd.java
 => 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/DeleteCustomActionCmd.java
 (52%)
 copy 
plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/api/command/DeleteNsxControllerCmd.java
 => 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/DeleteExtensionCmd.java
 (50%)
 create mode 100644 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/ListCustomActionCmd.java
 create mode 100644 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/ListExtensionsCmd.java
 create mode 100644 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/RegisterExtensionCmd.java
 create mode 100644 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/RunCustomActionCmd.java
 create mode 100644 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/UnregisterExtensionCmd.java
 create mode 100644 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/UpdateCustomActionCmd.java
 create mode 100644 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/UpdateExtensionCmd.java
 copy 
framework/{quota/src/main/java/org/apache/cloudstack/quota/dao/UserVmDetailsDao.java
 => 
extensions/src/main/java/org/apache/cloudstack/framework/extensions/command/CleanupExtensionFilesCommand.java}
 (72%)
 create mode 100644 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/command/ExtensionBaseCommand.java
 copy core/src/main/java/com/cloud/agent/api/CheckVolumeAnswer.java => 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/command/ExtensionRoutingUpdateCommand.java
 (66%)
 copy api/src/main/java/org/apache/cloudstack/backup/BackupSchedule.java => 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/command/ExtensionServerActionBaseCommand.java
 (66%)
 copy 
framework/{quota/src/main/java/org/apache/cloudstack/quota/dao/UserVmDetailsDao.java
 => 
extensions/src/main/java/org/apache/cloudstack/framework/extensions/command/GetExtensionPathChecksumCommand.java}
 (72%)
 copy 
framework/{quota/src/main/java/org/apache/cloudstack/quota/dao/UserVmDetailsDao.java
 => 
extensions/src/main/java/org/apache/cloudstack/framework/extensions/command/PrepareExtensionPathCommand.java}
 (72%)
 copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java => 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionCustomActionDao.java
 (68%)
 create mode 100644 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionCustomActionDaoImpl.java
 copy engine/schema/src/main/java/com/cloud/vm/dao/UserVmDetailsDao.java => 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionCustomActionDetailsDao.java
 (75%)
 copy engine/schema/src/main/java/com/cloud/vm/dao/UserVmDetailsDaoImpl.java => 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionCustomActionDetailsDaoImpl.java
 (71%)
 copy 
engine/schema/src/main/java/com/cloud/network/dao/Site2SiteVpnGatewayDao.java 
=> 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionDao.java
 (78%)
 copy 
engine/schema/src/main/java/com/cloud/network/dao/Site2SiteVpnGatewayDaoImpl.java
 => 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionDaoImpl.java
 (54%)
 copy engine/schema/src/main/java/com/cloud/vm/dao/UserVmDetailsDao.java => 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionDetailsDao.java
 (78%)
 copy engine/schema/src/main/java/com/cloud/vm/dao/UserVmDetailsDaoImpl.java => 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionDetailsDaoImpl.java
 (74%)
 copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java => 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionResourceMapDao.java
 (59%)
 create mode 100644 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionResourceMapDaoImpl.java
 rename engine/schema/src/main/java/com/cloud/vm/dao/UserVmDetailsDao.java => 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionResourceMapDetailsDao.java
 (75%)
 rename engine/schema/src/main/java/com/cloud/vm/dao/UserVmDetailsDaoImpl.java 
=> 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionResourceMapDetailsDaoImpl.java
 (71%)
 create mode 100644 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/manager/ExtensionsManager.java
 create mode 100644 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/manager/ExtensionsManagerImpl.java
 copy engine/schema/src/main/java/com/cloud/vm/UserVmDetailVO.java => 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/vo/ExtensionCustomActionDetailsVO.java
 (72%)
 mode change 100755 => 100644
 create mode 100644 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/vo/ExtensionCustomActionVO.java
 copy engine/schema/src/main/java/com/cloud/vm/UserVmDetailVO.java => 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/vo/ExtensionDetailsVO.java
 (75%)
 mode change 100755 => 100644
 rename engine/schema/src/main/java/com/cloud/vm/UserVmDetailVO.java => 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/vo/ExtensionResourceMapDetailsVO.java
 (73%)
 mode change 100755 => 100644
 create mode 100644 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/vo/ExtensionResourceMapVO.java
 create mode 100644 
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/vo/ExtensionVO.java
 copy 
engine/storage/snapshot/src/main/resources/META-INF/cloudstack/storage/spring-engine-storage-snapshot-storage-context.xml
 => 
framework/extensions/src/main/resources/META-INF/cloudstack/core/spring-framework-extensions-core-context.xml
 (61%)
 create mode 100644 
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/AddCustomActionCmdTest.java
 create mode 100644 
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/CreateExtensionCmdTest.java
 create mode 100644 
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/DeleteCustomActionCmdTest.java
 create mode 100644 
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/DeleteExtensionCmdTest.java
 create mode 100644 
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/ListCustomActionCmdTest.java
 create mode 100644 
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/ListExtensionsCmdTest.java
 create mode 100644 
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/RegisterExtensionCmdTest.java
 create mode 100644 
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/RunCustomActionCmdTest.java
 create mode 100644 
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/UnregisterExtensionCmdTest.java
 create mode 100644 
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/UpdateCustomActionCmdTest.java
 create mode 100644 
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/UpdateExtensionCmdTest.java
 create mode 100644 
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/command/ExtensionBaseCommandTest.java
 create mode 100644 
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/dao/ExtensionCustomActionDaoImplTest.java
 copy utils/src/test/java/com/cloud/utils/LogUtilsTest.java => 
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/dao/ExtensionDaoImplTest.java
 (50%)
 create mode 100644 
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/dao/ExtensionResourceMapDaoImplTest.java
 create mode 100644 
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/manager/ExtensionsManagerImplTest.java
 copy 
framework/quota/src/main/java/org/apache/cloudstack/quota/dao/{UserVmDetailsDao.java
 => VMInstanceDetailsDao.java} (87%)
 rename 
framework/quota/src/main/java/org/apache/cloudstack/quota/dao/{UserVmDetailsDaoImpl.java
 => VMInstanceDetailsDaoImpl.java} (80%)
 rename 
framework/quota/src/main/java/org/apache/cloudstack/quota/vo/{UserVmDetailVO.java
 => VMInstanceDetailVO.java} (89%)
 rename 
framework/spring/module/src/test/resources/testhierarchy/base/{test-context-inheritable.xml
 => base-context-inheritable.xml} (100%)
 copy 
framework/spring/module/src/test/resources/testhierarchy/base/{test-context.xml 
=> base-context.xml} (100%)
 rename 
framework/spring/module/src/test/resources/testhierarchy/child1-1/{test-context.xml
 => child1-1-context.xml} (100%)
 copy 
framework/spring/module/src/test/resources/testhierarchy/child1/{test-context-override.xml
 => child1-context-inheritable.xml} (66%)
 rename 
framework/spring/module/src/test/resources/testhierarchy/child1/{test-context-override.xml
 => child1-context-override.xml} (100%)
 rename 
framework/spring/module/src/test/resources/testhierarchy/child1/{test-context.xml
 => child1-context.xml} (100%)
 rename 
framework/spring/module/src/test/resources/testhierarchy/child2/{test-context.xml
 => child2-context.xml} (100%)
 create mode 100644 plugins/hypervisors/external/pom.xml
 copy 
engine/schema/src/main/java/com/cloud/network/dao/Site2SiteVpnGatewayDao.java 
=> 
plugins/hypervisors/external/src/main/java/org/apache/cloudstack/agent/manager/ExternalAgentManager.java
 (79%)
 create mode 100644 
plugins/hypervisors/external/src/main/java/org/apache/cloudstack/agent/manager/ExternalAgentManagerImpl.java
 create mode 100644 
plugins/hypervisors/external/src/main/java/org/apache/cloudstack/agent/manager/ExternalServerPlanner.java
 create mode 100644 
plugins/hypervisors/external/src/main/java/org/apache/cloudstack/agent/manager/ExternalTemplateAdapter.java
 create mode 100644 
plugins/hypervisors/external/src/main/java/org/apache/cloudstack/guru/ExternalHypervisorGuru.java
 create mode 100644 
plugins/hypervisors/external/src/main/java/org/apache/cloudstack/hypervisor/external/discoverer/ExternalServerDiscoverer.java
 create mode 100644 
plugins/hypervisors/external/src/main/java/org/apache/cloudstack/hypervisor/external/provisioner/ExternalPathPayloadProvisioner.java
 create mode 100644 
plugins/hypervisors/external/src/main/java/org/apache/cloudstack/hypervisor/external/resource/ExternalResource.java
 copy 
engine/storage/snapshot/src/main/resources/META-INF/cloudstack/storage/spring-engine-storage-snapshot-storage-context.xml
 => 
plugins/hypervisors/external/src/main/resources/META-INF/cloudstack/core/spring-external-core-context.xml
 (63%)
 copy requirements.txt => 
plugins/hypervisors/external/src/main/resources/META-INF/cloudstack/external-compute/module.properties
 (86%)
 copy 
framework/spring/module/src/test/resources/testhierarchy/base/test-context.xml 
=> 
plugins/hypervisors/external/src/main/resources/META-INF/cloudstack/external-compute/spring-external-compute-context.xml
 (67%)
 copy requirements.txt => 
plugins/hypervisors/external/src/main/resources/META-INF/cloudstack/external-discoverer/module.properties
 (86%)
 copy 
framework/spring/module/src/test/resources/testhierarchy/base/test-context.xml 
=> 
plugins/hypervisors/external/src/main/resources/META-INF/cloudstack/external-discoverer/spring-external-discoverer-context.xml
 (64%)
 copy requirements.txt => 
plugins/hypervisors/external/src/main/resources/META-INF/cloudstack/external-planner/module.properties
 (86%)
 copy 
framework/spring/module/src/test/resources/testhierarchy/base/test-context.xml 
=> 
plugins/hypervisors/external/src/main/resources/META-INF/cloudstack/external-planner/spring-external-planner-context.xml
 (64%)
 copy requirements.txt => 
plugins/hypervisors/external/src/main/resources/META-INF/cloudstack/external-storage/module.properties
 (86%)
 copy 
framework/spring/module/src/test/resources/testhierarchy/base/test-context.xml 
=> 
plugins/hypervisors/external/src/main/resources/META-INF/cloudstack/external-storage/spring-external-storage-context.xml
 (67%)
 create mode 100644 
plugins/hypervisors/external/src/test/java/org/apache/cloudstack/agent/manager/ExternalTemplateAdapterTest.java
 create mode 100644 
plugins/hypervisors/external/src/test/java/org/apache/cloudstack/hypervisor/external/discoverer/ExternalServerDiscovererTest.java
 create mode 100644 
plugins/hypervisors/external/src/test/java/org/apache/cloudstack/hypervisor/external/provisioner/ExternalPathPayloadProvisionerTest.java
 create mode 100644 
plugins/hypervisors/external/src/test/java/org/apache/cloudstack/hypervisor/external/resource/ExternalResourceTest.java
 create mode 100644 
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BlockCommitListener.java
 create mode 100644 
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtGpuDef.java
 create mode 100644 
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtCreateDiskOnlyVMSnapshotCommandWrapper.java
 create mode 100644 
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtDeleteDiskOnlyVMSnapshotCommandWrapper.java
 copy api/src/main/java/com/cloud/network/Site2SiteVpnConnection.java => 
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtGetGPUStatsCommandWrapper.java
 (52%)
 create mode 100644 
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMergeDiskOnlyVMSnapshotCommandWrapper.java
 create mode 100644 
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRevertDiskOnlyVMSnapshotCommandWrapper.java
 create mode 100644 
plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtGpuDefTest.java
 copy 
framework/quota/src/main/java/org/apache/cloudstack/quota/dao/UserVmDetailsDao.java
 => 
plugins/hypervisors/simulator/src/main/java/com/cloud/simulator/MockGpuDevice.java
 (70%)
 create mode 100644 
plugins/hypervisors/simulator/src/main/java/com/cloud/simulator/MockGpuDeviceVO.java
 copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java => 
plugins/hypervisors/simulator/src/main/java/com/cloud/simulator/dao/MockGpuDeviceDao.java
 (58%)
 create mode 100644 
plugins/hypervisors/simulator/src/main/java/com/cloud/simulator/dao/MockGpuDeviceDaoImpl.java
 create mode 100644 plugins/network-elements/netris/pom.xml
 copy 
engine/schema/src/main/java/com/cloud/network/dao/Site2SiteVpnGatewayDao.java 
=> 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/StartupNetrisCommand.java
 (76%)
 create mode 100644 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/AddOrUpdateNetrisStaticRouteCommand.java
 create mode 100644 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/CreateNetrisACLCommand.java
 create mode 100644 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/CreateNetrisVnetCommand.java
 copy core/src/main/java/com/cloud/agent/api/CheckVolumeAnswer.java => 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/CreateNetrisVpcCommand.java
 (66%)
 create mode 100644 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/CreateOrUpdateNetrisACLCommand.java
 create mode 100644 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/CreateOrUpdateNetrisLoadBalancerRuleCommand.java
 create mode 100644 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/CreateOrUpdateNetrisNatCommand.java
 copy core/src/main/java/com/cloud/agent/api/CheckVolumeAnswer.java => 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/DeleteNetrisACLCommand.java
 (52%)
 copy core/src/main/java/com/cloud/agent/api/CheckVolumeAnswer.java => 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/DeleteNetrisLoadBalancerRuleCommand.java
 (50%)
 create mode 100644 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/DeleteNetrisNatRuleCommand.java
 copy 
framework/quota/src/main/java/org/apache/cloudstack/quota/dao/UserVmDetailsDao.java
 => 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/DeleteNetrisStaticRouteCommand.java
 (66%)
 create mode 100644 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/DeleteNetrisVnetCommand.java
 copy core/src/main/java/com/cloud/agent/api/CheckVolumeAnswer.java => 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/DeleteNetrisVpcCommand.java
 (65%)
 copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java => 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/ListNetrisStaticRoutesAnswer.java
 (62%)
 copy 
framework/quota/src/main/java/org/apache/cloudstack/quota/dao/UserVmDetailsDao.java
 => 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/ListNetrisStaticRoutesCommand.java
 (66%)
 copy 
framework/quota/src/main/java/org/apache/cloudstack/quota/dao/UserVmDetailsDao.java
 => 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/NetrisAnswer.java
 (66%)
 create mode 100644 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/NetrisCommand.java
 copy 
framework/quota/src/main/java/org/apache/cloudstack/quota/dao/UserVmDetailsDao.java
 => 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/ReleaseNatIpCommand.java
 (66%)
 copy core/src/main/java/com/cloud/agent/api/CheckVolumeAnswer.java => 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/SetupNetrisPublicRangeCommand.java
 (61%)
 copy core/src/main/java/com/cloud/agent/api/CheckVolumeAnswer.java => 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/UpdateNetrisVnetCommand.java
 (50%)
 copy core/src/main/java/com/cloud/agent/api/CheckVolumeAnswer.java => 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/UpdateNetrisVpcCommand.java
 (62%)
 create mode 100644 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/api/command/AddNetrisProviderCmd.java
 copy 
plugins/network-elements/{nsx/src/main/java/org/apache/cloudstack/api/command/DeleteNsxControllerCmd.java
 => 
netris/src/main/java/org/apache/cloudstack/api/command/DeleteNetrisProviderCmd.java}
 (70%)
 create mode 100644 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/api/command/ListNetrisProvidersCmd.java
 create mode 100644 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/api/response/NetrisProviderResponse.java
 copy 
engine/schema/src/main/java/com/cloud/network/dao/Site2SiteVpnGatewayDao.java 
=> 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/resource/NetrisPortGroup.java
 (75%)
 create mode 100644 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/resource/NetrisResource.java
 create mode 100644 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/resource/NetrisResourceObjectUtils.java
 create mode 100644 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisApiClient.java
 create mode 100644 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisApiClientImpl.java
 copy 
plugins/network-elements/{nsx/src/main/java/org/apache/cloudstack/service/NsxElement.java
 => netris/src/main/java/org/apache/cloudstack/service/NetrisElement.java} (54%)
 copy 
plugins/network-elements/{nsx/src/main/java/org/apache/cloudstack/service/NsxGuestNetworkGuru.java
 => 
netris/src/main/java/org/apache/cloudstack/service/NetrisGuestNetworkGuru.java} 
(65%)
 copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java => 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisProviderService.java
 (56%)
 create mode 100644 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisProviderServiceImpl.java
 copy 
plugins/network-elements/{nsx/src/main/java/org/apache/cloudstack/service/NsxPublicNetworkGuru.java
 => 
netris/src/main/java/org/apache/cloudstack/service/NetrisPublicNetworkGuru.java}
 (66%)
 create mode 100644 
plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisServiceImpl.java
 rename 
framework/spring/module/src/test/resources/testhierarchy/base/test-context.xml 
=> 
plugins/network-elements/netris/src/main/resources/META-INF/cloudstack/core/spring-netris-core-managers-context.xml
 (69%)
 copy requirements.txt => 
plugins/network-elements/netris/src/main/resources/META-INF/cloudstack/netris/module.properties
 (86%)
 copy 
engine/storage/snapshot/src/main/resources/META-INF/cloudstack/storage/spring-engine-storage-snapshot-storage-context.xml
 => 
plugins/network-elements/netris/src/main/resources/META-INF/cloudstack/netris/spring-netris-context.xml
 (62%)
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/agent/api/AddOrUpdateNetrisStaticRouteCommandTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/agent/api/CreateNetrisACLCommandTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/agent/api/CreateNetrisVnetCommandTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/agent/api/CreateNetrisVpcCommandTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/agent/api/CreateOrUpdateNetrisLoadBalancerRuleCommandTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/agent/api/CreateOrUpdateNetrisNatCommandTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/agent/api/DeleteNetrisACLCommandTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/agent/api/DeleteNetrisLoadBalancerRuleCommandTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/agent/api/DeleteNetrisNatRuleCommandTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/agent/api/DeleteNetrisVnetCommandTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/agent/api/DeleteNetrisVpcCommandTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/agent/api/ReleaseNatIpCommandTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/agent/api/SetupNetrisPublicRangeCommandTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/agent/api/UpdateNetrisVnetCommandTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/agent/api/UpdateNetrisVpcCommandTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/api/command/AddNetrisProviderCmdTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/api/command/DeleteNetrisProviderCmdTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/api/command/ListNetrisProvidersCmdTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/resource/NetrisResourceObjectUtilsTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/resource/NetrisResourceTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/service/NetrisApiClientImplTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/service/NetrisElementTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/service/NetrisGuestNetworkGuruTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/service/NetrisProviderServiceImplTest.java
 create mode 100644 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/service/NetrisPublicNetworkGuruTest.java
 copy core/src/main/java/com/cloud/agent/api/CheckVolumeAnswer.java => 
plugins/network-elements/netris/src/test/java/org/apache/cloudstack/service/NetrisServiceImplTest.java
 (62%)
 copy requirements.txt => requirements-dev.txt (87%)
 create mode 100755 scripts/vm/hypervisor/external/provisioner/provisioner.sh
 create mode 100755 scripts/vm/hypervisor/kvm/gpudiscovery.sh
 rename 
plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/resource/NsxOpObject.java
 => server/src/main/java/com/cloud/network/SDNProviderOpObject.java (94%)
 create mode 100644 
server/src/main/java/org/apache/cloudstack/gpu/GpuServiceImpl.java
 create mode 100644 
server/src/test/java/org/apache/cloudstack/gpu/GpuServiceImplTest.java
 create mode 100644 
server/src/test/java/org/apache/cloudstack/service/NetrisServiceMockTest.java
 create mode 100644 systemvm/agent/noVNC/app/styles/constants.css
 create mode 100644 systemvm/agent/noVNC/core/crypto/aes.js
 create mode 100644 systemvm/agent/noVNC/core/crypto/bigint.js
 create mode 100644 systemvm/agent/noVNC/core/crypto/crypto.js
 rename systemvm/agent/noVNC/core/{ => crypto}/des.js (87%)
 create mode 100644 systemvm/agent/noVNC/core/crypto/dh.js
 rename systemvm/agent/noVNC/core/{util => crypto}/md5.js (93%)
 create mode 100644 systemvm/agent/noVNC/core/crypto/rsa.js
 create mode 100644 systemvm/agent/noVNC/core/decoders/h264.js
 create mode 100644 systemvm/agent/noVNC/core/decoders/zlib.js
 create mode 100644 systemvm/agent/noVNC/defaults.json
 create mode 100644 systemvm/agent/noVNC/mandatory.json
 create mode 100644 test/integration/smoke/test_extension_custom.py
 create mode 100644 
test/integration/smoke/test_extension_custom_action_lifecycle.py
 create mode 100644 test/integration/smoke/test_extension_lifecycle.py
 create mode 100644 ui/public/cloud-image-templates.json
 create mode 100644 ui/src/components/view/GPUDevicesTab.vue
 create mode 100644 ui/src/components/view/GPUSummaryTab.vue
 create mode 100644 ui/src/components/view/GPUTab.vue
 create mode 100644 ui/src/components/view/ObjectListTable.vue
 create mode 100644 ui/src/components/view/VgpuProfilesTab.vue
 create mode 100644 ui/src/components/widgets/DetailsInput.vue
 create mode 100644 ui/src/config/section/extension.js
 create mode 100644 ui/src/config/section/extension/customaction.js
 rename 
framework/quota/src/main/java/org/apache/cloudstack/quota/dao/UserVmDetailsDao.java
 => ui/src/utils/extension.js (68%)
 create mode 100644 ui/src/views/extension/AddCustomAction.vue
 create mode 100644 ui/src/views/extension/CreateExtension.vue
 create mode 100644 ui/src/views/extension/ExtensionCustomActionsTab.vue
 create mode 100644 ui/src/views/extension/ExtensionResourcesTab.vue
 create mode 100644 ui/src/views/extension/ExternalConfigurationDetails.vue
 create mode 100644 ui/src/views/extension/ParametersInput.vue
 create mode 100644 ui/src/views/extension/RegisterExtension.vue
 create mode 100644 ui/src/views/extension/RunCustomAction.vue
 create mode 100644 ui/src/views/extension/UpdateCustomAction.vue
 create mode 100644 ui/src/views/extension/UpdateExtension.vue
 create mode 100644 ui/src/views/infra/zone/ZoneWizardRegisterTemplate.vue
 rename ui/src/views/network/{AclListRulesTab.vue => AclRulesTab.vue} (99%)
 create mode 100644 utils/src/main/java/com/cloud/utils/json/JsonMergeUtil.java
 create mode 100644 
utils/src/test/java/com/cloud/utils/json/JsonMergeUtilTest.java

Reply via email to