mirror of https://github.com/apache/cloudstack.git
remove some extra stuff
This commit is contained in:
parent
135eb8042c
commit
0e42c76c6e
|
|
@ -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":
|
||||
|
|
|
|||
|
|
@ -47,7 +47,6 @@ public class Hypervisor {
|
|||
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));
|
||||
public static final HypervisorType Hyperv = new HypervisorType("Hyperv");
|
||||
public static final HypervisorType VirtualBox = new HypervisorType("VirtualBox");
|
||||
public static final HypervisorType Parralels = new HypervisorType("Parralels");
|
||||
public static final HypervisorType BareMetal = new HypervisorType("BareMetal");
|
||||
|
|
|
|||
|
|
@ -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,External")
|
||||
private String hypervisor;
|
||||
|
||||
@Parameter(name = ApiConstants.ARCH, type = CommandType.STRING,
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -67,11 +67,13 @@ 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")
|
||||
private String hypervLabel;
|
||||
|
||||
@Deprecated
|
||||
@Parameter(name = ApiConstants.OVM3_NETWORK_LABEL,
|
||||
type = CommandType.STRING,
|
||||
description = "The network name of the physical device dedicated to this traffic on an OVM3 host")
|
||||
|
|
@ -108,19 +110,11 @@ public class AddTrafficTypeCmd extends BaseAsyncCreateCmd {
|
|||
return vmwareLabel;
|
||||
}
|
||||
|
||||
public String getHypervLabel() {
|
||||
return hypervLabel;
|
||||
}
|
||||
|
||||
public String getSimulatorLabel() {
|
||||
//simulators will have no labels
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getOvm3Label() {
|
||||
return ovm3Label;
|
||||
}
|
||||
|
||||
public void setVlan(String vlan) {
|
||||
this.vlan = vlan;
|
||||
}
|
||||
|
|
@ -163,7 +157,7 @@ public class AddTrafficTypeCmd extends BaseAsyncCreateCmd {
|
|||
public void create() throws ResourceAllocationException {
|
||||
PhysicalNetworkTrafficType result =
|
||||
_networkService.addTrafficTypeToPhysicalNetwork(getPhysicalNetworkId(), getTrafficType(), getIsolationMethod(), getXenLabel(), getKvmLabel(), getVmwareLabel(),
|
||||
getSimulatorLabel(), getVlan(), getHypervLabel(), getOvm3Label());
|
||||
getSimulatorLabel(), getVlan(), null, null);
|
||||
if (result != null) {
|
||||
setEntityId(result.getId());
|
||||
setEntityUuid(result.getUuid());
|
||||
|
|
|
|||
|
|
@ -57,11 +57,13 @@ 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")
|
||||
private String hypervLabel;
|
||||
|
||||
@Deprecated
|
||||
@Parameter(name = ApiConstants.OVM3_NETWORK_LABEL,
|
||||
type = CommandType.STRING,
|
||||
description = "The network name of the physical device dedicated to this traffic on an OVM3 host")
|
||||
|
|
@ -87,14 +89,6 @@ public class UpdateTrafficTypeCmd extends BaseAsyncCmd {
|
|||
return vmwareLabel;
|
||||
}
|
||||
|
||||
public String getHypervLabel() {
|
||||
return hypervLabel;
|
||||
}
|
||||
|
||||
public String getOvm3Label() {
|
||||
return ovm3Label;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
/////////////// API Implementation///////////////////
|
||||
/////////////////////////////////////////////////////
|
||||
|
|
@ -106,7 +100,7 @@ public class UpdateTrafficTypeCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public void execute() {
|
||||
PhysicalNetworkTrafficType result = _networkService.updatePhysicalNetworkTrafficType(getId(), getXenLabel(), getKvmLabel(), getVmwareLabel(), getHypervLabel(), getOvm3Label());
|
||||
PhysicalNetworkTrafficType result = _networkService.updatePhysicalNetworkTrafficType(getId(), getXenLabel(), getKvmLabel(), getVmwareLabel(), null, null);
|
||||
if (result != null) {
|
||||
TrafficTypeResponse response = _responseGenerator.createTrafficTypeResponse(result);
|
||||
response.setResponseName(getCommandName());
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
@ -64,10 +60,6 @@ public class TrafficTypeResponse extends BaseResponse {
|
|||
@Param(description = "isolation methods for the physical network traffic")
|
||||
private String isolationMethods;
|
||||
|
||||
@SerializedName(ApiConstants.OVM3_NETWORK_LABEL)
|
||||
@Param(description = "The Network name of the physical device dedicated to this traffic on an OVM3 host")
|
||||
private String ovm3NetworkLabel;
|
||||
|
||||
@Override
|
||||
public String getObjectId() {
|
||||
return this.id;
|
||||
|
|
@ -105,18 +97,10 @@ public class TrafficTypeResponse extends BaseResponse {
|
|||
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;
|
||||
}
|
||||
|
|
@ -129,14 +113,6 @@ public class TrafficTypeResponse extends BaseResponse {
|
|||
return vmwareNetworkLabel;
|
||||
}
|
||||
|
||||
public String getOvm3Label() {
|
||||
return ovm3NetworkLabel;
|
||||
}
|
||||
|
||||
public void setOvm3Label(String ovm3Label) {
|
||||
this.ovm3NetworkLabel = ovm3Label;
|
||||
}
|
||||
|
||||
public String getIsolationMethods() {
|
||||
return isolationMethods;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -78,6 +78,12 @@
|
|||
<artifactId>cloud-plugin-hypervisor-external</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.cloudstack</groupId>
|
||||
<artifactId>cloud-api</artifactId>
|
||||
<version>4.23.0.0-SNAPSHOT</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
|
|
|
|||
|
|
@ -2010,7 +2010,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
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();
|
||||
|
|
@ -5406,8 +5406,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
, 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);
|
||||
|
|
|
|||
|
|
@ -1156,8 +1156,6 @@ public class VolumeOrchestrator extends ManagerBase implements VolumeOrchestrati
|
|||
return ImageFormat.OVA;
|
||||
} else if (hyperType == HypervisorType.Ovm) {
|
||||
return ImageFormat.RAW;
|
||||
} else if (hyperType == HypervisorType.Hyperv) {
|
||||
return ImageFormat.VHDX;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
|
|
@ -1165,15 +1163,7 @@ public class VolumeOrchestrator extends ManagerBase implements VolumeOrchestrati
|
|||
|
||||
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,
|
||||
|
|
|
|||
|
|
@ -57,6 +57,12 @@
|
|||
<artifactId>ini4j</artifactId>
|
||||
<version>${cs.ini.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.cloudstack</groupId>
|
||||
<artifactId>cloud-api</artifactId>
|
||||
<version>4.23.0.0-SNAPSHOT</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
|
|
@ -105,7 +111,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) {
|
||||
|
|
@ -321,41 +326,5 @@
|
|||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>download-hyperv-systemvm-template</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>systemvm-hyperv</name>
|
||||
</property>
|
||||
</activation>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>${cs.resources-plugin.version}</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>com.googlecode.maven-download-plugin</groupId>
|
||||
<artifactId>download-maven-plugin</artifactId>
|
||||
<version>1.6.3</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>download-hyperv-template</id>
|
||||
<goals>
|
||||
<goal>wget</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<checkSignature>true</checkSignature>
|
||||
<url>${project.systemvm.template.location}/${cs.version}/systemvmtemplate-${cs.version}.${patch.version}-x86_64-hyperv.vhd.zip</url>
|
||||
<outputDirectory>${basedir}/dist/systemvm-templates/</outputDirectory>
|
||||
<sha512>${hyperv.checksum}</sha512>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
||||
|
|
|
|||
|
|
@ -123,14 +123,8 @@ public class PhysicalNetworkTrafficTypeDaoImpl extends GenericDaoBase<PhysicalNe
|
|||
sc = vmWareAllFieldsSearch.create();
|
||||
} else if (hType == HypervisorType.Simulator) {
|
||||
sc = simulatorAllFieldsSearch.create();
|
||||
} else if (hType == HypervisorType.Ovm) {
|
||||
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 {
|
||||
assert (false) : "We don't handle this hypervisor type";
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -309,9 +309,7 @@ public class SystemVmTemplateRegistration {
|
|||
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)
|
||||
new Pair<>(Hypervisor.HypervisorType.LXC, CPU.CPUArch.amd64)
|
||||
);
|
||||
|
||||
protected static final List<MetadataTemplateDetails> METADATA_TEMPLATE_LIST = new ArrayList<>();
|
||||
|
|
@ -321,9 +319,7 @@ public class SystemVmTemplateRegistration {
|
|||
put(Hypervisor.HypervisorType.KVM, "router.template.kvm");
|
||||
put(Hypervisor.HypervisorType.VMware, "router.template.vmware");
|
||||
put(Hypervisor.HypervisorType.XenServer, "router.template.xenserver");
|
||||
put(Hypervisor.HypervisorType.Hyperv, "router.template.hyperv");
|
||||
put(Hypervisor.HypervisorType.LXC, "router.template.lxc");
|
||||
put(Hypervisor.HypervisorType.Ovm3, "router.template.ovm3");
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -332,20 +328,16 @@ public class SystemVmTemplateRegistration {
|
|||
put(Hypervisor.HypervisorType.KVM, ImageFormat.QCOW2);
|
||||
put(Hypervisor.HypervisorType.XenServer, ImageFormat.VHD);
|
||||
put(Hypervisor.HypervisorType.VMware, ImageFormat.OVA);
|
||||
put(Hypervisor.HypervisorType.Hyperv, ImageFormat.VHD);
|
||||
put(Hypervisor.HypervisorType.LXC, ImageFormat.QCOW2);
|
||||
put(Hypervisor.HypervisorType.Ovm3, ImageFormat.RAW);
|
||||
}
|
||||
};
|
||||
|
||||
protected static Map<Hypervisor.HypervisorType, Integer> hypervisorGuestOsMap = new HashMap<>() {
|
||||
public static Map<Hypervisor.HypervisorType, Integer> hypervisorGuestOsMap = new HashMap<>() {
|
||||
{
|
||||
put(Hypervisor.HypervisorType.KVM, LINUX_12_ID);
|
||||
put(Hypervisor.HypervisorType.XenServer, OTHER_LINUX_ID);
|
||||
put(Hypervisor.HypervisorType.VMware, OTHER_LINUX_ID);
|
||||
put(Hypervisor.HypervisorType.Hyperv, LINUX_12_ID);
|
||||
put(Hypervisor.HypervisorType.LXC, LINUX_12_ID);
|
||||
put(Hypervisor.HypervisorType.Ovm3, LINUX_12_ID);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -400,7 +392,7 @@ public class SystemVmTemplateRegistration {
|
|||
}
|
||||
|
||||
protected static void cleanupStore(Long templateId, String filePath) {
|
||||
String destTempFolder = filePath + PARTIAL_TEMPLATE_FOLDER + String.valueOf(templateId);
|
||||
String destTempFolder = filePath + PARTIAL_TEMPLATE_FOLDER + templateId;
|
||||
try {
|
||||
Files.deleteIfExists(Paths.get(destTempFolder));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -411,8 +403,8 @@ public class SystemVmTemplateRegistration {
|
|||
protected static Pair<Long, Long> readTemplatePropertiesSizes(String path) {
|
||||
File tmpFile = new File(path);
|
||||
Long size = null;
|
||||
Long physicalSize = 0L;
|
||||
try (FileReader fr = new FileReader(tmpFile); BufferedReader brf = new BufferedReader(fr);) {
|
||||
long physicalSize = 0L;
|
||||
try (FileReader fr = new FileReader(tmpFile); BufferedReader brf = new BufferedReader(fr)) {
|
||||
String line = null;
|
||||
while ((line = brf.readLine()) != null) {
|
||||
if (line.startsWith("size=")) {
|
||||
|
|
@ -543,7 +535,7 @@ public class SystemVmTemplateRegistration {
|
|||
try {
|
||||
Files.deleteIfExists(Paths.get(filePath));
|
||||
} catch (IOException e) {
|
||||
LOGGER.error(String.format("Failed to cleanup mounted store at: %s", filePath), e);
|
||||
LOGGER.error("Failed to cleanup mounted store at: {}", filePath, e);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
String msg = String.format("Failed to unmount store mounted at %s", filePath);
|
||||
|
|
@ -597,7 +589,7 @@ public class SystemVmTemplateRegistration {
|
|||
Long templateId = vmTemplateDao.getNextInSequence(Long.class, "id");
|
||||
VMTemplateVO template = new VMTemplateVO();
|
||||
template.setUuid(details.getUuid());
|
||||
template.setUniqueName(String.format("routing-%s" , String.valueOf(templateId)));
|
||||
template.setUniqueName(String.format("routing-%s" , templateId));
|
||||
template.setName(details.getName());
|
||||
template.setPublicTemplate(false);
|
||||
template.setFeatured(false);
|
||||
|
|
@ -707,9 +699,7 @@ public class SystemVmTemplateRegistration {
|
|||
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) {
|
||||
LOGGER.warn("Couldn't update System VM template guest OS ID, due to {}", e.getMessage());
|
||||
}
|
||||
|
|
@ -932,7 +922,6 @@ public class SystemVmTemplateRegistration {
|
|||
|
||||
/**
|
||||
* Validate that templates for the provided hypervisor/architecture pairs which are in use and are valid.
|
||||
*
|
||||
* If a template is missing or validation fails for any required pair, a
|
||||
* {@link CloudRuntimeException} is thrown to abort the upgrade. If system VM Template for a hypervisor/arch is
|
||||
* not considered available then validation is skipped for that pair.
|
||||
|
|
@ -965,7 +954,6 @@ public class SystemVmTemplateRegistration {
|
|||
|
||||
/**
|
||||
* Register or ensure system VM Templates are present on the NFS store for a given zone.
|
||||
*
|
||||
* Mounts the zone image store, enumerates hypervisors and architectures in the zone,
|
||||
* and for each template either adds an existing template to the store or registers
|
||||
* a new template as required.
|
||||
|
|
@ -1263,7 +1251,6 @@ public class SystemVmTemplateRegistration {
|
|||
|
||||
/**
|
||||
* Update or register system VM Templates based on metadata.
|
||||
*
|
||||
* Runs the registration logic inside a database transaction: obtains the
|
||||
* set of hypervisors/architectures in use, iterates over metadata entries
|
||||
* and attempts to register or update each template.
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -31,7 +31,6 @@ import java.util.Set;
|
|||
import com.cloud.hypervisor.Hypervisor;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
|
||||
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.Ovm3;
|
||||
|
|
@ -85,12 +84,8 @@ public class Upgrade41500to41510 extends DbUpgradeAbstractImpl implements DbUpgr
|
|||
hypervisorsListInUse.add(KVM);
|
||||
} else if (type.equals(VMware)) {
|
||||
hypervisorsListInUse.add(VMware);
|
||||
} else if (type.equals(Hyperv)) {
|
||||
hypervisorsListInUse.add(Hyperv);
|
||||
} else if (type.equals(LXC)) {
|
||||
hypervisorsListInUse.add(LXC);
|
||||
} else if (type.equals(Ovm3)) {
|
||||
hypervisorsListInUse.add(Ovm3);
|
||||
}
|
||||
}
|
||||
} catch (final SQLException e) {
|
||||
|
|
@ -103,7 +98,6 @@ public class Upgrade41500to41510 extends DbUpgradeAbstractImpl implements DbUpgr
|
|||
put(KVM, "systemvm-kvm-4.15.1");
|
||||
put(VMware, "systemvm-vmware-4.15.1");
|
||||
put(XenServer, "systemvm-xenserver-4.15.1");
|
||||
put(Hyperv, "systemvm-hyperv-4.15.1");
|
||||
put(LXC, "systemvm-lxc-4.15.1");
|
||||
put(Ovm3, "systemvm-ovm3-4.15.1");
|
||||
}
|
||||
|
|
@ -114,7 +108,6 @@ public class Upgrade41500to41510 extends DbUpgradeAbstractImpl implements DbUpgr
|
|||
put(KVM, "router.template.kvm");
|
||||
put(VMware, "router.template.vmware");
|
||||
put(XenServer, "router.template.xenserver");
|
||||
put(Hyperv, "router.template.hyperv");
|
||||
put(LXC, "router.template.lxc");
|
||||
put(Ovm3, "router.template.ovm3");
|
||||
}
|
||||
|
|
@ -125,7 +118,6 @@ public class Upgrade41500to41510 extends DbUpgradeAbstractImpl implements DbUpgr
|
|||
put(KVM, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-kvm.qcow2.bz2");
|
||||
put(VMware, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-vmware.ova");
|
||||
put(XenServer, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-xen.vhd.bz2");
|
||||
put(Hyperv, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-hyperv.vhd.zip");
|
||||
put(LXC, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-kvm.qcow2.bz2");
|
||||
put(Ovm3, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-ovm.raw.bz2");
|
||||
}
|
||||
|
|
@ -136,7 +128,6 @@ public class Upgrade41500to41510 extends DbUpgradeAbstractImpl implements DbUpgr
|
|||
put(KVM, "0e9f9a7d0957c3e0a2088e41b2da2cec");
|
||||
put(XenServer, "86373992740b1eca8aff8b08ebf3aea5");
|
||||
put(VMware, "4006982765846d373eb3719b2fe4d720");
|
||||
put(Hyperv, "0b9514e4b6cba1f636fea2125f0f7a5f");
|
||||
put(LXC, "0e9f9a7d0957c3e0a2088e41b2da2cec");
|
||||
put(Ovm3, "ae3977e696b3e6c81bdcbb792d514d29");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2187,7 +2187,6 @@ INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'manag
|
|||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'interval.baremetal.securitygroup.agent.echo', 10, 'Interval to echo baremetal security group agent, in seconds');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'timeout.baremetal.securitygroup.agent.echo', 3600, 'Timeout to echo baremetal security group agent, in seconds, the provisioning process will be treated as a failure');
|
||||
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'NetworkManager', 'router.template.hyperv', 'SystemVM Template (HyperV)', 'Name of the default router template on Hyperv.');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'NetworkManager', 'router.template.kvm', 'SystemVM Template (KVM)', 'Name of the default router template on KVM.');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'NetworkManager', 'router.template.lxc', 'SystemVM Template (LXC)', 'Name of the default router template on LXC.');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'NetworkManager', 'router.template.vmware', 'SystemVM Template (vSphere)', 'Name of the default router template on Vmware.');
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ ALTER TABLE `cloud`.`user_vm` ADD COLUMN `user_vm_type` varchar(255) DEFAULT "Us
|
|||
-- This is set, so as to ensure that the controller details from the ovf template are adhered to
|
||||
UPDATE `cloud`.`vm_template` set deploy_as_is = 1 where id = 8;
|
||||
|
||||
DELETE FROM `cloud`.`configuration` WHERE name IN ("cloud.kubernetes.cluster.template.name.kvm", "cloud.kubernetes.cluster.template.name.vmware", "cloud.kubernetes.cluster.template.name.xenserver", "cloud.kubernetes.cluster.template.name.hyperv");
|
||||
DELETE FROM `cloud`.`configuration` WHERE name IN ("cloud.kubernetes.cluster.template.name.kvm", "cloud.kubernetes.cluster.template.name.vmware", "cloud.kubernetes.cluster.template.name.xenserver");
|
||||
|
||||
ALTER TABLE `cloud`.`kubernetes_cluster` ADD COLUMN `autoscaling_enabled` tinyint(1) unsigned NOT NULL DEFAULT 0;
|
||||
ALTER TABLE `cloud`.`kubernetes_cluster` ADD COLUMN `minsize` bigint;
|
||||
|
|
|
|||
|
|
@ -28,4 +28,13 @@ CALL `cloud_usage`.`IDEMPOTENT_ADD_COLUMN`('cloud_usage.usage_volume','vm_id', '
|
|||
|
||||
DELETE FROM `cloud`.`configuration` WHERE name = 'ucs.sync.blade.interval';
|
||||
|
||||
UPDATE `cloud`.`configuration` SET value = 'KVM,VMware,XenServer,Hyperv,BareMetal,Ovm,LXC,Ovm3,External' WHERE name = 'hypervisor.list';
|
||||
UPDATE `cloud`.`configuration` SET value = 'Hypervisor type used to create system vm, valid values are: XenServer, KVM, VMware, VirtualBox, Parralels, BareMetal, Any' WHERE name = 'system.vm.default.hypervisor';
|
||||
DELETE FROM `cloud`.`configuration` WHERE name = 'hyperv.public.network.device';
|
||||
DELETE FROM `cloud`.`configuration` WHERE name = 'hyperv.private.network.device'
|
||||
DELETE FROM `cloud`.`configuration` WHERE name = 'hyperv.guest.network.device'
|
||||
|
||||
DELETE FROM `cloud`.`configuration` WHERE name = 'router.template.hyperv';
|
||||
DELETE FROM `cloud`.`configuration` WHERE name = 'router.template.ovm3';
|
||||
|
||||
ALTER TABLE `cloud`.`template_store_ref` MODIFY COLUMN `download_url` varchar(2048);
|
||||
|
|
|
|||
|
|
@ -1551,9 +1551,7 @@ public class SystemVmTemplateRegistrationTest {
|
|||
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());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -88,9 +88,7 @@ declare -A template_specs=(
|
|||
[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"
|
||||
)
|
||||
|
||||
templates=()
|
||||
|
|
|
|||
|
|
@ -65,5 +65,11 @@
|
|||
<artifactId>cloud-engine-api</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.cloudstack</groupId>
|
||||
<artifactId>cloud-api</artifactId>
|
||||
<version>4.23.0.0-SNAPSHOT</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
|
|||
|
|
@ -482,7 +482,7 @@ public class DefaultEndPointSelector implements EndPointSelector {
|
|||
}
|
||||
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();
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
Other arguments:
|
||||
-h, --help Display this help message and exit
|
||||
|
|
|
|||
|
|
@ -21,6 +21,14 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>cloud-plugin-network-internallb</artifactId>
|
||||
<name>Apache CloudStack Plugin - Network Internal Load Balancer</name>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.cloudstack</groupId>
|
||||
<artifactId>cloud-api</artifactId>
|
||||
<version>4.23.0.0-SNAPSHOT</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<parent>
|
||||
<groupId>org.apache.cloudstack</groupId>
|
||||
<artifactId>cloudstack-plugins</artifactId>
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
@ -763,8 +762,6 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In
|
|||
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);
|
||||
}
|
||||
|
|
|
|||
3
pom.xml
3
pom.xml
|
|
@ -1051,9 +1051,6 @@
|
|||
<exclude>debian/source/format</exclude>
|
||||
<exclude>dist/console-proxy/js/jquery.js</exclude>
|
||||
<exclude>engine/schema/dist/**</exclude>
|
||||
<exclude>plugins/hypervisors/hyperv/conf/agent.properties</exclude>
|
||||
<exclude>plugins/hypervisors/hyperv/conf/uefi.properties</exclude>
|
||||
<exclude>plugins/hypervisors/hyperv/DotNet/ServerResource/**</exclude>
|
||||
<exclude>scripts/installer/windows/acs_license.rtf</exclude>
|
||||
<exclude>scripts/vm/systemvm/id_rsa.cloud</exclude>
|
||||
<exclude>services/console-proxy/server/conf/agent.properties</exclude>
|
||||
|
|
|
|||
|
|
@ -1312,14 +1312,8 @@ public class ApiDBUtils {
|
|||
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.
|
||||
// Only Xenserver supports vhd format. hyperv is no longer supported natively
|
||||
List<ClusterVO> xenClusters = s_clusterDao.listByDcHyType(dcId, HypervisorType.XenServer.toString());
|
||||
if (xenClusters.isEmpty()) {
|
||||
type = HypervisorType.Hyperv;
|
||||
}
|
||||
} 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
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ package com.cloud.api;
|
|||
|
||||
import static com.cloud.utils.NumbersUtil.toHumanReadableSize;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.security.cert.Certificate;
|
||||
import java.security.cert.CertificateException;
|
||||
import java.text.DecimalFormat;
|
||||
|
|
@ -190,7 +191,6 @@ import org.apache.cloudstack.backup.BackupOffering;
|
|||
import org.apache.cloudstack.backup.BackupRepository;
|
||||
import org.apache.cloudstack.backup.BackupSchedule;
|
||||
import org.apache.cloudstack.backup.dao.BackupOfferingDao;
|
||||
import org.apache.cloudstack.backup.dao.BackupRepositoryDao;
|
||||
import org.apache.cloudstack.config.Configuration;
|
||||
import org.apache.cloudstack.config.ConfigurationGroup;
|
||||
import org.apache.cloudstack.config.ConfigurationSubGroup;
|
||||
|
|
@ -404,7 +404,6 @@ import com.cloud.storage.Volume;
|
|||
import com.cloud.storage.VolumeVO;
|
||||
import com.cloud.storage.dao.GuestOSCategoryDao;
|
||||
import com.cloud.storage.dao.GuestOSDao;
|
||||
import com.cloud.storage.dao.VolumeDao;
|
||||
import com.cloud.storage.snapshot.SnapshotPolicy;
|
||||
import com.cloud.storage.snapshot.SnapshotSchedule;
|
||||
import com.cloud.tags.dao.ResourceTagDao;
|
||||
|
|
@ -446,6 +445,7 @@ import com.cloud.vm.snapshot.VMSnapshot;
|
|||
import com.cloud.vm.snapshot.VMSnapshotVO;
|
||||
import com.cloud.vm.snapshot.dao.VMSnapshotDao;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import sun.security.x509.X509CertImpl;
|
||||
|
||||
public class ApiResponseHelper implements ResponseGenerator {
|
||||
|
|
@ -468,8 +468,6 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
@Inject
|
||||
SnapshotDataFactory snapshotfactory;
|
||||
@Inject
|
||||
private VolumeDao _volumeDao;
|
||||
@Inject
|
||||
private DataStoreManager _dataStoreMgr;
|
||||
@Inject
|
||||
private SnapshotDataStoreDao _snapshotStoreDao;
|
||||
|
|
@ -514,8 +512,6 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
@Inject
|
||||
VlanDetailsDao vlanDetailsDao;
|
||||
@Inject
|
||||
BackupRepositoryDao backupRepositoryDao;
|
||||
@Inject
|
||||
private ASNumberRangeDao asNumberRangeDao;
|
||||
@Inject
|
||||
private ASNumberDao asNumberDao;
|
||||
|
|
@ -756,7 +752,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
}
|
||||
|
||||
if (snapshotInfo == null) {
|
||||
logger.debug("Unable to find info for image store snapshot with uuid " + snapshot.getUuid());
|
||||
logger.debug("Unable to find info for image store snapshot with uuid {}", snapshot.getUuid());
|
||||
snapshotResponse.setRevertable(false);
|
||||
} else {
|
||||
snapshotResponse.setRevertable(snapshotInfo.isRevertable());
|
||||
|
|
@ -765,7 +761,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
|
||||
// set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.Snapshot, snapshot.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
CollectionUtils.addIgnoreNull(tagResponses, tagResponse);
|
||||
|
|
@ -795,7 +791,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
|
||||
if (mapCapabilities != null) {
|
||||
String value = mapCapabilities.get(DataStoreCapabilities.STORAGE_SYSTEM_SNAPSHOT.toString());
|
||||
Boolean supportsStorageSystemSnapshots = new Boolean(value);
|
||||
boolean supportsStorageSystemSnapshots = Boolean.parseBoolean(value);
|
||||
|
||||
if (supportsStorageSystemSnapshots) {
|
||||
return DataStoreRole.Primary;
|
||||
|
|
@ -835,7 +831,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
populateOwner(vmSnapshotResponse, vmSnapshot);
|
||||
|
||||
List<? extends ResourceTag> tags = _resourceTagDao.listBy(vmSnapshot.getId(), ResourceObjectType.VMSnapshot);
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, false);
|
||||
CollectionUtils.addIgnoreNull(tagResponses, tagResponse);
|
||||
|
|
@ -867,7 +863,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
policyResponse.setObjectName("snapshotpolicy");
|
||||
|
||||
List<? extends ResourceTag> tags = _resourceTagDao.listBy(policy.getId(), ResourceObjectType.SnapshotPolicy);
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, false);
|
||||
CollectionUtils.addIgnoreNull(tagResponses, tagResponse);
|
||||
|
|
@ -932,7 +928,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
try {
|
||||
Long podId = ApiDBUtils.getPodIdForVlan(vlan.getId());
|
||||
|
||||
VlanIpRangeResponse vlanResponse = subClass.newInstance();
|
||||
VlanIpRangeResponse vlanResponse = subClass.getDeclaredConstructor().newInstance();
|
||||
vlanResponse.setId(vlan.getUuid());
|
||||
if (vlan.getVlanType() != null) {
|
||||
vlanResponse.setForVirtualNetwork(vlan.getVlanType().equals(VlanType.VirtualNetwork));
|
||||
|
|
@ -996,7 +992,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
if (networkId != null) {
|
||||
Network network = _ntwkModel.getNetwork(networkId);
|
||||
if (network != null && TrafficType.Guest.equals(network.getTrafficType())) {
|
||||
Long accountId = network.getAccountId();
|
||||
long accountId = network.getAccountId();
|
||||
populateAccount(vlanResponse, accountId);
|
||||
populateDomain(vlanResponse, ApiDBUtils.findAccountById(accountId).getDomainId());
|
||||
}
|
||||
|
|
@ -1014,7 +1010,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
vlanResponse.setProvider(getProviderFromVlanDetailKey(vlan));
|
||||
vlanResponse.setObjectName("vlan");
|
||||
return vlanResponse;
|
||||
} catch (InstantiationException | IllegalAccessException e) {
|
||||
} catch (InstantiationException | IllegalAccessException | NoSuchMethodException | InvocationTargetException e) {
|
||||
throw new CloudRuntimeException("Failed to create Vlan IP Range response", e);
|
||||
}
|
||||
}
|
||||
|
|
@ -1203,7 +1199,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
|
||||
//set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.PublicIpAddress, ipAddr.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
CollectionUtils.addIgnoreNull(tagResponses, tagResponse);
|
||||
|
|
@ -1309,7 +1305,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
|
||||
//set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.LoadBalancer, loadBalancer.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
CollectionUtils.addIgnoreNull(tagResponses, tagResponse);
|
||||
|
|
@ -1339,7 +1335,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
populateOwner(response, globalLoadBalancerRule);
|
||||
response.setObjectName("globalloadbalancer");
|
||||
|
||||
List<LoadBalancerResponse> siteLbResponses = new ArrayList<LoadBalancerResponse>();
|
||||
List<LoadBalancerResponse> siteLbResponses = new ArrayList<>();
|
||||
List<? extends LoadBalancer> siteLoadBalaners = ApiDBUtils.listSiteLoadBalancers(globalLoadBalancerRule.getId());
|
||||
for (LoadBalancer siteLb : siteLoadBalaners) {
|
||||
LoadBalancerResponse siteLbResponse = createLoadBalancerResponse(siteLb);
|
||||
|
|
@ -1360,15 +1356,14 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
|
||||
@Override
|
||||
public PodResponse createPodResponse(Pod pod, Boolean showCapacities) {
|
||||
String[] ipRange = new String[2];
|
||||
List<String> startIps = new ArrayList<String>();
|
||||
List<String> endIps = new ArrayList<String>();
|
||||
List<String> forSystemVms = new ArrayList<String>();
|
||||
List<String> vlanIds = new ArrayList<String>();
|
||||
List<String> startIps = new ArrayList<>();
|
||||
List<String> endIps = new ArrayList<>();
|
||||
List<String> forSystemVms = new ArrayList<>();
|
||||
List<String> vlanIds = new ArrayList<>();
|
||||
|
||||
List<IpRangeResponse> ipRanges = new ArrayList<>();
|
||||
|
||||
if (pod.getDescription() != null && pod.getDescription().length() > 0) {
|
||||
if (pod.getDescription() != null && !pod.getDescription().isEmpty()) {
|
||||
final String[] existingPodIpRanges = pod.getDescription().split(",");
|
||||
|
||||
for(String podIpRange: existingPodIpRanges) {
|
||||
|
|
@ -1418,7 +1413,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
podResponse.setZoneStorageAccessGroups(zone.getStorageAccessGroups());
|
||||
if (showCapacities != null && showCapacities) {
|
||||
List<SummedCapacity> capacities = ApiDBUtils.getCapacityByClusterPodZone(null, pod.getId(), null);
|
||||
Set<CapacityResponse> capacityResponses = new HashSet<CapacityResponse>();
|
||||
Set<CapacityResponse> capacityResponses = new HashSet<>();
|
||||
for (SummedCapacity capacity : capacities) {
|
||||
CapacityResponse capacityResponse = new CapacityResponse();
|
||||
capacityResponse.setCapacityType(capacity.getCapacityType());
|
||||
|
|
@ -1440,7 +1435,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
}
|
||||
// Do it for stats as well.
|
||||
capacityResponses.addAll(getStatsCapacityresponse(null, null, pod.getId(), pod.getDataCenterId()));
|
||||
podResponse.setCapacities(new ArrayList<CapacityResponse>(capacityResponses));
|
||||
podResponse.setCapacities(new ArrayList<>(capacityResponses));
|
||||
}
|
||||
|
||||
podResponse.setHasAnnotation(annotationDao.hasAnnotations(pod.getUuid(), AnnotationService.EntityType.POD.name(),
|
||||
|
|
@ -1457,7 +1452,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
|
||||
public static List<CapacityResponse> getDataCenterCapacityResponse(Long zoneId) {
|
||||
List<SummedCapacity> capacities = ApiDBUtils.getCapacityByClusterPodZone(zoneId, null, null);
|
||||
Set<CapacityResponse> capacityResponses = new HashSet<CapacityResponse>();
|
||||
Set<CapacityResponse> capacityResponses = new HashSet<>();
|
||||
|
||||
for (SummedCapacity capacity : capacities) {
|
||||
CapacityResponse capacityResponse = new CapacityResponse();
|
||||
|
|
@ -1481,18 +1476,18 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
// Do it for stats as well.
|
||||
capacityResponses.addAll(getStatsCapacityresponse(null, null, null, zoneId));
|
||||
|
||||
return new ArrayList<CapacityResponse>(capacityResponses);
|
||||
return new ArrayList<>(capacityResponses);
|
||||
}
|
||||
|
||||
private static List<CapacityResponse> getStatsCapacityresponse(Long poolId, Long clusterId, Long podId, Long zoneId) {
|
||||
List<CapacityVO> capacities = new ArrayList<CapacityVO>();
|
||||
List<CapacityVO> capacities = new ArrayList<>();
|
||||
capacities.add(ApiDBUtils.getStoragePoolUsedStats(poolId, clusterId, podId, zoneId));
|
||||
if (clusterId == null && podId == null) {
|
||||
capacities.add(ApiDBUtils.getSecondaryStorageUsedStats(poolId, zoneId));
|
||||
capacities.add(ApiDBUtils.getObjectStorageUsedStats(zoneId));
|
||||
}
|
||||
|
||||
List<CapacityResponse> capacityResponses = new ArrayList<CapacityResponse>();
|
||||
List<CapacityResponse> capacityResponses = new ArrayList<>();
|
||||
for (CapacityVO capacity : capacities) {
|
||||
CapacityResponse capacityResponse = new CapacityResponse();
|
||||
capacityResponse.setCapacityType(capacity.getCapacityType());
|
||||
|
|
@ -1610,7 +1605,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
|
||||
if (showCapacities != null && showCapacities) {
|
||||
List<SummedCapacity> capacities = ApiDBUtils.getCapacityByClusterPodZone(null, null, cluster.getId());
|
||||
Set<CapacityResponse> capacityResponses = new HashSet<CapacityResponse>();
|
||||
Set<CapacityResponse> capacityResponses = new HashSet<>();
|
||||
|
||||
for (SummedCapacity capacity : capacities) {
|
||||
CapacityResponse capacityResponse = new CapacityResponse();
|
||||
|
|
@ -1634,7 +1629,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
}
|
||||
// Do it for stats as well.
|
||||
capacityResponses.addAll(getStatsCapacityresponse(null, cluster.getId(), pod.getId(), pod.getDataCenterId()));
|
||||
clusterResponse.setCapacities(new ArrayList<CapacityResponse>(capacityResponses));
|
||||
clusterResponse.setCapacities(new ArrayList<>(capacityResponses));
|
||||
}
|
||||
clusterResponse.setHasAnnotation(annotationDao.hasAnnotations(cluster.getUuid(), AnnotationService.EntityType.CLUSTER.name(),
|
||||
_accountMgr.isRootAdmin(CallContext.current().getCallingAccount().getId())));
|
||||
|
|
@ -1688,7 +1683,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
|
||||
// set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.PortForwardingRule, fwRule.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
CollectionUtils.addIgnoreNull(tagResponses, tagResponse);
|
||||
|
|
@ -1739,18 +1734,6 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
return response;
|
||||
}
|
||||
|
||||
/*
|
||||
@Override
|
||||
public List<UserVmResponse> createUserVmResponse(String objectName, UserVm... userVms) {
|
||||
return createUserVmResponse(null, objectName, userVms);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<UserVmResponse> createUserVmResponse(String objectName, EnumSet<VMDetails> details, UserVm... userVms) {
|
||||
return createUserVmResponse(null, objectName, userVms);
|
||||
}
|
||||
*/
|
||||
|
||||
@Override
|
||||
public List<UserVmResponse> createUserVmResponse(ResponseView view, String objectName, EnumSet<VMDetails> details, UserVm... userVms) {
|
||||
List<UserVmJoinVO> viewVms = ApiDBUtils.newUserVmView(userVms);
|
||||
|
|
@ -2146,7 +2129,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
|
||||
@Override
|
||||
public List<CapacityResponse> createCapacityResponse(List<? extends Capacity> result, DecimalFormat format) {
|
||||
List<CapacityResponse> capacityResponses = new ArrayList<CapacityResponse>();
|
||||
List<CapacityResponse> capacityResponses = new ArrayList<>();
|
||||
|
||||
for (Capacity summedCapacity : result) {
|
||||
if (summedCapacity.getTotalCapacity() == 0 &&
|
||||
|
|
@ -2273,12 +2256,12 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
}
|
||||
|
||||
// Set accounts
|
||||
List<String> projectIds = new ArrayList<String>();
|
||||
List<String> regularAccounts = new ArrayList<String>();
|
||||
List<String> projectIds = new ArrayList<>();
|
||||
List<String> regularAccounts = new ArrayList<>();
|
||||
for (String accountName : accountNames) {
|
||||
Account account = ApiDBUtils.findAccountByNameDomain(accountName, templateOwner.getDomainId());
|
||||
if (account == null) {
|
||||
logger.error("Missing Account " + accountName + " in domain " + templateOwner.getDomainId());
|
||||
logger.error("Missing Account {} in domain {}", accountName, templateOwner.getDomainId());
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
@ -2341,7 +2324,6 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
@Override
|
||||
public SecurityGroupResponse createSecurityGroupResponseFromSecurityGroupRule(List<? extends SecurityRule> securityRules) {
|
||||
SecurityGroupResponse response = new SecurityGroupResponse();
|
||||
Map<Long, Account> securiytGroupAccounts = new HashMap<Long, Account>();
|
||||
|
||||
if ((securityRules != null) && !securityRules.isEmpty()) {
|
||||
SecurityGroupJoinVO securityGroup = ApiDBUtils.findSecurityGroupViewById(securityRules.get(0).getSecurityGroupId()).get(0);
|
||||
|
|
@ -2367,7 +2349,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
Long allowedSecurityGroupId = securityRule.getAllowedNetworkId();
|
||||
if (allowedSecurityGroupId != null) {
|
||||
List<SecurityGroupJoinVO> sgs = ApiDBUtils.findSecurityGroupViewById(allowedSecurityGroupId);
|
||||
if (sgs != null && sgs.size() > 0) {
|
||||
if (sgs != null && !sgs.isEmpty()) {
|
||||
SecurityGroupJoinVO sg = sgs.get(0);
|
||||
securityGroupData.setSecurityGroupName(sg.getName());
|
||||
securityGroupData.setAccountName(sg.getAccountName());
|
||||
|
|
@ -2410,7 +2392,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
}
|
||||
}
|
||||
Map<Service, Set<Provider>> serviceProviderMap = ApiDBUtils.listNetworkOfferingServices(offering.getId());
|
||||
List<ServiceResponse> serviceResponses = new ArrayList<ServiceResponse>();
|
||||
List<ServiceResponse> serviceResponses = new ArrayList<>();
|
||||
for (Map.Entry<Service,Set<Provider>> entry : serviceProviderMap.entrySet()) {
|
||||
Service service = entry.getKey();
|
||||
Set<Provider> srvc_providers = entry.getValue();
|
||||
|
|
@ -2420,7 +2402,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
continue;
|
||||
}
|
||||
svcRsp.setName(service.getName());
|
||||
List<ProviderResponse> providers = new ArrayList<ProviderResponse>();
|
||||
List<ProviderResponse> providers = new ArrayList<>();
|
||||
for (Provider provider : srvc_providers) {
|
||||
if (provider != null) {
|
||||
ProviderResponse providerRsp = new ProviderResponse();
|
||||
|
|
@ -2430,54 +2412,15 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
}
|
||||
svcRsp.setProviders(providers);
|
||||
if (Service.Lb == service) {
|
||||
List<CapabilityResponse> lbCapResponse = new ArrayList<CapabilityResponse>();
|
||||
|
||||
CapabilityResponse lbIsoaltion = new CapabilityResponse();
|
||||
lbIsoaltion.setName(Capability.SupportedLBIsolation.getName());
|
||||
lbIsoaltion.setValue(offering.isDedicatedLB() ? "dedicated" : "shared");
|
||||
lbCapResponse.add(lbIsoaltion);
|
||||
|
||||
CapabilityResponse eLb = new CapabilityResponse();
|
||||
eLb.setName(Capability.ElasticLb.getName());
|
||||
eLb.setValue(offering.isElasticLb() ? "true" : "false");
|
||||
lbCapResponse.add(eLb);
|
||||
|
||||
CapabilityResponse inline = new CapabilityResponse();
|
||||
inline.setName(Capability.InlineMode.getName());
|
||||
inline.setValue(offering.isInline() ? "true" : "false");
|
||||
lbCapResponse.add(inline);
|
||||
|
||||
CapabilityResponse vmAutoScaling = new CapabilityResponse();
|
||||
vmAutoScaling.setName(Capability.VmAutoScaling.getName());
|
||||
vmAutoScaling.setValue(offering.isSupportsVmAutoScaling() ? "true" : "false");
|
||||
lbCapResponse.add(vmAutoScaling);
|
||||
List<CapabilityResponse> lbCapResponse = getCapabilityResponses(offering);
|
||||
|
||||
svcRsp.setCapabilities(lbCapResponse);
|
||||
} else if (Service.SourceNat == service) {
|
||||
List<CapabilityResponse> capabilities = new ArrayList<CapabilityResponse>();
|
||||
CapabilityResponse sharedSourceNat = new CapabilityResponse();
|
||||
sharedSourceNat.setName(Capability.SupportedSourceNatTypes.getName());
|
||||
sharedSourceNat.setValue(offering.isSharedSourceNat() ? "perzone" : "peraccount");
|
||||
capabilities.add(sharedSourceNat);
|
||||
|
||||
CapabilityResponse redundantRouter = new CapabilityResponse();
|
||||
redundantRouter.setName(Capability.RedundantRouter.getName());
|
||||
redundantRouter.setValue(offering.isRedundantRouter() ? "true" : "false");
|
||||
capabilities.add(redundantRouter);
|
||||
List<CapabilityResponse> capabilities = getResponses(offering);
|
||||
|
||||
svcRsp.setCapabilities(capabilities);
|
||||
} else if (service == Service.StaticNat) {
|
||||
List<CapabilityResponse> staticNatCapResponse = new ArrayList<CapabilityResponse>();
|
||||
|
||||
CapabilityResponse eIp = new CapabilityResponse();
|
||||
eIp.setName(Capability.ElasticIp.getName());
|
||||
eIp.setValue(offering.isElasticIp() ? "true" : "false");
|
||||
staticNatCapResponse.add(eIp);
|
||||
|
||||
CapabilityResponse associatePublicIp = new CapabilityResponse();
|
||||
associatePublicIp.setName(Capability.AssociatePublicIP.getName());
|
||||
associatePublicIp.setValue(offering.isAssociatePublicIP() ? "true" : "false");
|
||||
staticNatCapResponse.add(associatePublicIp);
|
||||
List<CapabilityResponse> staticNatCapResponse = getCapabilityResponseList(offering);
|
||||
|
||||
svcRsp.setCapabilities(staticNatCapResponse);
|
||||
}
|
||||
|
|
@ -2500,6 +2443,63 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
return response;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static List<CapabilityResponse> getCapabilityResponseList(NetworkOffering offering) {
|
||||
List<CapabilityResponse> staticNatCapResponse = new ArrayList<>();
|
||||
|
||||
CapabilityResponse eIp = new CapabilityResponse();
|
||||
eIp.setName(Capability.ElasticIp.getName());
|
||||
eIp.setValue(offering.isElasticIp() ? "true" : "false");
|
||||
staticNatCapResponse.add(eIp);
|
||||
|
||||
CapabilityResponse associatePublicIp = new CapabilityResponse();
|
||||
associatePublicIp.setName(Capability.AssociatePublicIP.getName());
|
||||
associatePublicIp.setValue(offering.isAssociatePublicIP() ? "true" : "false");
|
||||
staticNatCapResponse.add(associatePublicIp);
|
||||
return staticNatCapResponse;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static List<CapabilityResponse> getResponses(NetworkOffering offering) {
|
||||
List<CapabilityResponse> capabilities = new ArrayList<>();
|
||||
CapabilityResponse sharedSourceNat = new CapabilityResponse();
|
||||
sharedSourceNat.setName(Capability.SupportedSourceNatTypes.getName());
|
||||
sharedSourceNat.setValue(offering.isSharedSourceNat() ? "perzone" : "peraccount");
|
||||
capabilities.add(sharedSourceNat);
|
||||
|
||||
CapabilityResponse redundantRouter = new CapabilityResponse();
|
||||
redundantRouter.setName(Capability.RedundantRouter.getName());
|
||||
redundantRouter.setValue(offering.isRedundantRouter() ? "true" : "false");
|
||||
capabilities.add(redundantRouter);
|
||||
return capabilities;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static List<CapabilityResponse> getCapabilityResponses(NetworkOffering offering) {
|
||||
List<CapabilityResponse> lbCapResponse = new ArrayList<>();
|
||||
|
||||
CapabilityResponse lbIsoaltion = new CapabilityResponse();
|
||||
lbIsoaltion.setName(Capability.SupportedLBIsolation.getName());
|
||||
lbIsoaltion.setValue(offering.isDedicatedLB() ? "dedicated" : "shared");
|
||||
lbCapResponse.add(lbIsoaltion);
|
||||
|
||||
CapabilityResponse eLb = new CapabilityResponse();
|
||||
eLb.setName(Capability.ElasticLb.getName());
|
||||
eLb.setValue(offering.isElasticLb() ? "true" : "false");
|
||||
lbCapResponse.add(eLb);
|
||||
|
||||
CapabilityResponse inline = new CapabilityResponse();
|
||||
inline.setName(Capability.InlineMode.getName());
|
||||
inline.setValue(offering.isInline() ? "true" : "false");
|
||||
lbCapResponse.add(inline);
|
||||
|
||||
CapabilityResponse vmAutoScaling = new CapabilityResponse();
|
||||
vmAutoScaling.setName(Capability.VmAutoScaling.getName());
|
||||
vmAutoScaling.setValue(offering.isSupportsVmAutoScaling() ? "true" : "false");
|
||||
lbCapResponse.add(vmAutoScaling);
|
||||
return lbCapResponse;
|
||||
}
|
||||
|
||||
private void createCapabilityResponse(List<CapabilityResponse> capabilityResponses,
|
||||
String name,
|
||||
String value,
|
||||
|
|
@ -2571,8 +2571,8 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
String[] guestVmCidrPair = cidr.split("\\/");
|
||||
String[] guestCidrPair = network.getNetworkCidr().split("\\/");
|
||||
|
||||
Long guestVmCidrSize = Long.valueOf(guestVmCidrPair[1]);
|
||||
Long guestCidrSize = Long.valueOf(guestCidrPair[1]);
|
||||
long guestVmCidrSize = Long.parseLong(guestVmCidrPair[1]);
|
||||
long guestCidrSize = Long.parseLong(guestCidrPair[1]);
|
||||
|
||||
String[] guestVmIpRange = NetUtils.getIpRangeFromCidr(guestVmCidrPair[0], guestVmCidrSize);
|
||||
String[] guestIpRange = NetUtils.getIpRangeFromCidr(guestCidrPair[0], guestCidrSize);
|
||||
|
|
@ -2669,7 +2669,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
// populate capability
|
||||
Map<Service, Map<Capability, String>> serviceCapabilitiesMap = ApiDBUtils.getNetworkCapabilities(network.getId(), network.getDataCenterId());
|
||||
Map<Service, Set<Provider>> serviceProviderMap = ApiDBUtils.listNetworkOfferingServices(network.getNetworkOfferingId());
|
||||
List<ServiceResponse> serviceResponses = new ArrayList<ServiceResponse>();
|
||||
List<ServiceResponse> serviceResponses = new ArrayList<>();
|
||||
if (serviceCapabilitiesMap != null) {
|
||||
for (Map.Entry<Service, Map<Capability, String>>entry : serviceCapabilitiesMap.entrySet()) {
|
||||
Service service = entry.getKey();
|
||||
|
|
@ -2766,7 +2766,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
|
||||
// set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.Network, network.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
CollectionUtils.addIgnoreNull(tagResponses, tagResponse);
|
||||
|
|
@ -2785,8 +2785,8 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
|
||||
response.setStrechedL2Subnet(network.isStrechedL2Network());
|
||||
if (network.isStrechedL2Network()) {
|
||||
Set<String> networkSpannedZones = new HashSet<String>();
|
||||
List<VMInstanceVO> vmInstances = new ArrayList<VMInstanceVO>();
|
||||
Set<String> networkSpannedZones = new HashSet<>();
|
||||
List<VMInstanceVO> vmInstances = new ArrayList<>();
|
||||
vmInstances.addAll(ApiDBUtils.listUserVMsByNetworkId(network.getId()));
|
||||
vmInstances.addAll(ApiDBUtils.listDomainRoutersByNetworkId(network.getId()));
|
||||
for (VirtualMachine vm : vmInstances) {
|
||||
|
|
@ -2800,8 +2800,8 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
response.setCreated(network.getCreated());
|
||||
response.setSupportsVmAutoScaling(networkOfferingDao.findByIdIncludingRemoved(network.getNetworkOfferingId()).isSupportsVmAutoScaling());
|
||||
|
||||
Long bytesReceived = 0L;
|
||||
Long bytesSent = 0L;
|
||||
long bytesReceived = 0L;
|
||||
long bytesSent = 0L;
|
||||
SearchBuilder<UserStatisticsVO> sb = userStatsDao.createSearchBuilder();
|
||||
sb.and("networkId", sb.entity().getNetworkId(), Op.EQ);
|
||||
SearchCriteria<UserStatisticsVO> sc = sb.create();
|
||||
|
|
@ -2856,7 +2856,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
private void setResponseAssociatedNetworkInformation(BaseResponseWithAssociatedNetwork response, Long networkId) {
|
||||
final NetworkDetailVO detail = networkDetailsDao.findDetail(networkId, Network.AssociatedNetworkId);
|
||||
if (detail != null) {
|
||||
Long associatedNetworkId = Long.valueOf(detail.getValue());
|
||||
long associatedNetworkId = Long.parseLong(detail.getValue());
|
||||
NetworkVO associatedNetwork = ApiDBUtils.findNetworkById(associatedNetworkId);
|
||||
if (associatedNetwork != null) {
|
||||
response.setAssociatedNetworkId(associatedNetwork.getUuid());
|
||||
|
|
@ -2927,7 +2927,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
|
||||
// set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.FirewallRule, fwRule.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
CollectionUtils.addIgnoreNull(tagResponses, tagResponse);
|
||||
|
|
@ -2979,7 +2979,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
|
||||
//set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.NetworkACL, aclItem.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
CollectionUtils.addIgnoreNull(tagResponses, tagResponse);
|
||||
|
|
@ -3068,7 +3068,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
private void populateAccount(ControlledEntityResponse response, long accountId) {
|
||||
Account account = ApiDBUtils.findAccountById(accountId);
|
||||
if (account == null) {
|
||||
logger.debug("Unable to find account with id: " + accountId);
|
||||
logger.debug("Unable to find account with id: {}", accountId);
|
||||
} else if (account.getType() == Account.Type.PROJECT) {
|
||||
// find the project
|
||||
Project project = ApiDBUtils.findProjectByProjectAccountId(account.getId());
|
||||
|
|
@ -3077,7 +3077,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
response.setProjectName(project.getName());
|
||||
response.setAccountName(account.getAccountName());
|
||||
} else {
|
||||
logger.debug("Unable to find project with id: " + account.getId());
|
||||
logger.debug("Unable to find project with id: {}", account.getId());
|
||||
}
|
||||
} else {
|
||||
response.setAccountName(account.getAccountName());
|
||||
|
|
@ -3201,7 +3201,26 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
response.setName(service.getName());
|
||||
|
||||
// set list of capabilities required for the service
|
||||
List<CapabilityResponse> capabilityResponses = new ArrayList<CapabilityResponse>();
|
||||
List<CapabilityResponse> capabilityResponses = getCapabilityResponses(service);
|
||||
response.setCapabilities(capabilityResponses);
|
||||
|
||||
// set list of providers providing this service
|
||||
List<? extends Network.Provider> serviceProviders = ApiDBUtils.getProvidersForService(service);
|
||||
List<ProviderResponse> serviceProvidersResponses = new ArrayList<>();
|
||||
for (Network.Provider serviceProvider : serviceProviders) {
|
||||
ProviderResponse serviceProviderResponse = createServiceProviderResponse(serviceProvider);
|
||||
serviceProvidersResponses.add(serviceProviderResponse);
|
||||
}
|
||||
response.setProviders(serviceProvidersResponses);
|
||||
|
||||
response.setObjectName("networkservice");
|
||||
return response;
|
||||
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static List<CapabilityResponse> getCapabilityResponses(Service service) {
|
||||
List<CapabilityResponse> capabilityResponses = new ArrayList<>();
|
||||
Capability[] capabilities = service.getCapabilities();
|
||||
for (Capability cap : capabilities) {
|
||||
CapabilityResponse capabilityResponse = new CapabilityResponse();
|
||||
|
|
@ -3215,20 +3234,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
}
|
||||
capabilityResponses.add(capabilityResponse);
|
||||
}
|
||||
response.setCapabilities(capabilityResponses);
|
||||
|
||||
// set list of providers providing this service
|
||||
List<? extends Network.Provider> serviceProviders = ApiDBUtils.getProvidersForService(service);
|
||||
List<ProviderResponse> serviceProvidersResponses = new ArrayList<ProviderResponse>();
|
||||
for (Network.Provider serviceProvider : serviceProviders) {
|
||||
ProviderResponse serviceProviderResponse = createServiceProviderResponse(serviceProvider);
|
||||
serviceProvidersResponses.add(serviceProviderResponse);
|
||||
}
|
||||
response.setProviders(serviceProvidersResponses);
|
||||
|
||||
response.setObjectName("networkservice");
|
||||
return response;
|
||||
|
||||
return capabilityResponses;
|
||||
}
|
||||
|
||||
private ProviderResponse createServiceProviderResponse(Provider serviceProvider) {
|
||||
|
|
@ -3255,7 +3261,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
response.setState(result.getState().toString());
|
||||
|
||||
// set enabled services
|
||||
List<String> services = new ArrayList<String>();
|
||||
List<String> services = new ArrayList<>();
|
||||
for (Service service : result.getEnabledServices()) {
|
||||
services.add(service.getName());
|
||||
}
|
||||
|
|
@ -3287,8 +3293,6 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
response.setXenLabel(result.getXenNetworkLabel());
|
||||
response.setKvmLabel(result.getKvmNetworkLabel());
|
||||
response.setVmwareLabel(result.getVmwareNetworkLabel());
|
||||
response.setHypervLabel(result.getHypervNetworkLabel());
|
||||
response.setOvm3Label(result.getOvm3NetworkLabel());
|
||||
response.setVlan(result.getVlan());
|
||||
|
||||
response.setObjectName("traffictype");
|
||||
|
|
@ -3343,7 +3347,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
}
|
||||
}
|
||||
|
||||
List<LBStickinessPolicyResponse> responses = new ArrayList<LBStickinessPolicyResponse>();
|
||||
List<LBStickinessPolicyResponse> responses = new ArrayList<>();
|
||||
LBStickinessPolicyResponse ruleResponse = new LBStickinessPolicyResponse(stickinessPolicy);
|
||||
responses.add(ruleResponse);
|
||||
|
||||
|
|
@ -3371,7 +3375,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
}
|
||||
}
|
||||
|
||||
List<LBStickinessPolicyResponse> responses = new ArrayList<LBStickinessPolicyResponse>();
|
||||
List<LBStickinessPolicyResponse> responses = new ArrayList<>();
|
||||
for (StickinessPolicy stickinessPolicy : stickinessPolicies) {
|
||||
LBStickinessPolicyResponse ruleResponse = new LBStickinessPolicyResponse(stickinessPolicy);
|
||||
responses.add(ruleResponse);
|
||||
|
|
@ -3400,7 +3404,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
}
|
||||
}
|
||||
|
||||
List<LBHealthCheckPolicyResponse> responses = new ArrayList<LBHealthCheckPolicyResponse>();
|
||||
List<LBHealthCheckPolicyResponse> responses = new ArrayList<>();
|
||||
for (HealthCheckPolicy healthcheckPolicy : healthcheckPolicies) {
|
||||
LBHealthCheckPolicyResponse ruleResponse = new LBHealthCheckPolicyResponse(healthcheckPolicy);
|
||||
responses.add(ruleResponse);
|
||||
|
|
@ -3426,7 +3430,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
}
|
||||
}
|
||||
|
||||
List<LBHealthCheckPolicyResponse> responses = new ArrayList<LBHealthCheckPolicyResponse>();
|
||||
List<LBHealthCheckPolicyResponse> responses = new ArrayList<>();
|
||||
LBHealthCheckPolicyResponse ruleResponse = new LBHealthCheckPolicyResponse(healthcheckPolicy);
|
||||
responses.add(ruleResponse);
|
||||
hcResponse.setRules(responses);
|
||||
|
|
@ -3477,29 +3481,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
}
|
||||
VpcOfferingResponse response = ApiDBUtils.newVpcOfferingResponse(offering);
|
||||
Map<Service, Set<Provider>> serviceProviderMap = ApiDBUtils.listVpcOffServices(offering.getId());
|
||||
List<ServiceResponse> serviceResponses = new ArrayList<ServiceResponse>();
|
||||
for (Map.Entry<Service, Set<Provider>> entry : serviceProviderMap.entrySet()) {
|
||||
Service service = entry.getKey();
|
||||
Set<Provider> srvc_providers = entry.getValue();
|
||||
|
||||
ServiceResponse svcRsp = new ServiceResponse();
|
||||
// skip gateway service
|
||||
if (service == Service.Gateway) {
|
||||
continue;
|
||||
}
|
||||
svcRsp.setName(service.getName());
|
||||
List<ProviderResponse> providers = new ArrayList<ProviderResponse>();
|
||||
for (Provider provider : srvc_providers) {
|
||||
if (provider != null) {
|
||||
ProviderResponse providerRsp = new ProviderResponse();
|
||||
providerRsp.setName(provider.getName());
|
||||
providers.add(providerRsp);
|
||||
}
|
||||
}
|
||||
svcRsp.setProviders(providers);
|
||||
|
||||
serviceResponses.add(svcRsp);
|
||||
}
|
||||
List<ServiceResponse> serviceResponses = getServiceResponses(serviceProviderMap);
|
||||
response.setServices(serviceResponses);
|
||||
return response;
|
||||
}
|
||||
|
|
@ -3530,30 +3512,9 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
response.setAsNumber(asNumberVO.getAsNumber());
|
||||
}
|
||||
Map<Service, Set<Provider>> serviceProviderMap = ApiDBUtils.listVpcOffServices(vpc.getVpcOfferingId());
|
||||
List<ServiceResponse> serviceResponses = new ArrayList<ServiceResponse>();
|
||||
for (Map.Entry<Service,Set<Provider>>entry : serviceProviderMap.entrySet()) {
|
||||
Service service = entry.getKey();
|
||||
Set<Provider> serviceProviders = entry.getValue();
|
||||
ServiceResponse svcRsp = new ServiceResponse();
|
||||
// skip gateway service
|
||||
if (service == Service.Gateway) {
|
||||
continue;
|
||||
}
|
||||
svcRsp.setName(service.getName());
|
||||
List<ProviderResponse> providers = new ArrayList<ProviderResponse>();
|
||||
for (Provider provider : serviceProviders) {
|
||||
if (provider != null) {
|
||||
ProviderResponse providerRsp = new ProviderResponse();
|
||||
providerRsp.setName(provider.getName());
|
||||
providers.add(providerRsp);
|
||||
}
|
||||
}
|
||||
svcRsp.setProviders(providers);
|
||||
List<ServiceResponse> serviceResponses = getServiceResponses(serviceProviderMap);
|
||||
|
||||
serviceResponses.add(svcRsp);
|
||||
}
|
||||
|
||||
List<NetworkResponse> networkResponses = new ArrayList<NetworkResponse>();
|
||||
List<NetworkResponse> networkResponses = new ArrayList<>();
|
||||
List<? extends Network> networks = ApiDBUtils.listVpcNetworks(vpc.getId());
|
||||
for (Network network : networks) {
|
||||
NetworkResponse ntwkRsp = createNetworkResponse(view, network);
|
||||
|
|
@ -3573,7 +3534,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
|
||||
// set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.Vpc, vpc.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
CollectionUtils.addIgnoreNull(tagResponses, tagResponse);
|
||||
|
|
@ -3615,6 +3576,33 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
return response;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static List<ServiceResponse> getServiceResponses(Map<Service, Set<Provider>> serviceProviderMap) {
|
||||
List<ServiceResponse> serviceResponses = new ArrayList<>();
|
||||
for (Map.Entry<Service,Set<Provider>>entry : serviceProviderMap.entrySet()) {
|
||||
Service service = entry.getKey();
|
||||
Set<Provider> serviceProviders = entry.getValue();
|
||||
ServiceResponse svcRsp = new ServiceResponse();
|
||||
// skip gateway service
|
||||
if (service == Service.Gateway) {
|
||||
continue;
|
||||
}
|
||||
svcRsp.setName(service.getName());
|
||||
List<ProviderResponse> providers = new ArrayList<>();
|
||||
for (Provider provider : serviceProviders) {
|
||||
if (provider != null) {
|
||||
ProviderResponse providerRsp = new ProviderResponse();
|
||||
providerRsp.setName(provider.getName());
|
||||
providers.add(providerRsp);
|
||||
}
|
||||
}
|
||||
svcRsp.setProviders(providers);
|
||||
|
||||
serviceResponses.add(svcRsp);
|
||||
}
|
||||
return serviceResponses;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PrivateGatewayResponse createPrivateGatewayResponse(ResponseView view, PrivateGateway result) {
|
||||
PrivateGatewayResponse response = new PrivateGatewayResponse();
|
||||
|
|
@ -3744,7 +3732,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
response.setQuietTime(policy.getQuietTime());
|
||||
response.setAction(policy.getAction().toString());
|
||||
List<ConditionVO> vos = ApiDBUtils.getAutoScalePolicyConditions(policy.getId());
|
||||
ArrayList<ConditionResponse> conditions = new ArrayList<ConditionResponse>(vos.size());
|
||||
ArrayList<ConditionResponse> conditions = new ArrayList<>(vos.size());
|
||||
for (ConditionVO vo : vos) {
|
||||
conditions.add(createConditionResponse(vo));
|
||||
}
|
||||
|
|
@ -3800,15 +3788,15 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
}
|
||||
}
|
||||
|
||||
List<AutoScalePolicyResponse> scaleUpPoliciesResponse = new ArrayList<AutoScalePolicyResponse>();
|
||||
List<AutoScalePolicyResponse> scaleDownPoliciesResponse = new ArrayList<AutoScalePolicyResponse>();
|
||||
List<AutoScalePolicyResponse> scaleUpPoliciesResponse = new ArrayList<>();
|
||||
List<AutoScalePolicyResponse> scaleDownPoliciesResponse = new ArrayList<>();
|
||||
response.setScaleUpPolicies(scaleUpPoliciesResponse);
|
||||
response.setScaleDownPolicies(scaleDownPoliciesResponse);
|
||||
response.setObjectName("autoscalevmgroup");
|
||||
|
||||
// Fetch policies for vmgroup
|
||||
List<AutoScalePolicy> scaleUpPolicies = new ArrayList<AutoScalePolicy>();
|
||||
List<AutoScalePolicy> scaleDownPolicies = new ArrayList<AutoScalePolicy>();
|
||||
List<AutoScalePolicy> scaleUpPolicies = new ArrayList<>();
|
||||
List<AutoScalePolicy> scaleDownPolicies = new ArrayList<>();
|
||||
ApiDBUtils.getAutoScaleVmGroupPolicies(vmGroup.getId(), scaleUpPolicies, scaleDownPolicies);
|
||||
// populate policies
|
||||
for (AutoScalePolicy autoScalePolicy : scaleUpPolicies) {
|
||||
|
|
@ -3857,7 +3845,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
|
||||
// set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.StaticRoute, result.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
CollectionUtils.addIgnoreNull(tagResponses,tagResponse);
|
||||
|
|
@ -4138,7 +4126,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
Long resourceId = null;
|
||||
if (usageRecord.getUsageType() == UsageTypes.RUNNING_VM || usageRecord.getUsageType() == UsageTypes.ALLOCATED_VM) {
|
||||
ServiceOfferingVO svcOffering = _entityMgr.findByIdIncludingRemoved(ServiceOfferingVO.class, usageRecord.getOfferingId().toString());
|
||||
//Service Offering Id
|
||||
//Service Offering ID
|
||||
if(svcOffering != null) {
|
||||
usageRecResponse.setOfferingId(svcOffering.getUuid());
|
||||
}
|
||||
|
|
@ -4213,9 +4201,9 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
usageRecResponse.setUsageId(ip.getUuid());
|
||||
}
|
||||
//isSourceNAT
|
||||
usageRecResponse.setSourceNat((usageRecord.getType().equals("SourceNat")) ? true : false);
|
||||
usageRecResponse.setSourceNat(usageRecord.getType().equals("SourceNat"));
|
||||
//isSystem
|
||||
usageRecResponse.setSystem((usageRecord.getSize() == 1) ? true : false);
|
||||
usageRecResponse.setSystem(usageRecord.getSize() == 1);
|
||||
} else if (usageRecord.getUsageType() == UsageTypes.NETWORK_BYTES_SENT || usageRecord.getUsageType() == UsageTypes.NETWORK_BYTES_RECEIVED) {
|
||||
//Device Type
|
||||
resourceType = ResourceObjectType.UserVm;
|
||||
|
|
@ -4223,14 +4211,14 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
VMInstanceVO vm = null;
|
||||
HostVO host = null;
|
||||
if (usageRecord.getType().equals("DomainRouter") || usageRecord.getType().equals("UserVm")) {
|
||||
//Domain Router Id
|
||||
//Domain Router ID
|
||||
vm = _entityMgr.findByIdIncludingRemoved(VMInstanceVO.class, usageRecord.getUsageId().toString());
|
||||
if (vm != null) {
|
||||
resourceId = vm.getId();
|
||||
usageRecResponse.setUsageId(vm.getUuid());
|
||||
}
|
||||
} else {
|
||||
//External Device Host Id
|
||||
//External Device Host ID
|
||||
host = _entityMgr.findByIdIncludingRemoved(HostVO.class, usageRecord.getUsageId().toString());
|
||||
if (host != null) {
|
||||
usageRecResponse.setUsageId(host.getUuid());
|
||||
|
|
@ -4268,7 +4256,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
if (network.getUuid() != null){
|
||||
builder.append(" (").append(network.getUuid()).append(") ");
|
||||
}
|
||||
builder.append(" " + toHumanReadableSize(usageRecord.getRawUsage().longValue()) + " ");
|
||||
builder.append(" ").append(toHumanReadableSize(usageRecord.getRawUsage().longValue())).append(" ");
|
||||
}
|
||||
if (vm != null) {
|
||||
builder.append("using router ").append(vm.getInstanceName()).append(" (").append(vm.getUuid()).append(")");
|
||||
|
|
@ -4306,7 +4294,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
builder.append(" and volume ").append(volume.getName()).append(" (").append(volume.getUuid()).append(")");
|
||||
}
|
||||
if (usageRecord.getRawUsage()!= null){
|
||||
builder.append(" " + toHumanReadableSize(usageRecord.getRawUsage().longValue()));
|
||||
builder.append(" ").append(toHumanReadableSize(usageRecord.getRawUsage().longValue()));
|
||||
}
|
||||
usageRecResponse.setDescription(builder.toString());
|
||||
}
|
||||
|
|
@ -4342,7 +4330,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
builder.append(" and template ").append(template.getName()).append(" (").append(template.getUuid()).append(")");
|
||||
}
|
||||
if (usageRecord.getSize() != null) {
|
||||
builder.append(" and size " + toHumanReadableSize(usageRecord.getSize()));
|
||||
builder.append(" and size ").append(toHumanReadableSize(usageRecord.getSize()));
|
||||
}
|
||||
usageRecResponse.setDescription(builder.toString());
|
||||
}
|
||||
|
|
@ -4427,7 +4415,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
usageRecResponse.setDescription(builder.toString());
|
||||
}
|
||||
} else if (usageRecord.getUsageType() == UsageTypes.NETWORK_OFFERING) {
|
||||
//Network Offering Id
|
||||
//Network Offering ID
|
||||
NetworkOfferingVO netOff = _entityMgr.findByIdIncludingRemoved(NetworkOfferingVO.class, usageRecord.getOfferingId().toString());
|
||||
usageRecResponse.setOfferingId(netOff.getUuid());
|
||||
//is Default
|
||||
|
|
@ -4458,7 +4446,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
usageRecResponse.setDescription(builder.toString());
|
||||
}
|
||||
} else if (usageRecord.getUsageType() == UsageTypes.SECURITY_GROUP) {
|
||||
//Security Group Id
|
||||
//Security Group ID
|
||||
SecurityGroupVO sg = _entityMgr.findByIdIncludingRemoved(SecurityGroupVO.class, usageRecord.getUsageId().toString());
|
||||
resourceType = ResourceObjectType.SecurityGroup;
|
||||
if (sg != null) {
|
||||
|
|
@ -4538,7 +4526,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
builder.append(" using disk offering ").append(diskOff.getName()).append(" (").append(diskOff.getUuid()).append(")");
|
||||
}
|
||||
if (usageRecord.getSize() != null){
|
||||
builder.append(" and size " + toHumanReadableSize(usageRecord.getSize()));
|
||||
builder.append(" and size ").append(toHumanReadableSize(usageRecord.getSize()));
|
||||
}
|
||||
usageRecResponse.setDescription(builder.toString());
|
||||
}
|
||||
|
|
@ -4788,7 +4776,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
if (result.getSecondaryIp()) {
|
||||
List<NicSecondaryIpVO> secondaryIps = ApiDBUtils.findNicSecondaryIps(result.getId());
|
||||
if (secondaryIps != null) {
|
||||
List<NicSecondaryIpResponse> ipList = new ArrayList<NicSecondaryIpResponse>();
|
||||
List<NicSecondaryIpResponse> ipList = new ArrayList<>();
|
||||
for (NicSecondaryIpVO ip : secondaryIps) {
|
||||
NicSecondaryIpResponse ipRes = new NicSecondaryIpResponse();
|
||||
ipRes.setId(ip.getUuid());
|
||||
|
|
@ -4851,21 +4839,30 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
}
|
||||
|
||||
//set load balancer rules information (only one rule per load balancer in this release)
|
||||
List<ApplicationLoadBalancerRuleResponse> ruleResponses = new ArrayList<ApplicationLoadBalancerRuleResponse>();
|
||||
ApplicationLoadBalancerRuleResponse ruleResponse = new ApplicationLoadBalancerRuleResponse();
|
||||
ruleResponse.setInstancePort(lb.getDefaultPortStart());
|
||||
ruleResponse.setSourcePort(lb.getSourcePortStart());
|
||||
FirewallRule.State stateToSet = lb.getState();
|
||||
if (stateToSet.equals(FirewallRule.State.Revoke)) {
|
||||
stateToSet = FirewallRule.State.Deleting;
|
||||
}
|
||||
ruleResponse.setState(stateToSet.toString());
|
||||
ruleResponse.setObjectName("loadbalancerrule");
|
||||
ruleResponses.add(ruleResponse);
|
||||
List<ApplicationLoadBalancerRuleResponse> ruleResponses = getApplicationLoadBalancerRuleResponses(lb);
|
||||
lbResponse.setLbRules(ruleResponses);
|
||||
|
||||
//set Lb instances information
|
||||
List<ApplicationLoadBalancerInstanceResponse> instanceResponses = new ArrayList<ApplicationLoadBalancerInstanceResponse>();
|
||||
List<ApplicationLoadBalancerInstanceResponse> instanceResponses = getApplicationLoadBalancerInstanceResponses(lbInstances);
|
||||
|
||||
lbResponse.setLbInstances(instanceResponses);
|
||||
|
||||
//set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.LoadBalancer, lb.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
CollectionUtils.addIgnoreNull(tagResponses,tagResponse);
|
||||
}
|
||||
lbResponse.setTags(tagResponses);
|
||||
|
||||
lbResponse.setObjectName("loadbalancer");
|
||||
return lbResponse;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static List<ApplicationLoadBalancerInstanceResponse> getApplicationLoadBalancerInstanceResponses(Map<Ip, UserVm> lbInstances) {
|
||||
List<ApplicationLoadBalancerInstanceResponse> instanceResponses = new ArrayList<>();
|
||||
for (Map.Entry<Ip,UserVm> entry : lbInstances.entrySet()) {
|
||||
Ip ip = entry.getKey();
|
||||
UserVm vm = entry.getValue();
|
||||
|
|
@ -4876,20 +4873,23 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
instanceResponse.setObjectName("loadbalancerinstance");
|
||||
instanceResponses.add(instanceResponse);
|
||||
}
|
||||
return instanceResponses;
|
||||
}
|
||||
|
||||
lbResponse.setLbInstances(instanceResponses);
|
||||
|
||||
//set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.LoadBalancer, lb.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
CollectionUtils.addIgnoreNull(tagResponses,tagResponse);
|
||||
@NotNull
|
||||
private static List<ApplicationLoadBalancerRuleResponse> getApplicationLoadBalancerRuleResponses(ApplicationLoadBalancerRule lb) {
|
||||
List<ApplicationLoadBalancerRuleResponse> ruleResponses = new ArrayList<>();
|
||||
ApplicationLoadBalancerRuleResponse ruleResponse = new ApplicationLoadBalancerRuleResponse();
|
||||
ruleResponse.setInstancePort(lb.getDefaultPortStart());
|
||||
ruleResponse.setSourcePort(lb.getSourcePortStart());
|
||||
FirewallRule.State stateToSet = lb.getState();
|
||||
if (stateToSet.equals(FirewallRule.State.Revoke)) {
|
||||
stateToSet = FirewallRule.State.Deleting;
|
||||
}
|
||||
lbResponse.setTags(tagResponses);
|
||||
|
||||
lbResponse.setObjectName("loadbalancer");
|
||||
return lbResponse;
|
||||
ruleResponse.setState(stateToSet.toString());
|
||||
ruleResponse.setObjectName("loadbalancerrule");
|
||||
ruleResponses.add(ruleResponse);
|
||||
return ruleResponses;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -5026,8 +5026,8 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
|
||||
@Override
|
||||
public ListResponse<UpgradeRouterTemplateResponse> createUpgradeRouterTemplateResponse(List<Long> jobIds) {
|
||||
ListResponse<UpgradeRouterTemplateResponse> response = new ListResponse<UpgradeRouterTemplateResponse>();
|
||||
List<UpgradeRouterTemplateResponse> responses = new ArrayList<UpgradeRouterTemplateResponse>();
|
||||
ListResponse<UpgradeRouterTemplateResponse> response = new ListResponse<>();
|
||||
List<UpgradeRouterTemplateResponse> responses = new ArrayList<>();
|
||||
for (Long jobId : jobIds) {
|
||||
UpgradeRouterTemplateResponse routerResponse = new UpgradeRouterTemplateResponse();
|
||||
AsyncJob job = _entityMgr.findById(AsyncJob.class, jobId);
|
||||
|
|
@ -5175,11 +5175,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
guestVlanResponse.setPhysicalNetworkId(pnw.getUuid());
|
||||
guestVlanResponse.setPhysicalNetworkName(pnw.getName());
|
||||
}
|
||||
if (guestVlan.getAccountGuestVlanMapId() != null) {
|
||||
guestVlanResponse.setDedicated(true);
|
||||
} else {
|
||||
guestVlanResponse.setDedicated(false);
|
||||
}
|
||||
guestVlanResponse.setDedicated(guestVlan.getAccountGuestVlanMapId() != null);
|
||||
if (guestVlan.getTakenAt() != null) {
|
||||
guestVlanResponse.setAllocationState("Allocated");
|
||||
guestVlanResponse.setTaken(guestVlan.getTakenAt());
|
||||
|
|
@ -5188,7 +5184,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
}
|
||||
|
||||
List<NetworkVO> networks = networkDao.listByZoneAndUriAndGuestType(guestVlan.getDataCenterId(), guestVlan.getVnet(), null);
|
||||
List<NetworkResponse> networkResponses = new ArrayList<NetworkResponse>();
|
||||
List<NetworkResponse> networkResponses = new ArrayList<>();
|
||||
for (Network network : networks) {
|
||||
NetworkResponse ntwkRsp = createNetworkResponse(ResponseView.Full, network);
|
||||
networkResponses.add(ntwkRsp);
|
||||
|
|
@ -5249,7 +5245,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
response.setValidity(String.format("From: [%s] - To: [%s]", certificate.getNotBefore(), certificate.getNotAfter()));
|
||||
}
|
||||
} catch (CertificateException e) {
|
||||
logger.error("Error parsing direct download certificate: " + certStr, e);
|
||||
logger.error("Error parsing direct download certificate: {}", certStr, e);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -5345,7 +5341,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
|
||||
// set tag information
|
||||
List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.FirewallRule, fwRule.getId());
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
|
||||
List<ResourceTagResponse> tagResponses = new ArrayList<>();
|
||||
for (ResourceTag tag : tags) {
|
||||
ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
|
||||
CollectionUtils.addIgnoreNull(tagResponses, tagResponse);
|
||||
|
|
@ -5533,7 +5529,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
String rangeText = String.format("%s-%s", range.getStartASNumber(), range.getEndASNumber());
|
||||
response.setAsNumberRange(rangeText);
|
||||
} else {
|
||||
logger.info("Range is null for AS number: "+ asn.getAsNumber());
|
||||
logger.info("Range is null for AS number: {}", asn.getAsNumber());
|
||||
}
|
||||
response.setAllocated(asn.getAllocatedTime());
|
||||
response.setAllocationState(asn.isAllocated() ? "Allocated" : "Free");
|
||||
|
|
@ -5617,7 +5613,7 @@ protected Map<String, ResourceIcon> getResourceIconsUsingOsCategory(List<Templat
|
|||
public GuiThemeResponse createGuiThemeResponse(GuiThemeJoin guiThemeJoin) {
|
||||
GuiThemeResponse guiThemeResponse = new GuiThemeResponse();
|
||||
|
||||
Long callerId = CallContext.current().getCallingAccount().getAccountId();
|
||||
long callerId = CallContext.current().getCallingAccount().getAccountId();
|
||||
if (callerId != Account.ACCOUNT_ID_SYSTEM && _accountMgr.isRootAdmin(callerId)) {
|
||||
guiThemeResponse.setId(guiThemeJoin.getUuid());
|
||||
guiThemeResponse.setName(guiThemeJoin.getName());
|
||||
|
|
|
|||
|
|
@ -556,8 +556,8 @@ public enum Config {
|
|||
ManagementServer.class,
|
||||
String.class,
|
||||
"hypervisor.list",
|
||||
HypervisorType.KVM + "," + HypervisorType.VMware + "," + HypervisorType.XenServer + "," + HypervisorType.Hyperv + "," +
|
||||
HypervisorType.BareMetal + "," + HypervisorType.Ovm + "," + HypervisorType.LXC + "," + HypervisorType.Ovm3 + "," + HypervisorType.External,
|
||||
HypervisorType.KVM + "," + HypervisorType.VMware + "," + HypervisorType.XenServer + "," +
|
||||
HypervisorType.BareMetal + "," + HypervisorType.External,
|
||||
"The list of hypervisors that this deployment will use.",
|
||||
"hypervisorList",
|
||||
ConfigKey.Kind.CSV,
|
||||
|
|
@ -1065,31 +1065,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),
|
||||
|
|
|
|||
|
|
@ -1683,7 +1683,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati
|
|||
}
|
||||
|
||||
/**
|
||||
* Valid values are XenServer, KVM, VMware, Hyperv, VirtualBox, Parralels, BareMetal, Simulator, Ovm, Ovm3, LXC.
|
||||
* Valid values are XenServer, KVM, VMware, VirtualBox, Parralels, BareMetal, Simulator, 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.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1335,9 +1335,6 @@ public class ConsoleProxyManagerImpl extends ManagerBase implements ConsoleProxy
|
|||
controlNic = managementNic;
|
||||
}
|
||||
|
||||
if(profile.getHypervisorType() == HypervisorType.Hyperv) {
|
||||
controlNic = managementNic;
|
||||
}
|
||||
CheckSshCommand check = new CheckSshCommand(profile.getInstanceName(), controlNic.getIPv4Address(), 3922);
|
||||
cmds.addCommand("checkSsh", check);
|
||||
|
||||
|
|
|
|||
|
|
@ -291,7 +291,7 @@ public class HighAvailabilityManagerImpl extends ManagerBase implements Configur
|
|||
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;
|
||||
}
|
||||
|
|
@ -460,8 +460,8 @@ public class HighAvailabilityManagerImpl extends ManagerBase implements Configur
|
|||
}
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1336,10 +1336,6 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel, Confi
|
|||
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();
|
||||
}
|
||||
return label;
|
||||
}
|
||||
|
|
@ -1366,10 +1362,6 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel, Confi
|
|||
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();
|
||||
}
|
||||
return label;
|
||||
}
|
||||
|
|
@ -1892,10 +1884,6 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel, Confi
|
|||
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();
|
||||
}
|
||||
return label;
|
||||
}
|
||||
|
|
@ -1922,10 +1910,6 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel, Confi
|
|||
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();
|
||||
}
|
||||
return label;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -139,9 +139,9 @@ public class ControlNetworkGuru extends PodBasedNetworkGuru implements NetworkGu
|
|||
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 class ControlNetworkGuru extends PodBasedNetworkGuru implements NetworkGu
|
|||
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));
|
||||
|
|
|
|||
|
|
@ -190,9 +190,7 @@ public class NetworkHelperImpl implements NetworkHelper {
|
|||
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);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -39,9 +39,7 @@ 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";
|
||||
String RouterAlertsCheckIntervalCK = "router.alerts.check.interval";
|
||||
String VirtualRouterServiceOfferingCK = "router.service.offering";
|
||||
|
|
@ -57,12 +55,8 @@ public interface VirtualNetworkApplianceManager extends Manager, VirtualNetworkA
|
|||
"Name of the default router template on KVM.", true, ConfigKey.Scope.Zone, null);
|
||||
ConfigKey<String> RouterTemplateVmware = new ConfigKey<>(String.class, RouterTemplateVmwareCK, "Advanced", "SystemVM Template (vSphere)",
|
||||
"Name of the default router template on Vmware.", true, ConfigKey.Scope.Zone, null);
|
||||
ConfigKey<String> RouterTemplateHyperV = new ConfigKey<>(String.class, RouterTemplateHyperVCK, "Advanced", "SystemVM Template (HyperV)",
|
||||
"Name of the default router template on Hyperv.", true, ConfigKey.Scope.Zone, null);
|
||||
ConfigKey<String> RouterTemplateLxc = new ConfigKey<>(String.class, RouterTemplateLxcCK, "Advanced", "SystemVM Template (LXC)",
|
||||
"Name of the default router template on LXC.", true, ConfigKey.Scope.Zone, null);
|
||||
ConfigKey<String> RouterTemplateOvm3 = new ConfigKey<>(String.class, RouterTemplateOvm3CK, "Advanced", "SystemVM Template (Ovm3)",
|
||||
"Name of the default router template on Ovm3.", true, ConfigKey.Scope.Zone, null);
|
||||
|
||||
ConfigKey<String> VirtualRouterUserData = new ConfigKey<>(String.class, "virtual.router.userdata",
|
||||
ConfigKey.CATEGORY_ADVANCED, "",
|
||||
|
|
|
|||
|
|
@ -1954,7 +1954,7 @@ Configurable, StateListener<VirtualMachine.State, VirtualMachine.Event, VirtualM
|
|||
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 (HypervisorType.VMware.equals(dest.getHost().getHypervisorType())) {
|
||||
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());
|
||||
|
|
@ -2036,10 +2036,6 @@ Configurable, StateListener<VirtualMachine.State, VirtualMachine.Event, VirtualM
|
|||
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
|
||||
|
|
@ -3353,9 +3349,7 @@ Configurable, StateListener<VirtualMachine.State, VirtualMachine.Event, VirtualM
|
|||
return new ConfigKey<?>[] {
|
||||
RouterTemplateKvm,
|
||||
RouterTemplateVmware,
|
||||
RouterTemplateHyperV,
|
||||
RouterTemplateLxc,
|
||||
RouterTemplateOvm3,
|
||||
UseExternalDnsServers,
|
||||
RouterVersionCheckEnabled,
|
||||
SetServiceMonitor,
|
||||
|
|
|
|||
|
|
@ -346,8 +346,6 @@ public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvis
|
|||
hTypes.add(HypervisorType.KVM);
|
||||
hTypes.add(HypervisorType.Simulator);
|
||||
hTypes.add(HypervisorType.LXC);
|
||||
hTypes.add(HypervisorType.Hyperv);
|
||||
hTypes.add(HypervisorType.Ovm3);
|
||||
hTypes.add(HypervisorType.External);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -887,8 +887,8 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
|
|||
public static final ConfigKey<Boolean> 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<HypervisorType> LIVE_MIGRATION_SUPPORTING_HYPERVISORS = List.of(HypervisorType.Hyperv, HypervisorType.KVM,
|
||||
HypervisorType.LXC, HypervisorType.Ovm, HypervisorType.Ovm3, HypervisorType.Simulator, HypervisorType.VMware, HypervisorType.XenServer);
|
||||
private static final List<HypervisorType> LIVE_MIGRATION_SUPPORTING_HYPERVISORS = List.of(HypervisorType.KVM,
|
||||
HypervisorType.LXC, HypervisorType.Simulator, HypervisorType.VMware, HypervisorType.XenServer);
|
||||
|
||||
@Inject
|
||||
public AccountManager _accountMgr;
|
||||
|
|
@ -1456,13 +1456,13 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
|
|||
|
||||
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, 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 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 only");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -441,7 +441,7 @@ public class StorageManagerImpl extends ManagerBase implements StorageManager, C
|
|||
private final Map<String, HypervisorHostListener> hostListeners = new HashMap<>();
|
||||
|
||||
private final Set<HypervisorType> 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";
|
||||
|
||||
|
|
@ -3418,10 +3418,8 @@ public class StorageManagerImpl extends ManagerBase implements StorageManager, C
|
|||
return HypervisorType.VMware;
|
||||
} else if (format == ImageFormat.QCOW2) {
|
||||
return HypervisorType.KVM;
|
||||
} else if (format == ImageFormat.RAW) {
|
||||
} else if (format == ImageFormat.RAW) { // bad guess, needs revising (TODO)
|
||||
return HypervisorType.Ovm;
|
||||
} else if (format == ImageFormat.VHDX) {
|
||||
return HypervisorType.Hyperv;
|
||||
} else {
|
||||
return HypervisorType.None;
|
||||
}
|
||||
|
|
@ -3906,8 +3904,6 @@ public class StorageManagerImpl extends ManagerBase implements StorageManager, C
|
|||
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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -116,8 +116,7 @@ public class StoragePoolMonitor implements Listener {
|
|||
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.LXC || scCmd.getHypervisorType() == HypervisorType.Ovm3) {
|
||||
scCmd.getHypervisorType() == HypervisorType.LXC) {
|
||||
String sags[] = _storageManager.getStorageAccessGroups(null, null, null, host.getId());
|
||||
|
||||
List<StoragePoolVO> pools = new ArrayList<>();
|
||||
|
|
|
|||
|
|
@ -7157,12 +7157,12 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
|
|||
}
|
||||
|
||||
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, cannot migrate this VM from hypervisor type " + vm.getHypervisorType());
|
||||
throw new InvalidParameterValueException("Unsupported Hypervisor Type for VM migration, we support XenServer/VMware/KVM 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 only");
|
||||
}
|
||||
|
||||
if (isVMUsingLocalStorage(vm)) {
|
||||
|
|
@ -7320,11 +7320,8 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
|
|||
return (vm.getHypervisorType().equals(HypervisorType.XenServer) ||
|
||||
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));
|
||||
vm.getHypervisorType().equals(HypervisorType.Simulator));
|
||||
}
|
||||
|
||||
private boolean checkIfHostIsDedicated(HostVO host) {
|
||||
|
|
|
|||
|
|
@ -181,7 +181,7 @@ public class AffinityGroupServiceImpl extends ManagerBase implements AffinityGro
|
|||
|
||||
final Long affinityGroupDomainId = getDomainIdBasedOnDomainLevel(owner, domainLevel, domainId);
|
||||
|
||||
return Transaction.execute(new TransactionCallback<AffinityGroupVO>() {
|
||||
return Transaction.execute(new TransactionCallback<>() {
|
||||
@Override
|
||||
public AffinityGroupVO doInTransaction(TransactionStatus status) {
|
||||
AffinityGroupVO group = new AffinityGroupVO(affinityGroupName, affinityGroupType, description, affinityGroupDomainId, owner.getId(), aclType);
|
||||
|
|
@ -194,7 +194,7 @@ public class AffinityGroupServiceImpl extends ManagerBase implements AffinityGro
|
|||
subDomainAccess);
|
||||
_affinityGroupDomainMapDao.persist(domainMap);
|
||||
//send event for storing the domain wide resource access
|
||||
Map<String, Object> params = new HashMap<String, Object>();
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put(ApiConstants.ENTITY_TYPE, AffinityGroup.class);
|
||||
params.put(ApiConstants.ENTITY_ID, group.getId());
|
||||
params.put(ApiConstants.DOMAIN_ID, affinityGroupDomainId);
|
||||
|
|
@ -257,7 +257,7 @@ public class AffinityGroupServiceImpl extends ManagerBase implements AffinityGro
|
|||
deleteAffinityGroup(affinityGroupIdFinal);
|
||||
|
||||
// remove its related ACL permission
|
||||
Pair<Class<?>, Long> params = new Pair<Class<?>, Long>(AffinityGroup.class, affinityGroupIdFinal);
|
||||
Pair<Class<?>, Long> params = new Pair<>(AffinityGroup.class, affinityGroupIdFinal);
|
||||
_messageBus.publish(_name, EntityManager.MESSAGE_REMOVE_ENTITY_EVENT, PublishScope.LOCAL, params);
|
||||
|
||||
if (logger.isDebugEnabled()) {
|
||||
|
|
@ -338,7 +338,7 @@ public class AffinityGroupServiceImpl extends ManagerBase implements AffinityGro
|
|||
|
||||
@Override
|
||||
public List<String> listAffinityGroupTypes() {
|
||||
List<String> types = new ArrayList<String>();
|
||||
List<String> types = new ArrayList<>();
|
||||
|
||||
for (AffinityGroupProcessor processor : _affinityProcessors) {
|
||||
if (processor.isAdminControlledGroup()) {
|
||||
|
|
@ -352,7 +352,7 @@ public class AffinityGroupServiceImpl extends ManagerBase implements AffinityGro
|
|||
}
|
||||
|
||||
protected Map<String, AffinityGroupProcessor> getAffinityTypeToProcessorMap() {
|
||||
Map<String, AffinityGroupProcessor> typeProcessorMap = new HashMap<String, AffinityGroupProcessor>();
|
||||
Map<String, AffinityGroupProcessor> typeProcessorMap = new HashMap<>();
|
||||
|
||||
for (AffinityGroupProcessor processor : _affinityProcessors) {
|
||||
typeProcessorMap.put(processor.getType(), processor);
|
||||
|
|
@ -444,8 +444,8 @@ public class AffinityGroupServiceImpl extends ManagerBase implements AffinityGro
|
|||
|
||||
// Check that the VM is stopped
|
||||
if (!vmInstance.getState().equals(State.Stopped)) {
|
||||
logger.warn("Unable to update affinity groups of the virtual machine " + vmInstance.toString() + " in state " + vmInstance.getState());
|
||||
throw new InvalidParameterValueException("Unable update affinity groups of the virtual machine " + vmInstance.toString() + " " + "in state " +
|
||||
logger.warn("Unable to update affinity groups of the virtual machine {} in state {}", vmInstance, vmInstance.getState());
|
||||
throw new InvalidParameterValueException("Unable update affinity groups of the virtual machine " + vmInstance + " " + "in state " +
|
||||
vmInstance.getState() + "; make sure the virtual machine is stopped and not in an error state before updating.");
|
||||
}
|
||||
|
||||
|
|
@ -521,15 +521,13 @@ public class AffinityGroupServiceImpl extends ManagerBase implements AffinityGro
|
|||
groupDomainId = domainMap.getDomainId();
|
||||
}
|
||||
|
||||
if (domainId == groupDomainId.longValue()) {
|
||||
if (domainId == groupDomainId) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (domainMap.subdomainAccess) {
|
||||
Set<Long> parentDomains = _domainMgr.getDomainParentIds(domainId);
|
||||
if (parentDomains.contains(groupDomainId)) {
|
||||
return true;
|
||||
}
|
||||
return parentDomains.contains(groupDomainId);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -437,11 +437,9 @@ public class ApiResponseHelperTest {
|
|||
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, null);
|
||||
|
||||
TrafficTypeResponse response = apiResponseHelper.createTrafficTypeResponse(pnetTrafficType);
|
||||
assertFalse(UUID.fromString(response.getId()).toString().isEmpty());
|
||||
|
|
@ -450,8 +448,6 @@ public class ApiResponseHelperTest {
|
|||
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");
|
||||
|
||||
|
|
|
|||
|
|
@ -344,15 +344,8 @@ public class VolumeApiServiceImplTest {
|
|||
stoppedVm.setDataCenterId(1L);
|
||||
when(userVmDaoMock.findById(2L)).thenReturn(stoppedVm);
|
||||
|
||||
// volume of hyperV vm id=3
|
||||
UserVmVO hyperVVm = new UserVmVO(3L, "vm", "vm", 1, HypervisorType.Hyperv, 1L, false, false, 1L, 1L, 1, 1L, null, null, null, "vm");
|
||||
hyperVVm.setState(State.Stopped);
|
||||
hyperVVm.setDataCenterId(1L);
|
||||
when(userVmDaoMock.findById(3L)).thenReturn(hyperVVm);
|
||||
|
||||
VolumeVO volumeOfStoppeHyperVVm = new VolumeVO("root", 1L, 1L, 1L, 1L, 3L, "root", "root", Storage.ProvisioningType.THIN, 1, null, null, "root", Volume.Type.ROOT);
|
||||
volumeOfStoppeHyperVVm.setPoolId(1L);
|
||||
when(volumeDaoMock.findById(3L)).thenReturn(volumeOfStoppeHyperVVm);
|
||||
|
||||
StoragePoolVO unmanagedPool = new StoragePoolVO();
|
||||
|
||||
|
|
@ -479,14 +472,6 @@ public class VolumeApiServiceImplTest {
|
|||
volumeApiServiceImpl.detachVolumeFromVM(detachCmd);
|
||||
}
|
||||
|
||||
@Test(expected = InvalidParameterValueException.class)
|
||||
public void testDetachVolumeFromStoppedHyperVVm() throws NoSuchFieldException, IllegalAccessException {
|
||||
Field dedicateIdField = _detachCmdClass.getDeclaredField("id");
|
||||
dedicateIdField.setAccessible(true);
|
||||
dedicateIdField.set(detachCmd, 3L);
|
||||
volumeApiServiceImpl.detachVolumeFromVM(detachCmd);
|
||||
}
|
||||
|
||||
@Test(expected = InvalidParameterValueException.class)
|
||||
public void testDetachVolumeOfManagedDataStore() throws NoSuchFieldException, IllegalAccessException {
|
||||
Field dedicateIdField = _detachCmdClass.getDeclaredField("id");
|
||||
|
|
|
|||
|
|
@ -4094,14 +4094,14 @@ public class UserVmManagerImplTest {
|
|||
when(userVmDao.findById(vmId)).thenReturn(userVmVoMock);
|
||||
when(userVmDao.acquireInLockTable(vmId)).thenReturn(userVmVoMock);
|
||||
when(userVmVoMock.getState()).thenReturn(VirtualMachine.State.Stopped);
|
||||
when(userVmVoMock.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.Hyperv);
|
||||
unmanagedVMsManagerMockedStatic.when(() -> UnmanagedVMsManager.isSupported(Hypervisor.HypervisorType.Hyperv)).thenReturn(false);
|
||||
when(userVmVoMock.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.XenServer);
|
||||
unmanagedVMsManagerMockedStatic.when(() -> UnmanagedVMsManager.isSupported(Hypervisor.HypervisorType.XenServer)).thenReturn(false);
|
||||
|
||||
CloudRuntimeException exception = assertThrows(CloudRuntimeException.class, () -> {
|
||||
userVmManagerImpl.unmanageUserVM(vmId, null);
|
||||
});
|
||||
|
||||
assertEquals("Unmanaging a VM is currently not supported on hypervisor Hyperv", exception.getMessage());
|
||||
assertEquals("Unmanaging a VM is currently not supported on hypervisor XenServer", exception.getMessage());
|
||||
verify(userVmDao, times(1)).releaseFromLockTable(vmId);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -545,32 +545,6 @@ public class ConsoleAccessManagerImplTest {
|
|||
Assert.assertEquals(port, result.getPort());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getConsoleConnectionDetailsReturnsDetailsWithRDPForHyperV() {
|
||||
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
|
||||
HostVO host = Mockito.mock(HostVO.class);
|
||||
String hostAddress = "192.168.1.100";
|
||||
Pair<String, Integer> hostPortInfo = new Pair<>(hostAddress, -9);
|
||||
|
||||
Mockito.when(vm.getUuid()).thenReturn("vm-uuid");
|
||||
Mockito.when(vm.getHostName()).thenReturn("vm-hostname");
|
||||
Mockito.when(vm.getVncPassword()).thenReturn("vnc-password");
|
||||
Mockito.when(host.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.Hyperv);
|
||||
Mockito.when(vmInstanceDetailsDao.listDetailsKeyPairs(Mockito.anyLong(), Mockito.anyList())).thenReturn(Map.of());
|
||||
Mockito.when(managementServer.getVncPort(vm)).thenReturn(hostPortInfo);
|
||||
int port = 3389;
|
||||
DetailVO detailVO = Mockito.mock(DetailVO.class);
|
||||
Mockito.when(detailVO.getValue()).thenReturn(String.valueOf(port));
|
||||
Mockito.when(managementServer.findDetail(Mockito.anyLong(), Mockito.eq("rdp.server.port"))).thenReturn(detailVO);
|
||||
Mockito.doReturn(new Ternary<>(hostAddress, null, null)).when(consoleAccessManager).parseHostInfo(Mockito.anyString());
|
||||
|
||||
ConsoleConnectionDetails result = consoleAccessManager.getConsoleConnectionDetails(vm, host);
|
||||
|
||||
Assert.assertNotNull(result);
|
||||
Assert.assertTrue(result.isUsingRDP());
|
||||
Assert.assertEquals(port, result.getPort());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getConsoleConnectionDetailsReturnsNullHostInvalidPortWhenVncPortInfoIsMissing() {
|
||||
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ import common.opt.StringOption;
|
|||
public class Client {
|
||||
|
||||
enum Protocol {
|
||||
NONE, VNC, RDP, HYPERV
|
||||
NONE, VNC, RDP
|
||||
}
|
||||
|
||||
// Common options
|
||||
|
|
@ -124,15 +124,6 @@ public class Client {
|
|||
}
|
||||
};
|
||||
|
||||
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 @@ public class Client {
|
|||
}
|
||||
};
|
||||
|
||||
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,7 @@ public class Client {
|
|||
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 final Option[] hyperVOptions = new Option[] {sslImplementation, domain, userName, password};
|
||||
|
||||
private static Frame frame;
|
||||
private static SocketWrapper socket;
|
||||
|
|
@ -200,11 +183,10 @@ public class Client {
|
|||
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) {
|
||||
|
|
@ -285,10 +267,6 @@ public class Client {
|
|||
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;
|
||||
|
|
@ -308,9 +286,6 @@ public class Client {
|
|||
} else if (protocolName.equals("rdp")) {
|
||||
protocol = Protocol.RDP;
|
||||
options = join(commonOptions, rdpOptions);
|
||||
} else if (protocolName.equals("hyperv")) {
|
||||
protocol = Protocol.HYPERV;
|
||||
options = join(commonOptions, hyperVOptions);
|
||||
} else {
|
||||
help();
|
||||
return Protocol.NONE;
|
||||
|
|
|
|||
|
|
@ -47,5 +47,11 @@
|
|||
<artifactId>cloud-server</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.cloudstack</groupId>
|
||||
<artifactId>cloud-api</artifactId>
|
||||
<version>4.23.0.0-SNAPSHOT</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
|
|||
|
|
@ -1349,10 +1349,6 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar
|
|||
}
|
||||
|
||||
protected NicProfile verifySshAccessOnManagementNicForSystemVm(VirtualMachineProfile profile, NicProfile controlNic, NicProfile managementNic) {
|
||||
if (profile.getHypervisorType() == HypervisorType.Hyperv) {
|
||||
return managementNic;
|
||||
}
|
||||
|
||||
return controlNic;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -213,7 +213,7 @@ public class SecondaryStorageManagerTest {
|
|||
@Test
|
||||
public void validateVerifySshAccessOnManagementNicForSystemVm() {
|
||||
Hypervisor.HypervisorType[] hypervisorTypesArray = Hypervisor.HypervisorType.values();
|
||||
List<Hypervisor.HypervisorType> hypervisorTypesThatMustReturnManagementNic = new ArrayList<>(Arrays.asList(Hypervisor.HypervisorType.Hyperv));
|
||||
List<Hypervisor.HypervisorType> hypervisorTypesThatMustReturnManagementNic = new ArrayList<>(Arrays.asList());
|
||||
|
||||
for (Hypervisor.HypervisorType hypervisorType: hypervisorTypesArray) {
|
||||
VirtualMachineProfile virtualMachineProfileMock = Mockito.mock(VirtualMachineProfile.class);
|
||||
|
|
|
|||
Loading…
Reference in New Issue