This is an automated email from the ASF dual-hosted git repository.
DaanHoogland pushed a change to branch healthcheck-main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
discard e25054a61c1 4.21/main Health Check, please don't merge this!
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 8e933b735e2 ui: do not show deploy instance button for not ready
images (#13161)
add e689c02b689 UI: Allow selecting network for VNF nics if template is a
non deploy-as-is template (#13423)
add aef91ae3240 Add OpenTelemetry tracing instrumentation to API layer
(#13132)
add 95d0aed9f5e Additional metrics for virtual machine orchestration
(#13141)
add 6227525c842 Optimize UsageJobDaoImpl.updateJobSuccess to use direct
UPDATE instead of row-level lock (#13160)
add 288f9a9fd73 framework/spring: throw RuntimeException when fail to
start or load a module (#13186)
add f49ab6b394d API rule regex optimization (#13109)
add 99e34dd443c [20.3] resource allocation
add 2671026f90c [20.3] resource instance limits
add 171ff3260da [20.3] Implement/fix limit validation for projects
add c9e644af74a [20.3] resource allocation vpc
add d8bdc8b3b89 Check resource reservation on volume creation
add ae177a16556 Fix: KVM Direct Download URL injection
add d75140b6579 [20.3] handle user's canned policy when a bucket is deleted
add 9a4f3415507 Check resource reservation on volume snapshot creation
add b07831b56c1 Implement/fix limit validation for secondary storage
add 822696c4181 Fix resource limit reservation and check during
StartVirtualMachine
add ca7b08acceb secondary storage resource limit for download
add ced36291e7a volume download fix
add 021a18dd983 secondary storage resource limit for upload
add c522e963a7a Consider infinite resources when calculating secondary
storage limit for upload operations
add 2377dc5e63f [20.3] Address limit checks for VM, CPU, memory, volume,
and primary storage
add 08bb37a566e Cleanup imported VM from disk on failure due to volume
allocation + prevent duplicate volume and primary storage increment on import
add 928dc7dfc0a Fix failing tests
add 3f4f574e5c9 Address public IP limit validations
add a09835b1f4c review comments
add 4a691f43df6 fix identation
add f6cad87586f Fix copy snapshot resource limit
add ce52b9dae0c Merge branch '4.20' into 20.3.0-sec
add 639ceeea619 Fix snapshot copy resource limit concurrency
add d5101b0c905 Merge branch '4.20' into 4.22
add fb5e24fa086 Merge branch '4.22'
add 236e01aad8d Soft delete port forwarding, load balancing and firewall
rules (#13015)
add 1853435185f Fix RESTRICTED_TOKENS typo issue (#12709)
add d2c8aa7dff7 Feature: Key Management Service (KMS) (#12711)
add a97c5103747 kvm: Add a configuration setting to switch between
multicast and evpn VXLAN modes (#13107)
add cd88d951128 4.21/main Health Check, please don't merge this!
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 (e25054a61c1)
\
N -- N -- N refs/heads/healthcheck-main (cd88d951128)
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:
.asf.yaml | 2 -
agent/conf/agent.properties | 8 +
.../cloud/agent/properties/AgentProperties.java | 9 +
api/pom.xml | 5 +
api/src/main/java/com/cloud/event/EventTypes.java | 65 +-
api/src/main/java/com/cloud/host/Host.java | 1 +
.../java/com/cloud/offering/DiskOfferingInfo.java | 17 +
api/src/main/java/com/cloud/storage/Volume.java | 8 +
.../java/com/cloud/storage/VolumeApiService.java | 2 +-
api/src/main/java/com/cloud/vm/DiskProfile.java | 2 +-
api/src/main/java/com/cloud/vm/UserVmService.java | 6 +-
api/src/main/java/com/cloud/vm/VmDiskInfo.java | 5 +
.../cloudstack/api/ApiCommandResourceType.java | 4 +-
.../org/apache/cloudstack/api/ApiConstants.java | 10 +
.../apache/cloudstack/api/ResponseGenerator.java | 50 +-
.../command/admin/kms/MigrateVolumesToKMSCmd.java | 131 ++
.../api/command/user/iso/DetachIsoCmd.java | 7 +-
.../api/command/user/kms/CreateKMSKeyCmd.java | 159 ++
.../api/command/user/kms/DeleteKMSKeyCmd.java | 104 ++
.../api/command/user/kms/ListKMSKeysCmd.java | 101 ++
.../api/command/user/kms/RotateKMSKeyCmd.java | 128 ++
.../api/command/user/kms/UpdateKMSKeyCmd.java | 113 ++
.../command/user/kms/hsm/CreateHSMProfileCmd.java | 158 ++
.../command/user/kms/hsm/DeleteHSMProfileCmd.java | 93 +
.../command/user/kms/hsm/ListHSMProfilesCmd.java | 85 +
.../command/user/kms/hsm/UpdateHSMProfileCmd.java | 104 ++
.../user/schedule/CreateResourceScheduleCmd.java | 132 ++
.../user/schedule/DeleteResourceScheduleCmd.java | 86 +
.../user/schedule/ListResourceScheduleCmd.java | 97 ++
.../user/schedule/UpdateResourceScheduleCmd.java | 108 ++
.../api/command/user/vm/BaseDeployVMCmd.java | 30 +-
.../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 +-
.../api/command/user/volume/CreateVolumeCmd.java | 12 +
.../api/command/user/volume/ListVolumesCmd.java | 8 +
.../api/response/AttachedIsoResponse.java | 76 +
.../api/response/HSMProfileResponse.java | 254 +++
.../cloudstack/api/response/KMSKeyResponse.java | 272 +++
...Response.java => ResourceScheduleResponse.java} | 105 +-
.../cloudstack/api/response/UserVmResponse.java | 24 +
.../api/response/VMScheduleResponse.java | 26 +-
.../cloudstack/api/response/VolumeResponse.java | 40 +
.../java/org/apache/cloudstack/kms/HSMProfile.java | 31 +-
.../schedule/VMSchedule.java => kms/KMSKey.java} | 39 +-
.../java/org/apache/cloudstack/kms/KMSManager.java | 292 ++++
.../ResourceSchedule.java} | 23 +-
.../schedule/ResourceScheduleManager.java | 45 +
.../ResourceScheduledJob.java} | 13 +-
.../autoscale/AutoScaleScheduleAction.java | 25 +-
.../cloudstack/schedule/vm/VMScheduleAction.java | 45 +
.../cloudstack/vm/schedule/VMScheduleManager.java | 40 -
.../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 +-
.../api/response/AttachedIsoResponseTest.java | 46 +
client/pom.xml | 10 +
.../core/spring-core-registry-core-context.xml | 3 +
.../META-INF/cloudstack/kms/module.properties | 21 +
...ring-core-lifecycle-kms-context-inheritable.xml | 29 +
.../service/VolumeOrchestrationService.java | 4 +-
.../engine/service/api/OrchestrationService.java | 4 +-
.../subsystem/api/storage/TemplateService.java | 6 +
.../java/com/cloud/template/TemplateManager.java | 35 +
.../com/cloud/vm/VirtualMachineManagerImpl.java | 8 +-
.../engine/orchestration/CloudOrchestrator.java | 6 +-
.../engine/orchestration/VolumeOrchestrator.java | 127 +-
.../orchestration/VolumeOrchestratorTest.java | 5 +-
engine/schema/pom.xml | 5 +
.../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 +-
.../com/cloud/network/LBHealthCheckPolicyVO.java | 8 +
.../cloud/network/dao/FirewallRulesDaoImpl.java | 1 +
.../network/dao/LBHealthCheckPolicyDaoImpl.java | 6 +-
.../cloud/network/dao/LBStickinessPolicyDao.java | 2 +
.../network/dao/LBStickinessPolicyDaoImpl.java | 12 +-
.../cloud/network/dao/LBStickinessPolicyVO.java | 8 +
.../cloud/network/dao/LoadBalancerCertMapVO.java | 8 +
.../network/dao/LoadBalancerVMMapDaoImpl.java | 9 +-
.../com/cloud/network/dao/LoadBalancerVMMapVO.java | 9 +
.../com/cloud/network/rules/FirewallRuleVO.java | 10 +
.../security/dao/SecurityGroupWorkDaoImpl.java | 39 +-
.../src/main/java/com/cloud/storage/VolumeVO.java | 14 +
.../main/java/com/cloud/storage/dao/VolumeDao.java | 15 +
.../java/com/cloud/storage/dao/VolumeDaoImpl.java | 54 +
.../java/com/cloud/usage/dao/UsageJobDaoImpl.java | 8 +-
.../src/main/java/com/cloud/vm/VmIsoMapVO.java | 83 +
.../dao/VmIsoMapDao.java} | 15 +-
.../java/com/cloud/vm/dao/VmIsoMapDaoImpl.java | 92 +
.../apache/cloudstack/kms/HSMProfileDetailsVO.java | 84 +
.../org/apache/cloudstack/kms/HSMProfileVO.java | 183 ++
.../org/apache/cloudstack/kms/KMSKekVersionVO.java | 193 ++
.../java/org/apache/cloudstack/kms/KMSKeyVO.java | 264 +++
.../org/apache/cloudstack/kms/KMSWrappedKeyVO.java | 176 ++
.../apache/cloudstack/kms/dao/HSMProfileDao.java} | 13 +-
.../cloudstack/kms/dao/HSMProfileDaoImpl.java} | 20 +-
.../cloudstack/kms/dao/HSMProfileDetailsDao.java} | 16 +-
.../kms/dao/HSMProfileDetailsDaoImpl.java | 75 +
.../cloudstack/kms/dao/KMSKekVersionDao.java} | 26 +-
.../cloudstack/kms/dao/KMSKekVersionDaoImpl.java | 98 ++
.../apache/cloudstack/kms/dao/KMSKeyDao.java} | 18 +-
.../apache/cloudstack/kms/dao/KMSKeyDaoImpl.java | 83 +
.../cloudstack/kms/dao/KMSWrappedKeyDao.java} | 18 +-
.../cloudstack/kms/dao/KMSWrappedKeyDaoImpl.java | 70 +
.../region/gslb/GlobalLoadBalancerRuleVO.java | 8 +
.../schedule/ResourceScheduleDetailVO.java | 82 +
.../ResourceScheduleVO.java} | 62 +-
.../ResourceScheduledJobVO.java} | 59 +-
.../dao/ResourceScheduleDao.java} | 19 +-
.../schedule/dao/ResourceScheduleDaoImpl.java | 109 ++
.../schedule/dao/ResourceScheduleDetailsDao.java} | 15 +-
.../dao/ResourceScheduleDetailsDaoImpl.java} | 19 +-
.../dao/ResourceScheduledJobDao.java} | 19 +-
.../dao/ResourceScheduledJobDaoImpl.java} | 61 +-
.../vm/schedule/dao/VMScheduleDaoImpl.java | 108 --
.../spring-engine-schema-core-daos-context.xml | 11 +-
.../resources/META-INF/db/schema-42210to42300.sql | 257 +++
.../META-INF/db/views/cloud.volume_view.sql | 10 +-
.../java/com/cloud/vm/VmIsoMapVOTest.java} | 30 +-
.../storage/motion/AncientDataMotionStrategy.java | 4 +-
.../motion/StorageSystemDataMotionStrategy.java | 6 +-
.../storage/image/TemplateServiceImpl.java | 217 ++-
.../storage/image/TemplateServiceImplTest.java | 29 +-
.../cloudstack/storage/volume/VolumeObject.java | 49 +-
.../storage/volume/VolumeServiceImpl.java | 16 +
.../oauth2 => framework/kms}/pom.xml | 35 +-
.../cloudstack/framework/kms/KMSException.java | 181 ++
.../cloudstack/framework/kms/KMSProvider.java | 255 +++
.../cloudstack/framework/kms/KeyPurpose.java | 79 +
.../cloudstack/framework/kms/WrappedKey.java | 131 ++
framework/pom.xml | 1 +
.../lifecycle/CloudStackExtendedLifeCycle.java | 3 +-
.../model/impl/DefaultModuleDefinitionSet.java | 12 +-
.../hypervisor/kvm/resource/BridgeVifDriver.java | 6 +-
.../kvm/resource/LibvirtComputingResource.java | 16 +
.../hypervisor/kvm/resource/LibvirtVMDef.java | 4 +
.../kvm/storage/KVMStorageProcessor.java | 15 +-
...ernetesClusterResourceModifierActionWorker.java | 62 +-
.../KubernetesClusterStartWorker.java | 42 +-
.../cloudstack/veeam/adapter/ServerAdapter.java | 2 +-
plugins/kms/database/pom.xml | 73 +
.../kms/provider/DatabaseKMSProvider.java | 386 ++++
.../provider/database/KMSDatabaseKekObjectVO.java | 357 ++++
.../database/dao/KMSDatabaseKekObjectDao.java | 61 +
.../database/dao/KMSDatabaseKekObjectDaoImpl.java | 84 +
.../cloudstack/database-kms/module.properties | 18 +
.../database-kms/spring-database-kms-context.xml | 31 +
plugins/kms/pkcs11/pom.xml | 73 +
.../kms/provider/pkcs11/PKCS11HSMProvider.java | 1140 ++++++++++++
.../cloudstack/pkcs11-kms/module.properties | 21 +
.../pkcs11-kms/spring-pkcs11-kms-context.xml | 32 +
.../kms/provider/pkcs11/PKCS11HSMProviderTest.java | 294 ++++
plugins/kms/pom.xml | 40 +
.../java/com/cloud/network/ElasticLbVmMapVO.java | 9 +
.../dao/TungstenFabricLBHealthMonitorVO.java | 8 +
plugins/pom.xml | 2 +
.../lifecycle/StorageVmSharedFSLifeCycle.java | 2 +-
.../lifecycle/StorageVmSharedFSLifeCycleTest.java | 2 +-
.../CloudStackPrimaryDataStoreDriverImpl.java | 24 +-
.../driver/LinstorPrimaryDataStoreDriverImpl.java | 2 +-
.../storage/motion/LinstorDataMotionStrategy.java | 2 +-
.../driver/ScaleIOPrimaryDataStoreDriver.java | 2 +-
.../driver/StorPoolPrimaryDataStoreDriver.java | 14 +-
.../storage/motion/StorPoolDataMotionStrategy.java | 2 +-
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 +++
pom.xml | 12 +
server/pom.xml | 13 +
server/src/main/java/com/cloud/api/ApiServer.java | 8 +
.../java/com/cloud/api/query/QueryManagerImpl.java | 5 +
.../com/cloud/api/query/dao/UserVmJoinDaoImpl.java | 70 +
.../com/cloud/api/query/dao/VolumeJoinDaoImpl.java | 22 +-
.../java/com/cloud/api/query/vo/VolumeJoinVO.java | 28 +
.../configuration/ConfigurationManagerImpl.java | 6 +
.../deploy/DeploymentPlanningManagerImpl.java | 4 +-
.../com/cloud/network/as/AutoScaleManager.java | 2 +
.../com/cloud/network/as/AutoScaleManagerImpl.java | 50 +-
.../network/lb/LoadBalancingRulesManagerImpl.java | 15 +-
.../main/java/com/cloud/server/StatsCollector.java | 12 +-
.../cloud/storage/ImageStoreUploadMonitorImpl.java | 6 +
.../com/cloud/storage/VolumeApiServiceImpl.java | 35 +-
.../cloud/template/HypervisorTemplateAdapter.java | 19 +-
.../com/cloud/template/TemplateAdapterBase.java | 45 +-
.../com/cloud/template/TemplateManagerImpl.java | 319 +++-
.../java/com/cloud/user/AccountManagerImpl.java | 14 +
.../main/java/com/cloud/vm/UserVmManagerImpl.java | 71 +-
.../cloud/vm/snapshot/VMSnapshotManagerImpl.java | 4 +-
.../org/apache/cloudstack/kms/KMSManagerImpl.java | 1834 ++++++++++++++++++++
.../cloudstack/schedule/BaseScheduleWorker.java | 417 +++++
.../schedule/ResourceScheduleManagerImpl.java | 450 +++++
.../autoscale/AutoScaleScheduleWorker.java | 146 ++
.../cloudstack/schedule/vm/VMScheduleWorker.java | 145 ++
.../cloudstack/vm/UnmanagedVMsManagerImpl.java | 78 +-
.../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 | 12 +-
.../cloud/api/query/dao/UserVmJoinDaoImplTest.java | 46 +
.../ConfigurationManagerImplTest.java | 28 +
.../cloud/network/as/AutoScaleManagerImplTest.java | 34 +-
.../template/HypervisorTemplateAdapterTest.java | 80 +-
.../cloud/template/TemplateManagerImplTest.java | 243 +++
.../cloud/user/AccountManagentImplTestBase.java | 3 +
.../com/cloud/user/AccountManagerImplTest.java | 1 +
.../java/com/cloud/vm/UserVmManagerImplTest.java | 34 +-
.../cloudstack/kms/KMSManagerImplAccessTest.java | 281 +++
.../cloudstack/kms/KMSManagerImplHSMTest.java | 442 +++++
.../kms/KMSManagerImplKeyCreationTest.java | 216 +++
.../kms/KMSManagerImplKeyLifecycleTest.java | 457 +++++
.../kms/KMSManagerImplKeyRotationTest.java | 387 +++++
.../cloudstack/kms/KMSManagerImplRetryTest.java | 185 ++
.../schedule/ResourceScheduleManagerImplTest.java | 427 +++++
.../autoscale/AutoScaleScheduleWorkerTest.java | 164 ++
.../schedule/vm/VMScheduleWorkerTest.java | 398 +++++
.../cloudstack/vm/UnmanagedVMsManagerImplTest.java | 4 +-
.../vm/schedule/VMScheduleManagerImplTest.java | 282 ---
.../vm/schedule/VMSchedulerImplTest.java | 388 -----
.../component/test_vpc_network_lbrules.py | 8 +-
test/integration/smoke/test_kms_lifecycle.py | 499 ++++++
test/integration/smoke/test_network.py | 15 +-
test/integration/smoke/test_vm_autoscaling.py | 90 +-
test/integration/smoke/test_vm_schedule.py | 80 +-
tools/apidoc/gen_toc.py | 3 +
tools/docker/supervisord.conf | 1 +
tools/marvin/marvin/lib/base.py | 134 +-
ui/public/assets/keycloak.svg | 1 +
ui/public/locales/en.json | 41 +-
ui/public/locales/te.json | 6 +-
ui/src/components/view/DetailsTab.vue | 2 +-
.../components/view/ImageDeployInstanceButton.vue | 5 +-
ui/src/components/view/InfoCard.vue | 24 +
ui/src/components/view/ListView.vue | 38 +-
ui/src/components/view/SearchFilter.vue | 18 +
ui/src/components/view/SearchView.vue | 74 +-
ui/src/components/view/VolumesTab.vue | 11 +-
ui/src/components/widgets/DetailsInput.vue | 24 +-
ui/src/config/router.js | 2 +
ui/src/config/section/compute.js | 38 +-
ui/src/config/section/config.js | 8 +-
ui/src/config/section/kms.js | 280 +++
ui/src/config/section/storage.js | 23 +-
ui/src/store/modules/user.js | 71 +-
ui/src/views/AutogenView.vue | 23 +-
ui/src/views/auth/Login.vue | 48 +-
ui/src/views/compute/AttachIso.vue | 112 +-
ui/src/views/compute/DeployVM.vue | 100 +-
ui/src/views/compute/DetachIso.vue | 178 ++
ui/src/views/compute/InstanceTab.vue | 49 +-
...InstanceSchedules.vue => ResourceSchedules.vue} | 193 +-
ui/src/views/compute/wizard/DiskSizeSelection.vue | 119 +-
ui/src/views/compute/wizard/VnfNicsSelection.vue | 2 +-
ui/src/views/setting/ConfigurationValue.vue | 5 +-
ui/src/views/storage/CreateVolume.vue | 83 +-
.../utils/exception/CSExceptionErrorCode.java | 1 +
.../utils/jsinterpreter/JsInterpreter.java | 2 +-
268 files changed, 19280 insertions(+), 2833 deletions(-)
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/admin/kms/MigrateVolumesToKMSCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/kms/CreateKMSKeyCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/kms/DeleteKMSKeyCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/kms/ListKMSKeysCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/kms/RotateKMSKeyCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/kms/UpdateKMSKeyCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/kms/hsm/CreateHSMProfileCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/kms/hsm/DeleteHSMProfileCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/kms/hsm/ListHSMProfilesCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/kms/hsm/UpdateHSMProfileCmd.java
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
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/AttachedIsoResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/HSMProfileResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/KMSKeyResponse.java
copy
api/src/main/java/org/apache/cloudstack/api/response/{VMScheduleResponse.java
=> ResourceScheduleResponse.java} (54%)
copy
engine/schema/src/main/java/com/cloud/network/dao/LBStickinessPolicyDao.java =>
api/src/main/java/org/apache/cloudstack/kms/HSMProfile.java (60%)
copy api/src/main/java/org/apache/cloudstack/{vm/schedule/VMSchedule.java =>
kms/KMSKey.java} (57%)
create mode 100644 api/src/main/java/org/apache/cloudstack/kms/KMSManager.java
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%)
rename
engine/schema/src/main/java/org/apache/cloudstack/vm/schedule/dao/VMScheduledJobDao.java
=>
api/src/main/java/org/apache/cloudstack/schedule/autoscale/AutoScaleScheduleAction.java
(59%)
create mode 100644
api/src/main/java/org/apache/cloudstack/schedule/vm/VMScheduleAction.java
delete mode 100644
api/src/main/java/org/apache/cloudstack/vm/schedule/VMScheduleManager.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/response/AttachedIsoResponseTest.java
create mode 100644
core/src/main/resources/META-INF/cloudstack/kms/module.properties
create mode 100644
core/src/main/resources/META-INF/cloudstack/kms/spring-core-lifecycle-kms-context-inheritable.xml
create mode 100644 engine/schema/src/main/java/com/cloud/vm/VmIsoMapVO.java
copy
engine/schema/src/main/java/com/cloud/{network/dao/LBStickinessPolicyDao.java
=> vm/dao/VmIsoMapDao.java} (67%)
create mode 100644
engine/schema/src/main/java/com/cloud/vm/dao/VmIsoMapDaoImpl.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/kms/HSMProfileDetailsVO.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/kms/HSMProfileVO.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/kms/KMSKekVersionVO.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/kms/KMSKeyVO.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/kms/KMSWrappedKeyVO.java
copy
engine/schema/src/main/java/{com/cloud/network/dao/LBStickinessPolicyDao.java
=> org/apache/cloudstack/kms/dao/HSMProfileDao.java} (65%)
copy
engine/schema/src/main/java/{com/cloud/network/dao/LBStickinessPolicyDao.java
=> org/apache/cloudstack/kms/dao/HSMProfileDaoImpl.java} (62%)
copy
engine/schema/src/main/java/{com/cloud/network/dao/LBStickinessPolicyDao.java
=> org/apache/cloudstack/kms/dao/HSMProfileDetailsDao.java} (67%)
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/kms/dao/HSMProfileDetailsDaoImpl.java
copy
engine/schema/src/main/java/{com/cloud/network/dao/LBStickinessPolicyDao.java
=> org/apache/cloudstack/kms/dao/KMSKekVersionDao.java} (55%)
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/kms/dao/KMSKekVersionDaoImpl.java
copy
engine/schema/src/main/java/{com/cloud/network/dao/LBStickinessPolicyDao.java
=> org/apache/cloudstack/kms/dao/KMSKeyDao.java} (64%)
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/kms/dao/KMSKeyDaoImpl.java
copy
engine/schema/src/main/java/{com/cloud/network/dao/LBStickinessPolicyDao.java
=> org/apache/cloudstack/kms/dao/KMSWrappedKeyDao.java} (67%)
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/kms/dao/KMSWrappedKeyDaoImpl.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/schedule/ResourceScheduleDetailVO.java
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%)
copy
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/network/dao/LBStickinessPolicyDao.java
=> org/apache/cloudstack/schedule/dao/ResourceScheduleDetailsDao.java} (65%)
copy
engine/schema/src/main/java/{com/cloud/network/dao/LBStickinessPolicyDao.java
=> org/apache/cloudstack/schedule/dao/ResourceScheduleDetailsDaoImpl.java} (61%)
rename
engine/schema/src/main/java/org/apache/cloudstack/{vm/schedule/dao/VMScheduleDao.java
=> schedule/dao/ResourceScheduledJobDao.java} (57%)
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/schema/src/{main/java/com/cloud/network/dao/LBStickinessPolicyDao.java
=> test/java/com/cloud/vm/VmIsoMapVOTest.java} (51%)
copy {plugins/user-authenticators/oauth2 => framework/kms}/pom.xml (56%)
create mode 100644
framework/kms/src/main/java/org/apache/cloudstack/framework/kms/KMSException.java
create mode 100644
framework/kms/src/main/java/org/apache/cloudstack/framework/kms/KMSProvider.java
create mode 100644
framework/kms/src/main/java/org/apache/cloudstack/framework/kms/KeyPurpose.java
create mode 100644
framework/kms/src/main/java/org/apache/cloudstack/framework/kms/WrappedKey.java
create mode 100644 plugins/kms/database/pom.xml
create mode 100644
plugins/kms/database/src/main/java/org/apache/cloudstack/kms/provider/DatabaseKMSProvider.java
create mode 100644
plugins/kms/database/src/main/java/org/apache/cloudstack/kms/provider/database/KMSDatabaseKekObjectVO.java
create mode 100644
plugins/kms/database/src/main/java/org/apache/cloudstack/kms/provider/database/dao/KMSDatabaseKekObjectDao.java
create mode 100644
plugins/kms/database/src/main/java/org/apache/cloudstack/kms/provider/database/dao/KMSDatabaseKekObjectDaoImpl.java
create mode 100644
plugins/kms/database/src/main/resources/META-INF/cloudstack/database-kms/module.properties
create mode 100644
plugins/kms/database/src/main/resources/META-INF/cloudstack/database-kms/spring-database-kms-context.xml
create mode 100644 plugins/kms/pkcs11/pom.xml
create mode 100644
plugins/kms/pkcs11/src/main/java/org/apache/cloudstack/kms/provider/pkcs11/PKCS11HSMProvider.java
create mode 100644
plugins/kms/pkcs11/src/main/resources/META-INF/cloudstack/pkcs11-kms/module.properties
create mode 100644
plugins/kms/pkcs11/src/main/resources/META-INF/cloudstack/pkcs11-kms/spring-pkcs11-kms-context.xml
create mode 100644
plugins/kms/pkcs11/src/test/java/org/apache/cloudstack/kms/provider/pkcs11/PKCS11HSMProviderTest.java
create mode 100644 plugins/kms/pom.xml
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 100644
server/src/main/java/org/apache/cloudstack/kms/KMSManagerImpl.java
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/kms/KMSManagerImplAccessTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/kms/KMSManagerImplHSMTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/kms/KMSManagerImplKeyCreationTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/kms/KMSManagerImplKeyLifecycleTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/kms/KMSManagerImplKeyRotationTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/kms/KMSManagerImplRetryTest.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 test/integration/smoke/test_kms_lifecycle.py
create mode 100644 ui/public/assets/keycloak.svg
create mode 100644 ui/src/config/section/kms.js
create mode 100644 ui/src/views/compute/DetachIso.vue
rename ui/src/views/compute/{InstanceSchedules.vue => ResourceSchedules.vue}
(71%)