diff --git a/.github/boring-cyborg.yml b/.github/boring-cyborg.yml
index dfab81d0f79d..90fd24c8180a 100644
--- a/.github/boring-cyborg.yml
+++ b/.github/boring-cyborg.yml
@@ -46,8 +46,6 @@ labelPRBasedOnFilePath:
"component:dpdk":
- server/src/main/java/com/cloud/hypervisor/kvm/dpdk/*
- plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/dpdk/*
- "component:hyperv":
- - plugins/hypervisors/hyperv/*
"component:integration-test":
- test/integration/*
"component:ipv6":
diff --git a/api/src/main/java/com/cloud/hypervisor/Hypervisor.java b/api/src/main/java/com/cloud/hypervisor/Hypervisor.java
index 1f8741d3b7b2..b5b2ab8ff1ea 100644
--- a/api/src/main/java/com/cloud/hypervisor/Hypervisor.java
+++ b/api/src/main/java/com/cloud/hypervisor/Hypervisor.java
@@ -47,6 +47,8 @@ public enum Functionality {
public static final HypervisorType XenServer = new HypervisorType("XenServer", ImageFormat.VHD, EnumSet.of(RootDiskSizeOverride, VmStorageMigration));
public static final HypervisorType KVM = new HypervisorType("KVM", ImageFormat.QCOW2, EnumSet.of(DirectDownloadTemplate, RootDiskSizeOverride, VmStorageMigration));
public static final HypervisorType VMware = new HypervisorType("VMware", ImageFormat.OVA, EnumSet.of(RootDiskSizeOverride, VmStorageMigration, VmStorageMigrationWithSnapshots));
+ /** Hyper-V support has been removed; kept so existing database records can still be read. */
+ @Deprecated
public static final HypervisorType Hyperv = new HypervisorType("Hyperv");
public static final HypervisorType VirtualBox = new HypervisorType("VirtualBox");
public static final HypervisorType Parralels = new HypervisorType("Parralels");
diff --git a/api/src/main/java/org/apache/cloudstack/api/ApiConstants.java b/api/src/main/java/org/apache/cloudstack/api/ApiConstants.java
index 7485029f22cb..266e0ab40851 100644
--- a/api/src/main/java/org/apache/cloudstack/api/ApiConstants.java
+++ b/api/src/main/java/org/apache/cloudstack/api/ApiConstants.java
@@ -1154,7 +1154,6 @@ public class ApiConstants {
public static final String AUTOSCALE_VMGROUP_NAME = "autoscalevmgroupname";
public static final String BAREMETAL_DISCOVER_NAME = "baremetaldiscovername";
public static final String BAREMETAL_RCT_URL = "baremetalrcturl";
- public static final String UCS_DN = "ucsdn";
public static final String GSLB_PROVIDER = "gslbprovider";
public static final String EXCLUSIVE_GSLB_PROVIDER = "isexclusivegslbprovider";
public static final String GSLB_PROVIDER_PUBLIC_IP = "gslbproviderpublicip";
@@ -1171,10 +1170,6 @@ public class ApiConstants {
public static final String GUEST_VM_CIDR = "guestvmcidr";
public static final String NETWORK_CIDR = "networkcidr";
public static final String RESERVED_IP_RANGE = "reservediprange";
- public static final String UCS_MANAGER_ID = "ucsmanagerid";
- public static final String UCS_PROFILE_DN = "profiledn";
- public static final String UCS_BLADE_DN = "bladedn";
- public static final String UCS_BLADE_ID = "bladeid";
public static final String VM_GUEST_IP = "vmguestip";
public static final String HEALTHCHECK_FAILED = "healthchecksfailed";
public static final String HEALTHCHECK_RESPONSE_TIMEOUT = "responsetimeout";
diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/cluster/AddClusterCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/cluster/AddClusterCmd.java
index d8fa2123d228..021870ec189e 100644
--- a/api/src/main/java/org/apache/cloudstack/api/command/admin/cluster/AddClusterCmd.java
+++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/cluster/AddClusterCmd.java
@@ -65,7 +65,7 @@ public class AddClusterCmd extends BaseCmd {
@Parameter(name = ApiConstants.HYPERVISOR,
type = CommandType.STRING,
required = true,
- description = "Hypervisor type of the cluster: XenServer,KVM,VMware,Hyperv,BareMetal,Simulator,Ovm3,External")
+ description = "Hypervisor type of the cluster: XenServer,KVM,VMware,BareMetal,Simulator,Ovm3,External")
private String hypervisor;
@Parameter(name = ApiConstants.ARCH, type = CommandType.STRING,
diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/host/ListHostsCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/host/ListHostsCmd.java
index 8f5e6c784d6e..0f7daed76278 100644
--- a/api/src/main/java/org/apache/cloudstack/api/command/admin/host/ListHostsCmd.java
+++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/host/ListHostsCmd.java
@@ -104,7 +104,7 @@ public class ListHostsCmd extends BaseListCmd {
@Parameter(name = ApiConstants.HA_HOST, type = CommandType.BOOLEAN, description = "If true, list only hosts dedicated to HA")
private Boolean haHost;
- @Parameter(name = ApiConstants.HYPERVISOR, type = CommandType.STRING, description = "Hypervisor type of host: XenServer,KVM,VMware,Hyperv,BareMetal,Simulator")
+ @Parameter(name = ApiConstants.HYPERVISOR, type = CommandType.STRING, description = "Hypervisor type of host: XenServer,KVM,VMware,BareMetal,Simulator")
private String hypervisor;
@Parameter(name = ApiConstants.MANAGEMENT_SERVER_ID, type = CommandType.UUID, entityType = ManagementServerResponse.class, description = "the id of the management server", since="4.21.0")
diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/usage/AddTrafficTypeCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/usage/AddTrafficTypeCmd.java
index 50abd953e63f..a36b5f754ea7 100644
--- a/api/src/main/java/org/apache/cloudstack/api/command/admin/usage/AddTrafficTypeCmd.java
+++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/usage/AddTrafficTypeCmd.java
@@ -67,6 +67,7 @@ public class AddTrafficTypeCmd extends BaseAsyncCreateCmd {
description = "The network name label of the physical device dedicated to this traffic on a VMware host")
private String vmwareLabel;
+ @Deprecated
@Parameter(name = ApiConstants.HYPERV_NETWORK_LABEL,
type = CommandType.STRING,
description = "The network name label of the physical device dedicated to this traffic on a Hyperv host")
@@ -108,10 +109,6 @@ public String getVmwareLabel() {
return vmwareLabel;
}
- public String getHypervLabel() {
- return hypervLabel;
- }
-
public String getSimulatorLabel() {
//simulators will have no labels
return null;
@@ -163,7 +160,7 @@ public void execute() {
public void create() throws ResourceAllocationException {
PhysicalNetworkTrafficType result =
_networkService.addTrafficTypeToPhysicalNetwork(getPhysicalNetworkId(), getTrafficType(), getIsolationMethod(), getXenLabel(), getKvmLabel(), getVmwareLabel(),
- getSimulatorLabel(), getVlan(), getHypervLabel(), getOvm3Label());
+ getSimulatorLabel(), getVlan(), null, getOvm3Label());
if (result != null) {
setEntityId(result.getId());
setEntityUuid(result.getUuid());
diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/usage/UpdateTrafficTypeCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/usage/UpdateTrafficTypeCmd.java
index 29b06a3b5259..7d5bebd398fb 100644
--- a/api/src/main/java/org/apache/cloudstack/api/command/admin/usage/UpdateTrafficTypeCmd.java
+++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/usage/UpdateTrafficTypeCmd.java
@@ -57,6 +57,7 @@ public class UpdateTrafficTypeCmd extends BaseAsyncCmd {
description = "The network name label of the physical device dedicated to this traffic on a VMware host")
private String vmwareLabel;
+ @Deprecated
@Parameter(name = ApiConstants.HYPERV_NETWORK_LABEL,
type = CommandType.STRING,
description = "The network name label of the physical device dedicated to this traffic on a Hyperv host")
@@ -87,10 +88,6 @@ public String getVmwareLabel() {
return vmwareLabel;
}
- public String getHypervLabel() {
- return hypervLabel;
- }
-
public String getOvm3Label() {
return ovm3Label;
}
@@ -106,7 +103,7 @@ public long getEntityOwnerId() {
@Override
public void execute() {
- PhysicalNetworkTrafficType result = _networkService.updatePhysicalNetworkTrafficType(getId(), getXenLabel(), getKvmLabel(), getVmwareLabel(), getHypervLabel(), getOvm3Label());
+ PhysicalNetworkTrafficType result = _networkService.updatePhysicalNetworkTrafficType(getId(), getXenLabel(), getKvmLabel(), getVmwareLabel(), null, getOvm3Label());
if (result != null) {
TrafficTypeResponse response = _responseGenerator.createTrafficTypeResponse(result);
response.setResponseName(getCommandName());
diff --git a/api/src/main/java/org/apache/cloudstack/api/response/TrafficTypeResponse.java b/api/src/main/java/org/apache/cloudstack/api/response/TrafficTypeResponse.java
index 2b8af97f160e..33b8d2b8df4e 100644
--- a/api/src/main/java/org/apache/cloudstack/api/response/TrafficTypeResponse.java
+++ b/api/src/main/java/org/apache/cloudstack/api/response/TrafficTypeResponse.java
@@ -52,10 +52,6 @@ public class TrafficTypeResponse extends BaseResponse {
@Param(description = "The Network name label of the physical device dedicated to this traffic on a VMware host")
private String vmwareNetworkLabel;
- @SerializedName(ApiConstants.HYPERV_NETWORK_LABEL)
- @Param(description = "The Network name label of the physical device dedicated to this traffic on a HyperV host")
- private String hypervNetworkLabel;
-
@SerializedName(ApiConstants.VLAN)
@Param(description = "The VLAN id to be used for Management traffic by VMware host")
private String vlan;
@@ -105,18 +101,10 @@ public String getKvmLabel() {
return kvmNetworkLabel;
}
- public String getHypervLabel() {
- return hypervNetworkLabel;
- }
-
public void setXenLabel(String xenLabel) {
this.xenNetworkLabel = xenLabel;
}
- public void setHypervLabel(String hypervLabel) {
- this.hypervNetworkLabel = hypervLabel;
- }
-
public void setKvmLabel(String kvmLabel) {
this.kvmNetworkLabel = kvmLabel;
}
diff --git a/client/pom.xml b/client/pom.xml
index cc031a4912b1..6bab5ecb5c15 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -331,11 +331,6 @@
cloud-plugin-hypervisor-baremetal
${project.version}
-
- org.apache.cloudstack
- cloud-plugin-hypervisor-ucs
- ${project.version}
-
org.apache.cloudstack
cloud-plugin-hypervisor-kvm
@@ -347,11 +342,6 @@
-
- org.apache.cloudstack
- cloud-plugin-hypervisor-hyperv
- ${project.version}
-
org.apache.cloudstack
cloud-plugin-hypervisor-external
diff --git a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java
index 8c9a1653a260..40377ea8fbb2 100755
--- a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java
+++ b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java
@@ -2075,7 +2075,7 @@ public boolean getExecuteInSequence(final HypervisorType hypervisorType) {
return ExecuteInSequence.value();
}
- if (Set.of(HypervisorType.KVM, HypervisorType.XenServer, HypervisorType.Hyperv, HypervisorType.LXC).contains(hypervisorType)) {
+ if (Set.of(HypervisorType.KVM, HypervisorType.XenServer, HypervisorType.LXC).contains(hypervisorType)) {
return false;
} else if (hypervisorType.equals(HypervisorType.VMware)) {
return StorageManager.shouldExecuteInSequenceOnVmware();
@@ -5548,8 +5548,7 @@ private void handlePowerOffReportWithNoPendingJobsOnVM(final VMInstanceVO vm) {
, vm, vm.getState(), vm.getPowerState());
if((HighAvailabilityManager.ForceHA.value() || vm.isHaEnabled()) && vm.getState() == State.Running
&& HaVmRestartHostUp.value()
- && vm.getHypervisorType() != HypervisorType.VMware
- && vm.getHypervisorType() != HypervisorType.Hyperv) {
+ && vm.getHypervisorType() != HypervisorType.VMware) {
logger.info("Detected out-of-band stop of a HA enabled VM {}, will schedule restart.", vm);
if (!_haMgr.hasPendingHaWork(vm.getId())) {
_haMgr.scheduleRestart(vm, true);
diff --git a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java
index 2b9b41b6e8ac..ee021484dc9c 100644
--- a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java
+++ b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java
@@ -1328,8 +1328,6 @@ private ImageFormat getSupportedImageFormatForCluster(HypervisorType hyperType)
return ImageFormat.OVA;
} else if (hyperType == HypervisorType.Ovm) {
return ImageFormat.RAW;
- } else if (hyperType == HypervisorType.Hyperv) {
- return ImageFormat.VHDX;
} else {
return null;
}
@@ -1350,16 +1348,7 @@ protected ImageFormat getSupportedImageFormatForCluster(HypervisorType hyperType
}
private boolean isSupportedImageFormatForCluster(VolumeInfo volume, HypervisorType rootDiskHyperType) {
- ImageFormat volumeFormat = volume.getFormat();
- if (rootDiskHyperType == HypervisorType.Hyperv) {
- if (volumeFormat.equals(ImageFormat.VHDX) || volumeFormat.equals(ImageFormat.VHD)) {
- return true;
- } else {
- return false;
- }
- } else {
- return volume.getFormat().equals(getSupportedImageFormatForCluster(rootDiskHyperType));
- }
+ return volume.getFormat().equals(getSupportedImageFormatForCluster(rootDiskHyperType));
}
private VolumeInfo copyVolume(StoragePool rootDiskPool, VolumeInfo volumeInfo, VirtualMachine vm, VirtualMachineTemplate rootDiskTmplt, DataCenter dcVO, Pod pod, DiskOffering diskVO,
diff --git a/engine/schema/pom.xml b/engine/schema/pom.xml
index 6e078d7ec9f8..d8f3457256fc 100644
--- a/engine/schema/pom.xml
+++ b/engine/schema/pom.xml
@@ -110,7 +110,6 @@
templateList.add("systemvmtemplate-${csVersion}.${patch}-x86_64-vmware")
templateList.add("systemvmtemplate-${csVersion}.${patch}-x86_64-xen")
templateList.add("systemvmtemplate-${csVersion}.${patch}-x86_64-ovm")
- templateList.add("systemvmtemplate-${csVersion}.${patch}-x86_64-hyperv")
File file = new File("./engine/schema/dist/systemvm-templates/sha512sum.txt")
def lines = file.readLines()
for (template in templateList) {
@@ -340,41 +339,5 @@
-
- download-hyperv-systemvm-template
-
-
- systemvm-hyperv
-
-
-
-
-
- org.apache.maven.plugins
- maven-resources-plugin
- ${cs.resources-plugin.version}
-
-
- com.googlecode.maven-download-plugin
- download-maven-plugin
- 1.6.3
-
-
- download-hyperv-template
-
- wget
-
-
- true
- ${project.systemvm.template.location}/${cs.version}/systemvmtemplate-${cs.version}.${patch.version}-x86_64-hyperv.vhd.zip
- ${basedir}/dist/systemvm-templates/
- ${hyperv.checksum}
-
-
-
-
-
-
-
diff --git a/engine/schema/src/main/java/com/cloud/network/dao/PhysicalNetworkTrafficTypeDaoImpl.java b/engine/schema/src/main/java/com/cloud/network/dao/PhysicalNetworkTrafficTypeDaoImpl.java
index fdd827ffeeef..2af47b37194a 100644
--- a/engine/schema/src/main/java/com/cloud/network/dao/PhysicalNetworkTrafficTypeDaoImpl.java
+++ b/engine/schema/src/main/java/com/cloud/network/dao/PhysicalNetworkTrafficTypeDaoImpl.java
@@ -127,8 +127,6 @@ public String getNetworkTag(long physicalNetworkId, TrafficType trafficType, Hyp
sc = ovmAllFieldsSearch.create();
} else if (hType == HypervisorType.BareMetal || hType == HypervisorType.External) {
return null;
- } else if (hType == HypervisorType.Hyperv) {
- sc = hypervAllFieldsSearch.create();
} else if (hType == HypervisorType.Ovm3) {
sc = ovm3AllFieldsSearch.create();
} else {
diff --git a/engine/schema/src/main/java/com/cloud/upgrade/SystemVmTemplateRegistration.java b/engine/schema/src/main/java/com/cloud/upgrade/SystemVmTemplateRegistration.java
index 27005dfda110..2143a17668f1 100644
--- a/engine/schema/src/main/java/com/cloud/upgrade/SystemVmTemplateRegistration.java
+++ b/engine/schema/src/main/java/com/cloud/upgrade/SystemVmTemplateRegistration.java
@@ -309,7 +309,6 @@ public void setUpdated(Date updated) {
new Pair<>(Hypervisor.HypervisorType.KVM, CPU.CPUArch.arm64),
new Pair<>(Hypervisor.HypervisorType.VMware, CPU.CPUArch.amd64),
new Pair<>(Hypervisor.HypervisorType.XenServer, CPU.CPUArch.amd64),
- new Pair<>(Hypervisor.HypervisorType.Hyperv, CPU.CPUArch.amd64),
new Pair<>(Hypervisor.HypervisorType.LXC, CPU.CPUArch.amd64),
new Pair<>(Hypervisor.HypervisorType.Ovm3, CPU.CPUArch.amd64)
);
@@ -321,7 +320,6 @@ public void setUpdated(Date updated) {
ROUTER_TEMPLATE_CONFIGURATION_NAMES.put(Hypervisor.HypervisorType.KVM, "router.template.kvm");
ROUTER_TEMPLATE_CONFIGURATION_NAMES.put(Hypervisor.HypervisorType.VMware, "router.template.vmware");
ROUTER_TEMPLATE_CONFIGURATION_NAMES.put(Hypervisor.HypervisorType.XenServer, "router.template.xenserver");
- ROUTER_TEMPLATE_CONFIGURATION_NAMES.put(Hypervisor.HypervisorType.Hyperv, "router.template.hyperv");
ROUTER_TEMPLATE_CONFIGURATION_NAMES.put(Hypervisor.HypervisorType.LXC, "router.template.lxc");
ROUTER_TEMPLATE_CONFIGURATION_NAMES.put(Hypervisor.HypervisorType.Ovm3, "router.template.ovm3");
}
@@ -331,7 +329,6 @@ public void setUpdated(Date updated) {
HYPERVISOR_IMAGE_FORMAT_MAP.put(Hypervisor.HypervisorType.KVM, ImageFormat.QCOW2);
HYPERVISOR_IMAGE_FORMAT_MAP.put(Hypervisor.HypervisorType.XenServer, ImageFormat.VHD);
HYPERVISOR_IMAGE_FORMAT_MAP.put(Hypervisor.HypervisorType.VMware, ImageFormat.OVA);
- HYPERVISOR_IMAGE_FORMAT_MAP.put(Hypervisor.HypervisorType.Hyperv, ImageFormat.VHD);
HYPERVISOR_IMAGE_FORMAT_MAP.put(Hypervisor.HypervisorType.LXC, ImageFormat.QCOW2);
HYPERVISOR_IMAGE_FORMAT_MAP.put(Hypervisor.HypervisorType.Ovm3, ImageFormat.RAW);
}
@@ -341,7 +338,6 @@ public void setUpdated(Date updated) {
hypervisorGuestOsMap.put(Hypervisor.HypervisorType.KVM, LINUX_12_ID);
hypervisorGuestOsMap.put(Hypervisor.HypervisorType.XenServer, OTHER_LINUX_ID);
hypervisorGuestOsMap.put(Hypervisor.HypervisorType.VMware, OTHER_LINUX_ID);
- hypervisorGuestOsMap.put(Hypervisor.HypervisorType.Hyperv, LINUX_12_ID);
hypervisorGuestOsMap.put(Hypervisor.HypervisorType.LXC, LINUX_12_ID);
hypervisorGuestOsMap.put(Hypervisor.HypervisorType.Ovm3, LINUX_12_ID);
}
@@ -704,7 +700,6 @@ protected void updateHypervisorGuestOsMap() {
LOGGER.debug("Updating system VM Template guest OS [{}] ID", DEFAULT_SYSTEM_VM_GUEST_OS_NAME);
SystemVmTemplateRegistration.LINUX_12_ID = Math.toIntExact(guestOS.getId());
hypervisorGuestOsMap.put(Hypervisor.HypervisorType.KVM, LINUX_12_ID);
- hypervisorGuestOsMap.put(Hypervisor.HypervisorType.Hyperv, LINUX_12_ID);
hypervisorGuestOsMap.put(Hypervisor.HypervisorType.LXC, LINUX_12_ID);
hypervisorGuestOsMap.put(Hypervisor.HypervisorType.Ovm3, LINUX_12_ID);
} catch (Exception e) {
diff --git a/engine/schema/src/main/resources/META-INF/db/schema-42300to2400.sql b/engine/schema/src/main/resources/META-INF/db/schema-42300to2400.sql
index 3365f1f855ba..7a06c1052224 100644
--- a/engine/schema/src/main/resources/META-INF/db/schema-42300to2400.sql
+++ b/engine/schema/src/main/resources/META-INF/db/schema-42300to2400.sql
@@ -239,3 +239,7 @@ CREATE TABLE IF NOT EXISTS `cloud`.`instance_boot_group_details` (
PRIMARY KEY (`id`),
CONSTRAINT `fk_instance_boot_group_details__group_id` FOREIGN KEY (`boot_group_id`) REFERENCES `instance_boot_group` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- UCS and Hyper-V hypervisor plugins are no longer built
+DELETE FROM `cloud`.`configuration` WHERE name = 'ucs.sync.blade.interval';
+DELETE FROM `cloud`.`configuration` WHERE name IN ('hyperv.public.network.device', 'hyperv.private.network.device', 'hyperv.guest.network.device', 'router.template.hyperv');
diff --git a/engine/schema/src/test/java/com/cloud/upgrade/SystemVmTemplateRegistrationTest.java b/engine/schema/src/test/java/com/cloud/upgrade/SystemVmTemplateRegistrationTest.java
index dfc67b1dece3..e4ef0eddb7a4 100644
--- a/engine/schema/src/test/java/com/cloud/upgrade/SystemVmTemplateRegistrationTest.java
+++ b/engine/schema/src/test/java/com/cloud/upgrade/SystemVmTemplateRegistrationTest.java
@@ -1553,7 +1553,6 @@ public void updateHypervisorGuestOsMap_UpdatesGuestOsMapSuccessfully() {
verify(guestOSDao).findOneByDisplayName(DEFAULT_SYSTEM_VM_GUEST_OS_NAME);
assertEquals(10, SystemVmTemplateRegistration.LINUX_12_ID.intValue());
assertEquals(10, SystemVmTemplateRegistration.hypervisorGuestOsMap.get(Hypervisor.HypervisorType.KVM).intValue());
- assertEquals(10, SystemVmTemplateRegistration.hypervisorGuestOsMap.get(Hypervisor.HypervisorType.Hyperv).intValue());
assertEquals(10, SystemVmTemplateRegistration.hypervisorGuestOsMap.get(Hypervisor.HypervisorType.LXC).intValue());
assertEquals(10, SystemVmTemplateRegistration.hypervisorGuestOsMap.get(Hypervisor.HypervisorType.Ovm3).intValue());
}
diff --git a/engine/schema/templateConfig.sh b/engine/schema/templateConfig.sh
index 7a8283e77c1c..3c732310a228 100755
--- a/engine/schema/templateConfig.sh
+++ b/engine/schema/templateConfig.sh
@@ -114,7 +114,6 @@ if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
[kvm-aarch64]="aarch64-kvm.qcow2.bz2"
[vmware]="x86_64-vmware.ova"
[xenserver]="x86_64-xen.vhd.bz2"
- [hyperv]="x86_64-hyperv.vhd.zip"
[lxc]="x86_64-kvm.qcow2.bz2"
[ovm3]="x86_64-ovm.raw.bz2"
)
diff --git a/engine/storage/src/main/java/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java b/engine/storage/src/main/java/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java
index 0ce2cedb944c..77f6ee32517d 100644
--- a/engine/storage/src/main/java/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java
+++ b/engine/storage/src/main/java/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java
@@ -603,7 +603,7 @@ public EndPoint select(DataObject object, StorageAction action, boolean encrypti
}
case MIGRATEVOLUME: {
VolumeInfo volume = (VolumeInfo) object;
- if (volume.getHypervisorType() == Hypervisor.HypervisorType.Hyperv || volume.getHypervisorType() == Hypervisor.HypervisorType.VMware) {
+ if (volume.getHypervisorType() == Hypervisor.HypervisorType.VMware) {
VirtualMachine vm = volume.getAttachedVM();
if ((vm != null) && (vm.getState() == VirtualMachine.State.Running)) {
Long hostId = vm.getHostId();
diff --git a/packaging/package.sh b/packaging/package.sh
index 1118c4aea5e7..84080978f2cc 100755
--- a/packaging/package.sh
+++ b/packaging/package.sh
@@ -36,7 +36,7 @@ Optional arguments:
-s, --simulator string Build package for Simulator ("default"|"DEFAULT"|"simulator"|"SIMULATOR") (default "default")
-b, --brand string Set branding to be used in package name (it will override any branding string in POM version)
-T, --use-timestamp Use epoch timestamp instead of SNAPSHOT in the package name (if not provided, use "SNAPSHOT")
- -t --templates Passes necessary flag to package the required templates. Comma separated string - kvm,xen,vmware,ovm,hyperv
+ -t --templates Passes necessary flag to package the required templates. Comma separated string - kvm,xen,vmware,ovm
Other arguments:
-h, --help Display this help message and exit
diff --git a/plugins/network-elements/internal-loadbalancer/src/main/java/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java b/plugins/network-elements/internal-loadbalancer/src/main/java/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java
index cda139b5a62b..2718c5d1f4c6 100644
--- a/plugins/network-elements/internal-loadbalancer/src/main/java/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java
+++ b/plugins/network-elements/internal-loadbalancer/src/main/java/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java
@@ -16,7 +16,6 @@
// under the License.
package org.apache.cloudstack.network.lb;
-import static com.cloud.hypervisor.Hypervisor.HypervisorType.Hyperv;
import static com.cloud.hypervisor.Hypervisor.HypervisorType.KVM;
import static com.cloud.hypervisor.Hypervisor.HypervisorType.LXC;
import static com.cloud.hypervisor.Hypervisor.HypervisorType.VMware;
@@ -764,8 +763,6 @@ protected String getRouterTemplateForHypervisor(HypervisorType hypervisorType, l
templateName = VirtualNetworkApplianceManager.RouterTemplateKvm.valueIn(dataCenterId);
} else if (VMware.equals(hypervisorType)) {
templateName = VirtualNetworkApplianceManager.RouterTemplateVmware.valueIn(dataCenterId);
- } else if (Hyperv.equals(hypervisorType)) {
- templateName = VirtualNetworkApplianceManager.RouterTemplateHyperV.valueIn(dataCenterId);
} else if (LXC.equals(hypervisorType)) {
templateName = VirtualNetworkApplianceManager.RouterTemplateLxc.valueIn(dataCenterId);
}
diff --git a/plugins/pom.xml b/plugins/pom.xml
index 92768827f658..7367711fb146 100755
--- a/plugins/pom.xml
+++ b/plugins/pom.xml
@@ -87,9 +87,7 @@
hypervisors/baremetal
hypervisors/external
- hypervisors/hyperv
hypervisors/kvm
- hypervisors/ucs
hypervisors/xenserver
integrations/cloudian
diff --git a/pom.xml b/pom.xml
index fb0f593ad58c..54418ef750f0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1101,9 +1101,6 @@
debian/source/format
dist/console-proxy/js/jquery.js
engine/schema/dist/**
- plugins/hypervisors/hyperv/conf/agent.properties
- plugins/hypervisors/hyperv/conf/uefi.properties
- plugins/hypervisors/hyperv/DotNet/ServerResource/**
scripts/installer/windows/acs_license.rtf
scripts/vm/systemvm/id_rsa.cloud
services/console-proxy/rdpconsole/src/test/doc/rdp-key.pem
diff --git a/server/src/main/java/com/cloud/api/ApiDBUtils.java b/server/src/main/java/com/cloud/api/ApiDBUtils.java
index bb9867fa622c..81b84fa3bcab 100644
--- a/server/src/main/java/com/cloud/api/ApiDBUtils.java
+++ b/server/src/main/java/com/cloud/api/ApiDBUtils.java
@@ -1328,16 +1328,7 @@ public static HypervisorType getVolumeHyperType(long volumeId) {
public static HypervisorType getHypervisorTypeFromFormat(long dcId, ImageFormat format){
HypervisorType type = s_storageMgr.getHypervisorTypeFromFormat(format);
- if (format == ImageFormat.VHD) {
- // Xenserver and Hyperv both support vhd format. Additionally hyperv is only supported
- // in a dc/zone if there aren't any other hypervisor types present in the zone). If the
- // format type is VHD check is any xenserver clusters are present. If not, we assume it
- // is a hyperv zone and update the type.
- List xenClusters = s_clusterDao.listByDcHyType(dcId, HypervisorType.XenServer.toString());
- if (xenClusters.isEmpty()) {
- type = HypervisorType.Hyperv;
- }
- } if (format == ImageFormat.RAW) {
+ if (format == ImageFormat.RAW) {
// Currently, KVM only supports RBD, PowerFlex, and FiberChannel images of type RAW.
// This results in a weird collision with OVM volumes which
// can only be raw, thus making KVM RBD volumes show up as OVM
diff --git a/server/src/main/java/com/cloud/api/ApiResponseHelper.java b/server/src/main/java/com/cloud/api/ApiResponseHelper.java
index 345f7e5f628e..1b2b3ecfad39 100644
--- a/server/src/main/java/com/cloud/api/ApiResponseHelper.java
+++ b/server/src/main/java/com/cloud/api/ApiResponseHelper.java
@@ -3379,7 +3379,6 @@ public TrafficTypeResponse createTrafficTypeResponse(PhysicalNetworkTrafficType
response.setXenLabel(result.getXenNetworkLabel());
response.setKvmLabel(result.getKvmNetworkLabel());
response.setVmwareLabel(result.getVmwareNetworkLabel());
- response.setHypervLabel(result.getHypervNetworkLabel());
response.setOvm3Label(result.getOvm3NetworkLabel());
response.setVlan(result.getVlan());
diff --git a/server/src/main/java/com/cloud/configuration/Config.java b/server/src/main/java/com/cloud/configuration/Config.java
index 2f4f7fa8ac5d..717c8ea1710c 100644
--- a/server/src/main/java/com/cloud/configuration/Config.java
+++ b/server/src/main/java/com/cloud/configuration/Config.java
@@ -547,7 +547,7 @@ public enum Config {
ManagementServer.class,
String.class,
"hypervisor.list",
- HypervisorType.KVM + "," + HypervisorType.VMware + "," + HypervisorType.XenServer + "," + HypervisorType.Hyperv + "," +
+ HypervisorType.KVM + "," + HypervisorType.VMware + "," + HypervisorType.XenServer + "," +
HypervisorType.BareMetal + "," + HypervisorType.Ovm + "," + HypervisorType.LXC + "," + HypervisorType.Ovm3 + "," + HypervisorType.External,
"The list of hypervisors that this deployment will use.",
"hypervisorList",
@@ -1056,32 +1056,6 @@ public enum Config {
KvmPrivateNetwork("Hidden", ManagementServer.class, String.class, "kvm.private.network.device", null, "Specify the private bridge on host for private network", null),
KvmGuestNetwork("Hidden", ManagementServer.class, String.class, "kvm.guest.network.device", null, "Specify the private bridge on host for private network", null),
- // Hyperv
- HypervPublicNetwork(
- "Hidden",
- ManagementServer.class,
- String.class,
- "hyperv.public.network.device",
- null,
- "Specify the public virtual switch on host for public network",
- null),
- HypervPrivateNetwork(
- "Hidden",
- ManagementServer.class,
- String.class,
- "hyperv.private.network.device",
- null,
- "Specify the virtual switch on host for private network",
- null),
- HypervGuestNetwork(
- "Hidden",
- ManagementServer.class,
- String.class,
- "hyperv.guest.network.device",
- null,
- "Specify the virtual switch on host for private network",
- null),
-
// Usage
UsageExecutionTimezone("Usage", ManagementServer.class, String.class, "usage.execution.timezone", null, "The timezone to use for usage job execution time", null),
UsageStatsJobAggregationRange(
@@ -1636,15 +1610,6 @@ public enum Config {
+ " If set to false, these commands become asynchronous. Default value is false.",
null),
- UCSSyncBladeInterval(
- "Advanced",
- ManagementServer.class,
- Integer.class,
- "ucs.sync.blade.interval",
- "3600",
- "the interval cloudstack sync with UCS manager for available blades in case user remove blades from chassis without notifying CloudStack",
- null),
-
RedundantRouterVrrpInterval(
"Advanced",
NetworkOrchestrationService.class,
diff --git a/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java
index 17dbced54233..8bf8027e2173 100644
--- a/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java
+++ b/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java
@@ -1741,7 +1741,7 @@ protected String validateRangePrivateIp(String name, String value) {
}
/**
- * Valid values are XenServer, KVM, VMware, Hyperv, VirtualBox, Parralels, BareMetal, Simulator, Ovm, Ovm3, LXC.
+ * Valid values are XenServer, KVM, VMware, VirtualBox, Parralels, BareMetal, Simulator, Ovm, Ovm3, LXC.
* Inputting "Any" will return the hypervisor type Any, other inputs will result in the hypervisor type none.
* Both of these are invalid values and will return an error message.
*/
diff --git a/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java b/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
index 4401dc2d1529..85751267acb0 100644
--- a/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
+++ b/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
@@ -1336,9 +1336,6 @@ public boolean finalizeCommandsOnStart(Commands cmds, VirtualMachineProfile prof
controlNic = managementNic;
}
- if(profile.getHypervisorType() == HypervisorType.Hyperv) {
- controlNic = managementNic;
- }
CheckSshCommand check = new CheckSshCommand(profile.getInstanceName(), controlNic.getIPv4Address(), 3922);
cmds.addCommand("checkSsh", check);
diff --git a/server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java b/server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java
index 07d51c5deb30..595077afda3b 100644
--- a/server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java
+++ b/server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java
@@ -331,7 +331,7 @@ public void scheduleRestartForVmsOnHost(final HostVO host, boolean investigate,
return;
}
- if (host.getHypervisorType() == HypervisorType.VMware || host.getHypervisorType() == HypervisorType.Hyperv) {
+ if (host.getHypervisorType() == HypervisorType.VMware) {
logger.info("Don't restart VMs on host {} as it is a {} host", host, host.getHypervisorType().toString());
return;
}
@@ -507,8 +507,8 @@ public void scheduleRestart(VMInstanceVO vm, boolean investigate, ReasonType rea
}
}
- if (vm.getHypervisorType() == HypervisorType.VMware || vm.getHypervisorType() == HypervisorType.Hyperv) {
- logger.info("Skip HA for VMware VM or Hyperv VM" + vm.getInstanceName());
+ if (vm.getHypervisorType() == HypervisorType.VMware) {
+ logger.info("Skip HA for VMware VM" + vm.getInstanceName());
return;
}
diff --git a/server/src/main/java/com/cloud/network/NetworkModelImpl.java b/server/src/main/java/com/cloud/network/NetworkModelImpl.java
index db128d72e828..82cca4524edb 100644
--- a/server/src/main/java/com/cloud/network/NetworkModelImpl.java
+++ b/server/src/main/java/com/cloud/network/NetworkModelImpl.java
@@ -1573,8 +1573,6 @@ public String getDefaultManagementTrafficLabel(long zoneId, HypervisorType hyper
label = mgmtTraffic.getKvmNetworkLabel();
} else if (hypervisorType.equals(HypervisorType.VMware)) {
label = mgmtTraffic.getVmwareNetworkLabel();
- } else if (hypervisorType.equals(HypervisorType.Hyperv)) {
- label = mgmtTraffic.getHypervNetworkLabel();
} else if (hypervisorType.equals(HypervisorType.Ovm3)) {
label = mgmtTraffic.getOvm3NetworkLabel();
}
@@ -1603,8 +1601,6 @@ public String getDefaultStorageTrafficLabel(long zoneId, HypervisorType hypervis
label = storageTraffic.getKvmNetworkLabel();
} else if (hypervisorType.equals(HypervisorType.VMware)) {
label = storageTraffic.getVmwareNetworkLabel();
- } else if (hypervisorType.equals(HypervisorType.Hyperv)) {
- label = storageTraffic.getHypervNetworkLabel();
} else if (hypervisorType.equals(HypervisorType.Ovm3)) {
label = storageTraffic.getOvm3NetworkLabel();
}
@@ -2171,8 +2167,6 @@ public String getDefaultPublicTrafficLabel(long dcId, HypervisorType hypervisorT
label = publicTraffic.getKvmNetworkLabel();
} else if (hypervisorType.equals(HypervisorType.VMware)) {
label = publicTraffic.getVmwareNetworkLabel();
- } else if (hypervisorType.equals(HypervisorType.Hyperv)) {
- label = publicTraffic.getHypervNetworkLabel();
} else if (hypervisorType.equals(HypervisorType.Ovm3)) {
label = publicTraffic.getOvm3NetworkLabel();
}
@@ -2201,8 +2195,6 @@ public String getDefaultGuestTrafficLabel(long dcId, HypervisorType hypervisorTy
label = guestTraffic.getKvmNetworkLabel();
} else if (hypervisorType.equals(HypervisorType.VMware)) {
label = guestTraffic.getVmwareNetworkLabel();
- } else if (hypervisorType.equals(HypervisorType.Hyperv)) {
- label = guestTraffic.getHypervNetworkLabel();
} else if (hypervisorType.equals(HypervisorType.Ovm3)) {
label = guestTraffic.getOvm3NetworkLabel();
}
diff --git a/server/src/main/java/com/cloud/network/guru/ControlNetworkGuru.java b/server/src/main/java/com/cloud/network/guru/ControlNetworkGuru.java
index 9cec05446ac6..d9affc1cc7d2 100644
--- a/server/src/main/java/com/cloud/network/guru/ControlNetworkGuru.java
+++ b/server/src/main/java/com/cloud/network/guru/ControlNetworkGuru.java
@@ -139,9 +139,9 @@ public void reserve(NicProfile nic, Network config, VirtualMachineProfile vm, De
throws InsufficientVirtualNetworkCapacityException, InsufficientAddressCapacityException {
assert nic.getTrafficType() == TrafficType.Control;
- // we have to get management/private ip for the control nic for vmware/hyperv due ssh issues.
+ // we have to get management/private ip for the control nic for vmware due ssh issues.
HypervisorType hType = vm.getHypervisorType();
- if (((hType == HypervisorType.VMware) || (hType == HypervisorType.Hyperv)) && isRouterVm(vm)) {
+ if (hType == HypervisorType.VMware && isRouterVm(vm)) {
super.reserve(nic, config, vm, dest, context);
String mac = networkModel.getNextAvailableMacAddressInNetwork(config.getId());
@@ -169,7 +169,7 @@ public void reserve(NicProfile nic, Network config, VirtualMachineProfile vm, De
public boolean release(NicProfile nic, VirtualMachineProfile vm, String reservationId) {
assert nic.getTrafficType() == TrafficType.Control;
HypervisorType hType = vm.getHypervisorType();
- if ( ( (hType == HypervisorType.VMware) || (hType == HypervisorType.Hyperv) )&& isRouterVm(vm)) {
+ if (hType == HypervisorType.VMware && isRouterVm(vm)) {
if (!VirtualNetworkApplianceManager.RemoveControlIpOnStop.valueIn(vm.getVirtualMachine().getDataCenterId())) {
if (logger.isDebugEnabled()) {
logger.debug(String.format("not releasing %s from %s with reservationId %s, as systemvm.release.control.ip.on.stop is set to false for the data center.", nic, vm, reservationId));
diff --git a/server/src/main/java/com/cloud/network/router/NetworkHelperImpl.java b/server/src/main/java/com/cloud/network/router/NetworkHelperImpl.java
index e5d4587f32fe..a1a3c92c2ef2 100644
--- a/server/src/main/java/com/cloud/network/router/NetworkHelperImpl.java
+++ b/server/src/main/java/com/cloud/network/router/NetworkHelperImpl.java
@@ -190,7 +190,6 @@ protected void setupHypervisorsMap() {
hypervisorsMap.put(HypervisorType.XenServer, VirtualNetworkApplianceManager.RouterTemplateXen);
hypervisorsMap.put(HypervisorType.KVM, VirtualNetworkApplianceManager.RouterTemplateKvm);
hypervisorsMap.put(HypervisorType.VMware, VirtualNetworkApplianceManager.RouterTemplateVmware);
- hypervisorsMap.put(HypervisorType.Hyperv, VirtualNetworkApplianceManager.RouterTemplateHyperV);
hypervisorsMap.put(HypervisorType.LXC, VirtualNetworkApplianceManager.RouterTemplateLxc);
hypervisorsMap.put(HypervisorType.Ovm3, VirtualNetworkApplianceManager.RouterTemplateOvm3);
}
diff --git a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManager.java b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManager.java
index 8ef77d3fb32f..36c644d5e831 100644
--- a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManager.java
+++ b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManager.java
@@ -39,7 +39,6 @@ public interface VirtualNetworkApplianceManager extends Manager, VirtualNetworkA
String RouterTemplateXenCK = "router.template.xenserver";
String RouterTemplateKvmCK = "router.template.kvm";
String RouterTemplateVmwareCK = "router.template.vmware";
- String RouterTemplateHyperVCK = "router.template.hyperv";
String RouterTemplateLxcCK = "router.template.lxc";
String RouterTemplateOvm3CK = "router.template.ovm3";
String SetServiceMonitorCK = "network.router.EnableServiceMonitoring";
@@ -57,8 +56,6 @@ public interface VirtualNetworkApplianceManager extends Manager, VirtualNetworkA
"Name of the default router template on KVM.", true, ConfigKey.Scope.Zone, null);
ConfigKey RouterTemplateVmware = new ConfigKey<>(String.class, RouterTemplateVmwareCK, "Advanced", "SystemVM Template (vSphere)",
"Name of the default router template on Vmware.", true, ConfigKey.Scope.Zone, null);
- ConfigKey RouterTemplateHyperV = new ConfigKey<>(String.class, RouterTemplateHyperVCK, "Advanced", "SystemVM Template (HyperV)",
- "Name of the default router template on Hyperv.", true, ConfigKey.Scope.Zone, null);
ConfigKey RouterTemplateLxc = new ConfigKey<>(String.class, RouterTemplateLxcCK, "Advanced", "SystemVM Template (LXC)",
"Name of the default router template on LXC.", true, ConfigKey.Scope.Zone, null);
ConfigKey RouterTemplateOvm3 = new ConfigKey<>(String.class, RouterTemplateOvm3CK, "Advanced", "SystemVM Template (Ovm3)",
diff --git a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
index fe167b7e7e76..e7283b396f23 100644
--- a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
+++ b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
@@ -364,7 +364,6 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
private String _dnsBasicZoneUpdates = "all";
private boolean _disableRpFilter = false;
- private int _routerExtraPublicNics = 2;
private int _usageAggregationRange = 1440;
private String _usageTimeZone = "GMT";
private final long mgmtSrvrId = MacAddress.getMacAddress().toLong();
@@ -548,8 +547,6 @@ public boolean configure(final String name, final Map params) th
int routerRamSize = NumbersUtil.parseInt(configs.get("router.ram.size"), DEFAULT_ROUTER_VM_RAMSIZE);
int routerCpuMHz = NumbersUtil.parseInt(configs.get("router.cpu.mhz"), DEFAULT_ROUTER_CPU_MHZ);
- _routerExtraPublicNics = NumbersUtil.parseInt(_configDao.getValue(Config.RouterExtraPublicNics.key()), 2);
-
String value = configs.get("router.stats.interval");
_routerStatsInterval = NumbersUtil.parseInt(value, 300);
@@ -1965,7 +1962,7 @@ public boolean finalizeVirtualMachineProfile(final VirtualMachineProfile profile
buf.append(createRedundantRouterArgs(controlNic, router));
// DOMR control command is sent over management server in VMware
- if (dest.getHost().getHypervisorType() == HypervisorType.VMware || dest.getHost().getHypervisorType() == HypervisorType.Hyperv) {
+ if (dest.getHost().getHypervisorType() == HypervisorType.VMware) {
logger.info("Check if we need to add management server explicit route to DomR. pod cidr: " + dest.getPod().getCidrAddress() + "/"
+ dest.getPod().getCidrSize() + ", pod gateway: " + dest.getPod().getGateway() + ", management host: "
+ ApiServiceConfiguration.ManagementServerAddresses.value());
@@ -2049,10 +2046,6 @@ public boolean finalizeVirtualMachineProfile(final VirtualMachineProfile profile
buf.append(" dnssearchorder=").append(domain_suffix);
}
- if (profile.getHypervisorType() == HypervisorType.Hyperv) {
- buf.append(" extra_pubnics=").append(_routerExtraPublicNics);
- }
-
/*
* If virtual router didn't provide DNS service but provide DHCP
* service, we need to override the DHCP response to return DNS server
@@ -3372,7 +3365,6 @@ public ConfigKey>[] getConfigKeys() {
return new ConfigKey>[] {
RouterTemplateKvm,
RouterTemplateVmware,
- RouterTemplateHyperV,
RouterTemplateLxc,
RouterTemplateOvm3,
UseExternalDnsServers,
diff --git a/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java b/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java
index 1f5fe7382fc5..c0cd3ecde86c 100644
--- a/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java
+++ b/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java
@@ -354,7 +354,6 @@ protected void setupSupportedVpcHypervisorsList() {
hTypes.add(HypervisorType.KVM);
hTypes.add(HypervisorType.Simulator);
hTypes.add(HypervisorType.LXC);
- hTypes.add(HypervisorType.Hyperv);
hTypes.add(HypervisorType.Ovm3);
hTypes.add(HypervisorType.External);
}
diff --git a/server/src/main/java/com/cloud/server/ManagementServerImpl.java b/server/src/main/java/com/cloud/server/ManagementServerImpl.java
index e48cf112806a..cad8fe7a789f 100644
--- a/server/src/main/java/com/cloud/server/ManagementServerImpl.java
+++ b/server/src/main/java/com/cloud/server/ManagementServerImpl.java
@@ -898,7 +898,7 @@ public class ManagementServerImpl extends MutualExclusiveIdsManagerBase implemen
public static final ConfigKey exposeCloudStackVersionInApiListCapabilities = new ConfigKey<>("Advanced", Boolean.class, "expose.cloudstack.version.api.list.capabilities", "true", "Indicates whether ACS version should show in the listCapabilities API.", true, ConfigKey.Scope.Global);
private static final VirtualMachine.Type []systemVmTypes = { VirtualMachine.Type.SecondaryStorageVm, VirtualMachine.Type.ConsoleProxy};
- private static final List LIVE_MIGRATION_SUPPORTING_HYPERVISORS = List.of(HypervisorType.Hyperv, HypervisorType.KVM,
+ private static final List LIVE_MIGRATION_SUPPORTING_HYPERVISORS = List.of(HypervisorType.KVM,
HypervisorType.LXC, HypervisorType.Ovm, HypervisorType.Ovm3, HypervisorType.Simulator, HypervisorType.VMware, HypervisorType.XenServer);
@Inject
@@ -1463,13 +1463,13 @@ private void validateVmForHostMigration(VirtualMachine vm) {
if (!LIVE_MIGRATION_SUPPORTING_HYPERVISORS.contains(vm.getHypervisorType())) {
if (logger.isDebugEnabled()) {
- logger.debug(vm + " is not XenServer/VMware/KVM/Ovm/Hyperv/Ovm3, cannot migrate this Instance.");
+ logger.debug(vm + " is not XenServer/VMware/KVM/Ovm/Ovm3, cannot migrate this Instance.");
}
- throw new InvalidParameterValueException("Unsupported Hypervisor Type for Instance migration, we support " + "XenServer/VMware/KVM/Ovm/Hyperv/Ovm3 only");
+ throw new InvalidParameterValueException("Unsupported Hypervisor Type for Instance migration, we support " + "XenServer/VMware/KVM/Ovm/Ovm3 only");
}
if (VirtualMachine.Type.User.equals(vm.getType()) && HypervisorType.LXC.equals(vm.getHypervisorType())) {
- throw new InvalidParameterValueException("Unsupported Hypervisor Type for User instance migration, we support XenServer/VMware/KVM/Ovm/Hyperv/Ovm3 only");
+ throw new InvalidParameterValueException("Unsupported Hypervisor Type for User instance migration, we support XenServer/VMware/KVM/Ovm/Ovm3 only");
}
}
diff --git a/server/src/main/java/com/cloud/storage/StorageManagerImpl.java b/server/src/main/java/com/cloud/storage/StorageManagerImpl.java
index 8557b91850d7..150d1e0c2f75 100644
--- a/server/src/main/java/com/cloud/storage/StorageManagerImpl.java
+++ b/server/src/main/java/com/cloud/storage/StorageManagerImpl.java
@@ -445,7 +445,7 @@ public void setDiscoverers(List discoverers) {
private final Map hostListeners = new HashMap<>();
private final Set zoneWidePoolSupportedHypervisorTypes = Sets.newHashSet(HypervisorType.KVM, HypervisorType.VMware,
- HypervisorType.Hyperv, HypervisorType.LXC, HypervisorType.Any, HypervisorType.Simulator);
+ HypervisorType.LXC, HypervisorType.Any, HypervisorType.Simulator);
private static final String NFS_MOUNT_OPTIONS_INCORRECT = "An incorrect mount option was specified";
@@ -3446,8 +3446,6 @@ public HypervisorType getHypervisorTypeFromFormat(ImageFormat format) {
return HypervisorType.KVM;
} else if (format == ImageFormat.RAW) {
return HypervisorType.Ovm;
- } else if (format == ImageFormat.VHDX) {
- return HypervisorType.Hyperv;
} else {
return HypervisorType.None;
}
@@ -3941,8 +3939,6 @@ private String getValidTemplateName(Long zoneId, HypervisorType hType) {
templateName = VirtualNetworkApplianceManager.RouterTemplateKvm.valueIn(zoneId);
} else if (hType.equals(HypervisorType.VMware)) {
templateName = VirtualNetworkApplianceManager.RouterTemplateVmware.valueIn(zoneId);
- } else if (hType.equals(HypervisorType.Hyperv)) {
- templateName = VirtualNetworkApplianceManager.RouterTemplateHyperV.valueIn(zoneId);
} else if (hType.equals(HypervisorType.LXC)) {
templateName = VirtualNetworkApplianceManager.RouterTemplateLxc.valueIn(zoneId);
}
diff --git a/server/src/main/java/com/cloud/storage/listener/StoragePoolMonitor.java b/server/src/main/java/com/cloud/storage/listener/StoragePoolMonitor.java
index d7f20c03671b..c30e2d4314ee 100644
--- a/server/src/main/java/com/cloud/storage/listener/StoragePoolMonitor.java
+++ b/server/src/main/java/com/cloud/storage/listener/StoragePoolMonitor.java
@@ -117,7 +117,7 @@ public void processConnect(Host host, StartupCommand cmd, boolean forRebalance)
StartupRoutingCommand scCmd = (StartupRoutingCommand)cmd;
if (scCmd.getHypervisorType() == HypervisorType.XenServer || scCmd.getHypervisorType() == HypervisorType.KVM ||
scCmd.getHypervisorType() == HypervisorType.VMware || scCmd.getHypervisorType() == HypervisorType.Simulator ||
- scCmd.getHypervisorType() == HypervisorType.Ovm || scCmd.getHypervisorType() == HypervisorType.Hyperv ||
+ scCmd.getHypervisorType() == HypervisorType.Ovm ||
scCmd.getHypervisorType() == HypervisorType.LXC || scCmd.getHypervisorType() == HypervisorType.Ovm3) {
String sags[] = _storageManager.getStorageAccessGroups(null, null, null, host.getId());
diff --git a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
index d93dae9ebdec..6f3c827fc4d0 100644
--- a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
@@ -7548,12 +7548,12 @@ public VirtualMachine migrateVirtualMachine(Long vmId, Host destinationHost) thr
}
if (!isOnSupportedHypevisorForMigration(vm)) {
- logger.error(vm + " is not XenServer/VMware/KVM/Ovm/Hyperv, cannot migrate this VM from hypervisor type " + vm.getHypervisorType());
- throw new InvalidParameterValueException("Unsupported Hypervisor Type for VM migration, we support XenServer/VMware/KVM/Ovm/Hyperv/Ovm3 only");
+ logger.error(vm + " is not XenServer/VMware/KVM/Ovm, cannot migrate this VM from hypervisor type " + vm.getHypervisorType());
+ throw new InvalidParameterValueException("Unsupported Hypervisor Type for VM migration, we support XenServer/VMware/KVM/Ovm/Ovm3 only");
}
if (vm.getType().equals(VirtualMachine.Type.User) && vm.getHypervisorType().equals(HypervisorType.LXC)) {
- throw new InvalidParameterValueException("Unsupported Hypervisor Type for User VM migration, we support XenServer/VMware/KVM/Ovm/Hyperv/Ovm3 only");
+ throw new InvalidParameterValueException("Unsupported Hypervisor Type for User VM migration, we support XenServer/VMware/KVM/Ovm/Ovm3 only");
}
if (isVMUsingLocalStorage(vm)) {
@@ -7712,7 +7712,6 @@ private boolean isOnSupportedHypevisorForMigration(VMInstanceVO vm) {
vm.getHypervisorType().equals(HypervisorType.VMware) ||
vm.getHypervisorType().equals(HypervisorType.KVM) ||
vm.getHypervisorType().equals(HypervisorType.Ovm) ||
- vm.getHypervisorType().equals(HypervisorType.Hyperv) ||
vm.getHypervisorType().equals(HypervisorType.LXC) ||
vm.getHypervisorType().equals(HypervisorType.Simulator) ||
vm.getHypervisorType().equals(HypervisorType.Ovm3));
diff --git a/server/src/test/java/com/cloud/api/ApiResponseHelperTest.java b/server/src/test/java/com/cloud/api/ApiResponseHelperTest.java
index bbd7afcdd113..754ec6ea210b 100644
--- a/server/src/test/java/com/cloud/api/ApiResponseHelperTest.java
+++ b/server/src/test/java/com/cloud/api/ApiResponseHelperTest.java
@@ -441,11 +441,10 @@ public void testCreateTrafficTypeResponse() {
String kvmLabel = "kvm";
String vmwareLabel = "vmware";
String simulatorLabel = "simulator";
- String hypervLabel = "hyperv";
String ovmLabel = "ovm";
String vlan = "vlan";
String trafficType = "Public";
- PhysicalNetworkTrafficType pnetTrafficType = new PhysicalNetworkTrafficTypeVO(pnet.getId(), Networks.TrafficType.getTrafficType(trafficType), xenLabel, kvmLabel, vmwareLabel, simulatorLabel, vlan, hypervLabel, ovmLabel);
+ PhysicalNetworkTrafficType pnetTrafficType = new PhysicalNetworkTrafficTypeVO(pnet.getId(), Networks.TrafficType.getTrafficType(trafficType), xenLabel, kvmLabel, vmwareLabel, simulatorLabel, vlan, null, ovmLabel);
TrafficTypeResponse response = apiResponseHelper.createTrafficTypeResponse(pnetTrafficType);
assertFalse(UUID.fromString(response.getId()).toString().isEmpty());
@@ -454,7 +453,6 @@ public void testCreateTrafficTypeResponse() {
assertEquals(response.getXenLabel(), xenLabel);
assertEquals(response.getKvmLabel(), kvmLabel);
assertEquals(response.getVmwareLabel(), vmwareLabel);
- assertEquals(response.getHypervLabel(), hypervLabel);
assertEquals(response.getOvm3Label(), ovmLabel);
assertEquals(response.getVlan(), vlan);
assertEquals(response.getIsolationMethods(), "VXLAN,STT");
diff --git a/server/src/test/java/com/cloud/server/ManagementServerImplTest.java b/server/src/test/java/com/cloud/server/ManagementServerImplTest.java
index d2c12b6c99dd..01547fab3162 100644
--- a/server/src/test/java/com/cloud/server/ManagementServerImplTest.java
+++ b/server/src/test/java/com/cloud/server/ManagementServerImplTest.java
@@ -1829,7 +1829,6 @@ public void testListHostsForMigrationOfVMWithAllSupportedHypervisors() {
HypervisorType.VMware,
HypervisorType.KVM,
HypervisorType.Ovm,
- HypervisorType.Hyperv,
HypervisorType.Ovm3
};
diff --git a/services/console-proxy/rdpconsole/src/main/java/common/Client.java b/services/console-proxy/rdpconsole/src/main/java/common/Client.java
index 972d5d753e8f..ab2b45edda13 100644
--- a/services/console-proxy/rdpconsole/src/main/java/common/Client.java
+++ b/services/console-proxy/rdpconsole/src/main/java/common/Client.java
@@ -44,7 +44,7 @@
public class Client {
enum Protocol {
- NONE, VNC, RDP, HYPERV
+ NONE, VNC, RDP
}
// Common options
@@ -124,15 +124,6 @@ enum Protocol {
}
};
- private final IntOption hyperVPort = new IntOption() {
- {
- name = "--port";
- alias = "-p";
- value = 2179;
- description = "Port of HyperV server to connect to.";
- }
- };
-
private final StringOption password = new StringOption() {
{
name = "--password";
@@ -169,14 +160,6 @@ enum Protocol {
}
};
- private final StringOption hyperVInstanceId = new StringOption() {
- {
- name = "--instance";
- alias = "-i";
- required = true;
- description = "HyperV instance ID to use.";
- }
- };
private final StringEnumerationOption sslImplementation = new StringEnumerationOption() {
{
name = "--ssl-implementation";
@@ -190,7 +173,6 @@ enum Protocol {
private final Option[] commonOptions = new Option[] {help, debugLink, debugElement, debugPipeline, hostName, canvasWidth, canvasHeight};
private final Option[] vncOptions = new Option[] {vncPort, password};
private final Option[] rdpOptions = new Option[] {sslImplementation, rdpPort, domain, userName, rdpPassword};
- private final Option[] hyperVOptions = new Option[] {sslImplementation, hyperVPort, hyperVInstanceId, domain, userName, password};
private static Frame frame;
private static SocketWrapper socket;
@@ -200,11 +182,10 @@ enum Protocol {
private InetSocketAddress address;
private void help() {
- System.out.println("Usage: \n java common.Client vnc|rdp|hyperv OPTIONS\n");
+ System.out.println("Usage: \n java common.Client vnc|rdp OPTIONS\n");
System.out.println(Option.toHelp("Common options", commonOptions));
System.out.println(Option.toHelp("VNC options", vncOptions));
System.out.println(Option.toHelp("RDP options", rdpOptions));
- System.out.println(Option.toHelp("HyperV options", hyperVOptions));
}
public void runClient(String[] args) {
@@ -284,10 +265,6 @@ private Element setMainElementAndAddressBasedOnProtocol(Protocol protocol, SSLSt
address = new InetSocketAddress(hostName.value, rdpPort.value);
main = new RdpClient("client", hostName.value, domain.value, userName.value, rdpPassword.value, null, screen, canvas, sslState);
break;
- case HYPERV:
- address = new InetSocketAddress(hostName.value, hyperVPort.value);
- main = new RdpClient("client", hostName.value, domain.value, userName.value, password.value, hyperVInstanceId.value, screen, canvas, sslState);
- break;
default:
address = null;
main = null;
@@ -314,9 +291,6 @@ private Protocol parseOptions(String[] args) {
case RDP:
options = join(commonOptions, rdpOptions);
break;
- case HYPERV:
- options = join(commonOptions, hyperVOptions);
- break;
default:
help();
return Protocol.NONE;
diff --git a/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java b/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java
index 9d4c73111595..f42bcc28c2d5 100644
--- a/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java
+++ b/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java
@@ -1349,10 +1349,6 @@ public boolean finalizeCommandsOnStart(Commands cmds, VirtualMachineProfile prof
}
protected NicProfile verifySshAccessOnManagementNicForSystemVm(VirtualMachineProfile profile, NicProfile controlNic, NicProfile managementNic) {
- if (profile.getHypervisorType() == HypervisorType.Hyperv) {
- return managementNic;
- }
-
return controlNic;
}
diff --git a/services/secondary-storage/controller/src/test/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerTest.java b/services/secondary-storage/controller/src/test/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerTest.java
index 2d48451f43e9..f3cc8404ead3 100644
--- a/services/secondary-storage/controller/src/test/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerTest.java
+++ b/services/secondary-storage/controller/src/test/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerTest.java
@@ -213,7 +213,7 @@ public void getDefaultNetworkForAdvancedWrongZoneType() {
@Test
public void validateVerifySshAccessOnManagementNicForSystemVm() {
Hypervisor.HypervisorType[] hypervisorTypesArray = Hypervisor.HypervisorType.values();
- List hypervisorTypesThatMustReturnManagementNic = new ArrayList<>(Arrays.asList(Hypervisor.HypervisorType.Hyperv));
+ List hypervisorTypesThatMustReturnManagementNic = new ArrayList<>();
for (Hypervisor.HypervisorType hypervisorType: hypervisorTypesArray) {
VirtualMachineProfile virtualMachineProfileMock = Mockito.mock(VirtualMachineProfile.class);