This is an automated email from the ASF dual-hosted git repository.
weizhouapache pushed a change to branch healthcheck-main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
omit cd88d951128 4.21/main Health Check, please don't merge this!
add 36fedce9888 test: cleanup resources in test_deploy_vm_iso, use base
class tearDown (#13136)
add 5c4bc486d29 Enable dynamic scaling of Kubernetes cluster offerings for
KVM (#13226)
add 6f30b0d5837 Custom login base domain using GUI whitelabel themes
(#13412)
add 7e84850a03a Restrict trigger push branch for GitHub Workflow (#13522)
add 2032bbd7f67 Addition of the status filter in the backup listing API
(#13254)
add b7d4df0a11f Add more details to VM deployment failure alert messages
(#12939)
add 3327e1449c5 CloudStack Volume support with ONTAP storage (#13053)
add e63b7da74ce Update nw_rate & mc_rate to int unsigned to allow rates >
65Gbps (#13380)
add 4beab943f2a Add draft project security threat-model document (#13293)
add 167eb0af759 CloudStack DNS framework - Integrate PowerDNS as first
plugin (#12737)
add 4625a436722 Batch NIC and VLAN reads in collectVmNetworkStatistics to
reduce per-NIC DB round-trips (#13474)
add 2ba02c1a4a3 systemvm: fix VPC VPN issue when network id is bigger than
1000 on Netris (#13346)
add 0231e67b9d9 Linstor: Add controller token auth support (#13470)
add 097a57967b6 systemvm: emit IPv6 prefix block for redundant VPC VRs in
radvd.conf (#13127)
add 006831daafb UI: Prevent failure when loading network offerings when
physical network has a tag (#13503)
add 348ceaff33d kvm: get ip address of Windows vms via virsh domifaddr
(#12651)
add 135922fa63b listHosts: add 'core' details (#13444)
add daa2e61eefb Fix encryption and migration not working on Shared
mountpoint (#13537)
add 7c2a8768e67 check state instead of power state on change offering for
ROOT volume (#13271)
add 9e8855a6f52 Add async job event bus publisher (#12971)
add 4262c026d0a KVM HA: Fix CheckOnHostAnswer success flag when there is
no heartbeat (#13373)
add a951ac61d09 UI: Don't set management server ID if cookie isn't set
(#13404)
add b3b9caddc19 Merge remote-tracking branch 'apache/4.22'
add 4d006b5f85f UI: Fix missing label.allocated key in Status widget test
mock (#13546)
add 9f281c48517 NAS backup: resume paused VM on backup failure and fix
missing exit (#12822)
add 89b2b030e02 veeam-control-service: fix vm pagination (#13383)
add f9a94518606 [NAS Backup] Suppress Errors in Disk Usage Calculation
that Caused Backup to Fail (#13424)
add 40b3ef36aa9 kvm: Disabled the setting
reboot.host.and.alert.management.on.heartbeat.timeout by default (#10111)
add f07b7d8c078 Add Guest OS mapping for windows server 2025 on VMware
(#12358)
add 600201a46bf Add KMSWrappedKeyDao as a dependency for the Usage server
(#13535)
add 72197fea6c6 [VMware to KVM] Cleanup leftover migrated volumes in case
of migration failures (#13151)
add 42322a59c7d feat(backup): incremental NAS backup support for KVM
(#13074)
add 333973ab3cd Add xenserver.create.full.clone global setting (#13114)
add 1400616e712 UI: Fix icon for KMS & ordering in the left side menu
(#13568)
add 33c3967b6b6 Add per-domain OAuth (Google, GitHub) provider support
(#12702)
add de3656c8193 Enhance DHCP functionality by adding lease timeout support
(#12410)
add ba837fb8a80 Incremental nas backup fixes (#13571)
add 20e9980b60a backup: allow third-party backup provider plugins in
configuration (#13332)
add 8996286a95c Network Extension: Orchestrate external Network devices
(#13032)
add c46fb707576 vxlan: Update documentation inside modifyvxlan-evpn.sh
(#13584)
add 4816e059383 KVM: add configurable MAC/IP script hook for static
ARP/NDP and routes (#13495)
add 0549f37e01b 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 (cd88d951128)
\
N -- N -- N refs/heads/healthcheck-main (0549f37e01b)
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/CODEOWNERS | 2 +-
.github/workflows/build.yml | 8 +-
.github/workflows/ci.yml | 8 +-
.github/workflows/rat.yml | 8 +-
.github/workflows/ui.yml | 8 +-
agent/conf/agent.properties | 2 +-
.../cloud/agent/properties/AgentProperties.java | 19 +-
api/src/main/java/com/cloud/event/EventTypes.java | 26 +
api/src/main/java/com/cloud/network/Network.java | 38 +
.../main/java/com/cloud/network/NetworkModel.java | 14 +
api/src/main/java/com/cloud/network/Networks.java | 9 +-
.../cloud/network/element/DnsServiceProvider.java | 2 +
.../com/cloud/network/element/NetworkElement.java | 4 +
api/src/main/java/com/cloud/vm/Nic.java | 5 +
api/src/main/java/com/cloud/vm/NicProfile.java | 2 +-
.../org/apache/cloudstack/api/ApiConstants.java | 35 +-
.../java/org/apache/cloudstack/api/BaseCmd.java | 4 +
.../api/command/user/backup/ListBackupsCmd.java | 10 +
.../api/command/user/dns/AddDnsServerCmd.java | 169 +
.../user/dns/AssociateDnsZoneToNetworkCmd.java | 94 +
.../api/command/user/dns/CreateDnsRecordCmd.java | 100 +
.../api/command/user/dns/CreateDnsZoneCmd.java | 154 +
.../api/command/user/dns/DeleteDnsRecordCmd.java | 92 +
.../api/command/user/dns/DeleteDnsServerCmd.java | 115 +
.../api/command/user/dns/DeleteDnsZoneCmd.java | 109 +
.../dns/DisassociateDnsZoneFromNetworkCmd.java | 80 +
.../api/command/user/dns/ListDnsProvidersCmd.java | 53 +
.../api/command/user/dns/ListDnsRecordsCmd.java | 54 +
.../api/command/user/dns/ListDnsServersCmd.java | 82 +
.../api/command/user/dns/ListDnsZonesCmd.java | 63 +
.../api/command/user/dns/UpdateDnsServerCmd.java | 150 +
.../api/command/user/dns/UpdateDnsZoneCmd.java | 95 +
.../command/user/gui/theme/CreateGuiThemeCmd.java | 8 +
.../command/user/gui/theme/UpdateGuiThemeCmd.java | 8 +
.../response/DnsProviderResponse.java} | 40 +-
.../response/DnsRecordResponse.java} | 52 +-
.../cloudstack/api/response/DnsServerResponse.java | 133 +
.../response/DnsZoneNetworkMapResponse.java} | 49 +-
.../cloudstack/api/response/DnsZoneResponse.java | 139 +
.../cloudstack/api/response/GuiThemeResponse.java | 13 +
.../cloudstack/api/response/HostResponse.java | 12 +
.../cloudstack/api/response/NetworkResponse.java | 16 +
.../cloudstack/api/response/NicResponse.java | 8 +
.../cloudstack/auth/UserOAuth2Authenticator.java | 13 +-
.../java/org/apache/cloudstack/backup/Backup.java | 6 +-
.../apache/cloudstack/backup/BackupManager.java | 17 +-
.../apache/cloudstack/backup/BackupProvider.java | 12 +
.../org/apache/cloudstack/dns/DnsProvider.java | 45 +
.../apache/cloudstack/dns/DnsProviderManager.java | 78 +
.../org/apache/cloudstack/dns/DnsProviderType.java | 10 +-
.../java/org/apache/cloudstack/dns/DnsRecord.java | 66 +
.../theme/GuiThemeJoin.java => dns/DnsServer.java} | 43 +-
.../theme/GuiThemeJoin.java => dns/DnsZone.java} | 36 +-
.../dns/exception/DnsAuthenticationException.java | 14 +-
.../dns/exception/DnsConflictException.java | 14 +-
.../dns/exception/DnsNotFoundException.java | 14 +-
.../dns/exception/DnsOperationException.java | 15 +-
.../dns/exception/DnsProviderException.java | 14 +-
.../dns/exception/DnsTransportException.java | 14 +-
.../extension/CustomActionResultResponse.java | 8 +
.../org/apache/cloudstack/extension/Extension.java | 3 +-
.../extension/ExtensionCustomAction.java | 4 +-
.../cloudstack/extension/ExtensionHelper.java | 115 +
.../cloudstack/extension/ExtensionResourceMap.java | 3 +-
.../extension/NetworkCustomActionProvider.java | 74 +
.../apache/cloudstack/gui/theme/GuiThemeJoin.java | 2 +
.../test/java/com/cloud/network/NetworkTest.java | 73 +
.../api/command/user/dns/AddDnsServerCmdTest.java | 134 +
.../user/dns/AssociateDnsZoneToNetworkCmdTest.java | 97 +
.../api/command/user/dns/BaseDnsCmdTest.java | 88 +
.../command/user/dns/CreateDnsRecordCmdTest.java | 117 +
.../api/command/user/dns/CreateDnsZoneCmdTest.java | 157 +
.../command/user/dns/DeleteDnsRecordCmdTest.java | 102 +
.../command/user/dns/DeleteDnsServerCmdTest.java | 119 +
.../api/command/user/dns/DeleteDnsZoneCmdTest.java | 104 +
.../dns/DisassociateDnsZoneFromNetworkCmdTest.java | 100 +
.../command/user/dns/ListDnsProvidersCmdTest.java | 83 +
.../command/user/dns/ListDnsRecordsCmdTest.java | 56 +
.../command/user/dns/ListDnsServersCmdTest.java | 67 +
.../api/command/user/dns/ListDnsZonesCmdTest.java | 60 +
.../command/user/dns/UpdateDnsServerCmdTest.java | 145 +
.../api/command/user/dns/UpdateDnsZoneCmdTest.java | 96 +
.../org/apache/cloudstack/dns/DnsRecordTest.java | 105 +
.../extension/CustomActionResultResponseTest.java | 92 +
.../extension/ExtensionCustomActionTest.java | 6 +
client/pom.xml | 6 +
.../api/CleanupConvertedInstanceDisksCommand.java | 57 +
.../cloud/agent/api/routing/DhcpEntryCommand.java | 9 +
.../virtualnetwork/facade/DhcpEntryConfigItem.java | 2 +-
.../virtualnetwork/model/VmDhcpConfig.java | 15 +
.../org/apache/cloudstack/backup/BackupAnswer.java | 23 +
.../cloudstack/backup/TakeBackupCommand.java | 43 +
.../core/spring-core-registry-core-context.xml | 2 +
.../META-INF/cloudstack/dns/module.properties | 12 +-
...ring-core-lifecycle-dns-context-inheritable.xml | 31 +
draft-THREAT-MODEL.md | 1148 +++++++
.../java/com/cloud/vm/VirtualMachineManager.java | 2 +
.../service/NetworkOrchestrationService.java | 6 +
.../subsystem/api/storage/DataStoreProvider.java | 5 +
.../java/com/cloud/storage/StorageManager.java | 8 +
.../engine/orchestration/NetworkOrchestrator.java | 160 +-
.../orchestration/NetworkOrchestratorTest.java | 65 +-
.../src/main/java/com/cloud/dc/dao/VlanDao.java | 2 +
.../main/java/com/cloud/dc/dao/VlanDaoImpl.java | 14 +-
.../java/com/cloud/network/dao/NetworkDaoImpl.java | 3 +-
.../com/cloud/network/dao/NetworkServiceMapVO.java | 6 +
.../dao/PhysicalNetworkServiceProviderVO.java | 24 +-
.../com/cloud/network/vpc/VpcServiceMapVO.java | 8 +-
.../java/com/cloud/network/vpc/dao/VpcDaoImpl.java | 2 +-
.../network/vpc/dao/VpcOfferingServiceMapDao.java | 2 +
.../vpc/dao/VpcOfferingServiceMapDaoImpl.java | 15 +
.../dao/NetworkOfferingServiceMapDao.java | 2 +
.../dao/NetworkOfferingServiceMapDaoImpl.java | 15 +
.../src/main/java/com/cloud/vm/dao/NicDao.java | 2 +
.../src/main/java/com/cloud/vm/dao/NicDaoImpl.java | 15 +-
.../main/java/com/cloud/vm/dao/NicDetailsDao.java | 4 +
.../java/com/cloud/vm/dao/NicDetailsDaoImpl.java | 28 +-
.../org/apache/cloudstack/backup/BackupVO.java | 8 +-
.../cloudstack/gui/theme/GuiThemeJoinVO.java | 8 +
.../apache/cloudstack/gui/theme/GuiThemeVO.java | 11 +-
...n-daos-between-management-and-usage-context.xml | 1 +
.../spring-engine-schema-core-daos-context.xml | 9 +-
.../resources/META-INF/db/schema-42210to42300.sql | 116 +
.../META-INF/db/views/cloud.dns_server_view.sql | 44 +
.../META-INF/db/views/cloud.dns_zone_view.sql | 45 +
.../META-INF/db/views/cloud.gui_themes_view.sql | 1 +
.../META-INF/db/views/cloud.user_vm_view.sql | 4 +-
.../resources/META-INF/db/views/nic_dns_view.sql | 40 +
.../storage/motion/AncientDataMotionStrategy.java | 51 +-
.../motion/AncientDataMotionStrategyTest.java | 8 +
.../KvmFileBasedStorageVmSnapshotStrategy.java | 13 +-
.../storage/volume/VolumeServiceImpl.java | 6 +
.../cloudstack/framework/config/ConfigKey.java | 20 +-
.../extensions/api/ListExtensionsCmd.java | 9 +
.../api/UpdateRegisteredExtensionCmd.java | 116 +
.../framework/extensions/dao/ExtensionDao.java | 7 +
.../framework/extensions/dao/ExtensionDaoImpl.java | 17 +
.../extensions/dao/ExtensionResourceMapDao.java | 6 +-
.../dao/ExtensionResourceMapDaoImpl.java | 22 +
.../extensions/manager/ExtensionsManager.java | 3 +
.../extensions/manager/ExtensionsManagerImpl.java | 871 +++++-
.../network/NetworkExtensionElement.java | 2618 ++++++++++++++++
.../framework/extensions/network/README.md | 1493 +++++++++
.../extensions/vo/ExtensionDetailsVO.java | 2 +-
.../vo/ExtensionResourceMapDetailsVO.java | 2 +-
.../spring-framework-extensions-core-context.xml | 3 +
.../extensions/api/ListExtensionsCmdTest.java | 18 +
.../api/UpdateRegisteredExtensionCmdTest.java | 160 +
.../dao/ExtensionResourceMapDaoImplTest.java | 48 +
.../manager/ExtensionsManagerImplTest.java | 1010 +++++-
.../framework/jobs/impl/AsyncJobManagerImpl.java | 24 +-
.../cloudstack/backup/NASBackupChainKeys.java | 62 +
.../cloudstack/backup/NASBackupProvider.java | 648 +++-
.../cloudstack/backup/NASBackupProviderTest.java | 681 ++++
plugins/dns/powerdns/pom.xml | 30 +
.../cloudstack/dns/powerdns/PowerDnsClient.java | 390 +++
.../cloudstack/dns/powerdns/PowerDnsProvider.java | 202 ++
.../META-INF/cloudstack/powerdns/module.properties | 11 +-
.../powerdns/spring-dns-powerdns-context.xml} | 10 +-
.../apache/cloudstack/dns/DnsProviderUtilTest.java | 101 +
.../dns/NormalizeDnsRecordValueTest.java | 197 ++
.../dns/powerdns/PowerDnsClientTest.java | 432 +++
.../dns/powerdns/PowerDnsProviderTest.java | 391 +++
.../hypervisor/kvm/resource/BridgeVifDriver.java | 66 +
....java => LibvirtBaseConvertCommandWrapper.java} | 148 +-
.../wrapper/LibvirtCheckOnHostCommandWrapper.java | 2 +-
...leanupConvertedInstanceDisksCommandWrapper.java | 67 +
...virtCreateDiskOnlyVMSnapshotCommandWrapper.java | 41 +-
.../LibvirtGetVmIpAddressCommandWrapper.java | 6 +-
...bvirtImportConvertedInstanceCommandWrapper.java | 231 +-
.../LibvirtRestoreBackupCommandWrapper.java | 26 +
.../wrapper/LibvirtTakeBackupCommandWrapper.java | 152 +-
.../kvm/storage/IscsiAdmStorageAdaptor.java | 200 +-
.../kvm/storage/LibvirtStorageAdaptor.java | 14 +-
.../cloudstack/kvm/ha/KVMHostActivityChecker.java | 1 +
.../kvm/resource/LibvirtComputingResourceTest.java | 5 +-
.../LibvirtGetVmIpAddressCommandWrapperTest.java | 35 +-
...tImportConvertedInstanceCommandWrapperTest.java | 2 +-
.../LibvirtRestoreBackupCommandWrapperTest.java | 2 +
.../java/com/cloud/hypervisor/guru/VMwareGuru.java | 2 +-
.../hypervisor/vmware/resource/VmwareResource.java | 2 +-
.../resource/XenServerStorageProcessor.java | 9 +-
.../xenbase/CitrixCheckOnHostCommandWrapper.java | 2 +-
.../KubernetesClusterScaleWorker.java | 15 +-
.../cloudstack/veeam/api/request/ListQuery.java | 57 +-
.../veeam/api/request/ListQueryTest.java | 10 +-
plugins/pom.xml | 1 +
plugins/storage/volume/linstor/CHANGELOG.md | 6 +
.../kvm/storage/LinstorStorageAdaptor.java | 27 +-
.../hypervisor/kvm/storage/LinstorStoragePool.java | 8 +-
.../driver/LinstorPrimaryDataStoreDriverImpl.java | 41 +-
.../LinstorPrimaryDataStoreLifeCycleImpl.java | 40 +-
.../util/LinstorConfigChangeListener.java | 108 +
.../util/LinstorConfigurationManager.java | 9 +-
.../storage/datastore/util/LinstorUtil.java | 33 +-
.../storage/motion/LinstorDataMotionStrategy.java | 9 +-
.../snapshot/LinstorVMSnapshotStrategy.java | 19 +-
.../spring-storage-volume-linstor-context.xml | 2 +
plugins/storage/volume/ontap/pom.xml | 13 +
.../driver/OntapPrimaryDatastoreDriver.java | 879 +++++-
.../storage/feign/client/NASFeignClient.java | 2 +-
.../storage/feign/client/SANFeignClient.java | 22 +
.../storage/feign/client/SnapshotFeignClient.java | 184 ++
.../feign/model/CliSnapshotRestoreRequest.java | 121 +
.../cloudstack/storage/feign/model/FileInfo.java | 16 -
.../storage/feign/model/FlexVolSnapshot.java | 122 +
.../cloudstack/storage/feign/model/Igroup.java | 12 +-
.../storage/feign/model/LunRestoreRequest.java | 132 +
.../storage/feign/model/OntapStorage.java | 20 +-
.../feign/model/SnapshotFileRestoreRequest.java | 55 +
.../apache/cloudstack/storage/feign/model/Svm.java | 39 +-
.../model/VolumeConcise.java} | 31 +-
.../lifecycle/OntapPrimaryDatastoreLifecycle.java | 177 +-
.../storage/listener/OntapHostListener.java | 58 +-
.../provider/OntapPrimaryDatastoreProvider.java | 4 +-
.../storage/provider/StorageProviderFactory.java | 31 +-
.../cloudstack/storage/service/SANStrategy.java | 43 +
.../storage/service/StorageStrategy.java | 288 +-
.../storage/service/UnifiedNASStrategy.java | 276 +-
.../storage/service/UnifiedSANStrategy.java | 553 +++-
.../storage/service/model/AccessGroup.java | 16 +-
.../storage/service/model/CloudStackVolume.java | 45 +
.../storage/utils/OntapStorageConstants.java | 22 +-
.../storage/utils/OntapStorageUtils.java | 101 +-
.../vmsnapshot/OntapVMSnapshotStrategy.java | 930 ++++++
.../spring-storage-volume-ontap-context.xml | 3 +
.../driver/OntapPrimaryDatastoreDriverTest.java | 567 ++++
.../OntapPrimaryDatastoreLifecycleTest.java | 557 +++-
.../OntapPrimaryDatastoreProviderTest.java | 4 +-
.../storage/service/StorageStrategyTest.java | 826 +++++
.../storage/service/UnifiedNASStrategyTest.java | 585 ++++
.../storage/service/UnifiedSANStrategyTest.java | 1805 +++++++++++
.../vmsnapshot/OntapVMSnapshotStrategyTest.java | 902 ++++++
.../cloudstack/oauth2/OAuth2AuthManager.java | 29 +-
.../cloudstack/oauth2/OAuth2AuthManagerImpl.java | 161 +-
.../cloudstack/oauth2/OAuth2UserAuthenticator.java | 11 +-
.../oauth2/api/command/ListOAuthProvidersCmd.java | 58 +-
.../api/command/OauthLoginAPIAuthenticatorCmd.java | 47 +-
.../api/command/RegisterOAuthProviderCmd.java | 22 +-
.../oauth2/api/command/UpdateOAuthProviderCmd.java | 26 +-
.../api/command/VerifyOAuthCodeAndGetUserCmd.java | 24 +-
.../oauth2/api/response/OauthProviderResponse.java | 54 +-
.../cloudstack/oauth2/dao/OauthProviderDao.java | 10 +-
.../oauth2/dao/OauthProviderDaoImpl.java | 45 +-
.../oauth2/github/GithubOAuth2Provider.java | 31 +-
.../oauth2/google/GoogleOAuth2Provider.java | 43 +-
.../oauth2/keycloak/KeycloakOAuth2Provider.java | 18 +-
.../cloudstack/oauth2/vo/OauthProviderVO.java | 11 +
.../oauth2/OAuth2AuthManagerImplTest.java | 510 ++-
.../oauth2/OAuth2UserAuthenticatorTest.java | 54 +-
.../command/OauthLoginAPIAuthenticatorCmdTest.java | 30 +
.../api/command/RegisterOAuthProviderCmdTest.java | 31 +-
.../command/VerifyOAuthCodeAndGetUserCmdTest.java | 14 +-
.../oauth2/google/GoogleOAuth2ProviderTest.java | 8 +-
.../keycloak/KeycloakOAuth2ProviderTest.java | 16 +-
pom.xml | 2 +-
scripts/network/exdhcp/dhcpd_edithosts.py | 21 +-
scripts/network/exdhcp/dnsmasq_edithosts.sh | 9 +-
scripts/vm/hypervisor/kvm/nasbackup.sh | 279 +-
scripts/vm/network/vnet/modifymacip.sh | 90 +
scripts/vm/network/vnet/modifyvxlan-evpn.sh | 9 +-
.../src/main/java/com/cloud/acl/DomainChecker.java | 11 +-
server/src/main/java/com/cloud/api/ApiDBUtils.java | 28 +
.../main/java/com/cloud/api/ApiResponseHelper.java | 20 +-
.../com/cloud/api/query/dao/HostJoinDaoImpl.java | 197 +-
.../com/cloud/api/query/dao/UserVmJoinDaoImpl.java | 4 +
.../java/com/cloud/api/query/vo/UserVmJoinVO.java | 12 +-
.../configuration/ConfigurationManagerImpl.java | 4 +-
.../main/java/com/cloud/hypervisor/KVMGuru.java | 2 +-
.../java/com/cloud/network/NetworkModelImpl.java | 270 +-
.../java/com/cloud/network/NetworkServiceImpl.java | 11 +-
.../com/cloud/network/as/AutoScaleManagerImpl.java | 4 +-
.../network/firewall/FirewallManagerImpl.java | 52 +-
.../guru/NetworkExtensionGuestNetworkGuru.java | 162 +
.../network/lb/LoadBalancingRulesManagerImpl.java | 11 +
.../cloud/network/router/CommandSetupHelper.java | 4 +
.../cloud/network/vpc/NetworkACLManagerImpl.java | 24 +-
.../java/com/cloud/network/vpc/VpcManagerImpl.java | 57 +-
.../com/cloud/server/ManagementServerImpl.java | 9 +-
.../java/com/cloud/storage/StorageManagerImpl.java | 3 +-
.../com/cloud/storage/VolumeApiServiceImpl.java | 22 +-
.../java/com/cloud/user/AccountManagerImpl.java | 5 +-
.../main/java/com/cloud/vm/UserVmManagerImpl.java | 117 +-
.../cloud/vm/snapshot/VMSnapshotManagerImpl.java | 10 +
.../cloudstack/backup/BackupManagerImpl.java | 47 +-
.../cloudstack/dns/DnsProviderManagerImpl.java | 1230 ++++++++
.../org/apache/cloudstack/dns/DnsProviderUtil.java | 249 ++
.../apache/cloudstack/dns/dao/DnsServerDao.java | 28 +-
.../cloudstack/dns/dao/DnsServerDaoImpl.java | 196 ++
.../cloudstack/dns/dao/DnsServerDetailsDao.java | 7 +-
.../dns/dao/DnsServerDetailsDaoImpl.java | 12 +-
.../cloudstack/dns/dao/DnsServerJoinDao.java | 9 +-
.../cloudstack/dns/dao/DnsServerJoinDaoImpl.java | 10 +-
.../org/apache/cloudstack/dns/dao/DnsZoneDao.java | 23 +-
.../apache/cloudstack/dns/dao/DnsZoneDaoImpl.java | 128 +
.../apache/cloudstack/dns/dao/DnsZoneJoinDao.java | 9 +-
.../cloudstack/dns/dao/DnsZoneJoinDaoImpl.java | 10 +-
.../cloudstack/dns/dao/DnsZoneNetworkMapDao.java | 11 +-
.../dns/dao/DnsZoneNetworkMapDaoImpl.java | 64 +
.../apache/cloudstack/dns/dao/NicDnsJoinDao.java | 67 +
.../cloudstack/dns/dao/NicDnsJoinDaoImpl.java | 107 +
.../cloudstack/dns/vo/DnsServerDetailVO.java | 54 +-
.../apache/cloudstack/dns/vo/DnsServerJoinVO.java | 154 +
.../org/apache/cloudstack/dns/vo/DnsServerVO.java | 271 ++
.../apache/cloudstack/dns/vo/DnsZoneJoinVO.java | 130 +
.../cloudstack/dns/vo/DnsZoneNetworkMapVO.java | 76 +-
.../org/apache/cloudstack/dns/vo/DnsZoneVO.java | 164 +
.../org/apache/cloudstack/dns/vo/NicDnsJoinVO.java | 115 +
.../cloudstack/gui/theme/GuiThemeServiceImpl.java | 34 +-
.../cloudstack/vm/UnmanagedVMsManagerImpl.java | 51 +-
.../core/spring-server-core-managers-context.xml | 4 +
.../spring-server-network-context.xml | 3 +
.../com/cloud/network/MockNetworkModelImpl.java | 10 +
.../com/cloud/network/NetworkModelImplTest.java | 183 +-
.../cloud/network/as/AutoScaleManagerImplTest.java | 2 +
.../element/ConfigDriveNetworkElementTest.java | 5 +
.../network/firewall/FirewallManagerImplTest.java | 178 ++
.../guru/NetworkExtensionGuestNetworkGuruTest.java | 110 +
.../network/router/CommandSetupHelperTest.java | 40 +
.../router/DhcpLeaseTimeoutIntegrationTest.java | 184 ++
.../cloud/network/vpc/NetworkACLManagerTest.java | 11 +-
.../com/cloud/network/vpc/VpcManagerImplTest.java | 59 +-
.../cloud/storage/VolumeApiServiceImplTest.java | 204 +-
.../java/com/cloud/vpc/MockNetworkManagerImpl.java | 5 +
.../java/com/cloud/vpc/MockNetworkModelImpl.java | 9 +
.../vpc/dao/MockVpcOfferingServiceMapDaoImpl.java | 5 +
.../cloudstack/dns/DnsProviderManagerImplTest.java | 1518 +++++++++
.../cloudstack/dns/dao/DnsServerDaoImplTest.java | 117 +
.../cloudstack/dns/dao/DnsZoneDaoImplTest.java | 111 +
.../dns/dao/DnsZoneNetworkMapDaoImplTest.java | 91 +
.../cloudstack/dns/vo/DnsServerJoinVOTest.java | 100 +
.../apache/cloudstack/dns/vo/DnsServerVOTest.java | 144 +
.../cloudstack/dns/vo/DnsZoneJoinVOTest.java | 82 +
.../gui/theme/GuiThemeServiceImplTest.java | 21 +
systemvm/debian/opt/cloud/bin/cs/CsAddress.py | 4 +-
systemvm/debian/opt/cloud/bin/cs/CsDhcp.py | 6 +-
.../debian/opt/cloud/bin/cs/CsVpcGuestNetwork.py | 2 +-
systemvm/debian/opt/cloud/bin/edithosts.sh | 17 +-
.../plugins/linstor/test_linstor_volumes.py | 12 +
test/integration/smoke/test_backup_recovery_nas.py | 329 ++
test/integration/smoke/test_deploy_vm_iso.py | 98 +-
.../smoke/test_dns_framework_powerdns.py | 401 +++
.../smoke/test_network_extension_namespace.py | 3308 ++++++++++++++++++++
tools/apidoc/gen_toc.py | 3 +-
tools/marvin/setup.py | 2 +-
ui/public/locales/en.json | 77 +
ui/public/locales/pt_BR.json | 5 +-
ui/src/components/view/DetailsTab.vue | 28 +-
ui/src/components/view/ListView.vue | 5 +-
ui/src/components/view/SearchView.vue | 40 +-
ui/src/components/widgets/Status.vue | 18 +
ui/src/config/router.js | 2 +-
ui/src/config/section/config.js | 8 +-
ui/src/config/section/extension.js | 2 +-
ui/src/config/section/infra/phynetworks.js | 2 +-
ui/src/config/section/kms.js | 2 +-
ui/src/config/section/network.js | 155 +-
ui/src/config/section/storage.js | 2 +-
ui/src/locales/index.js | 52 +-
ui/src/permission.js | 7 +-
ui/src/utils/guiTheme.js | 5 +
ui/src/views/AutogenView.vue | 2 +-
ui/src/views/auth/Login.vue | 313 +-
ui/src/views/dashboard/VerifyOauth.vue | 2 +-
ui/src/views/extension/AddCustomAction.vue | 41 +-
ui/src/views/extension/CreateExtension.vue | 2 +-
ui/src/views/extension/ExtensionResourcesTab.vue | 49 +-
ui/src/views/extension/JsonViewer.vue | 268 ++
ui/src/views/extension/RegisterExtension.vue | 2 +-
ui/src/views/extension/RunCustomAction.vue | 142 +-
.../views/extension/UpdateRegisteredExtension.vue | 131 +
ui/src/views/image/RegisterOrUploadTemplate.vue | 1 +
ui/src/views/infra/AddPrimaryStorage.vue | 76 +-
ui/src/views/infra/ClusterAdd.vue | 1 +
ui/src/views/infra/network/ServiceProvidersTab.vue | 74 +-
.../infra/network/providers/ProviderListView.vue | 8 +-
ui/src/views/infra/zone/StaticInputsForm.vue | 5 +
ui/src/views/infra/zone/ZoneWizardAddResources.vue | 82 +-
ui/src/views/infra/zone/ZoneWizardLaunchZone.vue | 22 +-
ui/src/views/network/CreateIsolatedNetworkForm.vue | 2 +-
ui/src/views/network/NicsTable.vue | 3 +
ui/src/views/network/VpcTab.vue | 5 +
ui/src/views/network/dns/AddDnsServer.vue | 381 +++
ui/src/views/network/dns/AssociateDnsZone.vue | 194 ++
ui/src/views/network/dns/CreateDnsRecord.vue | 207 ++
ui/src/views/network/dns/CreateDnsZone.vue | 222 ++
ui/src/views/network/dns/DeleteDnsServer.vue | 234 ++
ui/src/views/network/dns/DeleteDnsZone.vue | 184 ++
ui/src/views/network/dns/DnsRecordsTab.vue | 262 ++
ui/src/views/network/dns/UpdateDnsServer.vue | 320 ++
ui/src/views/network/dns/UpdateDnsZone.vue | 152 +
ui/src/views/offering/AddNetworkOffering.vue | 32 +-
ui/src/views/offering/AddVpcOffering.vue | 143 +-
ui/src/views/setting/ConfigurationValue.vue | 3 +
ui/tests/mockData/Status.mock.json | 3 +-
395 files changed, 42188 insertions(+), 2183 deletions(-)
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/dns/AddDnsServerCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/dns/AssociateDnsZoneToNetworkCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/dns/CreateDnsRecordCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/dns/CreateDnsZoneCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/dns/DeleteDnsRecordCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/dns/DeleteDnsServerCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/dns/DeleteDnsZoneCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/dns/DisassociateDnsZoneFromNetworkCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/dns/ListDnsProvidersCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/dns/ListDnsRecordsCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/dns/ListDnsServersCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/dns/ListDnsZonesCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/dns/UpdateDnsServerCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/dns/UpdateDnsZoneCmd.java
copy
api/src/main/java/org/apache/cloudstack/{extension/CustomActionResultResponse.java
=> api/response/DnsProviderResponse.java} (57%)
copy
api/src/main/java/org/apache/cloudstack/{extension/CustomActionResultResponse.java
=> api/response/DnsRecordResponse.java} (51%)
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/DnsServerResponse.java
copy
api/src/main/java/org/apache/cloudstack/{extension/CustomActionResultResponse.java
=> api/response/DnsZoneNetworkMapResponse.java} (55%)
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/DnsZoneResponse.java
create mode 100644 api/src/main/java/org/apache/cloudstack/dns/DnsProvider.java
create mode 100644
api/src/main/java/org/apache/cloudstack/dns/DnsProviderManager.java
copy engine/schema/src/main/java/com/cloud/vm/dao/NicDetailsDao.java =>
api/src/main/java/org/apache/cloudstack/dns/DnsProviderType.java (75%)
create mode 100644 api/src/main/java/org/apache/cloudstack/dns/DnsRecord.java
copy api/src/main/java/org/apache/cloudstack/{gui/theme/GuiThemeJoin.java =>
dns/DnsServer.java} (59%)
copy api/src/main/java/org/apache/cloudstack/{gui/theme/GuiThemeJoin.java =>
dns/DnsZone.java} (69%)
copy engine/schema/src/main/java/com/cloud/vm/dao/NicDetailsDao.java =>
api/src/main/java/org/apache/cloudstack/dns/exception/DnsAuthenticationException.java
(75%)
copy engine/schema/src/main/java/com/cloud/vm/dao/NicDetailsDao.java =>
api/src/main/java/org/apache/cloudstack/dns/exception/DnsConflictException.java
(74%)
copy engine/schema/src/main/java/com/cloud/vm/dao/NicDetailsDao.java =>
api/src/main/java/org/apache/cloudstack/dns/exception/DnsNotFoundException.java
(75%)
copy
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionDao.java
=>
api/src/main/java/org/apache/cloudstack/dns/exception/DnsOperationException.java
(74%)
copy
plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/dao/OauthProviderDao.java
=>
api/src/main/java/org/apache/cloudstack/dns/exception/DnsProviderException.java
(74%)
copy
plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/dao/OauthProviderDao.java
=>
api/src/main/java/org/apache/cloudstack/dns/exception/DnsTransportException.java
(70%)
create mode 100644
api/src/main/java/org/apache/cloudstack/extension/NetworkCustomActionProvider.java
create mode 100644 api/src/test/java/com/cloud/network/NetworkTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/dns/AddDnsServerCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/dns/AssociateDnsZoneToNetworkCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/dns/BaseDnsCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/dns/CreateDnsRecordCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/dns/CreateDnsZoneCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/dns/DeleteDnsRecordCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/dns/DeleteDnsServerCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/dns/DeleteDnsZoneCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/dns/DisassociateDnsZoneFromNetworkCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/dns/ListDnsProvidersCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/dns/ListDnsRecordsCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/dns/ListDnsServersCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/dns/ListDnsZonesCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/dns/UpdateDnsServerCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/dns/UpdateDnsZoneCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/dns/DnsRecordTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/extension/CustomActionResultResponseTest.java
create mode 100644
core/src/main/java/com/cloud/agent/api/CleanupConvertedInstanceDisksCommand.java
copy .github/CODEOWNERS =>
core/src/main/resources/META-INF/cloudstack/dns/module.properties (74%)
create mode 100644
core/src/main/resources/META-INF/cloudstack/dns/spring-core-lifecycle-dns-context-inheritable.xml
create mode 100644 draft-THREAT-MODEL.md
create mode 100644
engine/schema/src/main/resources/META-INF/db/views/cloud.dns_server_view.sql
create mode 100644
engine/schema/src/main/resources/META-INF/db/views/cloud.dns_zone_view.sql
create mode 100644
engine/schema/src/main/resources/META-INF/db/views/nic_dns_view.sql
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/UpdateRegisteredExtensionCmd.java
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/network/NetworkExtensionElement.java
create mode 100644
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/network/README.md
create mode 100644
framework/extensions/src/test/java/org/apache/cloudstack/framework/extensions/api/UpdateRegisteredExtensionCmdTest.java
create mode 100644
plugins/backup/nas/src/main/java/org/apache/cloudstack/backup/NASBackupChainKeys.java
create mode 100644 plugins/dns/powerdns/pom.xml
create mode 100644
plugins/dns/powerdns/src/main/java/org/apache/cloudstack/dns/powerdns/PowerDnsClient.java
create mode 100644
plugins/dns/powerdns/src/main/java/org/apache/cloudstack/dns/powerdns/PowerDnsProvider.java
copy .github/CODEOWNERS =>
plugins/dns/powerdns/src/main/resources/META-INF/cloudstack/powerdns/module.properties
(74%)
copy
plugins/{storage/volume/ontap/src/main/resources/META-INF/cloudstack/storage-volume-ontap/spring-storage-volume-ontap-context.xml
=>
dns/powerdns/src/main/resources/META-INF/cloudstack/powerdns/spring-dns-powerdns-context.xml}
(85%)
create mode 100644
plugins/dns/powerdns/src/test/java/org/apache/cloudstack/dns/DnsProviderUtilTest.java
create mode 100644
plugins/dns/powerdns/src/test/java/org/apache/cloudstack/dns/NormalizeDnsRecordValueTest.java
create mode 100644
plugins/dns/powerdns/src/test/java/org/apache/cloudstack/dns/powerdns/PowerDnsClientTest.java
create mode 100644
plugins/dns/powerdns/src/test/java/org/apache/cloudstack/dns/powerdns/PowerDnsProviderTest.java
copy
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/{LibvirtImportConvertedInstanceCommandWrapper.java
=> LibvirtBaseConvertCommandWrapper.java} (73%)
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtCleanupConvertedInstanceDisksCommandWrapper.java
create mode 100644
plugins/storage/volume/linstor/src/main/java/org/apache/cloudstack/storage/datastore/util/LinstorConfigChangeListener.java
create mode 100644
plugins/storage/volume/ontap/src/main/java/org/apache/cloudstack/storage/feign/client/SnapshotFeignClient.java
create mode 100644
plugins/storage/volume/ontap/src/main/java/org/apache/cloudstack/storage/feign/model/CliSnapshotRestoreRequest.java
create mode 100644
plugins/storage/volume/ontap/src/main/java/org/apache/cloudstack/storage/feign/model/FlexVolSnapshot.java
create mode 100644
plugins/storage/volume/ontap/src/main/java/org/apache/cloudstack/storage/feign/model/LunRestoreRequest.java
create mode 100644
plugins/storage/volume/ontap/src/main/java/org/apache/cloudstack/storage/feign/model/SnapshotFileRestoreRequest.java
copy
plugins/storage/volume/ontap/src/main/java/org/apache/cloudstack/storage/{service/SANStrategy.java
=> feign/model/VolumeConcise.java} (54%)
create mode 100644
plugins/storage/volume/ontap/src/main/java/org/apache/cloudstack/storage/vmsnapshot/OntapVMSnapshotStrategy.java
create mode 100644
plugins/storage/volume/ontap/src/test/java/org/apache/cloudstack/storage/driver/OntapPrimaryDatastoreDriverTest.java
create mode 100644
plugins/storage/volume/ontap/src/test/java/org/apache/cloudstack/storage/service/StorageStrategyTest.java
create mode 100755
plugins/storage/volume/ontap/src/test/java/org/apache/cloudstack/storage/service/UnifiedNASStrategyTest.java
create mode 100644
plugins/storage/volume/ontap/src/test/java/org/apache/cloudstack/storage/service/UnifiedSANStrategyTest.java
create mode 100644
plugins/storage/volume/ontap/src/test/java/org/apache/cloudstack/storage/vmsnapshot/OntapVMSnapshotStrategyTest.java
create mode 100755 scripts/vm/network/vnet/modifymacip.sh
create mode 100644
server/src/main/java/com/cloud/network/guru/NetworkExtensionGuestNetworkGuru.java
create mode 100644
server/src/main/java/org/apache/cloudstack/dns/DnsProviderManagerImpl.java
create mode 100644
server/src/main/java/org/apache/cloudstack/dns/DnsProviderUtil.java
copy
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionResourceMapDao.java
=> server/src/main/java/org/apache/cloudstack/dns/dao/DnsServerDao.java (53%)
create mode 100644
server/src/main/java/org/apache/cloudstack/dns/dao/DnsServerDaoImpl.java
copy engine/schema/src/main/java/com/cloud/vm/dao/NicDetailsDao.java =>
server/src/main/java/org/apache/cloudstack/dns/dao/DnsServerDetailsDao.java
(80%)
copy engine/schema/src/main/java/com/cloud/vm/dao/NicDetailsDaoImpl.java =>
server/src/main/java/org/apache/cloudstack/dns/dao/DnsServerDetailsDaoImpl.java
(76%)
copy engine/schema/src/main/java/com/cloud/vm/dao/NicDetailsDao.java =>
server/src/main/java/org/apache/cloudstack/dns/dao/DnsServerJoinDao.java (78%)
copy engine/schema/src/main/java/com/cloud/vm/dao/NicDetailsDao.java =>
server/src/main/java/org/apache/cloudstack/dns/dao/DnsServerJoinDaoImpl.java
(75%)
copy
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionResourceMapDao.java
=> server/src/main/java/org/apache/cloudstack/dns/dao/DnsZoneDao.java (56%)
create mode 100644
server/src/main/java/org/apache/cloudstack/dns/dao/DnsZoneDaoImpl.java
copy engine/schema/src/main/java/com/cloud/vm/dao/NicDetailsDao.java =>
server/src/main/java/org/apache/cloudstack/dns/dao/DnsZoneJoinDao.java (78%)
copy engine/schema/src/main/java/com/cloud/vm/dao/NicDetailsDao.java =>
server/src/main/java/org/apache/cloudstack/dns/dao/DnsZoneJoinDaoImpl.java (75%)
copy
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/dao/ExtensionDao.java
=>
server/src/main/java/org/apache/cloudstack/dns/dao/DnsZoneNetworkMapDao.java
(70%)
create mode 100644
server/src/main/java/org/apache/cloudstack/dns/dao/DnsZoneNetworkMapDaoImpl.java
create mode 100644
server/src/main/java/org/apache/cloudstack/dns/dao/NicDnsJoinDao.java
create mode 100644
server/src/main/java/org/apache/cloudstack/dns/dao/NicDnsJoinDaoImpl.java
copy
framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/vo/ExtensionDetailsVO.java
=> server/src/main/java/org/apache/cloudstack/dns/vo/DnsServerDetailVO.java
(76%)
create mode 100644
server/src/main/java/org/apache/cloudstack/dns/vo/DnsServerJoinVO.java
create mode 100644
server/src/main/java/org/apache/cloudstack/dns/vo/DnsServerVO.java
create mode 100644
server/src/main/java/org/apache/cloudstack/dns/vo/DnsZoneJoinVO.java
copy
engine/schema/src/main/java/com/cloud/network/dao/NetworkServiceMapVO.java =>
server/src/main/java/org/apache/cloudstack/dns/vo/DnsZoneNetworkMapVO.java (56%)
create mode 100644
server/src/main/java/org/apache/cloudstack/dns/vo/DnsZoneVO.java
create mode 100644
server/src/main/java/org/apache/cloudstack/dns/vo/NicDnsJoinVO.java
create mode 100644
server/src/test/java/com/cloud/network/firewall/FirewallManagerImplTest.java
create mode 100644
server/src/test/java/com/cloud/network/guru/NetworkExtensionGuestNetworkGuruTest.java
create mode 100644
server/src/test/java/com/cloud/network/router/DhcpLeaseTimeoutIntegrationTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/dns/DnsProviderManagerImplTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/dns/dao/DnsServerDaoImplTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/dns/dao/DnsZoneDaoImplTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/dns/dao/DnsZoneNetworkMapDaoImplTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/dns/vo/DnsServerJoinVOTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/dns/vo/DnsServerVOTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/dns/vo/DnsZoneJoinVOTest.java
create mode 100644 test/integration/smoke/test_dns_framework_powerdns.py
create mode 100644 test/integration/smoke/test_network_extension_namespace.py
create mode 100644 ui/src/views/extension/JsonViewer.vue
create mode 100644 ui/src/views/extension/UpdateRegisteredExtension.vue
create mode 100644 ui/src/views/network/dns/AddDnsServer.vue
create mode 100644 ui/src/views/network/dns/AssociateDnsZone.vue
create mode 100644 ui/src/views/network/dns/CreateDnsRecord.vue
create mode 100644 ui/src/views/network/dns/CreateDnsZone.vue
create mode 100644 ui/src/views/network/dns/DeleteDnsServer.vue
create mode 100644 ui/src/views/network/dns/DeleteDnsZone.vue
create mode 100644 ui/src/views/network/dns/DnsRecordsTab.vue
create mode 100644 ui/src/views/network/dns/UpdateDnsServer.vue
create mode 100644 ui/src/views/network/dns/UpdateDnsZone.vue