This is an automated email from the ASF dual-hosted git repository.
DaanHoogland pushed a change to branch ghi10752-configCleanup
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
from f7739ad9bc8 remove duplicate config key
add cd801b85615 usage: widen usage_volume unique key to include vm_id
(#13909)
add 2b78432edf3 Revert `registerUserKeys` back to a synchronous API
(#13896)
add d45d48180ae Fix KBOSS backup creation edge case (#13880)
add 4bfeb96c96f API key pair restructure follow-ups (#13828)
add 532852824a9 Add debug logging when storage pool has insufficient IOPS
capacity (#13579)
add 5dcb8abaf34 Fix checkRoleEscalation performance and bugs in access
checking (#12973)
add 9b9d0cf63be api,server: improve async job storage
add 72bdf5989bd add access validation for the deleteUserData,
linkUserDataToTemplate and resetUserDataForVirtualMachine APIs
add d463cb42a84 api: add ACL on ApiConstants.USER_DATA_ID
add a72f60519f5 ldap: improve config access
add 6b9fdd0d06c Add proper access check before proceeding with adding or
removing nodes from a CKS cluster
add 56ad044865b api,server,kvm: improve backup repository mount handling
add 443f20bf1c0 Allow only authorized users to add and list entity's
annotations
add a40d068228d Restrict domain admin access to project roles within their
own domain and add tests to cover perm check for proj role permissions
add 8221f625115 webhook: improve deliveries access
add fb758afbbc3 server: fix access for disable user 2fa
add 6c0e152ad2f Upgrade axios to 0.31.1 which has the config merge fix
add 53a7c294658 Fix issue in direct download and NFS templates
add f52f9da27bc Prevent command injections in get/run diagnostics API
add aa77259f481 oauth2: improve list providers api for access
add b98e1f568c6 oauth2: improve google provider flow
add e8f200afa3b Fix database connection leak
add 1790275babd webhook: additional check for payload url
add f2df4d9754a saml: reject signed SAMLResponse when IdP has no signing
certificate registered
add 9c32086e605 Restrict listHostTags to hosts dedicated to the caller's
domain (including sub-domains and accounts in a domain)
add 90f6b2a4cd5 Validate URL before obtaining remote size
add 2a027330579 Escape HTML in username, VM display name and diagnostics
output
add 549daae01ff correction in vpc limit assignment (#13627)
add f8a3762f076 do not send jetty version on failure to start (#13744)
add 69fc541737e server: ignore projectid=-1 for finding owner (#12695)
add 1e5d534c3ca guard against stopping stats background threads (#13659)
add 2bc8d299733 Don't allow adding of existing host to another zone, pod
or cluster (#13182)
add 5432a04ae6e Ensure VM IP is removed from VR DHCP records in
dnsmasq.leases after expunge VM (#13194)
add 18c1a30028d Allow only authorized users to add and list entity's
annotations
add 30e6abb63fb Restrict domain admin access to project roles within their
own domain and add tests to cover perm check for proj role permissions
add 4ae69bc7fd3 Restrict listHostTags to hosts dedicated to the caller's
domain (including sub-domains and accounts in a domain)
add e6640803ed9 webhook: improve deliveries access
add bbd37271c62 Validate URL before obtaining remote size
add 19d31cf6faf ldap: improve config access
add 57a2b4d5051 server: fix access for disable user 2fa
add 113ccb28e3b Upgrade axios to 0.31.1 which has the config merge fix
add 3eb928bc72d Escape HTML in username, VM display name and diagnostics
output
add 07e09db0af5 Fix issue in direct download and NFS templates
add 7c872a988ac api,server: improve async job storage
add 5b325dd49e4 Prevent command injections in get/run diagnostics API
add f320f552c33 oauth2: improve list providers api for access
add b17edb538e0 oauth2: improve google provider flow
add 9781fb906a7 api,server,kvm: improve backup repository mount handling
add ea75dc3c437 Fix database connection leak
add 2c7f13b709f webhook: additional check for payload url
add 04598336311 saml: reject signed SAMLResponse when IdP has no signing
certificate registered
add 8985a1fc7c2 add access validation for the deleteUserData,
linkUserDataToTemplate and resetUserDataForVirtualMachine APIs
add 6136ac93854 api: add ACL on ApiConstants.USER_DATA_ID
add 7fd56e573b8 Merge remote-tracking branch 'apache/4.20' into 4.22
add 7fc063ec13d build: fix after forward-merge
add 85bcdb1cc48 Fix NAS backup filename for legacy LINSTOR path (#13538)
add efa58cc52fc Merge remote-tracking branch 'origin/4.22'
add d7b4f35825a fixes after forward-merge
add cd486acc939 kvm: execute "qemu-img convert" by
Script.executeCommandForExitValue
add 02182a1572a Merge branch '4.23.0-merge-4.22.1.1' into main
add 8b72a16d61f build: fixes after forward-merge
add ba67a627f7a quota: skip usage records registering the period a volume
has been attached (#13936)
add 5e5ae0c51cd Fix type parameter in listBackupServiceJobs API (#13940)
add 826a7b9238e Merge branch 'main' into ghi10752-configCleanup
No new revisions were added by this update.
Summary of changes:
.../main/java/com/cloud/user/AccountService.java | 2 +
.../java/org/apache/cloudstack/acl/APIChecker.java | 33 ++-
.../org/apache/cloudstack/api/ApiArgValidator.java | 73 +++++-
.../org/apache/cloudstack/api/BaseAsyncCmd.java | 1 -
.../api/command/admin/user/DeleteUserKeysCmd.java | 23 +-
.../command/admin/user/RegisterUserKeysCmd.java | 37 +--
.../admin/vm/ResetVMPasswordCmdByAdmin.java | 2 +-
.../autoscale/CreateAutoScaleVmProfileCmd.java | 2 +
.../autoscale/UpdateAutoScaleVmProfileCmd.java | 1 +
.../backup/repository/AddBackupRepositoryCmd.java | 4 +-
.../repository/UpdateBackupRepositoryCmd.java | 8 +-
.../command/user/userdata/DeleteUserDataCmd.java | 17 +-
.../user/userdata/LinkUserDataToTemplateCmd.java | 3 +
.../api/command/user/vm/BaseDeployVMCmd.java | 1 +
.../api/command/user/vm/ResetVMPasswordCmd.java | 2 +-
.../api/command/user/vm/ResetVMUserDataCmd.java | 1 +
.../api/command/user/vm/UpdateVMCmd.java | 1 +
.../cloudstack/api/response/DomainResponse.java | 2 +-
.../cloudstack/api/response/HostTagResponse.java | 6 +-
.../direct/download/DirectDownloadManager.java | 10 +
.../user/userdata/DeleteUserDataCmdTest.java | 31 ++-
.../template/MetalinkTemplateDownloader.java | 7 +
.../directdownload/DirectDownloadCommand.java | 11 +-
.../direct/download/DirectDownloadHelper.java | 5 +-
.../download/MetalinkDirectTemplateDownloader.java | 55 ++++-
.../download/NfsDirectTemplateDownloader.java | 79 ++++++-
.../download/NfsDirectTemplateDownloaderTest.java | 73 ++++++
.../com/cloud/vm/VirtualMachineManagerImpl.java | 6 +-
.../java/com/cloud/host/dao/HostTagsDaoImpl.java | 1 -
.../backup/dao/InternalBackupServiceJobDao.java | 2 +-
.../dao/InternalBackupServiceJobDaoImpl.java | 4 +-
.../resources/META-INF/db/schema-42210to42300.sql | 5 +
.../framework/config/impl/ConfigDepotImpl.java | 11 +-
.../framework/jobs/AsyncJobDataHelper.java | 150 ++++++++++++
.../framework/jobs/impl/AsyncJobManagerImpl.java | 50 ++--
.../cloudstack/framework/jobs/impl/AsyncJobVO.java | 22 +-
.../framework/jobs/AsyncJobDataHelperTest.java | 249 ++++++++++++++++++++
.../framework/jobs/AsyncJobManagerTest.java | 2 -
.../apache/cloudstack/quota/QuotaManagerImpl.java | 6 +
.../cloudstack/quota/QuotaManagerImplTest.java | 62 +++++
.../acl/DynamicRoleBasedAPIAccessChecker.java | 47 +++-
.../acl/DynamicRoleBasedAPIAccessCheckerTest.java | 166 +++++++++++--
.../acl/ProjectRoleBasedApiAccessChecker.java | 10 +-
.../acl/StaticRoleBasedAPIAccessChecker.java | 23 +-
.../discovery/ApiDiscoveryServiceImpl.java | 4 +-
.../ratelimit/ApiRateLimitServiceImpl.java | 7 +-
.../cloudstack/ratelimit/ApiRateLimitTest.java | 2 +-
.../cloudstack/backup/KbossBackupProvider.java | 4 +-
.../cloudstack/backup/KbossBackupProviderTest.java | 1 +
.../mom/webhook/WebhookApiServiceImpl.java | 81 ++++---
.../mom/webhook/WebhookDeliveryThread.java | 116 ++++++++--
.../cloudstack/mom/webhook/WebhookService.java | 38 ++-
.../cloudstack/mom/webhook/WebhookServiceImpl.java | 61 ++++-
.../mom/webhook/WebhookUrlValidator.java | 123 ++++++++++
.../mom/webhook/dao/WebhookDeliveryDao.java | 3 +-
.../mom/webhook/dao/WebhookDeliveryDaoImpl.java | 13 +-
.../mom/webhook/dao/WebhookDeliveryJoinDao.java | 6 +-
.../webhook/dao/WebhookDeliveryJoinDaoImpl.java | 9 +-
.../mom/webhook/WebhookApiServiceImplTest.java | 257 +++++++++++++++++----
.../mom/webhook/WebhookDeliveryThreadTest.java | 7 +
.../mom/webhook/WebhookServiceImplTest.java | 20 +-
.../mom/webhook/WebhookUrlValidatorTest.java | 100 ++++++++
.../webhook/dao/WebhookDeliveryDaoImplTest.java | 6 +-
.../dao/WebhookDeliveryJoinDaoImplTest.java | 6 +-
.../LibvirtRestoreBackupCommandWrapper.java | 135 ++++++-----
.../LibvirtRestoreBackupCommandWrapperTest.java | 120 +++++-----
.../cluster/KubernetesClusterManagerImpl.java | 8 +-
.../contrail/management/MockAccountManager.java | 9 +
.../api/response/LdapConfigurationResponse.java | 17 +-
.../apache/cloudstack/ldap/LdapManagerImpl.java | 25 +-
.../oauth2/api/command/ListOAuthProvidersCmd.java | 43 +++-
.../oauth2/google/GoogleOAuth2Provider.java | 94 +++++---
.../oauth2/google/GoogleOAuth2ProviderTest.java | 176 ++++++++------
.../api/command/SAML2LoginAPIAuthenticatorCmd.java | 78 ++++---
scripts/vm/hypervisor/kvm/nasbackup.sh | 41 +++-
server/src/main/java/com/cloud/api/ApiServer.java | 18 +-
.../com/cloud/api/dispatch/ParamProcessWorker.java | 6 +
.../java/com/cloud/api/query/QueryManagerImpl.java | 72 +++++-
.../com/cloud/api/query/vo/AsyncJobJoinVO.java | 3 +-
.../com/cloud/dc/dao/DedicatedResourceDao.java | 6 +
.../com/cloud/dc/dao/DedicatedResourceDaoImpl.java | 12 +
.../com/cloud/resource/ResourceManagerImpl.java | 75 +++++-
.../main/java/com/cloud/server/StatsCollector.java | 14 +-
.../java/com/cloud/storage/StorageManagerImpl.java | 8 +-
.../com/cloud/storage/VolumeApiServiceImpl.java | 16 +-
.../com/cloud/template/TemplateManagerImpl.java | 25 +-
.../main/java/com/cloud/user/AccountManager.java | 3 +
.../java/com/cloud/user/AccountManagerImpl.java | 130 +++++++++--
.../main/java/com/cloud/vm/UserVmManagerImpl.java | 14 +-
.../cloud/vm/snapshot/VMSnapshotManagerImpl.java | 10 +-
.../cloudstack/acl/ProjectRoleManagerImpl.java | 17 +-
.../org/apache/cloudstack/acl/RoleManagerImpl.java | 3 +
.../annotation/AnnotationManagerImpl.java | 9 +-
.../diagnostics/DiagnosticsServiceImpl.java | 37 ++-
.../direct/download/DirectDownloadManagerImpl.java | 27 ++-
.../cloud/api/dispatch/ParamProcessWorkerTest.java | 20 ++
.../com/cloud/api/query/QueryManagerImplTest.java | 230 +++++++++++++++++-
.../cloud/resource/ResourceManagerImplTest.java | 90 ++++++++
.../java/com/cloud/server/StatsCollectorTest.java | 43 ++++
.../cloud/template/TemplateManagerImplTest.java | 64 +++++
.../com/cloud/user/AccountManagerImplTest.java | 152 +++++++++++-
.../java/com/cloud/vm/UserVmManagerImplTest.java | 1 -
.../cloudstack/acl/ProjectRoleManagerImplTest.java | 245 ++++++++++++++++++++
.../diagnostics/DiagnosticsServiceImplTest.java | 133 +++++++++++
.../consoleproxy/ConsoleProxyNoVNCServer.java | 10 +-
systemvm/debian/opt/cloud/bin/cs/CsDhcp.py | 67 +++++-
test/integration/smoke/test_webhook_delivery.py | 67 +++++-
test/integration/smoke/test_webhook_lifecycle.py | 83 ++++++-
ui/package.json | 2 +-
ui/public/locales/en.json | 2 -
ui/public/locales/pt_BR.json | 4 +-
ui/src/components/view/ApiKeyPairsTab.vue | 27 +--
ui/src/config/section/compute.js | 3 +-
ui/src/config/section/infra/routers.js | 3 +-
ui/src/config/section/infra/systemVms.js | 3 +-
ui/src/config/section/network.js | 3 +-
ui/src/config/section/user.js | 3 +-
ui/src/utils/util.js | 9 +
ui/src/views/iam/GenerateApiKeyPair.vue | 18 +-
.../src/main/java/com/cloud/utils/StringUtils.java | 23 ++
utils/src/main/java/com/cloud/utils/UriUtils.java | 145 +++++++++++-
121 files changed, 4133 insertions(+), 738 deletions(-)
create mode 100644
core/src/test/java/org/apache/cloudstack/direct/download/NfsDirectTemplateDownloaderTest.java
create mode 100644
framework/jobs/src/main/java/org/apache/cloudstack/framework/jobs/AsyncJobDataHelper.java
create mode 100644
framework/jobs/src/test/java/org/apache/cloudstack/framework/jobs/AsyncJobDataHelperTest.java
create mode 100644
plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/WebhookUrlValidator.java
create mode 100644
plugins/event-bus/webhook/src/test/java/org/apache/cloudstack/mom/webhook/WebhookUrlValidatorTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/acl/ProjectRoleManagerImplTest.java