This is an automated email from the ASF dual-hosted git repository. sureshanaparti pushed a change to branch dummy in repository https://gitbox.apache.org/repos/asf/cloudstack.git
discard 8ab259bee22 donot merge add 371ce12abef Normalize dates in Usage and Quota APIs (#8243) add c563fda0819 Add two more `pre-commit` hooks (#9077) add e159a593f12 Add `markdownlint` with `pre-commit` (#9078) add 40c5d353773 Fix spelling in docs, logs, exception messages etc (#9076) add 28e8e2d0096 pre-commit: add hook to trim trailing whitespace (#8205) add ad66edf6e65 UI: Add search filters (#9068) add 283a4853aad ui: fix create network access in deploy vm wizard (#9117) add c07953cc93e ui: fix columns for exportacls csv (#9118) add 8bb7bbea888 ui: add move to top/bottom for acl rules list (#9119) add 261530c92a9 server: honor listall param for listiso api (#9064) add c36a3b8cc33 ui: fix create menu item access (#9104) add c970141e250 engine-schema: add removed columne for cloud.user_data, fix delete op (#9120) add f1c3d2c4bee Merge release branch 4.19 to main add 5433e775e53 New feature: Implicit host tags (#8929) add 9b3c318db6a upgrade: move 4.19.0->4.20.0 to 4.19.1->4.20.0 (#8893) add 19f96355ac0 Update .asf.yaml add 0c615312f95 log messages (#9093) add 87b55af1979 Fixup response code on incorrect credentials (#8671) add d77998c2d44 utils,ui: obfuscate sensitive log info, use POST for configureOutOfBandManagement (#9126) add 875cd149195 server: fix fail to list public ips of shared networks sometimes (#8624) add 68a231aaee0 Show site to site VPN connections in UI (#9066) add 631d6ad09bc Do not retrieve VM's stats on normal VM listing (#8782) add 91c7bc722f2 server,cks: check if vm is cks node during vm destroy (#9057) add 7a341942373 cleanup: remove test/src-not-used/ (#9007) add c791c138e75 ui: change reporting link to Github Discussions (#9023) add 2339412f734 linstor: make getDevicePath more robust (#9143) add c779b1c6164 Merge branch '4.18' into 4.19 add b29391c3291 Merge LTS branch '4.19' into main add 81cdf3cfbfe Fix instance & backup resource table columns (#9147) add 2542582c1e0 logging migration in merge missing add be552fdce9c feature: webhooks (#8674) add cc8dc84f647 server: fix resource reservation leakage (#9169) add 10f4de03181 kvm: consider provisioning type for local data volumes (#9141) add 0b54fbb5399 ui: Updated units names (#8543) add 3f2761ec7c6 Merge remote-tracking branch 'origin/4.18' into 4.19 add 8d211e75c01 Merge remote-tracking branch 'origin/4.19' add 21d07132add engine-schema: make adding/dropping indexes idempotent (#9171) add ee39104ec04 fix null host tags while creating zone (#8976) add 1383625c93e Fix `*.smtp.useAuth`, `quota.usage.smtp.useStartTLS` and `*.smtp.enabledSecurityProtocols` settings definitions (#9031) add 3fe2b46dd0b [UI] Add option to specify account/project while deploying VMs and creating networks (#8919) add 3b8d2202dcd fix unwanted kvm root volume migration (#8908) add faf94387a63 Disable logs to stdout and capture remaining stdout logs to a file (#8880) add c9a95bc22c5 Add unit tests for null cpu for null parameters for set allocated cpu (#9137) add 66f7f762636 fix createVMSchedule action name (#9226) add 64593574d88 test update and get connected hosts (#9136) add 6fda757936b While starting VM with 'considerlasthost' enabled, don't load host tags/details for the last host when it doesn't exist [main] (#9063) add f854aea8225 donot merge 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 (8ab259bee22) \ N -- N -- N refs/heads/dummy (f854aea8225) 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 | 1 + .github/linters/.markdown-lint.yml | 100 + .github/workflows/ci.yml | 3 +- .pre-commit-config.yaml | 16 +- CHANGES.md | 16 +- CONTRIBUTING.md | 18 +- README.md | 2 +- agent/bindir/cloud-setup-agent.in | 4 +- agent/bindir/cloud-ssh.in | 4 +- agent/conf/agent.properties | 3 + agent/conf/cloudstack-agent.logrotate.in | 4 +- agent/conf/environment.properties.in | 4 +- agent/conf/log4j-cloud.xml.in | 2 +- .../cloud/agent/properties/AgentProperties.java | 7 + .../test/java/com/cloud/agent/AgentShellTest.java | 12 + .../cluster/KubernetesClusterHelper.java | 5 +- .../java/com/cloud/user/ResourceLimitService.java | 5 +- api/src/main/java/com/cloud/uservm/UserVm.java | 2 + .../org/apache/cloudstack/api/ApiConstants.java | 32 +- .../command/admin/usage/ListUsageRecordsCmd.java | 20 +- .../api/command/admin/user/UpdateUserCmd.java | 2 +- .../user/resource/UpdateResourceCountCmd.java | 7 +- .../api/command/user/vm/CreateVMScheduleCmd.java | 2 +- .../cloudstack/api/command/user/vm/ListVMsCmd.java | 48 +- .../cloudstack/api/response/BucketResponse.java | 2 +- .../api/response/HostForMigrationResponse.java | 16 + .../cloudstack/api/response/HostResponse.java | 24 + .../cloudstack/api/response/HostTagResponse.java | 13 + .../api/response/UsageRecordResponse.java | 11 +- .../cloudstack/api/response/UserVmResponse.java | 16 + .../org/apache/cloudstack/query/QueryService.java | 4 + .../cloudstack/user/ResourceReservation.java | 4 + client/bindir/cloud-update-xenserver-licenses.in | 18 +- client/conf/log4j-cloud.xml.in | 2 +- client/pom.xml | 5 + .../com/cloud/agent/api/StartupRoutingCommand.java | 4 + .../core/spring-core-registry-core-context.xml | 9 +- .../META-INF/cloudstack/event/module.properties | 11 +- ...ng-core-lifecycle-event-context-inheritable.xml | 31 + debian/rules | 4 + deps/install-non-oss.sh | 2 +- .../main/java/com/cloud/alert/AlertManager.java | 6 +- .../main/java/com/cloud/event/UsageEventUtils.java | 22 +- .../com/cloud/network/NetworkStateListener.java | 32 +- .../cloud/network/NetworkStateListenerTest.java | 40 + .../com/cloud/vm/VirtualMachineManagerImpl.java | 11 +- .../src/main/java/com/cloud/host/HostTagVO.java | 10 + .../main/java/com/cloud/host/dao/HostTagsDao.java | 8 + .../java/com/cloud/host/dao/HostTagsDaoImpl.java | 125 ++ .../com/cloud/upgrade/DatabaseUpgradeChecker.java | 6 +- ...e41900to42000.java => Upgrade41910to42000.java} | 8 +- .../src/main/java/com/cloud/user/UserDataVO.java | 15 + .../src/main/java/com/cloud/vm/UserVmVO.java | 1 + .../cloudstack/reservation/ReservationVO.java | 23 + .../cloudstack/reservation/dao/ReservationDao.java | 6 +- .../reservation/dao/ReservationDaoImpl.java | 79 +- .../spring-engine-schema-core-daos-context.xml | 1 - .../resources/META-INF/db/schema-41900to41910.sql | 2 + .../resources/META-INF/db/schema-41900to42000.sql | 81 - ...cleanup.sql => schema-41910to42000-cleanup.sql} | 0 .../resources/META-INF/db/schema-41910to42000.sql | 152 ++ .../META-INF/db/views/cloud.host_view.sql | 8 +- .../db/views/cloud.webhook_delivery_view.sql | 48 + .../META-INF/db/views/cloud.webhook_view.sql | 52 + .../cloudstack/framework/config/ConfigKey.java | 6 +- .../apache/cloudstack/framework/events/Event.java | 63 +- .../cloudstack/framework/events/EventBus.java | 2 + .../{EventBus.java => EventDistributor.java} | 32 +- .../framework/events/EventDistributorImpl.java | 68 + .../framework/events/EventDistributorImplTest.java | 67 + .../cloudstack/quota/constant/QuotaConfig.java | 6 +- packaging/centos7/cloud.spec | 4 + packaging/centos8/cloud.spec | 4 + packaging/systemd/cloudstack-agent.service | 2 + packaging/systemd/cloudstack-management.service | 2 + packaging/systemd/cloudstack-usage.service | 2 + .../api/response/ApiDiscoveryResponse.java | 25 +- .../api/response/ApiParameterResponse.java | 13 +- .../discovery/ApiDiscoveryServiceImpl.java | 38 +- .../cloudstack/api/command/QuotaBalanceCmd.java | 6 +- .../cloudstack/api/command/QuotaStatementCmd.java | 6 +- .../api/command/QuotaTariffCreateCmd.java | 8 +- .../cloudstack/api/command/QuotaTariffListCmd.java | 10 +- .../api/command/QuotaTariffUpdateCmd.java | 4 +- .../api/response/QuotaResponseBuilderImpl.java | 22 +- .../api/response/QuotaTariffResponse.java | 48 +- .../org/apache/cloudstack/quota/QuotaService.java | 2 - .../apache/cloudstack/quota/QuotaServiceImpl.java | 62 +- .../api/response/QuotaResponseBuilderImplTest.java | 7 +- .../cloudstack/quota/QuotaServiceImplTest.java | 10 - .../cloudstack/mom/inmemory/InMemoryEventBus.java | 5 + .../apache/cloudstack/mom/kafka/KafkaEventBus.java | 8 +- .../cloudstack/mom/rabbitmq/RabbitMQEventBus.java | 5 +- plugins/event-bus/webhook/pom.xml | 46 + .../org/apache/cloudstack/mom/webhook/Webhook.java | 67 +- .../cloudstack/mom/webhook/WebhookApiService.java | 44 + .../mom/webhook/WebhookApiServiceImpl.java | 574 +++++ .../cloudstack/mom/webhook/WebhookDelivery.java | 39 +- .../mom/webhook/WebhookDeliveryThread.java | 287 +++ .../cloudstack/mom/webhook/WebhookEventBus.java} | 53 +- .../cloudstack/mom/webhook/WebhookService.java | 63 + .../cloudstack/mom/webhook/WebhookServiceImpl.java | 354 +++ .../webhook/api/command/user/CreateWebhookCmd.java | 167 ++ .../webhook/api/command/user/DeleteWebhookCmd.java | 84 + .../api/command/user/DeleteWebhookDeliveryCmd.java | 126 ++ .../command/user/ExecuteWebhookDeliveryCmd.java | 132 ++ .../api/command/user/ListWebhookDeliveriesCmd.java | 125 ++ .../webhook/api/command/user/ListWebhooksCmd.java | 95 + .../webhook/api/command/user/UpdateWebhookCmd.java | 136 ++ .../api/response/WebhookDeliveryResponse.java | 136 ++ .../mom/webhook/api/response/WebhookResponse.java | 149 ++ .../cloudstack/mom/webhook/dao/WebhookDao.java | 15 +- .../cloudstack/mom/webhook/dao/WebhookDaoImpl.java | 99 + .../mom/webhook/dao/WebhookDeliveryDao.java | 15 +- .../mom/webhook/dao/WebhookDeliveryDaoImpl.java | 73 + .../mom/webhook/dao/WebhookDeliveryJoinDao.java | 17 +- .../webhook/dao/WebhookDeliveryJoinDaoImpl.java | 71 + .../cloudstack/mom/webhook/dao/WebhookJoinDao.java | 12 +- .../mom/webhook/dao/WebhookJoinDaoImpl.java | 45 + .../mom/webhook/vo/WebhookDeliveryJoinVO.java | 182 ++ .../mom/webhook/vo/WebhookDeliveryVO.java | 174 ++ .../cloudstack/mom/webhook/vo/WebhookJoinVO.java | 234 ++ .../cloudstack/mom/webhook/vo/WebhookVO.java | 232 ++ .../META-INF/cloudstack/webhook/module.properties | 10 +- .../webhook/spring-event-webhook-context.xml | 41 + .../mom/webhook/WebhookApiServiceImplTest.java | 253 +++ .../mom/webhook/WebhookDeliveryThreadTest.java | 62 + .../mom/webhook/WebhookEventBusTest.java | 106 + .../api/command/user/CreateWebhookCmdTest.java | 173 ++ .../api/command/user/DeleteWebhookCmdTest.java | 106 + .../command/user/DeleteWebhookDeliveryCmdTest.java | 108 + .../user/ExecuteWebhookDeliveryCmdTest.java | 153 ++ .../command/user/ListWebhookDeliveriesCmdTest.java | 141 ++ .../api/command/user/ListWebhooksCmdTest.java | 105 + .../api/command/user/UpdateWebhookCmdTest.java | 163 ++ .../kvm/resource/LibvirtComputingResource.java | 14 + .../kvm/storage/LibvirtStorageAdaptor.java | 2 +- .../kvm/resource/LibvirtComputingResourceTest.java | 36 + .../main/scripts/vm/hypervisor/ovm/configureOvm.sh | 4 +- .../storage/resource/VmwareStorageProcessor.java | 2 +- .../cluster/KubernetesClusterHelperImpl.java | 30 +- .../cluster/KubernetesClusterManagerImpl.java | 4 +- ...ernetesClusterResourceModifierActionWorker.java | 4 +- .../KubernetesClusterStartWorker.java | 2 +- .../cluster/dao/KubernetesClusterVmMapDao.java | 2 + .../cluster/dao/KubernetesClusterVmMapDaoImpl.java | 10 + .../cluster/utils/KubernetesClusterUtil.java | 6 +- .../cluster/KubernetesClusterHelperImplTest.java | 71 + .../apache/cloudstack/api/ListVMsMetricsCmd.java | 13 +- .../cloudstack/metrics/MetricsServiceImpl.java | 1 - .../cloudstack/response/VmMetricsResponse.java | 11 - .../response/HostMetricsResponseTest.java | 23 + .../network/contrail/management/EventUtils.java | 37 +- .../src/test/resources/mysql_db_start.sh | 2 +- plugins/pom.xml | 1 + .../kvm/storage/LinstorStorageAdaptor.java | 24 +- .../driver/LinstorPrimaryDataStoreDriverImpl.java | 30 +- .../storage/datastore/util/LinstorUtil.java | 33 + plugins/storage/volume/storpool/README.md | 2 +- .../cloudstack/oauth2/OAuth2UserAuthenticator.java | 26 +- .../oauth2/OAuth2UserAuthenticatorTest.java | 32 +- .../SYSCONFDIR/rc.d/init.d/cloud-ipallocator.in | 4 +- .../SYSCONFDIR/rc.d/init.d/cloud-ipallocator.in | 4 +- .../SYSCONFDIR/init.d/cloud-ipallocator.in | 4 +- .../SYSCONFDIR/rc.d/init.d/cloud-ipallocator.in | 4 +- .../sles/SYSCONFDIR/init.d/cloud-ipallocator.in | 4 +- .../ubuntu/SYSCONFDIR/init.d/cloud-ipallocator.in | 6 +- scripts/installer/createtmplt.sh | 28 +- scripts/installer/createvolume.sh | 26 +- scripts/installer/installcentos.sh | 10 +- scripts/installer/installdomp.sh | 6 +- scripts/installer/run_installer.sh | 6 +- scripts/network/domr/router_proxy.sh | 6 +- scripts/network/exdhcp/dnsmasq_edithosts.sh | 16 +- scripts/network/exdhcp/prepare_dhcpd.sh | 4 +- scripts/network/exdhcp/prepare_dnsmasq.sh | 8 +- scripts/storage/checkchildren.sh | 4 +- scripts/storage/installIso.sh | 14 +- scripts/storage/qcow2/create_private_template.sh | 8 +- scripts/storage/qcow2/createtmplt.sh | 20 +- scripts/storage/qcow2/createvm.sh | 58 +- scripts/storage/qcow2/createvolume.sh | 20 +- scripts/storage/qcow2/delvm.sh | 14 +- scripts/storage/qcow2/get_domr_kernel.sh | 12 +- scripts/storage/qcow2/get_iqn.sh | 4 +- scripts/storage/qcow2/importmpl.sh | 20 +- scripts/storage/qcow2/listvmdisk.sh | 16 +- scripts/storage/qcow2/listvmdisksize.sh | 12 +- scripts/storage/qcow2/listvmtmplt.sh | 10 +- scripts/storage/qcow2/listvolume.sh | 10 +- scripts/storage/qcow2/managevolume.sh | 44 +- .../create_privatetemplate_from_snapshot_xen.sh | 10 +- scripts/storage/secondary/createtmplt.sh | 18 +- scripts/storage/secondary/createvolume.sh | 20 +- scripts/storage/secondary/installIso.sh | 14 +- scripts/storage/secondary/listvmtmplt.sh | 8 +- scripts/storage/secondary/listvolume.sh | 8 +- scripts/util/prepare_linmin.sh | 4 +- scripts/vm/hypervisor/kvm/kvmheartbeat.sh | 22 +- scripts/vm/hypervisor/kvm/setup_agent.sh | 38 +- scripts/vm/hypervisor/xenserver/check_heartbeat.sh | 10 +- .../vm/hypervisor/xenserver/cloud-clean-vlan.sh | 4 +- .../hypervisor/xenserver/cloud-prepare-upgrade.sh | 6 +- .../hypervisor/xenserver/cloud-propagate-vlan.sh | 4 +- .../vm/hypervisor/xenserver/cloud-setup-bonding.sh | 12 +- .../xenserver/copy_vhd_from_secondarystorage.sh | 12 +- .../xenserver/copy_vhd_to_secondarystorage.sh | 12 +- .../create_privatetemplate_from_snapshot.sh | 14 +- .../vm/hypervisor/xenserver/kill_copy_process.sh | 10 +- scripts/vm/hypervisor/xenserver/launch_hb.sh | 6 +- scripts/vm/hypervisor/xenserver/make_migratable.sh | 6 +- scripts/vm/hypervisor/xenserver/network_info.sh | 4 +- scripts/vm/hypervisor/xenserver/ovs-get-bridge.sh | 4 +- .../vm/hypervisor/xenserver/ovs-get-dhcp-iface.sh | 4 +- .../hypervisor/xenserver/setup_heartbeat_file.sh | 14 +- scripts/vm/hypervisor/xenserver/setup_iscsi.sh | 6 +- scripts/vm/hypervisor/xenserver/setupxenserver.sh | 6 +- .../vm/hypervisor/xenserver/upgrade_snapshot.sh | 14 +- .../vm/hypervisor/xenserver/upgrade_vnc_config.sh | 4 +- scripts/vm/hypervisor/xenserver/xs_cleanup.sh | 8 +- scripts/vm/network/ovs-pvlan-cleanup.sh | 4 +- scripts/vm/network/ovs-pvlan-dhcp-host.sh | 4 +- scripts/vm/network/ovs-pvlan-kvm-dhcp-host.sh | 4 +- scripts/vm/network/ovs-pvlan-vm.sh | 4 +- scripts/vm/network/vnet/modifyvlan.sh | 30 +- scripts/vm/pingtest.sh | 6 +- scripts/vm/systemvm/injectkeys.sh | 4 +- .../conf/cloudstack-management.logrotate.in | 5 +- server/conf/log4j-cloud.xml.in | 2 +- .../java/com/cloud/alert/AlertManagerImpl.java | 2 +- server/src/main/java/com/cloud/api/ApiDBUtils.java | 8 +- .../main/java/com/cloud/api/ApiResponseHelper.java | 10 +- server/src/main/java/com/cloud/api/ApiServer.java | 47 +- .../java/com/cloud/api/query/QueryManagerImpl.java | 16 +- .../com/cloud/api/query/ViewResponseHelper.java | 3 +- .../com/cloud/api/query/dao/HostJoinDaoImpl.java | 3 + .../com/cloud/api/query/dao/HostTagDaoImpl.java | 122 -- .../java/com/cloud/api/query/vo/HostJoinVO.java | 14 + .../main/java/com/cloud/configuration/Config.java | 9 - .../deploy/DeploymentPlanningManagerImpl.java | 5 +- .../java/com/cloud/event/ActionEventUtils.java | 63 +- .../main/java/com/cloud/event/AlertGenerator.java | 20 +- .../java/com/cloud/network/NetworkServiceImpl.java | 50 +- .../java/com/cloud/projects/ProjectManager.java | 9 +- .../com/cloud/projects/ProjectManagerImpl.java | 21 +- .../com/cloud/resource/ResourceManagerImpl.java | 19 +- .../cloud/resourcelimit/CheckedReservation.java | 33 +- .../resourcelimit/ResourceLimitManagerImpl.java | 28 + .../storage/listener/SnapshotStateListener.java | 26 +- .../storage/listener/VolumeStateListener.java | 43 +- .../java/com/cloud/usage/UsageServiceImpl.java | 38 +- .../java/com/cloud/user/AccountManagerImpl.java | 21 +- .../main/java/com/cloud/vm/UserVmManagerImpl.java | 18 +- .../java/com/cloud/vm/UserVmStateListener.java | 29 +- .../apache/cloudstack/webhook/WebhookHelper.java | 12 +- .../core/spring-server-core-managers-context.xml | 4 + .../java/com/cloud/event/ActionEventUtilsTest.java | 20 +- .../com/cloud/projects/ProjectManagerImplTest.java | 40 +- .../resourcelimit/CheckedReservationTest.java | 39 + .../template/HypervisorTemplateAdapterTest.java | 100 +- .../com/cloud/user/AccountManagerImplTest.java | 79 +- setup/bindir/cloud-migrate-databases.in | 4 +- .../bindir/cloud-set-guest-password-configdrive.in | 4 +- setup/bindir/cloud-setup-baremetal.in | 59 +- setup/bindir/cloud-setup-encryption.in | 75 +- setup/db/221to222upgrade.sh | 10 +- setup/db/deploy-db-clouddev.sh | 4 +- setup/db/deploy-db-dev.sh | 10 +- setup/db/deploy-db-simulator.sh | 10 +- systemvm/debian/opt/cloud/bin/vr_cfg.sh | 2 +- .../opt/cloud/templates/conntrackd.conf.templ | 2 +- systemvm/patch-sysvms.sh | 2 +- test/bindirbak/cloud-run-test.in | 4 +- .../maint/testpath_disable_enable_zone.py | 2 +- .../component/test_acl_sharednetwork.py | 2 +- ...est_acl_sharednetwork_deployVM-impersonation.py | 2 +- .../component/test_advancedsg_networks.py | 2 +- test/integration/component/test_project_limits.py | 2 +- test/integration/component/test_resource_limits.py | 2 +- .../component/test_snapshots_improvement.py | 2 +- .../smoke/test_attach_multiple_volumes.py | 2 +- .../test_enable_account_settings_for_domain.py | 4 +- test/integration/smoke/test_host_tags.py | 160 ++ test/integration/smoke/test_webhook_delivery.py | 212 ++ test/integration/smoke/test_webhook_lifecycle.py | 392 ++++ test/scripts/bootstrap-regression.sh | 6 +- test/scripts/build-env.sh | 6 +- test/scripts/certDeleteEC2.sh | 6 +- test/scripts/certSubmitEC2.sh | 6 +- test/scripts/checkLog.sh | 6 +- test/scripts/checkOutOfMemory.sh | 6 +- test/scripts/cleanparallel.sh | 6 +- test/scripts/deploy-and-run-regression.sh | 6 +- test/scripts/deploy.sh | 6 +- test/scripts/deploycluster.sh | 4 +- test/scripts/executeUserAPI.sh | 6 +- test/scripts/invoke.sh | 6 +- test/scripts/regression.sh | 6 +- test/scripts/run.sh | 6 +- test/scripts/script_lock_test/test.sh | 4 +- test/scripts/script_lock_test/test_task.sh | 4 +- test/scripts/sign.sh | 6 +- test/scripts/signEC2.sh | 6 +- test/scripts/usage/allocated.sh | 6 +- test/scripts/usage/network.sh | 6 +- test/scripts/usage/running.sh | 6 +- test/scripts/usage/volume_usage.sh | 6 +- test/scripts/xen/corrupttemplate.sh | 6 +- test/scripts/xen/createfaketemplate.sh | 6 +- test/scripts/xen/killvm.sh | 6 +- test/scripts/xen/listtemplate.sh | 6 +- test/scripts/xen/listvdi.sh | 6 +- test/scripts/xen/listvm.sh | 6 +- test/scripts/xen/ms.sh | 6 +- test/scripts/xen/removetemplate.sh | 8 +- test/scripts/xen/shutdown.sh | 6 +- test/scripts/xen/sleep.sh | 6 +- test/scripts/xen/ssh.sh | 6 +- .../com/cloud/sample/UserCloudAPIExecutor.java | 188 -- .../com/cloud/test/longrun/BuildGuestNetwork.java | 124 -- .../java/com/cloud/test/longrun/GuestNetwork.java | 108 - .../com/cloud/test/longrun/PerformanceWithAPI.java | 191 -- .../main/java/com/cloud/test/longrun/User.java | 203 -- .../com/cloud/test/longrun/VirtualMachine.java | 96 - .../java/com/cloud/test/regression/ApiCommand.java | 849 -------- .../java/com/cloud/test/regression/ConfigTest.java | 123 -- .../cloud/test/regression/DelegatedAdminTest.java | 127 -- .../java/com/cloud/test/regression/Deploy.java | 107 - .../com/cloud/test/regression/EventsApiTest.java | 174 -- .../main/java/com/cloud/test/regression/HA.java | 78 - .../cloud/test/regression/LoadBalancingTest.java | 140 -- .../cloud/test/regression/PortForwardingTest.java | 141 -- .../java/com/cloud/test/regression/SanityTest.java | 84 - .../main/java/com/cloud/test/regression/Test.java | 86 - .../java/com/cloud/test/regression/TestCase.java | 139 -- .../com/cloud/test/regression/TestCaseEngine.java | 276 --- .../java/com/cloud/test/regression/VMApiTest.java | 89 - .../main/java/com/cloud/test/stress/SshTest.java | 91 - .../cloud/test/stress/StressTestDirectAttach.java | 1354 ------------ .../com/cloud/test/stress/TestClientWithAPI.java | 2290 -------------------- .../main/java/com/cloud/test/stress/WgetTest.java | 151 -- .../cloud/test/ui/AbstractSeleniumTestCase.java | 55 - .../java/com/cloud/test/ui/AddAndDeleteAISO.java | 127 -- .../com/cloud/test/ui/AddAndDeleteATemplate.java | 126 -- .../java/com/cloud/test/ui/UIScenarioTest.java | 86 - .../java/com/cloud/test/utils/ConsoleProxy.java | 108 - .../java/com/cloud/test/utils/IpSqlGenerator.java | 89 - .../java/com/cloud/test/utils/ProxyLoadTemp.java | 110 - .../main/java/com/cloud/test/utils/SignEC2.java | 144 -- .../java/com/cloud/test/utils/SignRequest.java | 112 - .../com/cloud/test/utils/SqlDataGenerator.java | 49 - .../main/java/com/cloud/test/utils/SubmitCert.java | 199 -- .../main/java/com/cloud/test/utils/TestClient.java | 386 ---- .../java/com/cloud/test/utils/UtilsForTest.java | 210 -- tools/apidoc/build-apidoc.sh | 6 +- tools/apidoc/gen_toc.py | 4 +- tools/build/build_asf.sh | 8 +- tools/build/installer/debinstall_full.sh | 8 +- tools/build/installer/rpminstall_full.sh | 10 +- tools/build/setnextversion.sh | 4 +- tools/devcloud4/README.md | 27 +- tools/devcloud4/advanced/README.md | 20 +- tools/devcloud4/basic/README.md | 14 +- .../attributes/database_server.rb | 4 +- .../binary-installation/attributes/default.rb | 4 +- .../common/binary-installation/metadata.rb | 4 +- .../binary-installation/recipes/database_server.rb | 4 +- .../common/binary-installation/recipes/default.rb | 4 +- .../recipes/management_server.rb | 4 +- .../binary-installation/recipes/nfsshares.rb | 4 +- tools/devcloud4/common/configure-network.sh | 4 +- .../attributes/database_server.rb | 4 +- .../development-installation/attributes/default.rb | 4 +- .../files/default/createtmplt.sh | 20 +- .../common/development-installation/metadata.rb | 4 +- .../recipes/database_server.rb | 4 +- .../development-installation/recipes/default.rb | 4 +- .../development-installation/recipes/nfsshares.rb | 4 +- .../recipes/system_templates.rb | 4 +- tools/docker/README.md | 4 +- tools/docker/systemtpl.sh | 4 +- tools/eclipse/set-eclipse-profile.sh | 44 +- tools/marvin/MANIFEST.in | 4 +- tools/marvin/marvin/lib/base.py | 62 + tools/marvin/marvin/misc/build/CI.md | 12 +- tools/marvin/marvin/misc/build/README.md | 2 +- tools/marvin/marvin/misc/build/redeploy.sh | 6 +- tools/marvin/marvin/sandbox/run-marvin.sh | 4 +- tools/ngui/static/js/lib/angular.js | 4 +- tools/transifex/sync-transifex-ui.sh | 10 +- .../cloud_schema_comparision.sh | 10 +- ...test_config_between_fresh_and_upgraded_setup.sh | 12 +- ui/public/locales/en.json | 62 +- ui/public/locales/pt_BR.json | 2 + ui/src/components/header/CreateMenu.vue | 12 +- ui/src/components/page/GlobalFooter.vue | 2 +- .../{stats/FilterStats.vue => DateTimeFilter.vue} | 14 +- ui/src/components/view/DetailsTab.vue | 20 +- ui/src/components/view/InfoCard.vue | 22 + ui/src/components/view/ListResourceTable.vue | 21 +- ui/src/components/view/ListView.vue | 61 +- ui/src/components/view/SearchView.vue | 383 +++- ui/src/components/view/StatsTab.vue | 7 +- ui/src/components/view/TestWebhookDeliveryView.vue | 278 +++ ui/src/components/view/WebhookDeliveriesTab.vue | 526 +++++ ui/src/config/router.js | 1 + ui/src/config/section/account.js | 1 + ui/src/config/section/compute.js | 9 +- ui/src/config/section/config.js | 2 + ui/src/config/section/image.js | 1 + ui/src/config/section/infra.js | 2 +- ui/src/config/section/infra/clusters.js | 1 + ui/src/config/section/infra/hosts.js | 10 +- ui/src/config/section/infra/pods.js | 1 + ui/src/config/section/infra/primaryStorages.js | 1 + ui/src/config/section/infra/secondaryStorages.js | 1 + ui/src/config/section/infra/systemVms.js | 1 + ui/src/config/section/infra/zones.js | 1 + ui/src/config/section/network.js | 2 +- ui/src/config/section/offering.js | 6 + ui/src/config/section/role.js | 1 + ui/src/config/section/tools.js | 149 ++ ui/src/core/lazy_lib/icons_use.js | 10 + ui/src/views/AutogenView.vue | 11 +- ui/src/views/compute/AssignInstance.vue | 167 +- ui/src/views/compute/DeployVM.vue | 96 +- ui/src/views/compute/wizard/NetworkSelection.vue | 2 +- ui/src/views/compute/wizard/OwnershipSelection.vue | 257 +++ ui/src/views/infra/HostInfo.vue | 26 +- ui/src/views/infra/HostUpdate.vue | 183 ++ ui/src/views/infra/zone/ZoneWizardLaunchZone.vue | 2 +- ui/src/views/network/AclListRulesTab.vue | 26 + ui/src/views/network/CreateIsolatedNetworkForm.vue | 171 +- ui/src/views/network/CreateL2NetworkForm.vue | 144 +- ui/src/views/setting/ConfigurationValue.vue | 19 +- ui/src/views/tools/CreateWebhook.vue | 357 +++ ui/src/views/tools/TestWebhookDelivery.vue | 202 ++ .../conf/cloudstack-usage.logrotate.in | 5 +- usage/conf/log4j-cloud_usage.xml.in | 2 +- utils/pom.xml | 4 + .../cloud/utils/component/ComponentContext.java | 30 +- .../cloudstack/utils/process/ProcessRunner.java | 47 +- .../utils/process/ProcessRunnerTest.java | 63 + 443 files changed, 11752 insertions(+), 11380 deletions(-) create mode 100644 .github/linters/.markdown-lint.yml copy tools/marvin/MANIFEST.in => core/src/main/resources/META-INF/cloudstack/event/module.properties (93%) create mode 100644 core/src/main/resources/META-INF/cloudstack/event/spring-core-lifecycle-event-context-inheritable.xml create mode 100644 engine/components-api/src/test/java/com/cloud/network/NetworkStateListenerTest.java rename engine/schema/src/main/java/com/cloud/upgrade/dao/{Upgrade41900to42000.java => Upgrade41910to42000.java} (91%) delete mode 100644 engine/schema/src/main/resources/META-INF/db/schema-41900to42000.sql rename engine/schema/src/main/resources/META-INF/db/{schema-41900to42000-cleanup.sql => schema-41910to42000-cleanup.sql} (100%) create mode 100644 engine/schema/src/main/resources/META-INF/db/schema-41910to42000.sql create mode 100644 engine/schema/src/main/resources/META-INF/db/views/cloud.webhook_delivery_view.sql create mode 100644 engine/schema/src/main/resources/META-INF/db/views/cloud.webhook_view.sql copy framework/events/src/main/java/org/apache/cloudstack/framework/events/{EventBus.java => EventDistributor.java} (52%) create mode 100644 framework/events/src/main/java/org/apache/cloudstack/framework/events/EventDistributorImpl.java create mode 100644 framework/events/src/test/java/org/apache/cloudstack/framework/events/EventDistributorImplTest.java create mode 100644 plugins/event-bus/webhook/pom.xml rename server/src/main/java/com/cloud/api/query/vo/HostTagVO.java => plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/Webhook.java (52%) create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/WebhookApiService.java create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/WebhookApiServiceImpl.java copy api/src/main/java/org/apache/cloudstack/user/ResourceReservation.java => plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/WebhookDelivery.java (61%) create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/WebhookDeliveryThread.java copy plugins/event-bus/{kafka/src/main/java/org/apache/cloudstack/mom/kafka/KafkaEventBus.java => webhook/src/main/java/org/apache/cloudstack/mom/webhook/WebhookEventBus.java} (56%) create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/WebhookService.java create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/WebhookServiceImpl.java create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/api/command/user/CreateWebhookCmd.java create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/api/command/user/DeleteWebhookCmd.java create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/api/command/user/DeleteWebhookDeliveryCmd.java create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/api/command/user/ExecuteWebhookDeliveryCmd.java create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/api/command/user/ListWebhookDeliveriesCmd.java create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/api/command/user/ListWebhooksCmd.java create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/api/command/user/UpdateWebhookCmd.java create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/api/response/WebhookDeliveryResponse.java create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/api/response/WebhookResponse.java copy server/src/main/java/com/cloud/api/query/dao/HostTagDao.java => plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/dao/WebhookDao.java (67%) create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/dao/WebhookDaoImpl.java copy server/src/main/java/com/cloud/api/query/dao/HostTagDao.java => plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/dao/WebhookDeliveryDao.java (68%) create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/dao/WebhookDeliveryDaoImpl.java copy server/src/main/java/com/cloud/api/query/dao/HostTagDao.java => plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/dao/WebhookDeliveryJoinDao.java (60%) create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/dao/WebhookDeliveryJoinDaoImpl.java rename server/src/main/java/com/cloud/api/query/dao/HostTagDao.java => plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/dao/WebhookJoinDao.java (73%) create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/dao/WebhookJoinDaoImpl.java create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/vo/WebhookDeliveryJoinVO.java create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/vo/WebhookDeliveryVO.java create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/vo/WebhookJoinVO.java create mode 100644 plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/vo/WebhookVO.java copy tools/marvin/MANIFEST.in => plugins/event-bus/webhook/src/main/resources/META-INF/cloudstack/webhook/module.properties (93%) create mode 100644 plugins/event-bus/webhook/src/main/resources/META-INF/cloudstack/webhook/spring-event-webhook-context.xml create mode 100644 plugins/event-bus/webhook/src/test/java/org/apache/cloudstack/mom/webhook/WebhookApiServiceImplTest.java create mode 100644 plugins/event-bus/webhook/src/test/java/org/apache/cloudstack/mom/webhook/WebhookDeliveryThreadTest.java create mode 100644 plugins/event-bus/webhook/src/test/java/org/apache/cloudstack/mom/webhook/WebhookEventBusTest.java create mode 100644 plugins/event-bus/webhook/src/test/java/org/apache/cloudstack/mom/webhook/api/command/user/CreateWebhookCmdTest.java create mode 100644 plugins/event-bus/webhook/src/test/java/org/apache/cloudstack/mom/webhook/api/command/user/DeleteWebhookCmdTest.java create mode 100644 plugins/event-bus/webhook/src/test/java/org/apache/cloudstack/mom/webhook/api/command/user/DeleteWebhookDeliveryCmdTest.java create mode 100644 plugins/event-bus/webhook/src/test/java/org/apache/cloudstack/mom/webhook/api/command/user/ExecuteWebhookDeliveryCmdTest.java create mode 100644 plugins/event-bus/webhook/src/test/java/org/apache/cloudstack/mom/webhook/api/command/user/ListWebhookDeliveriesCmdTest.java create mode 100644 plugins/event-bus/webhook/src/test/java/org/apache/cloudstack/mom/webhook/api/command/user/ListWebhooksCmdTest.java create mode 100644 plugins/event-bus/webhook/src/test/java/org/apache/cloudstack/mom/webhook/api/command/user/UpdateWebhookCmdTest.java create mode 100644 plugins/integrations/kubernetes-service/src/test/java/com/cloud/kubernetes/cluster/KubernetesClusterHelperImplTest.java copy agent/conf/cloudstack-agent.logrotate.in => server/conf/cloudstack-management.logrotate.in (84%) delete mode 100644 server/src/main/java/com/cloud/api/query/dao/HostTagDaoImpl.java copy api/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterHelper.java => server/src/main/java/org/apache/cloudstack/webhook/WebhookHelper.java (78%) create mode 100644 test/integration/smoke/test_host_tags.py create mode 100644 test/integration/smoke/test_webhook_delivery.py create mode 100644 test/integration/smoke/test_webhook_lifecycle.py delete mode 100644 test/src-not-used/main/java/com/cloud/sample/UserCloudAPIExecutor.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/longrun/BuildGuestNetwork.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/longrun/GuestNetwork.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/longrun/PerformanceWithAPI.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/longrun/User.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/longrun/VirtualMachine.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/regression/ApiCommand.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/regression/ConfigTest.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/regression/DelegatedAdminTest.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/regression/Deploy.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/regression/EventsApiTest.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/regression/HA.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/regression/LoadBalancingTest.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/regression/PortForwardingTest.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/regression/SanityTest.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/regression/Test.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/regression/TestCase.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/regression/TestCaseEngine.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/regression/VMApiTest.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/stress/SshTest.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/stress/StressTestDirectAttach.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/stress/TestClientWithAPI.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/stress/WgetTest.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/ui/AbstractSeleniumTestCase.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/ui/AddAndDeleteAISO.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/ui/AddAndDeleteATemplate.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/ui/UIScenarioTest.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/utils/ConsoleProxy.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/utils/IpSqlGenerator.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/utils/ProxyLoadTemp.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/utils/SignEC2.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/utils/SignRequest.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/utils/SqlDataGenerator.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/utils/SubmitCert.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/utils/TestClient.java delete mode 100644 test/src-not-used/main/java/com/cloud/test/utils/UtilsForTest.java rename ui/src/components/view/{stats/FilterStats.vue => DateTimeFilter.vue} (93%) create mode 100644 ui/src/components/view/TestWebhookDeliveryView.vue create mode 100644 ui/src/components/view/WebhookDeliveriesTab.vue create mode 100644 ui/src/views/compute/wizard/OwnershipSelection.vue create mode 100644 ui/src/views/infra/HostUpdate.vue create mode 100644 ui/src/views/tools/CreateWebhook.vue create mode 100644 ui/src/views/tools/TestWebhookDelivery.vue copy agent/conf/cloudstack-agent.logrotate.in => usage/conf/cloudstack-usage.logrotate.in (86%) create mode 100644 utils/src/test/java/org/apache/cloudstack/utils/process/ProcessRunnerTest.java