This is an automated email from the ASF dual-hosted git repository.
sureshanaparti pushed a change to branch healthcheck-main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
discard 53dfb0b5c29 4.21/main Health Check, please don't merge this!
add cca8b2fef90 Extensions Framework & Orchestrate Anything (#9752)
add 9cdc285ca9e 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 (53dfb0b5c29)
\
N -- N -- N refs/heads/healthcheck-main (9cdc285ca9e)
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 | 5 +-
api/src/main/java/com/cloud/agent/api/Command.java | 14 +-
.../com/cloud/agent/api/to/VirtualMachineTO.java | 14 +
api/src/main/java/com/cloud/event/EventTypes.java | 28 +-
.../main/java/com/cloud/hypervisor/Hypervisor.java | 1 +
.../main/java/com/cloud/network/NetworkModel.java | 2 +
.../java/com/cloud/network/NetworkService.java | 9 +-
.../java/com/cloud/network/nsx/NsxService.java | 4 +-
api/src/main/java/com/cloud/storage/Storage.java | 1 +
.../com/cloud/template/VirtualMachineTemplate.java | 2 +
.../main/java/com/cloud/vm/VmDetailConstants.java | 8 +
.../java/org/apache/cloudstack/acl/RoleType.java | 27 +
.../org/apache/cloudstack/alert/AlertService.java | 1 +
.../cloudstack/api/ApiCommandResourceType.java | 4 +-
.../org/apache/cloudstack/api/ApiConstants.java | 26 +-
.../java/org/apache/cloudstack/api/BaseCmd.java | 11 +
.../api/command/admin/cluster/AddClusterCmd.java | 32 +-
.../api/command/admin/cluster/ListClustersCmd.java | 37 +-
.../api/command/admin/host/AddHostCmd.java | 12 +-
.../api/command/admin/host/UpdateHostCmd.java | 15 +-
.../admin/offering/CreateServiceOfferingCmd.java | 16 +-
.../admin/offering/UpdateServiceOfferingCmd.java | 11 +
.../api/command/admin/vm/MigrateVMCmd.java | 5 +
.../command/user/config/ListCapabilitiesCmd.java | 1 +
.../command/user/template/ListTemplatesCmd.java | 12 +-
.../command/user/template/RegisterTemplateCmd.java | 23 +-
.../api/command/user/vm/DeployVMCmd.java | 73 +-
.../cloudstack/api/command/user/vm/ListVMsCmd.java | 10 +
.../api/response/CapabilitiesResponse.java | 9 +
.../cloudstack/api/response/ClusterResponse.java | 34 +
.../response/CreateConsoleEndpointResponse.java | 2 +-
.../ExtensionCustomActionParameterResponse.java | 58 +
.../response/ExtensionCustomActionResponse.java | 184 ++
.../api/response/ExtensionResourceResponse.java | 95 +
.../cloudstack/api/response/ExtensionResponse.java | 182 ++
.../cloudstack/api/response/HostResponse.java | 35 +-
.../response/RouterHealthCheckResultResponse.java | 2 +-
.../cloudstack/api/response/TemplateResponse.java | 22 +
.../api/response/UnmanageVMInstanceResponse.java | 2 +-
.../CustomActionResultResponse.java} | 51 +-
.../org/apache/cloudstack/extension/Extension.java | 44 +
.../extension/ExtensionCustomAction.java | 386 +++++
.../cloudstack/extension/ExtensionHelper.java | 21 +-
.../cloudstack/extension/ExtensionResourceMap.java | 34 +
.../command/admin/cluster/ListClustersCmdTest.java | 83 +
.../extension/ExtensionCustomActionTest.java | 484 ++++++
build/replace.properties | 1 +
client/conf/server.properties.in | 3 +
client/pom.xml | 5 +
.../api/PrepareExternalProvisioningAnswer.java | 51 +
.../api/PrepareExternalProvisioningCommand.java | 28 +-
.../com/cloud/agent/api/RunCustomActionAnswer.java | 25 +-
.../cloud/agent/api/RunCustomActionCommand.java | 44 +-
.../main/java/com/cloud/agent/api/StopCommand.java | 17 +-
debian/cloudstack-common.install | 1 +
debian/cloudstack-management.install | 2 +
debian/cloudstack-management.postinst | 3 +
debian/rules | 3 +
.../com/cloud/hypervisor/ExternalProvisioner.java | 61 +
.../java/com/cloud/template/TemplateManager.java | 3 +-
engine/orchestration/pom.xml | 5 +
.../com/cloud/agent/manager/AgentManagerImpl.java | 20 +-
.../agent/manager/ClusteredAgentManagerImpl.java | 9 +-
.../com/cloud/vm/VirtualMachineManagerImpl.java | 234 ++-
.../engine/orchestration/NetworkOrchestrator.java | 24 +-
.../cloud/vm/VirtualMachineManagerImplTest.java | 315 +++-
.../src/main/java/com/cloud/dc/dao/ClusterDao.java | 2 +
.../main/java/com/cloud/dc/dao/ClusterDaoImpl.java | 25 +
.../java/com/cloud/host/dao/HostDetailsDao.java | 3 +
.../com/cloud/host/dao/HostDetailsDaoImpl.java | 32 +
.../dao/PhysicalNetworkTrafficTypeDaoImpl.java | 2 +-
.../main/java/com/cloud/storage/VMTemplateVO.java | 13 +-
.../java/com/cloud/storage/dao/VMTemplateDao.java | 2 +
.../com/cloud/storage/dao/VMTemplateDaoImpl.java | 11 +
.../resourcedetail/ResourceDetailsDao.java | 3 +
.../resourcedetail/ResourceDetailsDaoBase.java | 14 +
.../resources/META-INF/db/schema-42010to42100.sql | 315 ++++
.../META-INF/db/views/cloud.template_view.sql | 6 +-
.../cloud/storage/dao/VMTemplateDaoImplTest.java | 17 +
.../storage/image/TemplateServiceImpl.java | 4 +-
.../storage/image/store/TemplateObject.java | 5 +
extensions/HyperV/hyperv.py | 302 ++++
extensions/Proxmox/proxmox.sh | 413 +++++
framework/extensions/pom.xml | 54 +
.../extensions/api/AddCustomActionCmd.java | 175 ++
.../extensions/api/CreateExtensionCmd.java | 140 ++
.../extensions/api/DeleteCustomActionCmd.java | 96 ++
.../extensions/api/DeleteExtensionCmd.java | 104 ++
.../extensions/api/ListCustomActionCmd.java | 110 ++
.../extensions/api/ListExtensionsCmd.java | 114 ++
.../extensions/api/RegisterExtensionCmd.java | 118 ++
.../extensions/api/RunCustomActionCmd.java | 121 ++
.../extensions/api/UnregisterExtensionCmd.java | 109 ++
.../extensions/api/UpdateCustomActionCmd.java | 197 +++
.../extensions/api/UpdateExtensionCmd.java | 136 ++
.../command/CleanupExtensionFilesCommand.java | 20 +-
.../extensions/command/ExtensionBaseCommand.java | 63 +
.../command/ExtensionRoutingUpdateCommand.java | 23 +-
.../command/ExtensionServerActionBaseCommand.java | 24 +-
.../command/GetExtensionPathChecksumCommand.java | 20 +-
.../command/PrepareExtensionPathCommand.java | 20 +-
.../extensions/dao/ExtensionCustomActionDao.java | 18 +-
.../dao/ExtensionCustomActionDaoImpl.java | 59 +
.../dao/ExtensionCustomActionDetailsDao.java | 19 +-
.../dao/ExtensionCustomActionDetailsDaoImpl.java | 23 +-
.../framework/extensions/dao/ExtensionDao.java | 17 +-
.../framework/extensions/dao/ExtensionDaoImpl.java | 45 +
.../extensions/dao/ExtensionDetailsDao.java | 19 +-
.../extensions/dao/ExtensionDetailsDaoImpl.java | 23 +-
.../extensions/dao/ExtensionResourceMapDao.java | 19 +-
.../dao/ExtensionResourceMapDaoImpl.java | 70 +
.../dao/ExtensionResourceMapDetailsDao.java | 19 +-
.../dao/ExtensionResourceMapDetailsDaoImpl.java | 23 +-
.../extensions/manager/ExtensionsManager.java | 90 +
.../extensions/manager/ExtensionsManagerImpl.java | 1593 +++++++++++++++++
.../vo/ExtensionCustomActionDetailsVO.java | 97 ++
.../extensions/vo/ExtensionCustomActionVO.java | 215 +++
.../extensions/vo/ExtensionDetailsVO.java | 97 ++
.../vo/ExtensionResourceMapDetailsVO.java | 97 ++
.../extensions/vo/ExtensionResourceMapVO.java | 122 ++
.../framework/extensions/vo/ExtensionVO.java | 179 ++
.../spring-framework-extensions-core-context.xml | 36 +
.../extensions/api/AddCustomActionCmdTest.java | 224 +++
.../extensions/api/CreateExtensionCmdTest.java | 97 ++
.../extensions/api/DeleteCustomActionCmdTest.java | 81 +
.../extensions/api/DeleteExtensionCmdTest.java | 90 +
.../extensions/api/ListCustomActionCmdTest.java | 153 ++
.../extensions/api/ListExtensionsCmdTest.java | 92 +
.../extensions/api/RegisterExtensionCmdTest.java | 133 ++
.../extensions/api/RunCustomActionCmdTest.java | 127 ++
.../extensions/api/UnregisterExtensionCmdTest.java | 124 ++
.../extensions/api/UpdateCustomActionCmdTest.java | 240 +++
.../extensions/api/UpdateExtensionCmdTest.java | 168 ++
.../command/ExtensionBaseCommandTest.java | 78 +
.../dao/ExtensionCustomActionDaoImplTest.java | 68 +
.../extensions/dao/ExtensionDaoImplTest.java | 51 +
.../dao/ExtensionResourceMapDaoImplTest.java | 86 +
.../manager/ExtensionsManagerImplTest.java | 1809 ++++++++++++++++++++
framework/pom.xml | 1 +
packaging/debian/replace.properties | 1 +
packaging/el8/cloud.spec | 8 +
packaging/el8/replace.properties | 1 +
plugins/hypervisors/external/pom.xml | 44 +
.../agent/manager/ExternalAgentManager.java | 17 +-
.../agent/manager/ExternalAgentManagerImpl.java | 55 +
.../agent/manager/ExternalServerPlanner.java | 183 ++
.../agent/manager/ExternalTemplateAdapter.java | 279 +++
.../cloudstack/guru/ExternalHypervisorGuru.java | 114 ++
.../discoverer/ExternalServerDiscoverer.java | 294 ++++
.../ExternalPathPayloadProvisioner.java | 832 +++++++++
.../external/resource/ExternalResource.java | 376 ++++
.../core/spring-external-core-context.xml | 31 +
.../cloudstack/external-compute/module.properties | 16 +-
.../spring-external-compute-context.xml | 31 +
.../external-discoverer/module.properties | 16 +-
.../spring-external-discoverer-context.xml | 34 +
.../cloudstack/external-planner/module.properties | 16 +-
.../spring-external-planner-context.xml | 34 +
.../cloudstack/external-storage/module.properties | 16 +-
.../spring-external-storage-context.xml | 32 +
.../agent/manager/ExternalTemplateAdapterTest.java | 173 ++
.../discoverer/ExternalServerDiscovererTest.java | 182 ++
.../ExternalPathPayloadProvisionerTest.java | 750 ++++++++
.../external/resource/ExternalResourceTest.java | 93 +
.../java/com/cloud/hypervisor/guru/VMwareGuru.java | 2 +-
.../apache/cloudstack/service/NsxServiceImpl.java | 33 +-
plugins/pom.xml | 1 +
.../hypervisor/external/provisioner/provisioner.sh | 147 ++
server/pom.xml | 6 +
.../java/com/cloud/alert/AlertManagerImpl.java | 14 +-
.../main/java/com/cloud/api/ApiResponseHelper.java | 1 +
.../java/com/cloud/api/query/QueryManagerImpl.java | 55 +-
.../com/cloud/api/query/dao/HostJoinDaoImpl.java | 9 +-
.../cloud/api/query/dao/TemplateJoinDaoImpl.java | 8 +-
.../com/cloud/api/query/vo/TemplateJoinVO.java | 21 +
.../com/cloud/capacity/CapacityManagerImpl.java | 17 +
.../main/java/com/cloud/configuration/Config.java | 2 +-
.../configuration/ConfigurationManagerImpl.java | 53 +-
.../deploy/DeploymentPlanningManagerImpl.java | 12 +-
.../java/com/cloud/deploy/FirstFitPlanner.java | 2 +-
.../java/com/cloud/network/NetworkModelImpl.java | 26 +-
.../java/com/cloud/network/NetworkServiceImpl.java | 26 +-
.../com/cloud/network/as/AutoScaleManagerImpl.java | 4 +
.../cloud/network/router/NetworkHelperImpl.java | 12 +-
.../java/com/cloud/network/vpc/VpcManagerImpl.java | 1 +
.../java/com/cloud/resource/DiscovererBase.java | 20 +-
.../com/cloud/resource/ResourceManagerImpl.java | 157 +-
.../com/cloud/server/ManagementServerImpl.java | 36 +-
.../java/com/cloud/storage/TemplateProfile.java | 11 +-
.../com/cloud/storage/VolumeApiServiceImpl.java | 24 +-
.../cloud/template/HypervisorTemplateAdapter.java | 136 +-
.../java/com/cloud/template/TemplateAdapter.java | 5 +-
.../com/cloud/template/TemplateAdapterBase.java | 206 ++-
.../com/cloud/template/TemplateManagerImpl.java | 31 +-
.../main/java/com/cloud/vm/UserVmManagerImpl.java | 31 +-
.../cloud/vm/snapshot/VMSnapshotManagerImpl.java | 15 +-
.../affinity/AffinityGroupServiceImpl.java | 7 +
.../consoleproxy/ConsoleAccessManagerImpl.java | 6 +
.../core/spring-server-core-managers-context.xml | 5 +
.../com/cloud/api/query/QueryManagerImplTest.java | 256 +--
.../ConfigurationManagerImplTest.java | 51 +
.../com/cloud/network/MockNetworkModelImpl.java | 5 +
.../com/cloud/network/NetworkModelImplTest.java | 139 +-
.../com/cloud/network/NetworkServiceImplTest.java | 51 +
.../cloud/template/TemplateManagerImplTest.java | 28 +-
.../java/com/cloud/vm/UserVmManagerImplTest.java | 2 +-
.../java/com/cloud/vpc/MockNetworkManagerImpl.java | 16 +-
.../java/com/cloud/vpc/MockNetworkModelImpl.java | 5 +
test/integration/smoke/test_extension_custom.py | 619 +++++++
.../test_extension_custom_action_lifecycle.py | 281 +++
test/integration/smoke/test_extension_lifecycle.py | 480 ++++++
tools/apidoc/gen_toc.py | 6 +-
tools/marvin/marvin/lib/base.py | 125 ++
ui/public/locales/en.json | 74 +-
ui/src/components/view/ActionButton.vue | 4 +-
ui/src/components/view/DetailsTab.vue | 37 +-
ui/src/components/view/InfoCard.vue | 11 +
ui/src/components/view/ListView.vue | 12 +-
ui/src/components/view/ObjectListTable.vue | 89 +
ui/src/components/view/SearchView.vue | 36 +-
ui/src/components/widgets/DetailsInput.vue | 186 ++
ui/src/components/widgets/Status.vue | 8 +
ui/src/config/router.js | 4 +
ui/src/config/section/compute.js | 45 +-
ui/src/config/section/extension.js | 147 ++
ui/src/config/section/extension/customaction.js | 94 +
ui/src/config/section/image.js | 4 +-
ui/src/config/section/infra/clusters.js | 18 +-
ui/src/config/section/infra/hosts.js | 14 +-
ui/src/config/section/offering.js | 10 +-
ui/src/core/lazy_lib/icons_use.js | 4 +
ui/src/main.js | 4 +-
.../src/utils/extension.js | 29 +-
ui/src/utils/plugins.js | 55 +-
ui/src/views/AutogenView.vue | 49 +-
ui/src/views/compute/CreateKubernetesCluster.vue | 4 +-
ui/src/views/compute/DeployVM.vue | 102 +-
ui/src/views/compute/InstanceTab.vue | 2 +-
ui/src/views/extension/AddCustomAction.vue | 247 +++
ui/src/views/extension/CreateExtension.vue | 256 +++
.../views/extension/ExtensionCustomActionsTab.vue | 274 +++
ui/src/views/extension/ExtensionResourcesTab.vue | 135 ++
.../extension/ExternalConfigurationDetails.vue | 115 ++
ui/src/views/extension/ParametersInput.vue | 328 ++++
ui/src/views/extension/RegisterExtension.vue | 200 +++
ui/src/views/extension/RunCustomAction.vue | 386 +++++
ui/src/views/extension/UpdateCustomAction.vue | 232 +++
ui/src/views/extension/UpdateExtension.vue | 160 ++
ui/src/views/iam/CreateRole.vue | 2 +-
ui/src/views/image/RegisterOrUploadTemplate.vue | 79 +-
ui/src/views/image/UpdateTemplate.vue | 7 +-
ui/src/views/infra/ClusterAdd.vue | 421 ++---
ui/src/views/infra/HostAdd.vue | 509 +++---
ui/src/views/infra/HostUpdate.vue | 34 +-
ui/src/views/network/NicsTab.vue | 10 +-
ui/src/views/offering/AddComputeOffering.vue | 33 +-
utils/src/main/java/com/cloud/utils/FileUtil.java | 15 +
.../java/com/cloud/utils/json/JsonMergeUtil.java | 108 ++
.../com/cloud/utils/json/JsonMergeUtilTest.java | 108 ++
259 files changed, 22308 insertions(+), 1528 deletions(-)
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/ExtensionCustomActionParameterResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/ExtensionCustomActionResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/ExtensionResourceResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/ExtensionResponse.java
copy
api/src/main/java/org/apache/cloudstack/{api/response/UnmanageVMInstanceResponse.java
=> extension/CustomActionResultResponse.java} (56%)
create mode 100644
api/src/main/java/org/apache/cloudstack/extension/Extension.java
create mode 100644
api/src/main/java/org/apache/cloudstack/extension/ExtensionCustomAction.java
copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java =>
api/src/main/java/org/apache/cloudstack/extension/ExtensionHelper.java (63%)
create mode 100644
api/src/main/java/org/apache/cloudstack/extension/ExtensionResourceMap.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/admin/cluster/ListClustersCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/extension/ExtensionCustomActionTest.java
create mode 100644
core/src/main/java/com/cloud/agent/api/PrepareExternalProvisioningAnswer.java
copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java =>
core/src/main/java/com/cloud/agent/api/PrepareExternalProvisioningCommand.java
(62%)
copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java =>
core/src/main/java/com/cloud/agent/api/RunCustomActionAnswer.java (63%)
copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java =>
core/src/main/java/com/cloud/agent/api/RunCustomActionCommand.java (52%)
create mode 100644
engine/components-api/src/main/java/com/cloud/hypervisor/ExternalProvisioner.java
create mode 100755 extensions/HyperV/hyperv.py
create mode 100755 extensions/Proxmox/proxmox.sh
create mode 100644 framework/extensions/pom.xml
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/AddCustomActionCmd.java
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/CreateExtensionCmd.java
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/DeleteCustomActionCmd.java
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/DeleteExtensionCmd.java
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/ListCustomActionCmd.java
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/ListExtensionsCmd.java
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/RegisterExtensionCmd.java
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/RunCustomActionCmd.java
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/UnregisterExtensionCmd.java
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/UpdateCustomActionCmd.java
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/UpdateExtensionCmd.java
copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java =>
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/command/CleanupExtensionFilesCommand.java
(63%)
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/command/ExtensionBaseCommand.java
copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java =>
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/command/ExtensionRoutingUpdateCommand.java
(64%)
copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java =>
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/command/ExtensionServerActionBaseCommand.java
(63%)
copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java =>
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/command/GetExtensionPathChecksumCommand.java
(63%)
copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java =>
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/command/PrepareExtensionPathCommand.java
(63%)
copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java =>
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionCustomActionDao.java
(68%)
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionCustomActionDaoImpl.java
copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java =>
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionCustomActionDetailsDao.java
(66%)
copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java =>
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionCustomActionDetailsDaoImpl.java
(58%)
copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java =>
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionDao.java
(66%)
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionDaoImpl.java
copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java =>
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionDetailsDao.java
(66%)
copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java =>
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionDetailsDaoImpl.java
(61%)
copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java =>
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionResourceMapDao.java
(59%)
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionResourceMapDaoImpl.java
copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java =>
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionResourceMapDetailsDao.java
(66%)
copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java =>
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionResourceMapDetailsDaoImpl.java
(58%)
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/manager/ExtensionsManager.java
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/manager/ExtensionsManagerImpl.java
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/vo/ExtensionCustomActionDetailsVO.java
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/vo/ExtensionCustomActionVO.java
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/vo/ExtensionDetailsVO.java
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/vo/ExtensionResourceMapDetailsVO.java
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/vo/ExtensionResourceMapVO.java
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/vo/ExtensionVO.java
create mode 100644
framework/extensions/src/main/resources/META-INF/cloudstack/core/spring-framework-extensions-core-context.xml
create mode 100644
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/AddCustomActionCmdTest.java
create mode 100644
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/CreateExtensionCmdTest.java
create mode 100644
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/DeleteCustomActionCmdTest.java
create mode 100644
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/DeleteExtensionCmdTest.java
create mode 100644
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/ListCustomActionCmdTest.java
create mode 100644
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/ListExtensionsCmdTest.java
create mode 100644
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/RegisterExtensionCmdTest.java
create mode 100644
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/RunCustomActionCmdTest.java
create mode 100644
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/UnregisterExtensionCmdTest.java
create mode 100644
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/UpdateCustomActionCmdTest.java
create mode 100644
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/UpdateExtensionCmdTest.java
create mode 100644
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/command/ExtensionBaseCommandTest.java
create mode 100644
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/dao/ExtensionCustomActionDaoImplTest.java
create mode 100644
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/dao/ExtensionDaoImplTest.java
create mode 100644
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/dao/ExtensionResourceMapDaoImplTest.java
create mode 100644
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/manager/ExtensionsManagerImplTest.java
create mode 100644 plugins/hypervisors/external/pom.xml
copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java =>
plugins/hypervisors/external/src/main/java/org/apache/cloudstack/agent/manager/ExternalAgentManager.java
(63%)
create mode 100644
plugins/hypervisors/external/src/main/java/org/apache/cloudstack/agent/manager/ExternalAgentManagerImpl.java
create mode 100644
plugins/hypervisors/external/src/main/java/org/apache/cloudstack/agent/manager/ExternalServerPlanner.java
create mode 100644
plugins/hypervisors/external/src/main/java/org/apache/cloudstack/agent/manager/ExternalTemplateAdapter.java
create mode 100644
plugins/hypervisors/external/src/main/java/org/apache/cloudstack/guru/ExternalHypervisorGuru.java
create mode 100644
plugins/hypervisors/external/src/main/java/org/apache/cloudstack/hypervisor/external/discoverer/ExternalServerDiscoverer.java
create mode 100644
plugins/hypervisors/external/src/main/java/org/apache/cloudstack/hypervisor/external/provisioner/ExternalPathPayloadProvisioner.java
create mode 100644
plugins/hypervisors/external/src/main/java/org/apache/cloudstack/hypervisor/external/resource/ExternalResource.java
create mode 100644
plugins/hypervisors/external/src/main/resources/META-INF/cloudstack/core/spring-external-core-context.xml
copy build/replace.properties =>
plugins/hypervisors/external/src/main/resources/META-INF/cloudstack/external-compute/module.properties
(75%)
create mode 100644
plugins/hypervisors/external/src/main/resources/META-INF/cloudstack/external-compute/spring-external-compute-context.xml
copy build/replace.properties =>
plugins/hypervisors/external/src/main/resources/META-INF/cloudstack/external-discoverer/module.properties
(75%)
create mode 100644
plugins/hypervisors/external/src/main/resources/META-INF/cloudstack/external-discoverer/spring-external-discoverer-context.xml
copy build/replace.properties =>
plugins/hypervisors/external/src/main/resources/META-INF/cloudstack/external-planner/module.properties
(75%)
create mode 100644
plugins/hypervisors/external/src/main/resources/META-INF/cloudstack/external-planner/spring-external-planner-context.xml
copy build/replace.properties =>
plugins/hypervisors/external/src/main/resources/META-INF/cloudstack/external-storage/module.properties
(75%)
create mode 100644
plugins/hypervisors/external/src/main/resources/META-INF/cloudstack/external-storage/spring-external-storage-context.xml
create mode 100644
plugins/hypervisors/external/src/test/java/org/apache/cloudstack/agent/manager/ExternalTemplateAdapterTest.java
create mode 100644
plugins/hypervisors/external/src/test/java/org/apache/cloudstack/hypervisor/external/discoverer/ExternalServerDiscovererTest.java
create mode 100644
plugins/hypervisors/external/src/test/java/org/apache/cloudstack/hypervisor/external/provisioner/ExternalPathPayloadProvisionerTest.java
create mode 100644
plugins/hypervisors/external/src/test/java/org/apache/cloudstack/hypervisor/external/resource/ExternalResourceTest.java
create mode 100755 scripts/vm/hypervisor/external/provisioner/provisioner.sh
create mode 100644 test/integration/smoke/test_extension_custom.py
create mode 100644
test/integration/smoke/test_extension_custom_action_lifecycle.py
create mode 100644 test/integration/smoke/test_extension_lifecycle.py
create mode 100644 ui/src/components/view/ObjectListTable.vue
create mode 100644 ui/src/components/widgets/DetailsInput.vue
create mode 100644 ui/src/config/section/extension.js
create mode 100644 ui/src/config/section/extension/customaction.js
copy engine/schema/src/main/java/com/cloud/host/dao/HostDetailsDao.java =>
ui/src/utils/extension.js (63%)
create mode 100644 ui/src/views/extension/AddCustomAction.vue
create mode 100644 ui/src/views/extension/CreateExtension.vue
create mode 100644 ui/src/views/extension/ExtensionCustomActionsTab.vue
create mode 100644 ui/src/views/extension/ExtensionResourcesTab.vue
create mode 100644 ui/src/views/extension/ExternalConfigurationDetails.vue
create mode 100644 ui/src/views/extension/ParametersInput.vue
create mode 100644 ui/src/views/extension/RegisterExtension.vue
create mode 100644 ui/src/views/extension/RunCustomAction.vue
create mode 100644 ui/src/views/extension/UpdateCustomAction.vue
create mode 100644 ui/src/views/extension/UpdateExtension.vue
create mode 100644 utils/src/main/java/com/cloud/utils/json/JsonMergeUtil.java
create mode 100644
utils/src/test/java/com/cloud/utils/json/JsonMergeUtilTest.java