This is an automated email from the ASF dual-hosted git repository. dahn pushed a change to branch fenchCheck in repository https://gitbox.apache.org/repos/asf/cloudstack.git
discard 7fedc63c7c8 rename logger to prevent merge forward conflict discard 7bb7d3fe3aa add check befor fencing add 48767611546 ui: Allow font-awesome icon usage and optimise icon size inconsistency (#9744) add f9b176744e6 SAML2: add cookie with HttpOnly too #10013 (#10047) add 38c7c6e9865 UI: remove duplicated Instance Name in Public IP details page (#10087) add a278849507f server: fix typo removeaccessvpn in VirtualRouterElement (#10086) add 8639ba8b013 server: simplify role change validation (#9173) add a2f2e87c120 linstor: improve heartbeat check with also asking linstor (#10105) add b4ad04badfb Allow config drive deletion of migrated VM, on host maintenance (#10045) add a9587bfd2e3 kvm-storage: provide isVMMigrate information to storage plugins (#10093) add 0944fa1c9cf set ulimit for server according to redhat spec (#10040) add 188eacd9eb1 Certificate and VM hostname validation improvements (#10051) add ed1b145a3a0 VR: apply iptables rules when add/remove static routes (#10064) add 75eda38b6b8 UI: fix cannot open 'Edit tags' modal for static routes (#10065) add 5c01cff3043 VR: fix site-2-site VPN if split connections is enabled (#10067) add d8c321d57ae check tags while fetching storage pool for importing vm (#9764) add 21416cd4034 Restrict the migration of volumes attached to VMs in Starting state (#9725) add afc95f1ccc5 CheckOnHostCommand: add missing timeout setting (#9677) add 7adc7329922 upgrade: consider multiple hypervisors and secondary storages (#10046) add fce77733a5d no retrieval of null hosts (#10175) add 35fe19f096d systemvm: fix keystore is reset when patch a systemvm (#9900) add cf5bd803110 consider a valid ipv4 address as a validish ipv4 /32 cidr (#10174) add e278bcd08ac [VMware] Consider CD/DVD drive when calculating next free unit number for volume attachment over IDE controller (#9644) add 796bd4f72cc Clean up network permissions on account deletion (#10176) add 9967bb3fe89 fix slider component for global settings of the range type (#10187) add c5e8f63452a Fix NPE issues during host rolling maintenance, due to host tags and custom constrained/unconstrained service offering (#9844) add 00c659b7a76 api: fix access for listSystemVmUsageHistory (#10032) add 0b8076c38cf Configure org.eclipse.jetty.server.Request.maxFormKeys from server.properties and increase the default value (#10214) add 70776b067a4 fix listing of VMs by network (#10204) add 1ff68cf9b10 linstor: Fix ZFS snapshot backup (#10219) add 91f1adab862 UI: set redundant state as N/A for non-redundant routers (#10227) add d053bb97ecf Fix to allow actions on the network if it belongs to a project (#9550) add b186272f687 kvm: add SCSI controllers based on the number of virtio-SCSI disks (#9823) add 09f154796a2 server: Fix host CPU number (#10218) add 1e59f5cd0cd ui: fix passing vlan while creating vpc tier (#10239) add 20759187b31 Fix local storage deletion cases (#10231) add 4d9fd1b73fa Added displaynetwork option in filters for listnetwork only for admin (#10209) add c9fea62276c [UI] Switch between allocated and used capacity on dashboard (#10215) add 2aa2e92dff4 Handle special characters when exporting ACLs (#10259) add 4787885fc09 cks: prevent npe on cluster listing with removed offering (#10075) add 0a77eb7f85f deal with NPE during host reconnect (#10158) add f652ad0d98c extra null guard (#10264) add 1c84ce4e23e server: fix attach uploaded volume (#10267) add 6f03f9e726e validate inserted values in numeric global settings (#10279) add 3313cc58295 ui: fix loading for hypervisor filter in serachview (#10292) add ee0dc5b2d64 list hosts API fix, when any stale entries exists on storage_pool_host_ref for the removed pools (#9852) add 0f544c9a3b0 api/ui: add specifyvlan to network response (#10236) add b9890875cc1 CKS: use --delete-emptydir-data instead of deprecated --delete-local-data (#10234) add b93589b5bdf server: reset 2fa user configuration on incomplete setup (#10247) add d9af9bdb36e fix SQL syntax erros and target 419 (#10273) add c70e4e29be4 fix npe on account creation (#10274) add 0fbf6379f98 UI: Fix domain view when opening details for a specific domainid (#10245) add bbe9c905926 packaging: support both mysql and mariadb on EL8/EL9 (#9941) add 641a60670e1 changed the kubernetestool url (#10295) add a335feab6a3 fix allocation of vmfs storage pools (#10201) add 97be6f2e5d1 ui: fix column filter for templates, isos (#10288) add fbb1ff78d63 Static Routes: fix check on wrong global configuration (#10066) add 5447950f095 Allow creation of Shared Networks without IP range if network offering has no services - specifyvlan = true (#10168) add 27efc779eac api,ui: fix empty source cidr value for firewall rule (#10208) add 0d5047b8b73 Improve listing of HA and non-HA hosts when ha.tag setting is defined and hosts have multiple tags along with ha tag (#10240) add 60af31c9c0b Decrypt zone, cluster, storage details for configuration values (#10237) add fa5c11e6b2e UI: list backup offerings by zoneid when assign vm to backup offering (#10217) add c1bc57b844b List default network offerings when multiple physical networks for guest traffic type exists (#10222) 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 3ef30251886 add check befor fencing add f5dee3b3240 rename logger to prevent merge forward conflict 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 (7fedc63c7c8) \ N -- N -- N refs/heads/fenchCheck (f5dee3b3240) 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 +- agent/pom.xml | 2 +- api/pom.xml | 2 +- .../com/cloud/agent/api/to/RemoteInstanceTO.java | 8 +- .../cloud/exception/StorageAccessException.java | 4 +- .../java/com/cloud/storage/MigrationOptions.java | 11 +- api/src/main/java/com/cloud/storage/Storage.java | 65 ++-- .../java/com/cloud/storage/VolumeApiService.java | 6 +- .../main/java/com/cloud/vm/VmDetailConstants.java | 1 + .../user/firewall/CreateFirewallRuleCmd.java | 7 +- .../cloudstack/api/command/user/vm/ListVMsCmd.java | 8 + .../api/response/HostForMigrationResponse.java | 431 +-------------------- .../cloudstack/api/response/NetworkResponse.java | 11 +- .../apache/cloudstack/vm/UnmanagedInstanceTO.java | 10 + .../user/firewall/CreateFirewallRuleCmdTest.java | 91 +++++ client/conf/server.properties.in | 3 + client/pom.xml | 2 +- .../java/org/apache/cloudstack/ServerDaemon.java | 10 + core/pom.xml | 2 +- .../com/cloud/agent/api/CheckOnHostCommand.java | 3 +- ...egisterVMCommand.java => CleanupVMCommand.java} | 19 +- debian/changelog | 6 + developer/pom.xml | 2 +- engine/api/pom.xml | 2 +- .../service/NetworkOrchestrationService.java | 3 + engine/components-api/pom.xml | 2 +- .../main/java/com/cloud/event/UsageEventUtils.java | 19 + engine/orchestration/pom.xml | 2 +- .../java/com/cloud/agent/manager/AgentAttache.java | 10 +- .../com/cloud/agent/manager/AgentManagerImpl.java | 37 +- .../com/cloud/vm/VirtualMachineManagerImpl.java | 3 +- .../engine/orchestration/NetworkOrchestrator.java | 19 +- .../engine/orchestration/VolumeOrchestrator.java | 6 +- .../orchestration/NetworkOrchestratorTest.java | 2 +- engine/pom.xml | 2 +- engine/schema/pom.xml | 2 +- .../main/java/com/cloud/dc/ClusterDetailsDao.java | 3 +- .../java/com/cloud/dc/ClusterDetailsDaoImpl.java | 16 +- .../main/java/com/cloud/dc/ClusterDetailsVO.java | 18 +- .../com/cloud/dc/dao/DataCenterDetailsDaoImpl.java | 5 +- .../main/java/com/cloud/domain/DomainDetailVO.java | 18 +- .../com/cloud/domain/dao/DomainDetailsDao.java | 5 +- .../com/cloud/domain/dao/DomainDetailsDaoImpl.java | 26 +- .../main/java/com/cloud/host/dao/HostDaoImpl.java | 93 +++-- .../storage/dao/StoragePoolDetailsDaoImpl.java | 2 +- .../upgrade/SystemVmTemplateRegistration.java | 54 ++- .../main/java/com/cloud/user/AccountDetailVO.java | 18 +- .../java/com/cloud/user/AccountDetailsDao.java | 5 +- .../java/com/cloud/user/AccountDetailsDaoImpl.java | 26 +- .../main/java/com/cloud/user/UserAccountVO.java | 7 + .../src/main/java/com/cloud/vm/VMInstanceVO.java | 2 +- .../network/dao/NetworkPermissionDao.java | 7 + .../network/dao/NetworkPermissionDaoImpl.java | 15 + .../resourcedetail/ResourceDetailsDao.java | 2 + .../resourcedetail/ResourceDetailsDaoBase.java | 18 + .../datastore/db/ImageStoreDetailsDaoImpl.java | 4 +- .../cloud.idempotent_update_api_permission.sql | 52 +++ .../resources/META-INF/db/schema-41910to41920.sql | 22 ++ 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 +- .../allocator/AbstractStoragePoolAllocator.java | 16 +- engine/storage/volume/pom.xml | 2 +- .../BasePrimaryDataStoreLifeCycleImpl.java | 47 +++ .../storage/volume/VolumeServiceImpl.java | 6 +- 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 +- packaging/centos7/cloud.spec | 3 + .../centos7/filelimit.conf | 6 +- packaging/centos8/cloud.spec | 5 +- .../centos8/filelimit.conf | 6 +- 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 +- .../kvm/resource/LibvirtComputingResource.java | 63 ++- .../hypervisor/kvm/resource/LibvirtVMDef.java | 7 +- .../LibvirtConvertInstanceCommandWrapper.java | 7 + .../LibvirtDeleteStoragePoolCommandWrapper.java | 60 ++- ...LibvirtGetUnmanagedInstancesCommandWrapper.java | 5 +- .../LibvirtGetVmIpAddressCommandWrapper.java | 170 +++++--- .../LibvirtPrepareForMigrationCommandWrapper.java | 2 +- ...tupDirectDownloadCertificateCommandWrapper.java | 4 + .../wrapper/LibvirtStartCommandWrapper.java | 2 +- .../kvm/storage/IscsiAdmStorageAdaptor.java | 2 +- .../kvm/storage/IscsiAdmStoragePool.java | 2 +- .../kvm/storage/KVMStoragePoolManager.java | 9 +- .../kvm/storage/KVMStorageProcessor.java | 42 +- .../kvm/storage/LibvirtStorageAdaptor.java | 2 +- .../kvm/storage/ManagedNfsStorageAdaptor.java | 2 +- .../kvm/storage/MultipathSCSIAdapterBase.java | 25 +- .../hypervisor/kvm/storage/MultipathSCSIPool.java | 2 +- .../kvm/storage/ScaleIOStorageAdaptor.java | 4 +- .../hypervisor/kvm/storage/ScaleIOStoragePool.java | 2 +- .../hypervisor/kvm/storage/StorageAdaptor.java | 11 +- .../kvm/resource/LibvirtComputingResourceTest.java | 25 +- .../LibvirtGetVmIpAddressCommandWrapperTest.java | 320 +++++++++++++++ .../kvm/storage/ScaleIOStoragePoolTest.java | 2 +- 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 + .../hypervisor/vmware/resource/VmwareResource.java | 23 ++ plugins/hypervisors/xenserver/pom.xml | 2 +- .../xenserver/resource/CitrixResourceBase.java | 38 +- .../xen56/XenServer56FenceCommandWrapper.java | 2 +- .../xen56p1/XenServer56FP1FenceCommandWrapper.java | 2 +- .../CitrixCreateVMSnapshotCommandWrapper.java | 9 +- .../CitrixDeleteVMSnapshotCommandWrapper.java | 2 +- .../CitrixGetVmIpAddressCommandWrapper.java | 16 +- .../CitrixRevertToVMSnapshotCommandWrapper.java | 3 +- .../wrapper/xenbase/CitrixStartCommandWrapper.java | 2 +- .../wrapper/xenbase/CitrixStopCommandWrapper.java | 2 +- plugins/integrations/cloudian/pom.xml | 2 +- plugins/integrations/kubernetes-service/pom.xml | 2 +- .../cluster/KubernetesClusterManagerImpl.java | 2 +- .../KubernetesClusterActionWorker.java | 5 + .../KubernetesClusterScaleWorker.java | 2 +- .../cluster/utils/KubernetesClusterUtil.java | 2 +- plugins/integrations/prometheus/pom.xml | 2 +- plugins/metrics/pom.xml | 2 +- .../api/ListSystemVMsUsageHistoryCmd.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 | 5 + 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 +- 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 +- plugins/storage/volume/flasharray/pom.xml | 2 +- plugins/storage/volume/linstor/CHANGELOG.md | 41 ++ plugins/storage/volume/linstor/pom.xml | 2 +- .../LinstorBackupSnapshotCommandWrapper.java | 32 +- .../kvm/storage/LinstorStorageAdaptor.java | 156 +++++++- .../hypervisor/kvm/storage/LinstorStoragePool.java | 42 +- .../driver/LinstorPrimaryDataStoreDriverImpl.java | 354 ++++++++++++++--- .../LinstorPrimaryDataStoreLifeCycleImpl.java | 5 +- .../storage/datastore/util/LinstorUtil.java | 115 ++++++ .../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 +- .../kvm/storage/StorPoolStorageAdaptor.java | 2 +- .../kvm/storage/StorPoolStoragePool.java | 2 +- plugins/user-authenticators/ldap/pom.xml | 2 +- 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 | 89 +++-- .../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 +- scripts/util/create-kubernetes-binaries-iso.sh | 2 +- server/conf/cloudstack-sudoers.in | 2 +- server/pom.xml | 2 +- .../main/java/com/cloud/api/ApiResponseHelper.java | 1 + server/src/main/java/com/cloud/api/ApiServer.java | 10 +- .../java/com/cloud/api/query/QueryManagerImpl.java | 88 +++-- .../com/cloud/api/query/dao/HostJoinDaoImpl.java | 121 +----- .../com/cloud/api/query/dao/SnapshotJoinDao.java | 6 +- .../cloud/api/query/dao/SnapshotJoinDaoImpl.java | 34 +- .../configuration/ConfigurationManagerImpl.java | 17 +- .../deploy/DeploymentPlanningManagerImpl.java | 2 - .../com/cloud/ha/HighAvailabilityManagerImpl.java | 18 +- .../com/cloud/network/IpAddressManagerImpl.java | 96 +++-- .../java/com/cloud/network/NetworkModelImpl.java | 6 +- .../java/com/cloud/network/NetworkServiceImpl.java | 30 +- .../network/element/ConfigDriveNetworkElement.java | 58 ++- .../network/element/VirtualRouterElement.java | 9 +- .../cloud/network/router/NetworkHelperImpl.java | 4 +- .../java/com/cloud/network/vpc/VpcManagerImpl.java | 32 +- .../com/cloud/resource/ResourceManagerImpl.java | 219 +++++------ .../resource/RollingMaintenanceManagerImpl.java | 59 ++- .../com/cloud/server/ManagementServerImpl.java | 4 +- .../java/com/cloud/storage/StorageManagerImpl.java | 36 +- .../com/cloud/storage/VolumeApiServiceImpl.java | 162 +++++--- .../cloud/template/HypervisorTemplateAdapter.java | 35 +- .../main/java/com/cloud/user/AccountManager.java | 3 + .../java/com/cloud/user/AccountManagerImpl.java | 175 ++++++--- .../main/java/com/cloud/vm/UserVmManagerImpl.java | 22 +- .../cloudstack/backup/BackupManagerImpl.java | 4 +- .../direct/download/DirectDownloadManagerImpl.java | 11 +- .../volume/VolumeImportUnmanageManagerImpl.java | 2 +- .../cloudstack/vm/UnmanagedVMsManagerImpl.java | 130 +++++-- .../api/query/dao/SnapshotJoinDaoImplTest.java | 109 ++++++ .../com/cloud/network/NetworkServiceImplTest.java | 2 +- .../RollingMaintenanceManagerImplTest.java | 60 +++ .../cloud/storage/VolumeApiServiceImplTest.java | 300 +++++++++++++- .../com/cloud/user/AccountManagerImplTest.java | 259 ++++++++++++- .../com/cloud/user/AccountManagetImplTestBase.java | 3 + .../com/cloud/user/MockAccountManagerImpl.java | 4 + .../java/com/cloud/vm/FirstFitPlannerTest.java | 2 - .../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 | 7 +- services/secondary-storage/pom.xml | 2 +- services/secondary-storage/server/pom.xml | 2 +- .../resource/LocalNfsSecondaryStorageResource.java | 4 +- setup/bindir/cloud-setup-databases.in | 2 + systemvm/debian/opt/cloud/bin/configure.py | 4 +- systemvm/debian/opt/cloud/bin/cs/CsAddress.py | 22 +- systemvm/debian/opt/cloud/bin/cs/CsDhcp.py | 5 +- systemvm/patch-sysvms.sh | 3 + systemvm/pom.xml | 2 +- .../plugins/linstor/test_linstor_volumes.py | 252 ++++++++++-- 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_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 | 18 +- 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/SamlDomainSwitcher.vue | 3 + ui/src/components/menu/SMenu.vue | 6 + ui/src/components/view/InfoCard.vue | 35 +- ui/src/components/view/ListView.vue | 39 +- ui/src/components/view/ResourceLimitTab.vue | 2 +- ui/src/components/view/SearchView.vue | 26 +- ui/src/components/view/SettingsTab.vue | 2 +- ui/src/components/widgets/Status.vue | 2 + ui/src/config/section/compute.js | 13 +- 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 | 48 ++- ui/src/config/section/storage.js | 26 +- ui/src/core/ext.js | 8 +- 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/EditVM.vue | 1 - ui/src/views/compute/StartVirtualMachine.vue | 2 +- ui/src/views/dashboard/CapacityDashboard.vue | 29 +- ui/src/views/dashboard/UsageDashboard.vue | 8 +- ui/src/views/iam/DomainView.vue | 10 + 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/ConfigureHostOOBM.vue | 172 ++++++++ ui/src/views/infra/HostEnableDisable.vue | 30 +- ui/src/views/infra/HostInfo.vue | 46 ++- ui/src/views/network/AclListRulesTab.vue | 2 +- ui/src/views/network/CreateSharedNetworkForm.vue | 4 + ui/src/views/network/FirewallRules.vue | 3 + ui/src/views/network/StaticRoutesTab.vue | 1 - ui/src/views/network/VpcTiersTab.vue | 24 +- ui/src/views/setting/ConfigurationValue.vue | 35 +- ui/src/views/storage/CreateTemplate.vue | 113 +++--- ui/src/views/tools/SelectVmwareVcenter.vue | 10 + ui/tests/common/index.js | 4 +- ui/vue.config.js | 2 +- usage/pom.xml | 2 +- .../java/com/cloud/usage/UsageManagerImpl.java | 1 - utils/pom.xml | 2 +- .../main/java/com/cloud/utils/net/NetUtils.java | 10 +- vmware-base/pom.xml | 2 +- .../hypervisor/vmware/mo/VirtualMachineMO.java | 28 +- .../cloud/hypervisor/vmware/util/VmwareHelper.java | 1 + 403 files changed, 5273 insertions(+), 2077 deletions(-) create mode 100644 api/src/test/java/org/apache/cloudstack/api/command/user/firewall/CreateFirewallRuleCmdTest.java copy core/src/main/java/com/cloud/agent/api/{UnregisterVMCommand.java => CleanupVMCommand.java} (74%) create mode 100644 engine/schema/src/main/resources/META-INF/db/procedures/cloud.idempotent_update_api_permission.sql copy agent/bindir/cloudstack-agent-profile.sh.in => packaging/centos7/filelimit.conf (88%) copy agent/bindir/cloudstack-agent-profile.sh.in => packaging/centos8/filelimit.conf (88%) create mode 100644 plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtGetVmIpAddressCommandWrapperTest.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/utils/network.js copy ui/src/{style/frame/content.less => utils/zone.js} (83%) create mode 100644 ui/src/views/infra/ConfigureHostOOBM.vue