This is an automated email from the ASF dual-hosted git repository. dahn pushed a change to branch readonly-vm-details-empty in repository https://gitbox.apache.org/repos/asf/cloudstack.git
discard a970680638c Allow modification of user vm details if user.vm.readonly.details is empty add 238d0c5e30a Fix NPE while checking for user data provider (#10255) add 37c29f82eda server: fix snapshot physical size (#10216) add 1b2f6c99985 Hide register template, create/upload volume and create vpc buttons when zone is not created. (#10243) add 55e8eaab89c Linstor: encryption support (#10126) add 90c960eeed9 VPC VR: fix ACL between tier and private gateway (#10268) add df99a294832 linstor: Fix using multiple primary storage with same linstor-controller (#10280) add 802bf5fce7c Revert "server: fix attach uploaded volume (#10267)" (#10323) add a627ab67c29 server: fix pod retrieval during volume attach (#10324) add c09720a19a4 systemvm-registration: update seeded template_store_ref sizes (#10317) add 3337f425ffd Primera pure patches & various small fixes (#10132) add a1117acbdfb List only untagged offerings for Shared networks when tag isn't passed (#10320) add 58a63f64fd6 Fix VMWare leftovers when deleting VM without root disk (#9735) add d453c63848f cleanup VM IP after expunge in redundant VPC (#10183) add d920aba176c server: fix scale vm with same disk offering id (#10235) add d3170bfa165 UI: Fixup missing buttons (#10357) add 4f604c00b65 Support virtio-blk root disk controller (#10229) add aa6c581e405 Add the option to filter by host when retrieving of unregistered VMs (#9925) add ae1d7cc8609 Fix private gateway acl on static routes (#10262) add 7bef25666fd UI: Fix Apache CloudStack description on the onboarding page (#10373) add 212f2a3898c UI: Fix `docHelp` links for Add Hosts, Add Clusters, Disable Clusters and Enable Clusters forms (#10394) add b6cebe22f9e Fixed VMware import issue - check and update pools in the order of the disks (do not update by position) (#10409) add b9ebc7b721b VMware Import - Support external VMs in any folders/subfolders other than the root folder ('vm') of datacenter (#10411) add 66f8a351dd5 migrate Vmware to KVM ui issues (#10413) add e196275d5a6 ipmi: extra log sanitation (#10428) add 4e321d43565 Updating pom.xml version numbers for release 4.19.2.0 add 4a3686297dc Updating pom.xml version numbers for release 4.19.3.0-SNAPSHOT add 5526ef0168c spurious versions add 1f092667641 UI: Fix filtering of templates by account (#10425) add a09c579b5b2 UI: Fixes and minor enhacements to the Public IP Addresses section (#10351) add f992ebb52a5 fix volume migration across cluster-scope pools (#10266) add f0179855f54 add use of virsh domifaddr to get VM external DHCP IP (#10376) add f50de8981af cloudstack-setup-databases: fix mode and group of key file (#10466) add 217e5344461 linstor: improve integration-tests (#10439) add a9fbc6b0563 UI: Filter accounts by domain while creating templates - from Volume / Snapshot (#10455) add a89607da659 UI: List host OOBM details when enabled and configured (#10472) add b41acf28d4c UI: Show Host OOBM parameter in form if configured (#10484) add 1f0ffee8583 VPC: fix private mtu of vpc tier (#10257) add cd6d1a23a2b KVM: return null state instead of Disconnected when investigate a host without NFS (#10515) add 8ce34ad791e kvm: find cluster-wide pools only in Up state when investigate a host (#10516) add 95c24810ab4 linstor: try to delete -rst resource before snapshot backup (#10443) add 35e809e7ce4 Set external Id to null after backupProvider.removeVMFromBackup (#10562) add 02d0dca24b2 List only VMs associated to a userdata (#10569) add 89e6b1f8ea0 server: fix npe during start vr edge case (#10366) add 7978141464c api: fix EntityReference in NetworkResponse.java (#10563) add f4a7c8ab89a linstor: implement missing deleteDatastore (#10561) add 6c40a7bebbc deal with null return for create deployment plan for maintenance (#10518) add c1ff799df23 ui: fix considerlasthost for start vm (#10602) add c9c02d030e5 UI: fix list of vpc network offerings (#10595) add fc1f260d529 Host status auto refresh (#10606) add 6f334eb1874 Update test_linstor_volumes.py for spello add 3afab9a7032 Updated setup-sysvm-tmplt script, to run cmds accessing destdir with sudo (#10263) add ee94ae575b7 Enhance VPC Network Tier form to auto-populate Gateway, and Netmask (#10617) add d5ba39387b6 fix projects metrics on dashboard (#10651) add e08f88f0ae6 define the limit of projects through the UI (#10652) add 5d5ac17c685 xenserver: do not destroy halted hypervisor vm (#9175) add d32065fd38a backport #10500 framework/cluster: fix NPE for ms-host status when mgr stops (#10653) add 99ea77dc839 Usage server: remove logging of prameters including secret keys (#10649) add f13cf597a2e 4.19 fix saml account selector (#10311) add 53d3d19606b server: check startip and endip of shared network (#10704) add 8db248e4b40 UI: Move templates creation date to the Zones tab (#10709) add 7b68615bd97 HA: set correct hostId of HA work for vm migration (#10591) add 8c9216d11b6 only clean details and annotations when this tamplate no longer exists on any zone (#10728) add 29e58e906f9 plugin/shutdown: use mgmt server uuid in the shutdown response (#10717) add f2e688af260 VR: add bind-interfaces to /etc/dnsmasq.d/cloud.conf (#10739) add f055268fe2c .github: fix simulator CI caused by imcompatibility between python3.10 and nosetests (#10753) add 4a1d80ddc8e Remove the validation of the amount of acquired public IPs when enabling static NAT, adding PF and LB rules on VPC public IPs (#10568) add 431e4f9e1dd ui: confirm on reset configurations (#10745) add 5a5c8651332 Revert "Add the option to filter by host when retrieving of unregistered VMs (#9925)" (#10647) add 422264f0055 server: Don't specify ipv6 ranges for shared network (#10746) add 55c8138a1a7 test: fix test_certauthority_root.py (#10762) add 07f4fc2e51d Fix smoke tests due to change in behavior of restore VM (#10583) add 9d263cd71b5 Network Usage event model adjustments (#10755) add 9d9737ae040 smoke tests: Fix cluster DRS & non-strict host affinity smoke test failures on XenServer / XCP-ng (#10761) add 7f16a207e0a cloudutils: use ip command instead of route in networkConfig.py (#10726) add 0c4ed1e5b72 UI: Allow editing VM name of a Running VM in an Advanced zone with security groups (#10714) add 4c072b5bf97 UI: show checksum field when register or upload template/isos (#10725) add 32cc45e8405 [UI] Allow quiescevm and asyncbackup flags while taking volume snapshot from UI when these are supported for the volume (#10265) add 74e9146cfb4 check for custom offering and trim size (#10629) add d697cff8987 Update dependency required for test_outofbandmanagement.py (#10805) add 1f8442eb69a Extra checks in UI when deleting accounts (#10760) add 919c9797cc8 server: prevent duplicate HA works and alerts (#10624) add f0838cdd309 [VMware] Update vlans with proper range before creating port group for dvSwitch (#10708) add 696bc50f3ba Backport #9888 to 4.19: Fix Usage inconsistencies (#10712) add 751a0ad5598 UI workaround for the inconsistent formatting of listVirtualMachinesUsageHistory (#10824) add ea32a1a71aa server: fetch IP of VMs on L2 networks (#10431) add 0a090f48533 cleanup call on super (#10807) add e68abcd85de xenserver: destroy halted vm on expunge (#10833) add bcd23ebb8ac server: check if redundant router is supported when restart network with makeredundant = true (#10612) add 3959dbdbe63 refactor create duplicate alert check (#10544) add 47a268202bc [VMware] Sync the disk path or datastore changes for IDE disks, and before any volume resize during start vm (for the volumes on datastore cluster) (#10748) add 88ce639255d Linstor: implement volume and storage stats (#10850) add 8d3ae3e0574 [Vmware] Improve listing of Vmware Datacenter VMs for migration to KVM (#10770) add a4cce70e284 List usage records for network offering (usage type 13) when offering id is specified in usage id (#10852) add 005afde24ec ssvm: reset fields on destroy (#10253) add f199783c751 VMware import - logs sanitation (#10433) add 1507a5633e7 Correct typo in exception (#10876) add 13ab8a04d13 Fix for Vlan doesn't match issue while adding IP range for the shared network without any IP range (#10837) add c183fc9859e Prevent data corruption for StorPool volumes (#10799) add 112dfddd40b Reset the pool id when create volume fails on the allocated pool, and update the resize error when no endpoint exists (#10777) add 951863c3fe9 ui: add an infinite scroll select component (#10840) add 39a0ba96704 Fix issue with security group selection box display (#10849) add 4748c3fd4d2 test: cleanup acl in test_global_acls.py (#10893) add 6e19c07da10 Fixed typos (#10882) add bb79f0b727e engine/schema: create default network offering for vpc tier with conserve_mode=1 for fresh installation (#10744) (#10843) add b760b0262f2 Fix issue with configdrive on XenServer (#10912) add 857ccb0a3b8 server: fix list diskoffering by domainid returns Inactive offerings (#10916) add 38f3107211b Fix aaccess to template/ISO list for domain/resource admins add ad9d9cd3f68 Keep same/consistent auth time for valid & invalid users add e2f187912cd cks: create separate service account in project add a0080a04fe6 Adding privilege checks on user and account operations add 864327b8365 Skip verification of privileges on project accounts add 5be6b7980df Skip verification of privileges on project accounts add dd066e0e0e0 Merge branch '4.19' of https://github.com/apache/cloudstack into 4.19 add 0c7d47138d4 Updating pom.xml version numbers for release 4.19.3.0 add c4ba601a636 Merge branch '4.19.3.0-RC20250530T0908' into 4.19 add 379ee07d88b Updating pom.xml version numbers for release 4.19.4.0-SNAPSHOT add 0d5a0ea6815 update 4.19.4.0-SNAPSHOT version add cbd2b5a0224 Add check for ldap truststore password (#11055) add 39c8c4dbae9 Normalize naming of Kubernetes clusters (#10778) add e47b78b2bbb directdownload: fix keytool importcert (#11113) add c782835f012 [Vmware to KVM Migration] Fix issue with vCenter Standalone hosts for VM listing (#11091) add 67a1ea35f4e .github: restrict codecov in UI build to apache/cloudstack repo (#11158) add 7715b3dc298 Improve the error throws when a template to owned by a non root-admin is registered for all zones. (#11170) add 06c80cdbe91 Remove unfinished usage job entries of the host (#10848) 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 ca6d2dc57ec Prevent multi-select dropdown menu from floating on scrolling through the form (#11237) add a32738c52ed Prevent infinite autoscaling (#11244) add 4b1a605e597 server: fix IllegalMonitorStateException on cluster managedstate change (#11310) 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 294aef5ecff Fix listCapacity sort by usage (#11316) add 3850445b505 ui: fix delete traffic type (#11337) add 1bfebd550ce ui: update project menu on projects change (#11369) add 3134efb971d plugin-swift: handle null cache store (#11380) add a0fd37f4955 ui: pass validated storagepolicy for swift store (#11315) add de5188e50c8 fix storage pool capacity threshold flag (#11366) add b9864cb1e1c server: fix vm deployment without networkid in a zone with shared networks (#11242) add 78e146278b3 api: fix scale or upgrade systemvm (#11062) add d4bd5872313 UI: fix addHost in zone wizard (#11401) add 25f93b1d6b8 linstor: fix getVolumeStats if multiple Linstor primary storages are used (#11397) add dec53f7974a Allow modification of user vm details if user.vm.readonly.details is empty This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (a970680638c) \ N -- N -- N refs/heads/readonly-vm-details-empty (dec53f7974a) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: .github/workflows/ci.yml | 2 +- .github/workflows/ui.yml | 1 + agent/pom.xml | 2 +- api/pom.xml | 2 +- .../com/cloud/agent/api/to/RemoteInstanceTO.java | 8 +- .../cloud/exception/StorageAccessException.java | 4 +- .../cluster/KubernetesServiceHelper.java | 2 + .../java/com/cloud/storage/MigrationOptions.java | 11 +- api/src/main/java/com/cloud/storage/Storage.java | 65 +-- .../java/com/cloud/storage/VolumeApiService.java | 6 +- api/src/main/java/com/cloud/user/Account.java | 1 + .../command/admin/resource/ListCapacityCmd.java | 6 +- .../command/admin/systemvm/ScaleSystemVMCmd.java | 2 +- .../command/admin/systemvm/UpgradeSystemVMCmd.java | 2 +- .../command/admin/vlan/CreateVlanIpRangeCmd.java | 3 - .../command/user/config/ListCapabilitiesCmd.java | 1 + .../cloudstack/api/command/user/vm/ListVMsCmd.java | 8 + .../api/response/CapabilitiesResponse.java | 8 + .../cloudstack/api/response/NetworkResponse.java | 3 +- .../api/response/UnmanagedInstanceResponse.java | 24 ++ .../apache/cloudstack/vm/UnmanagedInstanceTO.java | 29 ++ client/pom.xml | 2 +- core/pom.xml | 2 +- .../com/cloud/agent/api/CheckVolumeAnswer.java | 15 +- ...egisterVMCommand.java => CleanupVMCommand.java} | 19 +- .../cloud/agent/api/CopyRemoteVolumeAnswer.java | 15 +- .../com/cloud/agent/api/GetVmIpAddressCommand.java | 8 +- .../download/HttpsDirectTemplateDownloader.java | 11 +- .../direct/download/HttpsMultiTrustManager.java | 102 ----- debian/changelog | 18 + developer/pom.xml | 2 +- engine/api/pom.xml | 2 +- engine/components-api/pom.xml | 2 +- .../main/java/com/cloud/event/UsageEventUtils.java | 19 + engine/orchestration/pom.xml | 2 +- .../com/cloud/agent/manager/AgentManagerImpl.java | 18 +- .../com/cloud/vm/VirtualMachineManagerImpl.java | 14 +- .../engine/orchestration/NetworkOrchestrator.java | 19 +- .../engine/orchestration/VolumeOrchestrator.java | 6 +- .../orchestration/NetworkOrchestratorTest.java | 2 +- engine/pom.xml | 2 +- engine/schema/pom.xml | 2 +- .../network/as/dao/AutoScaleVmGroupVmMapDao.java | 2 + .../as/dao/AutoScaleVmGroupVmMapDaoImpl.java | 9 + .../upgrade/SystemVmTemplateRegistration.java | 33 +- .../main/java/com/cloud/usage/dao/UsageJobDao.java | 2 + .../java/com/cloud/usage/dao/UsageJobDaoImpl.java | 37 +- .../java/com/cloud/usage/dao/UsageNetworksDao.java | 2 + .../com/cloud/usage/dao/UsageNetworksDaoImpl.java | 27 +- .../main/java/com/cloud/usage/dao/UsageVpcDao.java | 4 + .../java/com/cloud/usage/dao/UsageVpcDaoImpl.java | 28 +- .../main/java/com/cloud/user/dao/AccountDao.java | 8 +- .../java/com/cloud/user/dao/AccountDaoImpl.java | 27 +- .../src/main/java/com/cloud/vm/VMInstanceVO.java | 2 +- engine/service/pom.xml | 2 +- engine/storage/cache/pom.xml | 2 +- engine/storage/configdrive/pom.xml | 2 +- engine/storage/datamotion/pom.xml | 2 +- .../KvmNonManagedStorageDataMotionStrategy.java | 2 +- .../motion/StorageSystemDataMotionStrategy.java | 35 +- engine/storage/image/pom.xml | 2 +- engine/storage/integration-test/pom.xml | 2 +- engine/storage/object/pom.xml | 2 +- engine/storage/pom.xml | 2 +- engine/storage/snapshot/pom.xml | 2 +- .../vmsnapshot/StorageVMSnapshotStrategy.java | 13 +- .../vmsnapshot/VMSnapshotStrategyKVMTest.java | 4 +- engine/storage/volume/pom.xml | 2 +- .../BasePrimaryDataStoreLifeCycleImpl.java | 47 +++ .../storage/volume/VolumeServiceImpl.java | 30 +- engine/userdata/cloud-init/pom.xml | 2 +- engine/userdata/pom.xml | 2 +- framework/agent-lb/pom.xml | 2 +- framework/ca/pom.xml | 2 +- framework/cluster/pom.xml | 2 +- .../java/com/cloud/cluster/ClusterManagerImpl.java | 24 +- framework/config/pom.xml | 2 +- framework/db/pom.xml | 2 +- framework/direct-download/pom.xml | 2 +- framework/events/pom.xml | 2 +- framework/ipc/pom.xml | 2 +- framework/jobs/pom.xml | 2 +- framework/managed-context/pom.xml | 2 +- framework/pom.xml | 2 +- framework/quota/pom.xml | 2 +- framework/rest/pom.xml | 2 +- framework/security/pom.xml | 2 +- framework/spring/lifecycle/pom.xml | 2 +- .../lifecycle/CloudStackExtendedLifeCycle.java | 9 +- .../lifecycle/registry/RegistryLifecycle.java | 13 +- framework/spring/module/pom.xml | 2 +- plugins/acl/dynamic-role-based/pom.xml | 2 +- plugins/acl/project-role-based/pom.xml | 2 +- plugins/acl/static-role-based/pom.xml | 2 +- .../explicit-dedication/pom.xml | 2 +- .../host-affinity/pom.xml | 2 +- .../host-anti-affinity/pom.xml | 2 +- .../non-strict-host-affinity/pom.xml | 2 +- .../non-strict-host-anti-affinity/pom.xml | 2 +- plugins/alert-handlers/snmp-alerts/pom.xml | 2 +- plugins/alert-handlers/syslog-alerts/pom.xml | 2 +- plugins/api/discovery/pom.xml | 2 +- plugins/api/rate-limit/pom.xml | 2 +- plugins/api/solidfire-intg-test/pom.xml | 2 +- plugins/api/vmware-sioc/pom.xml | 2 +- plugins/backup/dummy/pom.xml | 2 +- plugins/backup/networker/pom.xml | 2 +- plugins/backup/veeam/pom.xml | 2 +- .../cloudstack/backup/VeeamBackupProvider.java | 3 + plugins/ca/root-ca/pom.xml | 2 +- plugins/database/mysql-ha/pom.xml | 2 +- plugins/database/quota/pom.xml | 2 +- plugins/dedicated-resources/pom.xml | 2 +- .../implicit-dedication/pom.xml | 2 +- .../user-concentrated-pod/pom.xml | 2 +- .../deployment-planners/user-dispersing/pom.xml | 2 +- plugins/drs/cluster/balanced/pom.xml | 2 +- plugins/drs/cluster/condensed/pom.xml | 2 +- plugins/event-bus/inmemory/pom.xml | 2 +- plugins/event-bus/kafka/pom.xml | 2 +- plugins/event-bus/rabbitmq/pom.xml | 2 +- plugins/ha-planners/skip-heurestics/pom.xml | 2 +- plugins/host-allocators/random/pom.xml | 2 +- plugins/hypervisors/baremetal/pom.xml | 2 +- plugins/hypervisors/hyperv/pom.xml | 2 +- plugins/hypervisors/kvm/pom.xml | 2 +- .../main/java/com/cloud/ha/KVMInvestigator.java | 5 +- .../hypervisor/kvm/resource/BridgeVifDriver.java | 9 + .../kvm/resource/LibvirtComputingResource.java | 9 +- .../hypervisor/kvm/resource/LibvirtVMDef.java | 7 +- .../wrapper/LibvirtCheckVolumeCommandWrapper.java | 79 +++- .../LibvirtConvertInstanceCommandWrapper.java | 6 + .../LibvirtCopyRemoteVolumeCommandWrapper.java | 76 +++- ...LibvirtGetUnmanagedInstancesCommandWrapper.java | 5 +- .../LibvirtGetVmIpAddressCommandWrapper.java | 198 ++++++--- .../LibvirtGetVolumesOnStorageCommandWrapper.java | 66 +-- .../wrapper/LibvirtResizeVolumeCommandWrapper.java | 19 +- ...tupDirectDownloadCertificateCommandWrapper.java | 2 +- .../hypervisor/kvm/storage/KVMPhysicalDisk.java | 33 ++ .../kvm/storage/KVMStorageProcessor.java | 42 +- .../kvm/storage/MultipathSCSIAdapterBase.java | 23 ++ .../kvm/resource/LibvirtComputingResourceTest.java | 10 + .../LibvirtGetVmIpAddressCommandWrapperTest.java | 323 +++++++++++++++ plugins/hypervisors/ovm/pom.xml | 2 +- plugins/hypervisors/ovm3/pom.xml | 2 +- plugins/hypervisors/simulator/pom.xml | 2 +- plugins/hypervisors/ucs/pom.xml | 2 +- plugins/hypervisors/vmware/pom.xml | 2 +- .../java/com/cloud/hypervisor/guru/VMwareGuru.java | 8 + .../vmware/manager/VmwareManagerImpl.java | 102 +++-- .../hypervisor/vmware/resource/VmwareResource.java | 134 ++++--- .../api/command/admin/zone/ListVmwareDcVmsCmd.java | 19 + plugins/hypervisors/xenserver/pom.xml | 2 +- .../java/com/cloud/hypervisor/XenServerGuru.java | 9 + .../xenserver/resource/CitrixResourceBase.java | 38 +- .../xen56/XenServer56FenceCommandWrapper.java | 2 +- .../xen56p1/XenServer56FP1FenceCommandWrapper.java | 2 +- .../xenbase/CitrixCleanupVMCommandWrapper.java | 82 ++++ .../CitrixCreateVMSnapshotCommandWrapper.java | 9 +- .../CitrixDeleteVMSnapshotCommandWrapper.java | 2 +- .../CitrixRevertToVMSnapshotCommandWrapper.java | 3 +- .../wrapper/xenbase/CitrixStartCommandWrapper.java | 5 +- .../wrapper/xenbase/CitrixStopCommandWrapper.java | 2 +- .../wrapper/xenbase/CitrixRequestWrapperTest.java | 2 +- plugins/integrations/cloudian/pom.xml | 2 +- plugins/integrations/kubernetes-service/pom.xml | 2 +- .../cluster/KubernetesClusterManagerImpl.java | 251 ++++++++++-- .../cluster/KubernetesClusterService.java | 8 +- .../cluster/KubernetesServiceHelperImpl.java | 8 + .../KubernetesClusterActionWorker.java | 5 + ...ernetesClusterResourceModifierActionWorker.java | 38 +- .../cluster/dao/KubernetesClusterDao.java | 4 +- .../cluster/dao/KubernetesClusterDaoImpl.java | 33 +- .../cluster/utils/KubernetesClusterUtil.java | 2 +- ...tesClusterResourceModifierActionWorkerTest.java | 138 +++++++ plugins/integrations/prometheus/pom.xml | 2 +- plugins/metrics/pom.xml | 2 +- .../cloudstack/metrics/MetricsServiceImpl.java | 2 +- plugins/network-elements/bigswitch/pom.xml | 2 +- plugins/network-elements/brocade-vcs/pom.xml | 2 +- plugins/network-elements/cisco-vnmc/pom.xml | 2 +- plugins/network-elements/dns-notifier/pom.xml | 2 +- .../network-elements/elastic-loadbalancer/pom.xml | 2 +- plugins/network-elements/globodns/pom.xml | 2 +- .../network-elements/internal-loadbalancer/pom.xml | 2 +- plugins/network-elements/juniper-contrail/pom.xml | 2 +- .../contrail/management/MockAccountManager.java | 4 + plugins/network-elements/netscaler/pom.xml | 2 +- plugins/network-elements/nicira-nvp/pom.xml | 2 +- plugins/network-elements/opendaylight/pom.xml | 2 +- plugins/network-elements/ovs/pom.xml | 2 +- plugins/network-elements/palo-alto/pom.xml | 2 +- plugins/network-elements/stratosphere-ssp/pom.xml | 2 +- plugins/network-elements/tungsten/pom.xml | 2 +- plugins/network-elements/vxlan/pom.xml | 2 +- .../outofbandmanagement-drivers/ipmitool/pom.xml | 2 +- .../IpmitoolOutOfBandManagementDriver.java | 8 +- .../driver/ipmitool/IpmitoolWrapper.java | 37 +- .../nested-cloudstack/pom.xml | 2 +- .../outofbandmanagement-drivers/redfish/pom.xml | 2 +- plugins/pom.xml | 2 +- plugins/shutdown/pom.xml | 2 +- .../api/response/ReadyForShutdownResponse.java | 14 +- .../cloudstack/shutdown/ShutdownManagerImpl.java | 4 +- plugins/storage-allocators/random/pom.xml | 2 +- plugins/storage/image/default/pom.xml | 2 +- plugins/storage/image/s3/pom.xml | 2 +- plugins/storage/image/sample/pom.xml | 2 +- plugins/storage/image/swift/pom.xml | 2 +- .../driver/SwiftImageStoreDriverImpl.java | 17 +- plugins/storage/object/minio/pom.xml | 2 +- plugins/storage/object/simulator/pom.xml | 2 +- plugins/storage/volume/adaptive/pom.xml | 2 +- plugins/storage/volume/cloudbyte/pom.xml | 2 +- plugins/storage/volume/datera/pom.xml | 2 +- plugins/storage/volume/default/pom.xml | 2 +- .../CloudStackPrimaryDataStoreDriverImpl.java | 11 +- plugins/storage/volume/flasharray/pom.xml | 2 +- plugins/storage/volume/linstor/CHANGELOG.md | 40 ++ plugins/storage/volume/linstor/pom.xml | 2 +- .../LinstorBackupSnapshotCommandWrapper.java | 18 +- .../kvm/storage/LinstorStorageAdaptor.java | 123 +++++- .../driver/LinstorPrimaryDataStoreDriverImpl.java | 442 ++++++++++++++++++--- .../LinstorPrimaryDataStoreLifeCycleImpl.java | 5 +- .../util/LinstorConfigurationManager.java | 9 +- .../storage/datastore/util/LinstorUtil.java | 143 +++++++ .../LinstorPrimaryDataStoreDriverImplTest.java | 87 ++++ .../storage/datastore/util/LinstorUtilTest.java | 127 ++++++ plugins/storage/volume/nexenta/pom.xml | 2 +- plugins/storage/volume/primera/pom.xml | 2 +- .../datastore/adapter/primera/PrimeraAdapter.java | 51 ++- plugins/storage/volume/sample/pom.xml | 2 +- plugins/storage/volume/scaleio/pom.xml | 2 +- .../ScaleIOPrimaryDataStoreLifeCycle.java | 39 +- plugins/storage/volume/solidfire/pom.xml | 2 +- plugins/storage/volume/storpool/pom.xml | 2 +- plugins/user-authenticators/ldap/pom.xml | 2 +- .../apache/cloudstack/ldap/LdapContextFactory.java | 34 +- .../apache/cloudstack/ldap/LdapManagerImpl.java | 5 + plugins/user-authenticators/md5/pom.xml | 2 +- plugins/user-authenticators/oauth2/pom.xml | 2 +- plugins/user-authenticators/pbkdf2/pom.xml | 2 +- plugins/user-authenticators/plain-text/pom.xml | 2 +- plugins/user-authenticators/saml2/pom.xml | 2 +- .../api/command/ListAndSwitchSAMLAccountCmd.java | 15 +- .../api/command/SAML2LoginAPIAuthenticatorCmd.java | 2 +- .../apache/cloudstack/saml/SAML2AuthManager.java | 4 + .../cloudstack/saml/SAML2AuthManagerImpl.java | 2 +- .../java/org/apache/cloudstack/saml/SAMLUtils.java | 88 ++-- .../java/org/apache/cloudstack/SAMLUtilsTest.java | 6 +- .../command/ListAndSwitchSAMLAccountCmdTest.java | 2 - plugins/user-authenticators/sha256salted/pom.xml | 2 +- .../static-pin/pom.xml | 2 +- .../user-two-factor-authenticators/totp/pom.xml | 2 +- pom.xml | 4 +- python/lib/cloudutils/networkConfig.py | 2 +- quickcloud/pom.xml | 2 +- scripts/storage/multipath/cleanStaleMaps.sh | 10 +- scripts/storage/multipath/disconnectVolume.sh | 3 + scripts/storage/secondary/setup-sysvm-tmplt | 10 +- server/conf/cloudstack-sudoers.in | 2 +- server/pom.xml | 2 +- .../java/com/cloud/alert/AlertManagerImpl.java | 33 +- .../main/java/com/cloud/api/ApiResponseHelper.java | 2 + server/src/main/java/com/cloud/api/ApiServer.java | 9 +- .../java/com/cloud/api/query/QueryManagerImpl.java | 119 +++--- .../com/cloud/api/query/dao/SnapshotJoinDao.java | 6 +- .../cloud/api/query/dao/SnapshotJoinDaoImpl.java | 34 +- .../cloud/api/query/dao/TemplateJoinDaoImpl.java | 7 +- .../configuration/ConfigurationManagerImpl.java | 147 +++++-- .../com/cloud/ha/HighAvailabilityManagerImpl.java | 53 ++- .../java/com/cloud/ha/dao/HighAvailabilityDao.java | 2 + .../com/cloud/ha/dao/HighAvailabilityDaoImpl.java | 14 +- .../com/cloud/network/IpAddressManagerImpl.java | 96 +++-- .../java/com/cloud/network/NetworkModelImpl.java | 8 +- .../java/com/cloud/network/NetworkServiceImpl.java | 37 +- .../com/cloud/network/as/AutoScaleManager.java | 6 + .../com/cloud/network/as/AutoScaleManagerImpl.java | 8 +- .../network/element/ConfigDriveNetworkElement.java | 19 +- .../network/element/VirtualRouterElement.java | 7 +- .../cloud/network/router/NetworkHelperImpl.java | 4 +- .../java/com/cloud/network/vpc/VpcManagerImpl.java | 28 +- .../com/cloud/resource/ResourceManagerImpl.java | 217 +++++----- .../resourcelimit/ResourceLimitManagerImpl.java | 6 + .../com/cloud/server/ManagementServerImpl.java | 1 + .../java/com/cloud/storage/StorageManagerImpl.java | 4 +- .../com/cloud/storage/VolumeApiServiceImpl.java | 38 +- .../storage/snapshot/SnapshotManagerImpl.java | 4 +- .../cloud/template/HypervisorTemplateAdapter.java | 35 +- .../com/cloud/template/TemplateAdapterBase.java | 3 +- .../java/com/cloud/usage/UsageServiceImpl.java | 13 +- .../main/java/com/cloud/user/AccountManager.java | 1 + .../java/com/cloud/user/AccountManagerImpl.java | 433 ++++++++++++++------ .../main/java/com/cloud/vm/UserVmManagerImpl.java | 25 +- .../cloudstack/backup/BackupManagerImpl.java | 4 +- .../volume/VolumeImportUnmanageManagerImpl.java | 2 +- .../cloudstack/vm/UnmanagedVMsManagerImpl.java | 131 +++--- .../api/query/dao/SnapshotJoinDaoImplTest.java | 109 +++++ .../ConfigurationManagerImplTest.java | 47 +++ .../configuration/ConfigurationManagerTest.java | 6 + .../cloud/ha/HighAvailabilityManagerImplTest.java | 2 - .../com/cloud/network/NetworkServiceImplTest.java | 2 +- .../cloud/storage/VolumeApiServiceImplTest.java | 71 +++- .../com/cloud/user/AccountManagerImplTest.java | 172 +++++++- .../AccountManagerImplVolumeDeleteEventTest.java | 2 + .../com/cloud/user/MockAccountManagerImpl.java | 4 + .../VolumeImportUnmanageManagerImplTest.java | 2 +- .../cloudstack/vm/UnmanagedVMsManagerImplTest.java | 6 +- services/console-proxy/pom.xml | 2 +- services/console-proxy/rdpconsole/pom.xml | 2 +- services/console-proxy/server/pom.xml | 2 +- services/pom.xml | 2 +- services/secondary-storage/controller/pom.xml | 2 +- .../SecondaryStorageManagerImpl.java | 8 +- services/secondary-storage/pom.xml | 2 +- services/secondary-storage/server/pom.xml | 2 +- .../storage/resource/HttpUploadServerHandler.java | 12 +- .../resource/LocalNfsSecondaryStorageResource.java | 4 +- setup/bindir/cloud-setup-databases.in | 2 + systemvm/debian/opt/cloud/bin/cs/CsAddress.py | 22 +- systemvm/debian/opt/cloud/bin/cs/CsDhcp.py | 5 +- systemvm/pom.xml | 2 +- .../component/test_affinity_groups_projects.py | 17 +- .../plugins/linstor/test_linstor_volumes.py | 315 +++++++++++++-- test/integration/smoke/test_certauthority_root.py | 36 +- test/integration/smoke/test_cluster_drs.py | 13 +- test/integration/smoke/test_events_resource.py | 5 +- test/integration/smoke/test_global_acls.py | 1 + test/integration/smoke/test_network_permissions.py | 15 +- .../smoke/test_nonstrict_affinity_group.py | 10 +- test/pom.xml | 2 +- tools/apidoc/pom.xml | 2 +- tools/checkstyle/pom.xml | 2 +- tools/devcloud-kvm/pom.xml | 2 +- tools/devcloud4/pom.xml | 2 +- tools/docker/Dockerfile | 2 +- tools/docker/Dockerfile.marvin | 4 +- tools/marvin/pom.xml | 2 +- tools/marvin/setup.py | 2 +- tools/pom.xml | 2 +- ui/public/locales/ar.json | 2 +- ui/public/locales/ca.json | 2 +- ui/public/locales/de_DE.json | 2 +- ui/public/locales/el_GR.json | 2 +- ui/public/locales/en.json | 26 +- ui/public/locales/es.json | 2 +- ui/public/locales/fr_FR.json | 2 +- ui/public/locales/hu.json | 2 +- ui/public/locales/it_IT.json | 2 +- ui/public/locales/ja_JP.json | 2 +- ui/public/locales/ko_KR.json | 2 +- ui/public/locales/nb_NO.json | 2 +- ui/public/locales/nl_NL.json | 2 +- ui/public/locales/pl.json | 2 +- ui/public/locales/pt_BR.json | 2 +- ui/public/locales/ru_RU.json | 2 +- ui/public/locales/zh_CN.json | 2 +- ui/src/components/header/ProjectMenu.vue | 125 +++--- ui/src/components/header/SamlDomainSwitcher.vue | 3 + ui/src/components/view/InfoCard.vue | 12 +- ui/src/components/view/ListView.vue | 10 +- ui/src/components/view/ResourceLimitTab.vue | 2 +- ui/src/components/view/SettingsTab.vue | 2 +- ui/src/components/view/StatsTab.vue | 2 +- ui/src/components/widgets/InfiniteScrollSelect.vue | 298 ++++++++++++++ ui/src/config/section/account.js | 5 +- ui/src/config/section/compute.js | 17 +- ui/src/config/section/domain.js | 5 + ui/src/config/section/image.js | 8 +- ui/src/config/section/infra/clusters.js | 6 +- ui/src/config/section/infra/hosts.js | 32 +- ui/src/config/section/network.js | 29 +- ui/src/config/section/storage.js | 26 +- ui/src/main.js | 4 +- ui/src/store/modules/user.js | 4 +- ui/src/utils/network.js | 51 +++ ui/src/utils/plugins.js | 17 +- ui/src/{style/frame/content.less => utils/zone.js} | 12 +- ui/src/views/AutogenView.vue | 3 + ui/src/views/compute/CreateAutoScaleVmGroup.vue | 2 +- ui/src/views/compute/CreateSnapshotWizard.vue | 13 +- ui/src/views/compute/DeployVM.vue | 14 +- ui/src/views/compute/DeployVnfAppliance.vue | 14 +- ui/src/views/compute/EditVM.vue | 25 +- ui/src/views/compute/StartVirtualMachine.vue | 2 +- ui/src/views/dashboard/UsageDashboard.vue | 8 +- ui/src/views/iam/DeleteAccount.vue | 176 ++++++++ ui/src/views/iam/DeleteAccountWrapper.vue | 74 ++++ ui/src/views/image/IsoZones.vue | 8 + ui/src/views/image/RegisterOrUploadIso.vue | 9 + ui/src/views/image/RegisterOrUploadTemplate.vue | 6 +- ui/src/views/image/TemplateZones.vue | 8 + ui/src/views/infra/AddSecondaryStorage.vue | 6 +- ui/src/views/infra/ConfigureHostOOBM.vue | 172 ++++++++ ui/src/views/infra/HostEnableDisable.vue | 30 +- ui/src/views/infra/HostInfo.vue | 46 ++- ui/src/views/infra/network/IpRangesTabStorage.vue | 2 +- ui/src/views/infra/network/TrafficTypesTab.vue | 2 +- ui/src/views/infra/zone/ZoneWizardLaunchZone.vue | 12 +- ui/src/views/network/CreateNetworkPermission.vue | 124 ++---- ui/src/views/network/CreateSharedNetworkForm.vue | 4 + ui/src/views/network/VpcTiersTab.vue | 22 +- ui/src/views/offering/AddComputeOffering.vue | 9 + ui/src/views/offering/AddDiskOffering.vue | 4 + ui/src/views/offering/AddNetworkOffering.vue | 3 + ui/src/views/offering/AddVpcOffering.vue | 3 + ui/src/views/setting/ConfigurationValue.vue | 2 +- ui/src/views/storage/CreateTemplate.vue | 113 +++--- ui/src/views/storage/CreateVolume.vue | 3 + ui/src/views/storage/TakeSnapshot.vue | 9 +- ui/src/views/tools/ManageInstances.vue | 28 ++ ui/src/views/tools/SelectVmwareVcenter.vue | 17 + ui/tests/common/index.js | 4 +- ui/vue.config.js | 2 +- usage/pom.xml | 2 +- .../java/com/cloud/usage/UsageManagerImpl.java | 124 ++++-- utils/pom.xml | 2 +- .../src/main/java/com/cloud/utils/StringUtils.java | 92 ++++- .../main/java/com/cloud/utils/net/NetUtils.java | 24 +- .../main/java/com/cloud/utils/script/Script.java | 27 +- .../java/com/cloud/utils/net/NetUtilsTest.java | 4 +- vmware-base/pom.xml | 2 +- .../com/cloud/hypervisor/vmware/mo/BaseMO.java | 124 ++++++ .../cloud/hypervisor/vmware/mo/DatacenterMO.java | 26 +- .../com/cloud/hypervisor/vmware/mo/HostMO.java | 7 +- .../hypervisor/vmware/mo/HypervisorHostHelper.java | 22 +- .../hypervisor/vmware/mo/VirtualMachineMO.java | 21 + .../cloud/hypervisor/vmware/util/VmwareHelper.java | 14 + .../vmware/mo/HypervisorHostHelperTest.java | 56 ++- 429 files changed, 6918 insertions(+), 2085 deletions(-) copy core/src/main/java/com/cloud/agent/api/{UnregisterVMCommand.java => CleanupVMCommand.java} (74%) delete mode 100644 core/src/main/java/org/apache/cloudstack/direct/download/HttpsMultiTrustManager.java create mode 100644 plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtGetVmIpAddressCommandWrapperTest.java create mode 100644 plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixCleanupVMCommandWrapper.java create mode 100644 plugins/integrations/kubernetes-service/src/test/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterResourceModifierActionWorkerTest.java create mode 100644 plugins/storage/volume/linstor/src/test/java/org/apache/cloudstack/storage/datastore/driver/LinstorPrimaryDataStoreDriverImplTest.java create mode 100644 plugins/storage/volume/linstor/src/test/java/org/apache/cloudstack/storage/datastore/util/LinstorUtilTest.java create mode 100644 server/src/test/java/com/cloud/api/query/dao/SnapshotJoinDaoImplTest.java create mode 100644 ui/src/components/widgets/InfiniteScrollSelect.vue create mode 100644 ui/src/utils/network.js copy ui/src/{style/frame/content.less => utils/zone.js} (83%) create mode 100644 ui/src/views/iam/DeleteAccount.vue create mode 100644 ui/src/views/iam/DeleteAccountWrapper.vue create mode 100644 ui/src/views/infra/ConfigureHostOOBM.vue