This is an automated email from the ASF dual-hosted git repository.
weizhouapache pushed a change to branch update-dbtype-nwrate
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
from 6ed9170facd update column type
add 02bb5de4de4 Addition of description field for NIC's secondary IP
addresses (#12864)
add 957bfbb1cdd Replace issue triage agent with githubnext/agentics daily
issue triage (#13434)
add dde6eec7ed4 Update .asf.yaml (#13438)
add 5ad7daf6100 Add code coverage grading workflow (#13140)
add 4ea2645b3e0 [INFRA] Set up default rulesets for default and release
branches (#13169)
add ce2d890e387 Bump the github-actions-dependencies group across 1
directory with 5 updates (#13396)
add 8ef036e7175 UI for API Key Pair Management (#13225)
add c2c855b9b18 Add keycloak OAuth provider (#13033)
add 21e4475d961 Optimize the DB updates to use bulk UPDATE instead of
row-level locks. (#13349)
add ea6cbada9b2 Multiple CD-ROM / ISO Support Per VM (#13101)
add 82986f6cff9 Refactors VM Schedule to make it more generic & add option
to schedule min & max for autoscaling groups (#13148)
add 06aebb63ee9 Update .asf.yaml: remove protected_branches
add 5ed4894e97b storage: Add config keys for controlling public/private
template secondary storage replica counts (#12877)
add 19f81edb437 Merge branch 'main' into update-dbtype-nwrate
No new revisions were added by this update.
Summary of changes:
.asf.yaml | 18 +-
.../.github_workflows_shared_noop-reminder.md | 5 -
.../.github_workflows_shared_reporting.md | 73 ---
.github/workflows/build.yml | 2 +-
.github/workflows/ci.yml | 4 +-
.github/workflows/codeql-analysis.yml | 8 +-
...-agent.lock.yml => daily-issue-triage.lock.yml} | 214 +++++----
.github/workflows/daily-issue-triage.md | 171 +++++++
.github/workflows/daily-repo-status.lock.yml | 54 +--
.github/workflows/daily-repo-status.md | 4 +
.github/workflows/docker-cloudstack-simulator.yml | 4 +-
.github/workflows/issue-triage-agent.md | 91 ----
.github/workflows/main-sonar-check.yml | 4 +-
.github/workflows/merge-conflict-checker.yml | 2 +-
.github/workflows/pre-commit.yml | 2 +-
.github/workflows/rat.yml | 2 +-
.github/workflows/sonar-check.yml | 50 +-
.github/workflows/ui.yml | 2 +-
api/src/main/java/com/cloud/event/EventTypes.java | 35 +-
api/src/main/java/com/cloud/host/Host.java | 1 +
.../java/com/cloud/network/NetworkService.java | 2 +-
api/src/main/java/com/cloud/vm/NicSecondaryIp.java | 2 +
.../org/apache/cloudstack/api/ApiConstants.java | 2 +
.../command/admin/user/RegisterUserKeysCmd.java | 5 +-
.../api/command/user/iso/DetachIsoCmd.java | 7 +-
.../user/schedule/CreateResourceScheduleCmd.java | 132 ++++++
.../user/schedule/DeleteResourceScheduleCmd.java | 86 ++++
.../user/schedule/ListResourceScheduleCmd.java | 97 ++++
.../user/schedule/UpdateResourceScheduleCmd.java | 108 +++++
.../api/command/user/vm/AddIpToVmNicCmd.java | 5 +-
.../api/command/user/vm/CreateVMScheduleCmd.java | 31 +-
.../api/command/user/vm/DeleteVMScheduleCmd.java | 28 +-
.../api/command/user/vm/ListVMScheduleCmd.java | 40 +-
.../api/command/user/vm/UpdateVMScheduleCmd.java | 40 +-
...stTagResponse.java => AttachedIsoResponse.java} | 59 +--
.../api/response/NicSecondaryIpResponse.java | 12 +
...Response.java => ResourceScheduleResponse.java} | 105 ++++-
.../cloudstack/api/response/UserVmResponse.java | 24 +
.../api/response/VMScheduleResponse.java | 26 +-
.../ResourceSchedule.java} | 23 +-
.../schedule/ResourceScheduleManager.java | 45 ++
.../ResourceScheduledJob.java} | 13 +-
.../autoscale/AutoScaleScheduleAction.java | 18 +-
.../cloudstack/schedule/vm/VMScheduleAction.java | 34 +-
.../cloudstack/vm/schedule/VMScheduleManager.java | 40 --
.../api/command/test/AddIpToVmNicTest.java | 4 +-
.../command/user/vm/CreateVMScheduleCmdTest.java | 28 +-
.../command/user/vm/DeleteVMScheduleCmdTest.java | 20 +-
.../api/command/user/vm/ListVMScheduleCmdTest.java | 38 +-
.../command/user/vm/UpdateVMScheduleCmdTest.java | 41 +-
...ponseTest.java => AttachedIsoResponseTest.java} | 32 +-
.../subsystem/api/storage/TemplateService.java | 6 +
.../java/com/cloud/template/TemplateManager.java | 35 ++
.../java/com/cloud/alert/dao/AlertDaoImpl.java | 28 +-
.../java/com/cloud/event/dao/EventDaoImpl.java | 29 +-
.../main/java/com/cloud/host/dao/HostDaoImpl.java | 22 +-
.../security/dao/SecurityGroupWorkDaoImpl.java | 39 +-
.../VmRulesetLogVO.java => vm/VmIsoMapVO.java} | 56 +--
.../java/com/cloud/vm/dao/NicSecondaryIpVO.java | 15 +-
...InstanceGroupVMMapDao.java => VmIsoMapDao.java} | 14 +-
.../java/com/cloud/vm/dao/VmIsoMapDaoImpl.java | 92 ++++
.../org/apache/cloudstack/acl/ApiKeyPairVO.java | 2 +-
.../ResourceScheduleDetailVO.java} | 28 +-
.../ResourceScheduleVO.java} | 62 ++-
.../ResourceScheduledJobVO.java} | 59 ++-
.../dao/ResourceScheduleDao.java} | 19 +-
.../schedule/dao/ResourceScheduleDaoImpl.java | 109 +++++
.../schedule/dao/ResourceScheduleDetailsDao.java} | 7 +-
.../dao/ResourceScheduleDetailsDaoImpl.java} | 14 +-
.../dao/ResourceScheduledJobDao.java} | 16 +-
.../dao/ResourceScheduledJobDaoImpl.java} | 61 ++-
.../vm/schedule/dao/VMScheduleDaoImpl.java | 108 -----
.../spring-engine-schema-core-daos-context.xml | 6 +-
.../resources/META-INF/db/schema-42210to42300.sql | 86 +++-
.../test/java/com/cloud/vm/VmIsoMapVOTest.java} | 28 +-
.../storage/image/TemplateServiceImpl.java | 217 ++++++++-
.../storage/image/TemplateServiceImplTest.java | 29 +-
.../kvm/resource/LibvirtComputingResource.java | 16 +
.../hypervisor/kvm/resource/LibvirtVMDef.java | 4 +
.../kvm/storage/KVMStorageProcessor.java | 15 +-
plugins/user-authenticators/oauth2/pom.xml | 5 +
.../cloudstack/oauth2/OAuth2AuthManagerImpl.java | 47 +-
.../oauth2/api/command/ListOAuthProvidersCmd.java | 13 +-
.../api/command/RegisterOAuthProviderCmd.java | 45 +-
.../oauth2/api/command/UpdateOAuthProviderCmd.java | 35 +-
.../oauth2/api/response/OauthProviderResponse.java | 35 +-
.../oauth2/github/GithubOAuth2Provider.java | 23 +-
.../oauth2/google/GoogleOAuth2Provider.java | 30 +-
.../oauth2/keycloak/KeycloakOAuth2Provider.java | 184 ++++++++
.../cloudstack/oauth2/vo/OauthProviderVO.java | 34 +-
.../cloudstack/oauth2/spring-oauth2-context.xml | 5 +-
.../keycloak/KeycloakOAuth2ProviderTest.java | 225 +++++++++
scripts/coverage-grade.sh | 174 +++++++
.../main/java/com/cloud/api/ApiResponseHelper.java | 2 +
.../com/cloud/api/query/dao/UserVmJoinDaoImpl.java | 71 +++
.../java/com/cloud/network/NetworkServiceImpl.java | 4 +-
.../com/cloud/network/as/AutoScaleManager.java | 2 +
.../com/cloud/network/as/AutoScaleManagerImpl.java | 44 +-
.../cloud/storage/ImageStoreUploadMonitorImpl.java | 6 +
.../cloud/template/HypervisorTemplateAdapter.java | 19 +-
.../com/cloud/template/TemplateAdapterBase.java | 45 +-
.../com/cloud/template/TemplateManagerImpl.java | 315 +++++++++++--
.../main/java/com/cloud/vm/UserVmManagerImpl.java | 5 +
.../cloudstack/schedule/BaseScheduleWorker.java | 417 +++++++++++++++++
.../schedule/ResourceScheduleManagerImpl.java | 450 ++++++++++++++++++
.../autoscale/AutoScaleScheduleWorker.java | 146 ++++++
.../cloudstack/schedule/vm/VMScheduleWorker.java | 145 ++++++
.../vm/schedule/VMScheduleManagerImpl.java | 326 -------------
.../apache/cloudstack/vm/schedule/VMScheduler.java | 36 --
.../cloudstack/vm/schedule/VMSchedulerImpl.java | 420 -----------------
.../core/spring-server-core-managers-context.xml | 7 +-
.../cloud/api/query/dao/UserVmJoinDaoImplTest.java | 46 ++
.../cloud/network/as/AutoScaleManagerImplTest.java | 22 +-
.../template/HypervisorTemplateAdapterTest.java | 80 ++--
.../cloud/template/TemplateManagerImplTest.java | 243 ++++++++++
.../java/com/cloud/vpc/MockNetworkManagerImpl.java | 2 +-
.../schedule/ResourceScheduleManagerImplTest.java | 427 +++++++++++++++++
.../autoscale/AutoScaleScheduleWorkerTest.java | 164 +++++++
.../schedule/vm/VMScheduleWorkerTest.java | 398 ++++++++++++++++
.../vm/schedule/VMScheduleManagerImplTest.java | 282 -----------
.../vm/schedule/VMSchedulerImplTest.java | 388 ---------------
test/integration/smoke/test_vm_autoscaling.py | 90 +++-
test/integration/smoke/test_vm_schedule.py | 80 ++--
tools/apidoc/gen_toc.py | 1 +
tools/marvin/marvin/lib/base.py | 45 ++
ui/public/assets/keycloak.svg | 1 +
ui/public/locales/en.json | 35 +-
ui/public/locales/pt_BR.json | 23 +-
ui/public/locales/te.json | 6 +-
ui/src/components/view/ApiKeyPairsTab.vue | 451 ++++++++++++++++++
ui/src/components/view/DetailsTab.vue | 4 +-
ui/src/components/view/InfoCard.vue | 104 ++---
ui/src/components/view/ListView.vue | 30 +-
ui/src/config/router.js | 2 +
ui/src/config/section/compute.js | 38 +-
ui/src/config/section/config.js | 8 +-
ui/src/config/section/keypair.js | 69 +++
ui/src/config/section/user.js | 6 +
ui/src/views/AutogenView.vue | 7 +-
ui/src/views/auth/Login.vue | 48 +-
ui/src/views/compute/AttachIso.vue | 112 +++--
ui/src/views/compute/DetachIso.vue | 178 +++++++
ui/src/views/compute/InstanceTab.vue | 49 +-
...InstanceSchedules.vue => ResourceSchedules.vue} | 193 ++++++--
ui/src/views/iam/ApiKeyPairPermissionTable.vue | 518 +++++++++++++++++++++
ui/src/views/iam/GenerateApiKeyPair.vue | 226 +++++++++
ui/src/views/network/NicsTab.vue | 8 +
ui/src/views/network/NicsTable.vue | 2 +-
ui/src/views/setting/ConfigurationValue.vue | 5 +-
149 files changed, 7987 insertions(+), 2834 deletions(-)
delete mode 100644
.github/aw/imports/github/gh-aw/359795d49ada21681ab616bd4cbcb144a7387115/.github_workflows_shared_noop-reminder.md
delete mode 100644
.github/aw/imports/github/gh-aw/359795d49ada21681ab616bd4cbcb144a7387115/.github_workflows_shared_reporting.md
rename .github/workflows/{issue-triage-agent.lock.yml =>
daily-issue-triage.lock.yml} (90%)
create mode 100644 .github/workflows/daily-issue-triage.md
delete mode 100644 .github/workflows/issue-triage-agent.md
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/schedule/CreateResourceScheduleCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/schedule/DeleteResourceScheduleCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/schedule/ListResourceScheduleCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/schedule/UpdateResourceScheduleCmd.java
copy
api/src/main/java/org/apache/cloudstack/api/response/{HostTagResponse.java =>
AttachedIsoResponse.java} (55%)
copy
api/src/main/java/org/apache/cloudstack/api/response/{VMScheduleResponse.java
=> ResourceScheduleResponse.java} (54%)
rename api/src/main/java/org/apache/cloudstack/{vm/schedule/VMSchedule.java =>
schedule/ResourceSchedule.java} (66%)
create mode 100644
api/src/main/java/org/apache/cloudstack/schedule/ResourceScheduleManager.java
rename
api/src/main/java/org/apache/cloudstack/{vm/schedule/VMScheduledJob.java =>
schedule/ResourceScheduledJob.java} (77%)
copy
framework/db/src/main/java/com/cloud/utils/db/TransactionCallbackNoReturn.java
=>
api/src/main/java/org/apache/cloudstack/schedule/autoscale/AutoScaleScheduleAction.java
(71%)
copy
framework/db/src/main/java/com/cloud/utils/db/TransactionCallbackWithExceptionNoReturn.java
=> api/src/main/java/org/apache/cloudstack/schedule/vm/VMScheduleAction.java
(51%)
delete mode 100644
api/src/main/java/org/apache/cloudstack/vm/schedule/VMScheduleManager.java
copy
api/src/test/java/org/apache/cloudstack/api/response/{Ipv4RouteResponseTest.java
=> AttachedIsoResponseTest.java} (53%)
copy
engine/schema/src/main/java/com/cloud/{network/security/VmRulesetLogVO.java =>
vm/VmIsoMapVO.java} (64%)
copy engine/schema/src/main/java/com/cloud/vm/dao/{InstanceGroupVMMapDao.java
=> VmIsoMapDao.java} (72%)
create mode 100644
engine/schema/src/main/java/com/cloud/vm/dao/VmIsoMapDaoImpl.java
copy
engine/schema/src/main/java/org/apache/cloudstack/{resourcedetail/Site2SiteCustomerGatewayDetailVO.java
=> schedule/ResourceScheduleDetailVO.java} (84%)
rename
engine/schema/src/main/java/org/apache/cloudstack/{vm/schedule/VMScheduleVO.java
=> schedule/ResourceScheduleVO.java} (71%)
rename
engine/schema/src/main/java/org/apache/cloudstack/{vm/schedule/VMScheduledJobVO.java
=> schedule/ResourceScheduledJobVO.java} (64%)
rename
engine/schema/src/main/java/org/apache/cloudstack/{vm/schedule/dao/VMScheduleDao.java
=> schedule/dao/ResourceScheduleDao.java} (51%)
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/schedule/dao/ResourceScheduleDaoImpl.java
copy engine/schema/src/main/java/{com/cloud/dc/dao/DataCenterDetailsDao.java
=> org/apache/cloudstack/schedule/dao/ResourceScheduleDetailsDao.java} (78%)
copy
engine/schema/src/main/java/{com/cloud/storage/dao/VolumeDetailsDaoImpl.java =>
org/apache/cloudstack/schedule/dao/ResourceScheduleDetailsDaoImpl.java} (74%)
rename
engine/schema/src/main/java/org/apache/cloudstack/{vm/schedule/dao/VMScheduledJobDao.java
=> schedule/dao/ResourceScheduledJobDao.java} (59%)
rename
engine/schema/src/main/java/org/apache/cloudstack/{vm/schedule/dao/VMScheduledJobDaoImpl.java
=> schedule/dao/ResourceScheduledJobDaoImpl.java} (55%)
delete mode 100644
engine/schema/src/main/java/org/apache/cloudstack/vm/schedule/dao/VMScheduleDaoImpl.java
copy
engine/{components-api/src/test/java/com/cloud/vm/VmWorkTakeVolumeSnapshotTest.java
=> schema/src/test/java/com/cloud/vm/VmIsoMapVOTest.java} (57%)
create mode 100644
plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/keycloak/KeycloakOAuth2Provider.java
create mode 100644
plugins/user-authenticators/oauth2/src/test/java/org/apache/cloudstack/oauth2/keycloak/KeycloakOAuth2ProviderTest.java
create mode 100755 scripts/coverage-grade.sh
create mode 100644
server/src/main/java/org/apache/cloudstack/schedule/BaseScheduleWorker.java
create mode 100644
server/src/main/java/org/apache/cloudstack/schedule/ResourceScheduleManagerImpl.java
create mode 100644
server/src/main/java/org/apache/cloudstack/schedule/autoscale/AutoScaleScheduleWorker.java
create mode 100644
server/src/main/java/org/apache/cloudstack/schedule/vm/VMScheduleWorker.java
delete mode 100644
server/src/main/java/org/apache/cloudstack/vm/schedule/VMScheduleManagerImpl.java
delete mode 100644
server/src/main/java/org/apache/cloudstack/vm/schedule/VMScheduler.java
delete mode 100644
server/src/main/java/org/apache/cloudstack/vm/schedule/VMSchedulerImpl.java
create mode 100644
server/src/test/java/org/apache/cloudstack/schedule/ResourceScheduleManagerImplTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/schedule/autoscale/AutoScaleScheduleWorkerTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/schedule/vm/VMScheduleWorkerTest.java
delete mode 100644
server/src/test/java/org/apache/cloudstack/vm/schedule/VMScheduleManagerImplTest.java
delete mode 100644
server/src/test/java/org/apache/cloudstack/vm/schedule/VMSchedulerImplTest.java
create mode 100644 ui/public/assets/keycloak.svg
create mode 100644 ui/src/components/view/ApiKeyPairsTab.vue
create mode 100644 ui/src/config/section/keypair.js
create mode 100644 ui/src/views/compute/DetachIso.vue
rename ui/src/views/compute/{InstanceSchedules.vue => ResourceSchedules.vue}
(71%)
create mode 100644 ui/src/views/iam/ApiKeyPairPermissionTable.vue
create mode 100644 ui/src/views/iam/GenerateApiKeyPair.vue