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

Pearl1594 pushed a change to branch clvm-enhancements
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


    from be2994db0fd Merge branch 'main' of 
https://github.com/apache/cloudstack into clvm-enhancements
     add e297644ce1e KVM: Enable HA heartbeat on ShareMountPoint (#12773)
     add 80ee7f183f7 Fix six package incompatiblity with EL10 (#12799)
     add 27e4d979f12 Clean up backup references to their schedules when the 
schedules are deleted (#12401)
     add 8f3c6fad7a9 set snapcpg config on copy (#12955)
     add 273699cf566 kvm: fix wrong CheckVirtualMachineAnswer when vm does not 
exist (#12928)
     add df7ff972719 Create volume on a specified storage pool (#12966)
     add b196e97cc36 Prevent deletion of account and domain if either of them 
has deleted protected instance (#12901)
     add 7c7b2ae75d1 Fix KVM incremental volume snapshot creation (#12666)
     add 47c5bb8ee7a Support list/query async jobs by resource (#12983)
     add ae455ee193e VPC restart cleanup for Public networks with multi-CIDR 
data (#12622)
     add 161b4177c2d Add logs for storage pools reordering (#10419)
     add feb60769305 Remove unused config consoleproxy.cmd.port (#12807)
     add 38abe2df0bb Allow list async jobs by resource type alone (#13011)
     add d75acb6efcc Fix rollback disk snapshots on instance snapshot failure 
(#12949)
     add 37e36577707 [22.0] resource allocation
     add 003c8408179 [22.0] resource instance limits
     add 8d269cf5bef [22.0] Implement/fix limit validation for projects
     add 831ef82ff9b [22.0] resource allocation vpc
     add 1f849caa0be [22.0] resource reservation on volume creation
     add 46a6bbad270 Fix: KVM Direct Download URL injection (#60)
     add 7703fdacab4 [minio] Handle user's canned policy when a bucket is 
deleted
     add 3d678e726ad [22.0] resource reservation on volume snapshot creation
     add d11d182c715 [22.0] Fix resource limit reservation and check during 
StartVirtualMachine
     add 95816b44e93 extensions: allow reserved resource details
     add 4855d40e6e3 [22.0] secondary storage resource limit for download
     add 5d5ee7b6893 volume download fix
     add d7224151053 [22.0] secondary storage resource limit for upload
     add 07c3dc86b2d [22.0] Consider infinite resources when calculating 
secondary storage limit for upload operations
     add f7f0e751225 Fixed a merge issue in ImageStoreUploadMonitorImpl
     add 9c0c8da706e [22.0] Address limit checks for VM, CPU, memory, volume, 
and primary storage
     add 88a12a801f8 Cleanup imported VM from disk on failure due to volume 
allocation + prevent duplicate volume and primary storage increment on import
     add c6b20b8cc7f Fix failing tests
     add 9db630932e0 Address public IP limit validations
     add 8ce1c9876ee fix restore volume from backup and attach
     add 24fd440ee72 Fix create VM from backup
     add 86c9f7bd941 Fix backup list
     add e8d57d1b0dc Implement/fix limit validation for secondary storage
     add f3331344566 Address merge issues
     add 8608b4edd02 Fix snapshot copy resource limit concurrency
     add 19b4ef10693 server: reserve backup, bucket resource limits during 
operations
     add 1085da4ef8b Merge commit '19b4ef106931aa1d6a8fed06984009d86760e4de' 
into 4.22
     add d6f4fc3ac40 Updating pom.xml version numbers for release 22.0.1
     add 23f633ae835 Merge tag '4.22.0.1' into 4.22
     add 82bfa9fb3f4 Merge branch '4.22'
     add 0c86899cc19 Added VDDK support in VMware to KVM migrations (#12970)
     add 5013cf2af64 Fix user password reset mail template value  (#12882)
     add 160876c6d7d Fix: API Thread held forever during force deleting across 
MS (#12968)
     add 13842a626d7 Address reviews
     add 2511fdffaad Implement limit validations on updateBucket
     add c298f8f3608 Merge release branch 4.22.0.1 to 4.22
     add f5e75771bcb merge forwards fix
     add 05c59630e0a fix: LB Creation avoid 404 API errors due to non-needed 
patches (#12835)
     add e0fe953791b fix: NSX SDK list operations are pageable: the API returns 
a non-null and non-empty (#12834)
     add 6e810989b63 HAProxy Configuration: 
network.loadbalancer.haproxy.idle.timeout (#12586)
     add 83f705ddc58 Static Routes with nexthop non-functional for private 
gateways (#12859)
     add 89df3181648 [20.3] resource allocation
     add 4dd91feb277 [20.3] resource instance limits
     add 1593944553f [20.3] Implement/fix limit validation for projects
     add 7faa1b650b9 [20.3] resource allocation vpc
     add b025e85fc57 Check resource reservation on volume creation
     add 0edd577f4bb Fix: KVM Direct Download URL injection
     add 3b987f21afb [20.3] handle user's canned policy when a bucket is deleted
     add e0ef3a69472 Check resource reservation on volume snapshot creation
     add 06ee2fea76d Implement/fix limit validation for secondary storage
     add 4bcd509193f Fix resource limit reservation and check during 
StartVirtualMachine
     add 03dfe4d1f3e secondary storage resource limit for download
     add d0f67301579 volume download fix
     add 81a8ac8e1ff secondary storage resource limit for upload
     add 360b64ce1e3 Consider infinite resources when calculating secondary 
storage limit for upload operations
     add 0a4b4c6af05 [20.3] Address limit checks for VM, CPU, memory, volume, 
and primary storage
     add 497266270b9 Cleanup imported VM from disk on failure due to volume 
allocation + prevent duplicate volume and primary storage increment on import
     add e8f8aca694f Fix failing tests
     add dc7068a1351 Address public IP limit validations
     add 23b19a9776d review comments
     add 61afb4cb782 fix identation
     add 7cdcf571fac Fix xcpng test failures (#12812)
     add b497f58022c Fix K8s scaling and deletion issue if firewall rule is for 
ALL ports (#12806)
     add c19630f0a4f Fix snapshot copy resource limit concurrency
     add 4b7370a6017 upgrade: skip the upgrade paths which are not needed 
(#12881)
     add b22dbbe2d7a Fix Revert Instance to Snapshot with custom service 
offering (#12885)
     add 2416db2a443 Fix NPE on external/unmanaged instance import using custom 
offerings (#12884)
     add d38c1f8d125 Fix error message while creating local storage pool 
(#12767)
     add e2497cfc4df backport: default system vm template update implementation 
(#12935)
     add 6f1aa96b4cd engine/schema: fix new systemvm template is not registered 
during upgrade if hypervisor is not KVM (#12952)
     add c8599040b47 Updating pom.xml version numbers for release 4.20.3.0
     add 8eb162cb996 Updating pom.xml version numbers for release 
4.20.4.0-SNAPSHOT
     add c6936889f5c server: prevent adding vm compute details when not 
applicable (#12637)
     add 1fc4cb90bff Routed VR: accept packets from related and established 
connections (#12986)
     add 13a2c7793c2 Merge branch '4.20' into 4.22
     add 2d6280b9daa Merge branch '4.22'
     add f820d0125de fix end of files and codespell errors
     add 3166e64891f Add support for new variables to the GUI whitelabel 
runtime system (#12760)
     add 4df32ae79fb fix: NsxResource.executeRequest DeleteNsxNatRuleCommand 
comparison bug (#12833)
     add 6c1437b7ddd fix end of file schema-42200to42210.sql
     add be89e6f7c37 [KVM] Reorder migration logs to prevent populating agent 
logs on migrations (#12883)
     add 64ac0822b43 merge conflict fixes (#13046)
     add 856d83a15ee Merge branch '4.22'
     add 0e2bac1a06a Merge branch 'main' of 
https://github.com/apache/cloudstack into clvm-enhancements

No new revisions were added by this update.

Summary of changes:
 agent/conf/agent.properties                        |  15 +
 .../cloud/agent/properties/AgentProperties.java    |  29 +
 .../main/java/com/cloud/agent/api/to/BucketTO.java |   7 +
 .../com/cloud/agent/api/to/RemoteInstanceTO.java   |  20 +-
 api/src/main/java/com/cloud/host/Host.java         |   3 +
 .../java/com/cloud/projects/ProjectService.java    |   4 +-
 .../storage/VMTemplateStorageResourceAssoc.java    |   3 +-
 .../java/com/cloud/user/ResourceLimitService.java  |  20 +-
 .../cloudstack/api/ApiCommandResourceType.java     |   4 +-
 .../org/apache/cloudstack/api/ApiConstants.java    |   4 +-
 .../api/command/admin/vm/ImportVmCmd.java          |  12 +
 .../user/account/AddAccountToProjectCmd.java       |   3 +-
 .../command/user/account/AddUserToProjectCmd.java  |   3 +-
 .../RestoreVolumeFromBackupAndAttachToVMCmd.java   |   4 +
 .../api/command/user/bucket/DeleteBucketCmd.java   |   3 +-
 .../api/command/user/job/ListAsyncJobsCmd.java     |  15 +
 .../command/user/job/QueryAsyncJobResultCmd.java   |  18 +-
 .../api/command/user/vm/CreateVMFromBackupCmd.java |   1 +
 .../api/command/user/volume/CreateVolumeCmd.java   |  15 +
 .../cloudstack/api/response/ExtensionResponse.java |  10 +
 .../apache/cloudstack/backup/BackupManager.java    |   2 +-
 .../cloudstack/extension/ExtensionHelper.java      |   3 +
 .../apache/cloudstack/resourcelimit/Reserver.java} |  16 +-
 .../storage/object/BucketApiService.java           |   2 +-
 .../command/test/AddAccountToProjectCmdTest.java   |   3 +
 .../agent/api/CheckConvertInstanceCommand.java     |  23 +
 .../cloud/agent/api/ConvertInstanceCommand.java    |  36 +
 .../agent/api/PropagateResourceEventCommand.java   |  17 +
 .../api/routing/LoadBalancerConfigCommand.java     |   4 +-
 .../cloud/agent/api/storage/DownloadAnswer.java    |   2 +-
 .../com/cloud/network/HAProxyConfigurator.java     |  13 +
 .../download/DirectTemplateDownloaderImpl.java     |  11 +-
 .../download/MetalinkDirectTemplateDownloader.java |   2 +-
 .../download/NfsDirectTemplateDownloader.java      |   2 +-
 .../command/TemplateOrVolumePostUploadCommand.java |   8 +
 .../storage/command/UploadStatusCommand.java       |  10 +
 .../resource/virtualnetwork/ConfigHelperTest.java  |   2 +-
 .../virtualnetwork/VirtualRoutingResourceTest.java |   4 +-
 .../com/cloud/network/HAProxyConfiguratorTest.java |  32 +-
 .../service/NetworkOrchestrationService.java       |  10 +-
 .../service/VolumeOrchestrationService.java        |   2 +-
 .../java/com/cloud/ha/HighAvailabilityManager.java |   3 +
 .../java/com/cloud/resource/ResourceManager.java   |   2 +
 .../com/cloud/agent/manager/AgentManagerImpl.java  |  25 +-
 .../agent/manager/ClusteredAgentManagerImpl.java   |  11 +-
 .../com/cloud/vm/VirtualMachineManagerImpl.java    |  26 +-
 .../engine/orchestration/NetworkOrchestrator.java  | 510 +++++++------
 .../engine/orchestration/VolumeOrchestrator.java   |  24 +-
 .../java/com/cloud/dc/dao/AccountVlanMapDao.java   |   2 +-
 .../com/cloud/dc/dao/AccountVlanMapDaoImpl.java    |   4 +-
 .../java/com/cloud/dc/dao/DomainVlanMapDao.java    |   2 +-
 .../com/cloud/dc/dao/DomainVlanMapDaoImpl.java     |   4 +-
 .../cloud/upgrade/DatabaseVersionHierarchy.java    |   5 +-
 .../com/cloud/upgrade/dao/Upgrade42020to42030.java |   4 -
 .../main/java/com/cloud/vm/dao/VMInstanceDao.java  |   5 +
 .../java/com/cloud/vm/dao/VMInstanceDaoImpl.java   |  35 +
 .../cloudstack/backup/dao/BackupScheduleDao.java   |   6 -
 .../backup/dao/BackupScheduleDaoImpl.java          |  46 +-
 .../resources/META-INF/db/schema-42000to42010.sql  |   2 +-
 .../resources/META-INF/db/schema-42200to42210.sql  |  21 +
 .../META-INF/db/views/cloud.user_vm_view.sql       |   1 +
 .../cloud/upgrade/DatabaseUpgradeCheckerTest.java  |  20 +
 .../vmsnapshot/StorageVMSnapshotStrategy.java      |  19 +-
 .../vmsnapshot/VMSnapshotStrategyKVMTest.java      |   4 +-
 .../allocator/AbstractStoragePoolAllocator.java    |  76 +-
 .../storage/image/BaseImageStoreDriverImpl.java    |  26 +-
 .../extensions/api/CreateExtensionCmd.java         |  10 +
 .../extensions/api/UpdateExtensionCmd.java         |  10 +
 .../extensions/manager/ExtensionsManagerImpl.java  |  98 ++-
 .../extensions/api/CreateExtensionCmdTest.java     |  14 +
 .../extensions/api/UpdateExtensionCmdTest.java     |  15 +
 .../manager/ExtensionsManagerImplTest.java         | 167 +++-
 .../cloudstack/framework/jobs/dao/AsyncJobDao.java |  18 +
 .../framework/jobs/dao/AsyncJobDaoImpl.java        |  33 +
 packaging/el8/cloud.spec                           |  19 +-
 .../manager/BareMetalTemplateAdapter.java          |   1 -
 .../cloud/hypervisor/kvm/resource/KVMHABase.java   |   1 -
 .../hypervisor/kvm/resource/KVMHAMonitor.java      |  15 +-
 .../kvm/resource/LibvirtComputingResource.java     | 169 ++++-
 .../LibvirtCheckConvertInstanceCommandWrapper.java |  10 +-
 ...CheckVMActivityOnStoragePoolCommandWrapper.java |   2 +-
 .../LibvirtCheckVirtualMachineCommandWrapper.java  |   9 +-
 .../LibvirtConvertInstanceCommandWrapper.java      | 307 ++++++--
 .../wrapper/LibvirtMigrateCommandWrapper.java      |  10 +-
 .../wrapper/LibvirtReadyCommandWrapper.java        |   4 +
 .../kvm/storage/KVMStoragePoolManager.java         |   4 +
 .../kvm/storage/KVMStorageProcessor.java           |  24 +-
 .../hypervisor/kvm/storage/LibvirtStoragePool.java |  22 +-
 ...virtCheckConvertInstanceCommandWrapperTest.java |  25 +
 ...bvirtCheckVirtualMachineCommandWrapperTest.java | 191 +++++
 .../LibvirtConvertInstanceCommandWrapperTest.java  | 124 +++
 ...ernetesClusterResourceModifierActionWorker.java |   2 +-
 .../KubernetesClusterScaleWorker.java              |   8 +-
 .../network/lb/ElasticLoadBalancerManagerImpl.java |   3 +-
 .../lb/InternalLoadBalancerVMManagerImpl.java      |   3 +-
 .../apache/cloudstack/service/NsxApiClient.java    | 218 ++++--
 .../apache/cloudstack/service/PagedFetcher.java    |  82 ++
 .../cloudstack/service/NsxApiClientTest.java       | 311 ++++++++
 .../cloudstack/service/PagedFetcherTest.java       | 156 ++++
 .../driver/MinIOObjectStoreDriverImpl.java         |  81 +-
 .../driver/MinIOObjectStoreDriverImplTest.java     |   7 +-
 .../CloudStackPrimaryDataStoreDriverImpl.java      |   3 +-
 .../datastore/adapter/primera/PrimeraAdapter.java  |   1 +
 scripts/vm/hypervisor/kvm/kvmsmpheartbeat.sh       | 218 ++++++
 server/src/main/java/com/cloud/api/ApiDBUtils.java |  10 +-
 .../main/java/com/cloud/api/ApiResponseHelper.java |  66 +-
 .../java/com/cloud/api/query/QueryManagerImpl.java |  43 +-
 .../com/cloud/api/query/ResourceIdSupport.java     | 123 +++
 .../com/cloud/api/query/dao/UserVmJoinDaoImpl.java |  27 +-
 .../java/com/cloud/api/query/vo/UserVmJoinVO.java  |   7 +
 .../configuration/ConfigurationManagerImpl.java    | 141 ++--
 .../cloud/consoleproxy/ConsoleProxyManager.java    |   3 -
 .../consoleproxy/ConsoleProxyManagerImpl.java      |   2 +-
 .../java/com/cloud/network/NetworkServiceImpl.java |  44 +-
 .../cloud/network/router/CommandSetupHelper.java   |   3 +-
 .../router/VirtualNetworkApplianceManagerImpl.java |   2 +-
 .../java/com/cloud/network/vpc/VpcManagerImpl.java |  85 ++-
 .../com/cloud/projects/ProjectManagerImpl.java     | 141 ++--
 .../com/cloud/resource/ResourceManagerImpl.java    |  24 +-
 .../cloud/resourcelimit/CheckedReservation.java    | 117 ++-
 .../com/cloud/resourcelimit/ReservationHelper.java |  16 +-
 .../resourcelimit/ResourceLimitManagerImpl.java    | 212 +++---
 .../cloud/storage/ImageStoreUploadMonitorImpl.java | 180 ++++-
 .../java/com/cloud/storage/StorageManagerImpl.java |  18 +-
 .../com/cloud/storage/VolumeApiServiceImpl.java    | 774 +++++++++++--------
 .../storage/download/DownloadActiveState.java      |   5 +
 .../cloud/storage/download/DownloadErrorState.java |   5 +
 .../storage/download/DownloadInactiveState.java    |   6 +
 ...edState.java => DownloadLimitReachedState.java} |  21 +-
 .../cloud/storage/download/DownloadListener.java   |  89 ++-
 .../com/cloud/storage/download/DownloadState.java  |   6 +-
 .../storage/snapshot/SnapshotManagerImpl.java      | 258 ++++---
 .../cloud/template/HypervisorTemplateAdapter.java  |  39 +-
 .../com/cloud/template/TemplateAdapterBase.java    |   4 +-
 .../com/cloud/template/TemplateManagerImpl.java    | 310 ++++----
 .../java/com/cloud/user/AccountManagerImpl.java    |  18 +
 .../java/com/cloud/user/DomainManagerImpl.java     |  20 +
 .../main/java/com/cloud/vm/UserVmManagerImpl.java  | 452 +++++------
 .../cloud/vm/snapshot/VMSnapshotManagerImpl.java   |  69 +-
 .../cloudstack/backup/BackupManagerImpl.java       | 124 +--
 .../cloudstack/gui/theme/GuiThemeServiceImpl.java  | 110 +--
 .../validator/JsonConfigAttributeValidator.java    |   9 +-
 .../json/config/validator/JsonConfigValidator.java |  76 ++
 .../config/validator/attributes/AttributeBase.java |  72 ++
 .../validator/attributes/ErrorAttribute.java       |  35 +-
 .../validator/attributes/PluginsAttribute.java     |  68 ++
 .../validator/attributes/ThemeAttribute.java       |  43 ++
 .../validator/attributes/UserCardAttribute.java    |  88 +++
 .../storage/object/BucketApiServiceImpl.java       | 151 ++--
 .../volume/VolumeImportUnmanageManagerImpl.java    |  37 +-
 .../cloudstack/vm/UnmanagedVMsManagerImpl.java     | 841 +++++++++++++--------
 .../core/spring-server-core-misc-context.xml       |   5 +
 .../com/cloud/api/query/QueryManagerImplTest.java  |   2 +-
 .../cloud/api/query/dao/UserVmJoinDaoImplTest.java |   4 +
 .../java/com/cloud/hypervisor/KVMGuruTest.java     |  50 +-
 .../com/cloud/network/vpc/VpcManagerImplTest.java  |  15 +-
 .../cloud/resource/MockResourceManagerImpl.java    |   5 +
 .../cloud/resource/ResourceManagerImplTest.java    |  27 +
 .../resourcelimit/CheckedReservationTest.java      |  17 +-
 .../ResourceLimitManagerImplTest.java              | 112 +--
 .../cloud/storage/VolumeApiServiceImplTest.java    |  52 +-
 .../storage/snapshot/SnapshotManagerImplTest.java  |   4 +-
 .../storage/snapshot/SnapshotManagerTest.java      |  55 +-
 .../cloud/template/TemplateManagerImplTest.java    | 137 ++--
 .../java/com/cloud/user/DomainManagerImplTest.java |   7 +-
 .../java/com/cloud/vm/UserVmManagerImplTest.java   | 152 +++-
 .../cloud/vm/snapshot/VMSnapshotManagerTest.java   |  58 +-
 .../java/com/cloud/vpc/MockNetworkManagerImpl.java |   2 +-
 .../cloud/vpc/MockResourceLimitManagerImpl.java    |  41 +-
 .../cloudstack/backup/BackupManagerTest.java       | 208 +++--
 .../storage/object/BucketApiServiceImplTest.java   | 139 +++-
 .../VolumeImportUnmanageManagerImplTest.java       |   3 -
 .../cloudstack/vm/UnmanagedVMsManagerImplTest.java | 341 +++++++--
 .../storage/resource/HttpUploadServerHandler.java  |   2 +
 .../resource/NfsSecondaryStorageResource.java      |  33 +-
 .../storage/template/DownloadManagerImpl.java      |   2 +-
 systemvm/debian/opt/cloud/bin/cs/CsAddress.py      |  47 +-
 systemvm/debian/opt/cloud/bin/cs/CsHelper.py       |  30 +
 systemvm/debian/opt/cloud/bin/cs/CsNetfilter.py    |   2 +
 systemvm/debian/opt/cloud/bin/cs/CsStaticRoutes.py |  40 +-
 .../debian/root/health_checks/haproxy_check.py     |  43 +-
 .../test_redundant_router_deployment_planning.py   | 770 ++++++++++---------
 test/integration/smoke/test_public_ip_range.py     |  68 +-
 ui/public/locales/en.json                          |   6 +
 ui/src/components/view/Setting.vue                 |   2 +-
 ui/src/config/section/extension.js                 |   2 +-
 ui/src/utils/guiTheme.js                           |  27 +-
 ui/src/views/extension/CreateExtension.vue         |  11 +
 ui/src/views/extension/UpdateExtension.vue         |  17 +-
 ui/src/views/infra/HostInfo.vue                    |  16 +
 ui/src/views/storage/CreateVolume.vue              |  74 ++
 ui/src/views/tools/ImportUnmanagedInstance.vue     | 100 ++-
 192 files changed, 7971 insertions(+), 3426 deletions(-)
 copy api/src/main/java/{com/cloud/network/rules/LoadBalancer.java => 
org/apache/cloudstack/resourcelimit/Reserver.java} (68%)
 create mode 100644 
plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtCheckVirtualMachineCommandWrapperTest.java
 create mode 100644 
plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/PagedFetcher.java
 create mode 100644 
plugins/network-elements/nsx/src/test/java/org/apache/cloudstack/service/PagedFetcherTest.java
 create mode 100755 scripts/vm/hypervisor/kvm/kvmsmpheartbeat.sh
 create mode 100644 
server/src/main/java/com/cloud/api/query/ResourceIdSupport.java
 copy api/src/main/java/com/cloud/exception/InvalidParameterValueException.java 
=> server/src/main/java/com/cloud/resourcelimit/ReservationHelper.java (72%)
 copy 
server/src/main/java/com/cloud/storage/download/{DownloadAbandonedState.java => 
DownloadLimitReachedState.java} (67%)
 copy 
api/src/main/java/org/apache/cloudstack/api/IBaseListTaggedResourcesCmd.java => 
server/src/main/java/org/apache/cloudstack/gui/theme/json/config/validator/JsonConfigAttributeValidator.java
 (75%)
 create mode 100644 
server/src/main/java/org/apache/cloudstack/gui/theme/json/config/validator/JsonConfigValidator.java
 create mode 100644 
server/src/main/java/org/apache/cloudstack/gui/theme/json/config/validator/attributes/AttributeBase.java
 copy core/src/main/java/com/cloud/agent/api/CheckS2SVpnConnectionsCommand.java 
=> 
server/src/main/java/org/apache/cloudstack/gui/theme/json/config/validator/attributes/ErrorAttribute.java
 (58%)
 create mode 100644 
server/src/main/java/org/apache/cloudstack/gui/theme/json/config/validator/attributes/PluginsAttribute.java
 create mode 100644 
server/src/main/java/org/apache/cloudstack/gui/theme/json/config/validator/attributes/ThemeAttribute.java
 create mode 100644 
server/src/main/java/org/apache/cloudstack/gui/theme/json/config/validator/attributes/UserCardAttribute.java

Reply via email to