mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Cleanup of Xen and XenServer terms. Cloned xen plugin creating a xenserver plugin, then removed xen plugin
Signed-off-by: Tim Mackey <tmackey@gmail.com> Signed-off-by: Sebastien Goasguen <runseb@gmail.com>
This commit is contained in:
parent
303e6ffc1e
commit
a8212d9ef4
@ -377,7 +377,7 @@ public class ApiConstants {
|
|||||||
public static final String SECURITY_GROUP_EANBLED = "securitygroupenabled";
|
public static final String SECURITY_GROUP_EANBLED = "securitygroupenabled";
|
||||||
public static final String LOCAL_STORAGE_ENABLED = "localstorageenabled";
|
public static final String LOCAL_STORAGE_ENABLED = "localstorageenabled";
|
||||||
public static final String GUEST_IP_TYPE = "guestiptype";
|
public static final String GUEST_IP_TYPE = "guestiptype";
|
||||||
public static final String XEN_NETWORK_LABEL = "xennetworklabel";
|
public static final String XENSERVER_NETWORK_LABEL = "xenservernetworklabel";
|
||||||
public static final String KVM_NETWORK_LABEL = "kvmnetworklabel";
|
public static final String KVM_NETWORK_LABEL = "kvmnetworklabel";
|
||||||
public static final String VMWARE_NETWORK_LABEL = "vmwarenetworklabel";
|
public static final String VMWARE_NETWORK_LABEL = "vmwarenetworklabel";
|
||||||
public static final String HYPERV_NETWORK_LABEL = "hypervnetworklabel";
|
public static final String HYPERV_NETWORK_LABEL = "hypervnetworklabel";
|
||||||
|
|||||||
@ -55,7 +55,7 @@ public class AddTrafficTypeCmd extends BaseAsyncCreateCmd {
|
|||||||
@Parameter(name = ApiConstants.TRAFFIC_TYPE, type = CommandType.STRING, required = true, description = "the trafficType to be added to the physical network")
|
@Parameter(name = ApiConstants.TRAFFIC_TYPE, type = CommandType.STRING, required = true, description = "the trafficType to be added to the physical network")
|
||||||
private String trafficType;
|
private String trafficType;
|
||||||
|
|
||||||
@Parameter(name = ApiConstants.XEN_NETWORK_LABEL,
|
@Parameter(name = ApiConstants.XENSERVER_NETWORK_LABEL,
|
||||||
type = CommandType.STRING,
|
type = CommandType.STRING,
|
||||||
description = "The network name label of the physical device dedicated to this traffic on a XenServer host")
|
description = "The network name label of the physical device dedicated to this traffic on a XenServer host")
|
||||||
private String xenLabel;
|
private String xenLabel;
|
||||||
|
|||||||
@ -45,7 +45,7 @@ public class UpdateTrafficTypeCmd extends BaseAsyncCmd {
|
|||||||
@Parameter(name = ApiConstants.ID, type = CommandType.UUID, entityType = TrafficTypeResponse.class, required = true, description = "traffic type id")
|
@Parameter(name = ApiConstants.ID, type = CommandType.UUID, entityType = TrafficTypeResponse.class, required = true, description = "traffic type id")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Parameter(name = ApiConstants.XEN_NETWORK_LABEL,
|
@Parameter(name = ApiConstants.XENSERVER_NETWORK_LABEL,
|
||||||
type = CommandType.STRING,
|
type = CommandType.STRING,
|
||||||
description = "The network name label of the physical device dedicated to this traffic on a XenServer host")
|
description = "The network name label of the physical device dedicated to this traffic on a XenServer host")
|
||||||
private String xenLabel;
|
private String xenLabel;
|
||||||
|
|||||||
@ -40,7 +40,7 @@ public class TrafficTypeResponse extends BaseResponse {
|
|||||||
@Param(description = "the physical network this belongs to")
|
@Param(description = "the physical network this belongs to")
|
||||||
private String physicalNetworkId;
|
private String physicalNetworkId;
|
||||||
|
|
||||||
@SerializedName(ApiConstants.XEN_NETWORK_LABEL)
|
@SerializedName(ApiConstants.XENSERVER_NETWORK_LABEL)
|
||||||
@Param(description = "The network name label of the physical device dedicated to this traffic on a XenServer host")
|
@Param(description = "The network name label of the physical device dedicated to this traffic on a XenServer host")
|
||||||
private String xenNetworkLabel;
|
private String xenNetworkLabel;
|
||||||
|
|
||||||
|
|||||||
@ -2007,9 +2007,9 @@ public class EC2Engine extends ManagerBase {
|
|||||||
ec2Image.setState(temp.getIsReady() ? "available" : "pending");
|
ec2Image.setState(temp.getIsReady() ? "available" : "pending");
|
||||||
ec2Image.setDomainId(temp.getDomainId());
|
ec2Image.setDomainId(temp.getDomainId());
|
||||||
if (temp.getHyperVisor().equalsIgnoreCase("xenserver"))
|
if (temp.getHyperVisor().equalsIgnoreCase("xenserver"))
|
||||||
ec2Image.setHypervisor("xen");
|
ec2Image.setHypervisor("xenserver");
|
||||||
else if (temp.getHyperVisor().equalsIgnoreCase("ovm"))
|
else if (temp.getHyperVisor().equalsIgnoreCase("ovm"))
|
||||||
ec2Image.setHypervisor("ovm"); // valid values for hypervisor is 'ovm' and 'xen'
|
ec2Image.setHypervisor("ovm"); // valid values for hypervisor is 'ovm' and 'xenserver'
|
||||||
else
|
else
|
||||||
ec2Image.setHypervisor("");
|
ec2Image.setHypervisor("");
|
||||||
if (temp.getDisplayText() == null)
|
if (temp.getDisplayText() == null)
|
||||||
@ -2614,7 +2614,7 @@ public class EC2Engine extends ManagerBase {
|
|||||||
*/
|
*/
|
||||||
private String mapToAmazonHypervisorType(String hypervisor) {
|
private String mapToAmazonHypervisorType(String hypervisor) {
|
||||||
if (hypervisor.equalsIgnoreCase("Xenserver"))
|
if (hypervisor.equalsIgnoreCase("Xenserver"))
|
||||||
return ("xen");
|
return ("xenserver");
|
||||||
else if (hypervisor.equalsIgnoreCase("Ovm"))
|
else if (hypervisor.equalsIgnoreCase("Ovm"))
|
||||||
return ("ovm");
|
return ("ovm");
|
||||||
else
|
else
|
||||||
|
|||||||
@ -1258,7 +1258,7 @@ label.weekly=Weekly
|
|||||||
label.welcome.cloud.console=Welcome to Management Console
|
label.welcome.cloud.console=Welcome to Management Console
|
||||||
label.welcome=Welcome
|
label.welcome=Welcome
|
||||||
label.what.is.cloudstack=What is CloudStack&\#8482?
|
label.what.is.cloudstack=What is CloudStack&\#8482?
|
||||||
label.xen.traffic.label=XenServer traffic label
|
label.xenserver.traffic.label=XenServer traffic label
|
||||||
label.yes=Yes
|
label.yes=Yes
|
||||||
label.zone.details=Zone details
|
label.zone.details=Zone details
|
||||||
label.zone.id=Zone ID
|
label.zone.id=Zone ID
|
||||||
|
|||||||
@ -1476,7 +1476,7 @@ label.welcome.cloud.console=Bienvenue dans la Console d\\'Administration
|
|||||||
label.what.is.cloudstack=Qu\\'est-ce-que CloudStack&\#8482; ?
|
label.what.is.cloudstack=Qu\\'est-ce-que CloudStack&\#8482; ?
|
||||||
label.xenserver.tools.version.61.plus=XenServer Tools Version 6.1\\+
|
label.xenserver.tools.version.61.plus=XenServer Tools Version 6.1\\+
|
||||||
label.Xenserver.Tools.Version61plus=XenServer Tools Version 6.1\\+
|
label.Xenserver.Tools.Version61plus=XenServer Tools Version 6.1\\+
|
||||||
label.xen.traffic.label=Libell\u00e9 trafic XenServer
|
label.xenserver.traffic.label=Libell\u00e9 trafic XenServer
|
||||||
label.yes=Oui
|
label.yes=Oui
|
||||||
label.zone.dedicated=Zone d\u00e9di\u00e9e
|
label.zone.dedicated=Zone d\u00e9di\u00e9e
|
||||||
label.zone.details=D\u00e9tails de la zone
|
label.zone.details=D\u00e9tails de la zone
|
||||||
|
|||||||
@ -621,7 +621,7 @@ label.vsmctrlvlanid=VLAN ID di Controllo
|
|||||||
label.vsmpktvlanid=VLAN ID del Pacchetto
|
label.vsmpktvlanid=VLAN ID del Pacchetto
|
||||||
label.vsmstoragevlanid=VLAN ID di Storage
|
label.vsmstoragevlanid=VLAN ID di Storage
|
||||||
label.what.is.cloudstack=Che cosa \u00e8 CloudStack&\#8482?
|
label.what.is.cloudstack=Che cosa \u00e8 CloudStack&\#8482?
|
||||||
label.xen.traffic.label=Etichetta del traffico via XenServer
|
label.xenserver.traffic.label=Etichetta del traffico via XenServer
|
||||||
label.yes=S\u00ec
|
label.yes=S\u00ec
|
||||||
label.zone.details=Dettagli della Zona
|
label.zone.details=Dettagli della Zona
|
||||||
label.zone.name=Nome Zona
|
label.zone.name=Nome Zona
|
||||||
|
|||||||
@ -1453,7 +1453,7 @@ label.welcome=\u3088\u3046\u3053\u305d
|
|||||||
label.what.is.cloudstack=CloudStack&\#8482; \u306b\u3064\u3044\u3066
|
label.what.is.cloudstack=CloudStack&\#8482; \u306b\u3064\u3044\u3066
|
||||||
label.xenserver.tools.version.61.plus=XenServer Tools Version 6.1 \u4ee5\u964d
|
label.xenserver.tools.version.61.plus=XenServer Tools Version 6.1 \u4ee5\u964d
|
||||||
label.Xenserver.Tools.Version61plus=XenServer Tools Version 6.1 \u4ee5\u964d
|
label.Xenserver.Tools.Version61plus=XenServer Tools Version 6.1 \u4ee5\u964d
|
||||||
label.xen.traffic.label=XenServer \u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af \u30e9\u30d9\u30eb
|
label.xenserver.traffic.label=XenServer \u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af \u30e9\u30d9\u30eb
|
||||||
label.yes=\u306f\u3044
|
label.yes=\u306f\u3044
|
||||||
label.zone.dedicated=\u5c02\u7528\u30be\u30fc\u30f3
|
label.zone.dedicated=\u5c02\u7528\u30be\u30fc\u30f3
|
||||||
label.zone.details=\u30be\u30fc\u30f3\u306e\u8a73\u7d30
|
label.zone.details=\u30be\u30fc\u30f3\u306e\u8a73\u7d30
|
||||||
|
|||||||
@ -1133,7 +1133,7 @@ label.weekly=\ub9e4\uc8fc
|
|||||||
label.welcome.cloud.console=\uad00\ub9ac \ucf58\uc194\uc5d0 \uc624\uc2e0\uac83\uc744 \ud658\uc601\ud569\ub2c8\ub2e4\!
|
label.welcome.cloud.console=\uad00\ub9ac \ucf58\uc194\uc5d0 \uc624\uc2e0\uac83\uc744 \ud658\uc601\ud569\ub2c8\ub2e4\!
|
||||||
label.welcome=\uc5b4\uc11c \uc624\uc2ed\uc2dc\uc624
|
label.welcome=\uc5b4\uc11c \uc624\uc2ed\uc2dc\uc624
|
||||||
label.what.is.cloudstack=CloudStack\u2122 \uc815\ubcf4
|
label.what.is.cloudstack=CloudStack\u2122 \uc815\ubcf4
|
||||||
label.xen.traffic.label=XenServer \ud2b8\ub798\ud53d \ub77c\ubca8
|
label.xenserver.traffic.label=XenServer \ud2b8\ub798\ud53d \ub77c\ubca8
|
||||||
label.yes=\uc608
|
label.yes=\uc608
|
||||||
label.zone.details=Zone \uc0c1\uc138
|
label.zone.details=Zone \uc0c1\uc138
|
||||||
label.zone.id=Zone ID
|
label.zone.id=Zone ID
|
||||||
|
|||||||
@ -921,7 +921,7 @@ label.weekly=Ukentlig
|
|||||||
label.welcome.cloud.console=Velkommen til administrasjonskonsollet
|
label.welcome.cloud.console=Velkommen til administrasjonskonsollet
|
||||||
label.welcome=Velkommen
|
label.welcome=Velkommen
|
||||||
label.what.is.cloudstack=Hva er CloudStack&\#8482?
|
label.what.is.cloudstack=Hva er CloudStack&\#8482?
|
||||||
label.xen.traffic.label=XenServer trafikketikett
|
label.xenserver.traffic.label=XenServer trafikketikett
|
||||||
label.yes=Ja
|
label.yes=Ja
|
||||||
label.zone.details=Sonedetaljer
|
label.zone.details=Sonedetaljer
|
||||||
label.zone.id=Sone ID
|
label.zone.id=Sone ID
|
||||||
|
|||||||
@ -1246,7 +1246,7 @@ label.weekly=Wekelijks
|
|||||||
label.welcome.cloud.console=Welkom op de Management Console
|
label.welcome.cloud.console=Welkom op de Management Console
|
||||||
label.welcome=Welkom
|
label.welcome=Welkom
|
||||||
label.what.is.cloudstack=Wat is CloudStack&\#8482?
|
label.what.is.cloudstack=Wat is CloudStack&\#8482?
|
||||||
label.xen.traffic.label=XenServer verkeerslabel
|
label.xenserver.traffic.label=XenServer verkeerslabel
|
||||||
label.yes=Ja
|
label.yes=Ja
|
||||||
label.zone.details=Zone details
|
label.zone.details=Zone details
|
||||||
label.zone.id=Zone ID
|
label.zone.id=Zone ID
|
||||||
|
|||||||
@ -1248,7 +1248,7 @@ label.weekly=Semanal
|
|||||||
label.welcome=Bem-Vindo
|
label.welcome=Bem-Vindo
|
||||||
label.welcome.cloud.console=Painel de Controle
|
label.welcome.cloud.console=Painel de Controle
|
||||||
label.what.is.cloudstack=O que \u00e9 o CloudStack&\#8482?
|
label.what.is.cloudstack=O que \u00e9 o CloudStack&\#8482?
|
||||||
label.xen.traffic.label=Etiqueta de tr\u00e1fego XenServer
|
label.xenserver.traffic.label=Etiqueta de tr\u00e1fego XenServer
|
||||||
label.yes=Sim
|
label.yes=Sim
|
||||||
label.zone.details=Detalhes de zona
|
label.zone.details=Detalhes de zona
|
||||||
label.zone.id=ID da Zona
|
label.zone.id=ID da Zona
|
||||||
|
|||||||
@ -1203,7 +1203,7 @@ label.weekly=\u0415\u0436\u0435\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u043e
|
|||||||
label.welcome.cloud.console=\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u043f\u0430\u043d\u0435\u043b\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f
|
label.welcome.cloud.console=\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u043f\u0430\u043d\u0435\u043b\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f
|
||||||
label.welcome=\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c
|
label.welcome=\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c
|
||||||
label.what.is.cloudstack=\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 CloudStack?
|
label.what.is.cloudstack=\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 CloudStack?
|
||||||
label.xen.traffic.label=\u041c\u0435\u0442\u043a\u0430 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 XenServer
|
label.xenserver.traffic.label=\u041c\u0435\u0442\u043a\u0430 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 XenServer
|
||||||
label.yes=\u0414\u0430
|
label.yes=\u0414\u0430
|
||||||
label.zone.details=\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0437\u043e\u043d\u044b
|
label.zone.details=\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0437\u043e\u043d\u044b
|
||||||
label.zone.id=ID \u0437\u043e\u043d\u044b
|
label.zone.id=ID \u0437\u043e\u043d\u044b
|
||||||
|
|||||||
@ -1453,7 +1453,7 @@ label.welcome=\u6b22\u8fce
|
|||||||
label.what.is.cloudstack=\u4ec0\u4e48\u662f CloudStack&\#8482?
|
label.what.is.cloudstack=\u4ec0\u4e48\u662f CloudStack&\#8482?
|
||||||
label.xenserver.tools.version.61.plus=XenServer Tools \u7248\u672c 6.1\\+
|
label.xenserver.tools.version.61.plus=XenServer Tools \u7248\u672c 6.1\\+
|
||||||
label.Xenserver.Tools.Version61plus=XenServer Tools \u7248\u672c 6.1\\+
|
label.Xenserver.Tools.Version61plus=XenServer Tools \u7248\u672c 6.1\\+
|
||||||
label.xen.traffic.label=XenServer \u6d41\u91cf\u6807\u7b7e
|
label.xenserver.traffic.label=XenServer \u6d41\u91cf\u6807\u7b7e
|
||||||
label.yes=\u662f
|
label.yes=\u662f
|
||||||
label.zone.dedicated=\u8d44\u6e90\u57df\u5df2\u4e13\u7528
|
label.zone.dedicated=\u8d44\u6e90\u57df\u5df2\u4e13\u7528
|
||||||
label.zone.details=\u533a\u57df\u8be6\u60c5
|
label.zone.details=\u533a\u57df\u8be6\u60c5
|
||||||
|
|||||||
@ -147,7 +147,7 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.cloudstack</groupId>
|
<groupId>org.apache.cloudstack</groupId>
|
||||||
<artifactId>cloud-plugin-hypervisor-xen</artifactId>
|
<artifactId>cloud-plugin-hypervisor-xenserver</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|||||||
@ -528,7 +528,7 @@
|
|||||||
<!--
|
<!--
|
||||||
Discovers
|
Discovers
|
||||||
-->
|
-->
|
||||||
<bean id="XcpServerDiscoverer" class="com.cloud.hypervisor.xen.discoverer.XcpServerDiscoverer">
|
<bean id="XcpServerDiscoverer" class="com.cloud.hypervisor.xenserver.discoverer.XcpServerDiscoverer">
|
||||||
<property name="name" value="XCP Agent"/>
|
<property name="name" value="XCP Agent"/>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
|
|||||||
@ -48,7 +48,7 @@ public class PhysicalNetworkTrafficTypeVO implements PhysicalNetworkTrafficType
|
|||||||
@Enumerated(value = EnumType.STRING)
|
@Enumerated(value = EnumType.STRING)
|
||||||
TrafficType trafficType;
|
TrafficType trafficType;
|
||||||
|
|
||||||
@Column(name = "xen_network_label")
|
@Column(name = "xenserver_network_label")
|
||||||
private String xenNetworkLabel;
|
private String xenNetworkLabel;
|
||||||
|
|
||||||
@Column(name = "kvm_network_label")
|
@Column(name = "kvm_network_label")
|
||||||
|
|||||||
@ -58,7 +58,7 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.cloudstack</groupId>
|
<groupId>org.apache.cloudstack</groupId>
|
||||||
<artifactId>cloud-plugin-hypervisor-xen</artifactId>
|
<artifactId>cloud-plugin-hypervisor-xenserver</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|||||||
@ -52,7 +52,7 @@ import com.cloud.host.dao.HostDao;
|
|||||||
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
||||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
|
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
|
||||||
import com.cloud.hypervisor.vmware.VmwareServerDiscoverer;
|
import com.cloud.hypervisor.vmware.VmwareServerDiscoverer;
|
||||||
import com.cloud.hypervisor.xen.resource.XcpOssResource;
|
import com.cloud.hypervisor.xenserver.resource.XcpOssResource;
|
||||||
import com.cloud.resource.ServerResource;
|
import com.cloud.resource.ServerResource;
|
||||||
import com.cloud.utils.component.ManagerBase;
|
import com.cloud.utils.component.ManagerBase;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
|
|||||||
@ -85,17 +85,17 @@ public class DirectAgentTest extends CloudStackTestNGBase {
|
|||||||
|
|
||||||
HostPodVO pod = new HostPodVO(UUID.randomUUID().toString(), dc.getId(), getHostGateway(), getHostCidr(), 8, "test");
|
HostPodVO pod = new HostPodVO(UUID.randomUUID().toString(), dc.getId(), getHostGateway(), getHostCidr(), 8, "test");
|
||||||
pod = podDao.persist(pod);
|
pod = podDao.persist(pod);
|
||||||
// create xen cluster
|
// create xenserver cluster
|
||||||
ClusterVO cluster = new ClusterVO(dc.getId(), pod.getId(), "devcloud cluster");
|
ClusterVO cluster = new ClusterVO(dc.getId(), pod.getId(), "devcloud cluster");
|
||||||
cluster.setHypervisorType(HypervisorType.XenServer.toString());
|
cluster.setHypervisorType(HypervisorType.XenServer.toString());
|
||||||
cluster.setClusterType(ClusterType.CloudManaged);
|
cluster.setClusterType(ClusterType.CloudManaged);
|
||||||
cluster.setManagedState(ManagedState.Managed);
|
cluster.setManagedState(ManagedState.Managed);
|
||||||
cluster = clusterDao.persist(cluster);
|
cluster = clusterDao.persist(cluster);
|
||||||
clusterId = cluster.getId();
|
clusterId = cluster.getId();
|
||||||
// create xen host
|
// create xenserver host
|
||||||
|
|
||||||
host = new HostVO(getHostGuid());
|
host = new HostVO(getHostGuid());
|
||||||
host.setName("devcloud xen host");
|
host.setName("devcloud xenserver host");
|
||||||
host.setType(Host.Type.Routing);
|
host.setType(Host.Type.Routing);
|
||||||
host.setHypervisorType(HypervisorType.XenServer);
|
host.setHypervisorType(HypervisorType.XenServer);
|
||||||
host.setPrivateIpAddress(getHostIp());
|
host.setPrivateIpAddress(getHostIp());
|
||||||
|
|||||||
@ -158,7 +158,7 @@ public class EndpointSelectorTest {
|
|||||||
HostPodVO pod = new HostPodVO(UUID.randomUUID().toString(), dc.getId(), "10.223.0.1", "10.233.2.2/25", 8, "test");
|
HostPodVO pod = new HostPodVO(UUID.randomUUID().toString(), dc.getId(), "10.223.0.1", "10.233.2.2/25", 8, "test");
|
||||||
pod = podDao.persist(pod);
|
pod = podDao.persist(pod);
|
||||||
podId = pod.getId();
|
podId = pod.getId();
|
||||||
// create xen cluster
|
// create xenserver cluster
|
||||||
ClusterVO cluster = new ClusterVO(dc.getId(), pod.getId(), "devcloud cluster");
|
ClusterVO cluster = new ClusterVO(dc.getId(), pod.getId(), "devcloud cluster");
|
||||||
cluster.setHypervisorType(Hypervisor.HypervisorType.XenServer.toString());
|
cluster.setHypervisorType(Hypervisor.HypervisorType.XenServer.toString());
|
||||||
cluster.setClusterType(Cluster.ClusterType.CloudManaged);
|
cluster.setClusterType(Cluster.ClusterType.CloudManaged);
|
||||||
@ -230,7 +230,7 @@ public class EndpointSelectorTest {
|
|||||||
public HostVO createHost(Hypervisor.HypervisorType hypervisorType) {
|
public HostVO createHost(Hypervisor.HypervisorType hypervisorType) {
|
||||||
String uuid = UUID.randomUUID().toString();
|
String uuid = UUID.randomUUID().toString();
|
||||||
HostVO host = new HostVO(uuid);
|
HostVO host = new HostVO(uuid);
|
||||||
host.setName("devcloud xen host");
|
host.setName("devcloud xenserver host");
|
||||||
host.setType(Host.Type.Routing);
|
host.setType(Host.Type.Routing);
|
||||||
host.setPrivateIpAddress(uuid);
|
host.setPrivateIpAddress(uuid);
|
||||||
host.setDataCenterId(dcId);
|
host.setDataCenterId(dcId);
|
||||||
|
|||||||
@ -191,17 +191,17 @@ public class SnapshotTest extends CloudStackTestNGBase {
|
|||||||
HostPodVO pod = new HostPodVO(UUID.randomUUID().toString(), dc.getId(), this.getHostGateway(), this.getHostCidr(), 8, "test");
|
HostPodVO pod = new HostPodVO(UUID.randomUUID().toString(), dc.getId(), this.getHostGateway(), this.getHostCidr(), 8, "test");
|
||||||
pod = podDao.persist(pod);
|
pod = podDao.persist(pod);
|
||||||
podId = pod.getId();
|
podId = pod.getId();
|
||||||
// create xen cluster
|
// create xenserver cluster
|
||||||
ClusterVO cluster = new ClusterVO(dc.getId(), pod.getId(), "devcloud cluster");
|
ClusterVO cluster = new ClusterVO(dc.getId(), pod.getId(), "devcloud cluster");
|
||||||
cluster.setHypervisorType(this.getHypervisor().toString());
|
cluster.setHypervisorType(this.getHypervisor().toString());
|
||||||
cluster.setClusterType(ClusterType.CloudManaged);
|
cluster.setClusterType(ClusterType.CloudManaged);
|
||||||
cluster.setManagedState(ManagedState.Managed);
|
cluster.setManagedState(ManagedState.Managed);
|
||||||
cluster = clusterDao.persist(cluster);
|
cluster = clusterDao.persist(cluster);
|
||||||
clusterId = cluster.getId();
|
clusterId = cluster.getId();
|
||||||
// create xen host
|
// create xenserver host
|
||||||
|
|
||||||
host = new HostVO(this.getHostGuid());
|
host = new HostVO(this.getHostGuid());
|
||||||
host.setName("devcloud xen host");
|
host.setName("devcloud xenserver host");
|
||||||
host.setType(Host.Type.Routing);
|
host.setType(Host.Type.Routing);
|
||||||
host.setPrivateIpAddress(this.getHostIp());
|
host.setPrivateIpAddress(this.getHostIp());
|
||||||
host.setDataCenterId(dc.getId());
|
host.setDataCenterId(dc.getId());
|
||||||
|
|||||||
@ -157,7 +157,7 @@ public class SnapshotTestWithFakeData {
|
|||||||
HostPodVO pod = new HostPodVO(UUID.randomUUID().toString(), dc.getId(), "10.223.0.1", "10.233.2.2/25", 8, "test");
|
HostPodVO pod = new HostPodVO(UUID.randomUUID().toString(), dc.getId(), "10.223.0.1", "10.233.2.2/25", 8, "test");
|
||||||
pod = podDao.persist(pod);
|
pod = podDao.persist(pod);
|
||||||
podId = pod.getId();
|
podId = pod.getId();
|
||||||
// create xen cluster
|
// create xenserver cluster
|
||||||
ClusterVO cluster = new ClusterVO(dc.getId(), pod.getId(), "devcloud cluster");
|
ClusterVO cluster = new ClusterVO(dc.getId(), pod.getId(), "devcloud cluster");
|
||||||
cluster.setHypervisorType(Hypervisor.HypervisorType.XenServer.toString());
|
cluster.setHypervisorType(Hypervisor.HypervisorType.XenServer.toString());
|
||||||
cluster.setClusterType(Cluster.ClusterType.CloudManaged);
|
cluster.setClusterType(Cluster.ClusterType.CloudManaged);
|
||||||
|
|||||||
@ -148,17 +148,17 @@ public class VolumeServiceTest extends CloudStackTestNGBase {
|
|||||||
HostPodVO pod = new HostPodVO(UUID.randomUUID().toString(), dc.getId(), this.getHostGateway(), this.getHostCidr(), 8, "test");
|
HostPodVO pod = new HostPodVO(UUID.randomUUID().toString(), dc.getId(), this.getHostGateway(), this.getHostCidr(), 8, "test");
|
||||||
pod = podDao.persist(pod);
|
pod = podDao.persist(pod);
|
||||||
podId = pod.getId();
|
podId = pod.getId();
|
||||||
// create xen cluster
|
// create xenserver cluster
|
||||||
ClusterVO cluster = new ClusterVO(dc.getId(), pod.getId(), "devcloud cluster");
|
ClusterVO cluster = new ClusterVO(dc.getId(), pod.getId(), "devcloud cluster");
|
||||||
cluster.setHypervisorType(HypervisorType.XenServer.toString());
|
cluster.setHypervisorType(HypervisorType.XenServer.toString());
|
||||||
cluster.setClusterType(ClusterType.CloudManaged);
|
cluster.setClusterType(ClusterType.CloudManaged);
|
||||||
cluster.setManagedState(ManagedState.Managed);
|
cluster.setManagedState(ManagedState.Managed);
|
||||||
cluster = clusterDao.persist(cluster);
|
cluster = clusterDao.persist(cluster);
|
||||||
clusterId = cluster.getId();
|
clusterId = cluster.getId();
|
||||||
// create xen host
|
// create xenserver host
|
||||||
|
|
||||||
host = new HostVO(this.getHostGuid());
|
host = new HostVO(this.getHostGuid());
|
||||||
host.setName("devcloud xen host");
|
host.setName("devcloud xenserver host");
|
||||||
host.setType(Host.Type.Routing);
|
host.setType(Host.Type.Routing);
|
||||||
host.setPrivateIpAddress(this.getHostIp());
|
host.setPrivateIpAddress(this.getHostIp());
|
||||||
host.setDataCenterId(dc.getId());
|
host.setDataCenterId(dc.getId());
|
||||||
|
|||||||
@ -167,17 +167,17 @@ public class VolumeTest extends CloudStackTestNGBase {
|
|||||||
HostPodVO pod = new HostPodVO(UUID.randomUUID().toString(), dc.getId(), this.getHostGateway(), this.getHostCidr(), 8, "test");
|
HostPodVO pod = new HostPodVO(UUID.randomUUID().toString(), dc.getId(), this.getHostGateway(), this.getHostCidr(), 8, "test");
|
||||||
pod = podDao.persist(pod);
|
pod = podDao.persist(pod);
|
||||||
podId = pod.getId();
|
podId = pod.getId();
|
||||||
// create xen cluster
|
// create xenserver cluster
|
||||||
ClusterVO cluster = new ClusterVO(dc.getId(), pod.getId(), "devcloud cluster");
|
ClusterVO cluster = new ClusterVO(dc.getId(), pod.getId(), "devcloud cluster");
|
||||||
cluster.setHypervisorType(this.getHypervisor().toString());
|
cluster.setHypervisorType(this.getHypervisor().toString());
|
||||||
cluster.setClusterType(ClusterType.CloudManaged);
|
cluster.setClusterType(ClusterType.CloudManaged);
|
||||||
cluster.setManagedState(ManagedState.Managed);
|
cluster.setManagedState(ManagedState.Managed);
|
||||||
cluster = clusterDao.persist(cluster);
|
cluster = clusterDao.persist(cluster);
|
||||||
clusterId = cluster.getId();
|
clusterId = cluster.getId();
|
||||||
// create xen host
|
// create xenserver host
|
||||||
|
|
||||||
host = new HostVO(this.getHostGuid());
|
host = new HostVO(this.getHostGuid());
|
||||||
host.setName("devcloud xen host");
|
host.setName("devcloud xenserver host");
|
||||||
host.setType(Host.Type.Routing);
|
host.setType(Host.Type.Routing);
|
||||||
host.setPrivateIpAddress(this.getHostIp());
|
host.setPrivateIpAddress(this.getHostIp());
|
||||||
host.setDataCenterId(dc.getId());
|
host.setDataCenterId(dc.getId());
|
||||||
|
|||||||
@ -109,7 +109,7 @@
|
|||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
|
|
||||||
<bean id="XcpServerDiscoverer" class="com.cloud.hypervisor.xen.discoverer.XcpServerDiscoverer">
|
<bean id="XcpServerDiscoverer" class="com.cloud.hypervisor.xenserver.discoverer.XcpServerDiscoverer">
|
||||||
<property name="name" value="XCP Agent"/>
|
<property name="name" value="XCP Agent"/>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
|
|||||||
@ -150,7 +150,7 @@ public class DefaultEndPointSelector implements EndPointSelector {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected EndPoint findEndPointForImageMove(DataStore srcStore, DataStore destStore) {
|
protected EndPoint findEndPointForImageMove(DataStore srcStore, DataStore destStore) {
|
||||||
// find any xen/kvm host in the scope
|
// find any xenserver/kvm host in the scope
|
||||||
Scope srcScope = srcStore.getScope();
|
Scope srcScope = srcStore.getScope();
|
||||||
Scope destScope = destStore.getScope();
|
Scope destScope = destStore.getScope();
|
||||||
Scope selectedScope = null;
|
Scope selectedScope = null;
|
||||||
|
|||||||
@ -70,9 +70,9 @@
|
|||||||
</display>
|
</display>
|
||||||
</interface>
|
</interface>
|
||||||
<class id="6" corner="BOTTOM_RIGHT" language="java"
|
<class id="6" corner="BOTTOM_RIGHT" language="java"
|
||||||
name="org.apache.cloudstack.storage.datastore.configurator.xen.XenNfsConfigurator"
|
name="org.apache.cloudstack.storage.datastore.configurator.xenserver.XenNfsConfigurator"
|
||||||
project="cloud-engine-storage-volume"
|
project="cloud-engine-storage-volume"
|
||||||
file="/cloud-engine-storage-volume/src/org/apache/cloudstack/storage/datastore/configurator/xen/XenNfsConfigurator.java"
|
file="/cloud-engine-storage-volume/src/org/apache/cloudstack/storage/datastore/configurator/xenserver/XenNfsConfigurator.java"
|
||||||
binary="false">
|
binary="false">
|
||||||
<position height="-1" width="-1" x="1482" y="448"/>
|
<position height="-1" width="-1" x="1482" y="448"/>
|
||||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" visibility="true">
|
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" visibility="true">
|
||||||
@ -81,9 +81,9 @@
|
|||||||
</display>
|
</display>
|
||||||
</class>
|
</class>
|
||||||
<class id="7" corner="BOTTOM_RIGHT" language="java"
|
<class id="7" corner="BOTTOM_RIGHT" language="java"
|
||||||
name="org.apache.cloudstack.storage.datastore.configurator.xen.AbstractXenConfigurator"
|
name="org.apache.cloudstack.storage.datastore.configurator.xenserver.AbstractXenConfigurator"
|
||||||
project="cloud-engine-storage-volume"
|
project="cloud-engine-storage-volume"
|
||||||
file="/cloud-engine-storage-volume/src/org/apache/cloudstack/storage/datastore/configurator/xen/AbstractXenConfigurator.java"
|
file="/cloud-engine-storage-volume/src/org/apache/cloudstack/storage/datastore/configurator/xenserver/AbstractXenConfigurator.java"
|
||||||
binary="false">
|
binary="false">
|
||||||
<position height="-1" width="-1" x="1536" y="278"/>
|
<position height="-1" width="-1" x="1536" y="278"/>
|
||||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" visibility="true">
|
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" visibility="true">
|
||||||
@ -134,9 +134,9 @@
|
|||||||
</display>
|
</display>
|
||||||
</class>
|
</class>
|
||||||
<class id="12" corner="BOTTOM_RIGHT" language="java"
|
<class id="12" corner="BOTTOM_RIGHT" language="java"
|
||||||
name="org.apache.cloudstack.storage.datastore.lifecycle.DefaultXenPrimaryDataStoreLifeCycle"
|
name="org.apache.cloudstack.storage.datastore.lifecycle.DefaultXenServerPrimaryDataStoreLifeCycle"
|
||||||
project="cloud-engine-storage-volume"
|
project="cloud-engine-storage-volume"
|
||||||
file="/cloud-engine-storage-volume/src/org/apache/cloudstack/storage/datastore/lifecycle/DefaultXenPrimaryDataStoreLifeCycle.java"
|
file="/cloud-engine-storage-volume/src/org/apache/cloudstack/storage/datastore/lifecycle/DefaultXenServerPrimaryDataStoreLifeCycle.java"
|
||||||
binary="false">
|
binary="false">
|
||||||
<position height="-1" width="-1" x="724" y="1502"/>
|
<position height="-1" width="-1" x="724" y="1502"/>
|
||||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" visibility="true">
|
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" visibility="true">
|
||||||
@ -156,9 +156,9 @@
|
|||||||
</display>
|
</display>
|
||||||
</class>
|
</class>
|
||||||
<class id="14" corner="BOTTOM_RIGHT" language="java"
|
<class id="14" corner="BOTTOM_RIGHT" language="java"
|
||||||
name="org.apache.cloudstack.storage.datastore.configurator.xen.XenIscsiConfigurator"
|
name="org.apache.cloudstack.storage.datastore.configurator.xenserver.XenServerIscsiConfigurator"
|
||||||
project="cloud-engine-storage-volume"
|
project="cloud-engine-storage-volume"
|
||||||
file="/cloud-engine-storage-volume/src/org/apache/cloudstack/storage/datastore/configurator/xen/XenIscsiConfigurator.java"
|
file="/cloud-engine-storage-volume/src/org/apache/cloudstack/storage/datastore/configurator/xenserver/XenServerIscsiConfigurator.java"
|
||||||
binary="false">
|
binary="false">
|
||||||
<position height="-1" width="-1" x="1817" y="450"/>
|
<position height="-1" width="-1" x="1817" y="450"/>
|
||||||
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" visibility="true">
|
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true" visibility="true">
|
||||||
|
|||||||
@ -1,18 +1,18 @@
|
|||||||
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
|
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
|
||||||
license agreements. See the NOTICE file distributed with this work for additional
|
license agreements. See the NOTICE file distributed with this work for additional
|
||||||
information regarding copyright ownership. The ASF licenses this file to
|
information regarding copyright ownership. The ASF licenses this file to
|
||||||
you under the Apache License, Version 2.0 (the "License"); you may not use
|
you under the Apache License, Version 2.0 (the "License"); you may not use
|
||||||
this file except in compliance with the License. You may obtain a copy of
|
this file except in compliance with the License. You may obtain a copy of
|
||||||
the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
|
the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
|
||||||
by applicable law or agreed to in writing, software distributed under the
|
by applicable law or agreed to in writing, software distributed under the
|
||||||
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
|
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
|
||||||
OF ANY KIND, either express or implied. See the License for the specific
|
OF ANY KIND, either express or implied. See the License for the specific
|
||||||
language governing permissions and limitations under the License. -->
|
language governing permissions and limitations under the License. -->
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>cloud-plugin-hypervisor-xen</artifactId>
|
<artifactId>cloud-plugin-hypervisor-xenserver</artifactId>
|
||||||
<name>Apache CloudStack Plugin - Hypervisor Xen</name>
|
<name>Apache CloudStack Plugin - Hypervisor XenServer</name>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.apache.cloudstack</groupId>
|
<groupId>org.apache.cloudstack</groupId>
|
||||||
<artifactId>cloudstack-plugins</artifactId>
|
<artifactId>cloudstack-plugins</artifactId>
|
||||||
@ -1,12 +1,12 @@
|
|||||||
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
|
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
|
||||||
license agreements. See the NOTICE file distributed with this work for additional
|
license agreements. See the NOTICE file distributed with this work for additional
|
||||||
information regarding copyright ownership. The ASF licenses this file to
|
information regarding copyright ownership. The ASF licenses this file to
|
||||||
you under the Apache License, Version 2.0 (the "License"); you may not use
|
you under the Apache License, Version 2.0 (the "License"); you may not use
|
||||||
this file except in compliance with the License. You may obtain a copy of
|
this file except in compliance with the License. You may obtain a copy of
|
||||||
the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
|
the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
|
||||||
by applicable law or agreed to in writing, software distributed under the
|
by applicable law or agreed to in writing, software distributed under the
|
||||||
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
|
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
|
||||||
OF ANY KIND, either express or implied. See the License for the specific
|
OF ANY KIND, either express or implied. See the License for the specific
|
||||||
language governing permissions and limitations under the License. -->
|
language governing permissions and limitations under the License. -->
|
||||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
|
||||||
@ -1,12 +1,12 @@
|
|||||||
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
|
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
|
||||||
license agreements. See the NOTICE file distributed with this work for additional
|
license agreements. See the NOTICE file distributed with this work for additional
|
||||||
information regarding copyright ownership. The ASF licenses this file to
|
information regarding copyright ownership. The ASF licenses this file to
|
||||||
you under the Apache License, Version 2.0 (the "License"); you may not use
|
you under the Apache License, Version 2.0 (the "License"); you may not use
|
||||||
this file except in compliance with the License. You may obtain a copy of
|
this file except in compliance with the License. You may obtain a copy of
|
||||||
the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
|
the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
|
||||||
by applicable law or agreed to in writing, software distributed under the
|
by applicable law or agreed to in writing, software distributed under the
|
||||||
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
|
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
|
||||||
OF ANY KIND, either express or implied. See the License for the specific
|
OF ANY KIND, either express or implied. See the License for the specific
|
||||||
language governing permissions and limitations under the License. -->
|
language governing permissions and limitations under the License. -->
|
||||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
|
||||||
@ -18,7 +18,7 @@
|
|||||||
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
|
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
|
||||||
|
|
||||||
<bean id="XcpServerDiscoverer"
|
<bean id="XcpServerDiscoverer"
|
||||||
class="com.cloud.hypervisor.xen.discoverer.XcpServerDiscoverer">
|
class="com.cloud.hypervisor.xenserver.discoverer.XcpServerDiscoverer">
|
||||||
<property name="name" value="XCP Agent" />
|
<property name="name" value="XCP Agent" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
@ -14,7 +14,7 @@
|
|||||||
// KIND, either express or implied. See the License for the
|
// KIND, either express or implied. See the License for the
|
||||||
// specific language governing permissions and limitations
|
// specific language governing permissions and limitations
|
||||||
// under the License.
|
// under the License.
|
||||||
package com.cloud.hypervisor.xen.discoverer;
|
package com.cloud.hypervisor.xenserver.discoverer;
|
||||||
|
|
||||||
import com.cloud.agent.AgentManager;
|
import com.cloud.agent.AgentManager;
|
||||||
import com.cloud.agent.Listener;
|
import com.cloud.agent.Listener;
|
||||||
@ -43,20 +43,20 @@ import com.cloud.host.HostVO;
|
|||||||
import com.cloud.host.Status;
|
import com.cloud.host.Status;
|
||||||
import com.cloud.hypervisor.Hypervisor;
|
import com.cloud.hypervisor.Hypervisor;
|
||||||
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
||||||
import com.cloud.hypervisor.xen.resource.CitrixResourceBase;
|
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
|
||||||
import com.cloud.hypervisor.xen.resource.XcpOssResource;
|
import com.cloud.hypervisor.xenserver.resource.XcpOssResource;
|
||||||
import com.cloud.hypervisor.xen.resource.XcpServer16Resource;
|
import com.cloud.hypervisor.xenserver.resource.XcpServer16Resource;
|
||||||
import com.cloud.hypervisor.xen.resource.XcpServerResource;
|
import com.cloud.hypervisor.xenserver.resource.XcpServerResource;
|
||||||
import com.cloud.hypervisor.xen.resource.XenServer56FP1Resource;
|
import com.cloud.hypervisor.xenserver.resource.XenServer56FP1Resource;
|
||||||
import com.cloud.hypervisor.xen.resource.XenServer56Resource;
|
import com.cloud.hypervisor.xenserver.resource.XenServer56Resource;
|
||||||
import com.cloud.hypervisor.xen.resource.XenServer56SP2Resource;
|
import com.cloud.hypervisor.xenserver.resource.XenServer56SP2Resource;
|
||||||
import com.cloud.hypervisor.xen.resource.XenServer600Resource;
|
import com.cloud.hypervisor.xenserver.resource.XenServer600Resource;
|
||||||
import com.cloud.hypervisor.xen.resource.XenServer602Resource;
|
import com.cloud.hypervisor.xenserver.resource.XenServer602Resource;
|
||||||
import com.cloud.hypervisor.xen.resource.XenServer610Resource;
|
import com.cloud.hypervisor.xenserver.resource.XenServer610Resource;
|
||||||
import com.cloud.hypervisor.xen.resource.XenServer620Resource;
|
import com.cloud.hypervisor.xenserver.resource.XenServer620Resource;
|
||||||
import com.cloud.hypervisor.xen.resource.XenServer620SP1Resource;
|
import com.cloud.hypervisor.xenserver.resource.XenServer620SP1Resource;
|
||||||
import com.cloud.hypervisor.xen.resource.XenServerConnectionPool;
|
import com.cloud.hypervisor.xenserver.resource.XenServerConnectionPool;
|
||||||
import com.cloud.hypervisor.xen.resource.Xenserver625Resource;
|
import com.cloud.hypervisor.xenserver.resource.Xenserver625Resource;
|
||||||
import com.cloud.resource.Discoverer;
|
import com.cloud.resource.Discoverer;
|
||||||
import com.cloud.resource.DiscovererBase;
|
import com.cloud.resource.DiscovererBase;
|
||||||
import com.cloud.resource.ResourceStateAdapter;
|
import com.cloud.resource.ResourceStateAdapter;
|
||||||
@ -347,12 +347,12 @@ public class XcpServerDiscoverer extends DiscovererBase implements Discoverer, L
|
|||||||
params.put("wait", Integer.toString(_wait));
|
params.put("wait", Integer.toString(_wait));
|
||||||
details.put("wait", Integer.toString(_wait));
|
details.put("wait", Integer.toString(_wait));
|
||||||
params.put("migratewait", _configDao.getValue(Config.MigrateWait.toString()));
|
params.put("migratewait", _configDao.getValue(Config.MigrateWait.toString()));
|
||||||
params.put(Config.XenMaxNics.toString().toLowerCase(), _configDao.getValue(Config.XenMaxNics.toString()));
|
params.put(Config.XenServerMaxNics.toString().toLowerCase(), _configDao.getValue(Config.XenServerMaxNics.toString()));
|
||||||
params.put(Config.XenHeartBeatInterval.toString().toLowerCase(), _configDao.getValue(Config.XenHeartBeatInterval.toString()));
|
params.put(Config.XenServerHeartBeatInterval.toString().toLowerCase(), _configDao.getValue(Config.XenServerHeartBeatInterval.toString()));
|
||||||
params.put(Config.InstanceName.toString().toLowerCase(), _instance);
|
params.put(Config.InstanceName.toString().toLowerCase(), _instance);
|
||||||
details.put(Config.InstanceName.toString().toLowerCase(), _instance);
|
details.put(Config.InstanceName.toString().toLowerCase(), _instance);
|
||||||
try {
|
try {
|
||||||
resource.configure("Xen Server", params);
|
resource.configure("XenServer", params);
|
||||||
} catch (ConfigurationException e) {
|
} catch (ConfigurationException e) {
|
||||||
_alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_HOST, dcId, podId, "Unable to add " + record.address, "Error is " + e.getMessage());
|
_alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_HOST, dcId, podId, "Unable to add " + record.address, "Error is " + e.getMessage());
|
||||||
s_logger.warn("Unable to instantiate " + record.address, e);
|
s_logger.warn("Unable to instantiate " + record.address, e);
|
||||||
@ -455,7 +455,7 @@ public class XcpServerDiscoverer extends DiscovererBase implements Discoverer, L
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void serverConfig() {
|
protected void serverConfig() {
|
||||||
String value = _params.get(Config.XenSetupMultipath.key());
|
String value = _params.get(Config.XenServerSetupMultipath.key());
|
||||||
_setupMultipath = Boolean.parseBoolean(value);
|
_setupMultipath = Boolean.parseBoolean(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -464,23 +464,23 @@ public class XcpServerDiscoverer extends DiscovererBase implements Discoverer, L
|
|||||||
super.configure(name, params);
|
super.configure(name, params);
|
||||||
serverConfig();
|
serverConfig();
|
||||||
|
|
||||||
_publicNic = _params.get(Config.XenPublicNetwork.key());
|
_publicNic = _params.get(Config.XenServerPublicNetwork.key());
|
||||||
_privateNic = _params.get(Config.XenPrivateNetwork.key());
|
_privateNic = _params.get(Config.XenServerPrivateNetwork.key());
|
||||||
|
|
||||||
_storageNic1 = _params.get(Config.XenStorageNetwork1.key());
|
_storageNic1 = _params.get(Config.XenServerStorageNetwork1.key());
|
||||||
_storageNic2 = _params.get(Config.XenStorageNetwork2.key());
|
_storageNic2 = _params.get(Config.XenServerStorageNetwork2.key());
|
||||||
|
|
||||||
_guestNic = _params.get(Config.XenGuestNetwork.key());
|
_guestNic = _params.get(Config.XenServerGuestNetwork.key());
|
||||||
|
|
||||||
String value = _params.get(Config.XapiWait.toString());
|
String value = _params.get(Config.XapiWait.toString());
|
||||||
_wait = NumbersUtil.parseInt(value, Integer.parseInt(Config.XapiWait.getDefaultValue()));
|
_wait = NumbersUtil.parseInt(value, Integer.parseInt(Config.XapiWait.getDefaultValue()));
|
||||||
|
|
||||||
_instance = _params.get(Config.InstanceName.key());
|
_instance = _params.get(Config.InstanceName.key());
|
||||||
|
|
||||||
value = _params.get(Config.XenSetupMultipath.key());
|
value = _params.get(Config.XenServerSetupMultipath.key());
|
||||||
Boolean.parseBoolean(value);
|
Boolean.parseBoolean(value);
|
||||||
|
|
||||||
value = _params.get("xen.check.hvm");
|
value = _params.get("xenserver.check.hvm");
|
||||||
_checkHvm = false;
|
_checkHvm = false;
|
||||||
_connPool = XenServerConnectionPool.getInstance();
|
_connPool = XenServerConnectionPool.getInstance();
|
||||||
|
|
||||||
@ -14,7 +14,7 @@
|
|||||||
// KIND, either express or implied. See the License for the
|
// KIND, either express or implied. See the License for the
|
||||||
// specific language governing permissions and limitations
|
// specific language governing permissions and limitations
|
||||||
// under the License.
|
// under the License.
|
||||||
package com.cloud.hypervisor.xen.resource;
|
package com.cloud.hypervisor.xenserver.resource;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -2401,4 +2401,4 @@ public class CitrixHelper {
|
|||||||
}
|
}
|
||||||
return recommendedMaxMinMemory.getMin();
|
return recommendedMaxMinMemory.getMin();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -14,7 +14,7 @@
|
|||||||
// KIND, either express or implied. See the License for the
|
// KIND, either express or implied. See the License for the
|
||||||
// specific language governing permissions and limitations
|
// specific language governing permissions and limitations
|
||||||
// under the License.
|
// under the License.
|
||||||
package com.cloud.hypervisor.xen.resource;
|
package com.cloud.hypervisor.xenserver.resource;
|
||||||
|
|
||||||
import com.cloud.agent.IAgentControl;
|
import com.cloud.agent.IAgentControl;
|
||||||
import com.cloud.agent.api.Answer;
|
import com.cloud.agent.api.Answer;
|
||||||
@ -291,10 +291,10 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||||||
protected int _pollingIntervalInSeconds = 60;
|
protected int _pollingIntervalInSeconds = 60;
|
||||||
|
|
||||||
//Hypervisor specific params with generic value, may need to be overridden for specific versions
|
//Hypervisor specific params with generic value, may need to be overridden for specific versions
|
||||||
long _xsMemoryUsed = 128 * 1024 * 1024L; // xen hypervisor used 128 M
|
long _xsMemoryUsed = 128 * 1024 * 1024L; // xenserver hypervisor used 128 M
|
||||||
double _xsVirtualizationFactor = 63.0 / 64.0; // 1 - virtualization overhead
|
double _xsVirtualizationFactor = 63.0 / 64.0; // 1 - virtualization overhead
|
||||||
|
|
||||||
//static min values for guests on xen
|
//static min values for guests on xenserver
|
||||||
private static final long mem_128m = 134217728L;
|
private static final long mem_128m = 134217728L;
|
||||||
|
|
||||||
protected boolean _canBridgeFirewall = false;
|
protected boolean _canBridgeFirewall = false;
|
||||||
@ -993,11 +993,11 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||||||
nw = Network.create(conn, rec);
|
nw = Network.create(conn, rec);
|
||||||
// Plug dom0 vif only when creating network
|
// Plug dom0 vif only when creating network
|
||||||
enableXenServerNetwork(conn, nw, nwName, "tunnel network for account " + nwName);
|
enableXenServerNetwork(conn, nw, nwName, "tunnel network for account " + nwName);
|
||||||
s_logger.debug("### Xen Server network for tunnels created:" + nwName);
|
s_logger.debug("### XenServer network for tunnels created:" + nwName);
|
||||||
} else {
|
} else {
|
||||||
nw = networks.iterator().next();
|
nw = networks.iterator().next();
|
||||||
enableXenServerNetwork(conn, nw, nwName, "tunnel network for account " + nwName);
|
enableXenServerNetwork(conn, nw, nwName, "tunnel network for account " + nwName);
|
||||||
s_logger.debug("Xen Server network for tunnels found:" + nwName);
|
s_logger.debug("XenServer network for tunnels found:" + nwName);
|
||||||
}
|
}
|
||||||
return nw;
|
return nw;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@ -1490,8 +1490,8 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||||||
vm.setPlatform(conn, platform);
|
vm.setPlatform(conn, platform);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
String xentoolsversion = details.get("hypervisortoolsversion");
|
String xenservertoolsversion = details.get("hypervisortoolsversion");
|
||||||
if (xentoolsversion == null || !xentoolsversion.equalsIgnoreCase("xenserver61")) {
|
if (xenservertoolsversion == null || !xenservertoolsversion.equalsIgnoreCase("xenserver61")) {
|
||||||
Map<String, String> platform = vm.getPlatform(conn);
|
Map<String, String> platform = vm.getPlatform(conn);
|
||||||
platform.remove("device_id");
|
platform.remove("device_id");
|
||||||
vm.setPlatform(conn, platform);
|
vm.setPlatform(conn, platform);
|
||||||
@ -2706,13 +2706,13 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||||||
return convertToState(vm.getPowerState(conn));
|
return convertToState(vm.getPowerState(conn));
|
||||||
}
|
}
|
||||||
} catch (final BadServerResponse e) {
|
} catch (final BadServerResponse e) {
|
||||||
// There is a race condition within xen such that if a vm is
|
// There is a race condition within xenserver such that if a vm is
|
||||||
// deleted and we
|
// deleted and we
|
||||||
// happen to ask for it, it throws this stupid response. So
|
// happen to ask for it, it throws this stupid response. So
|
||||||
// if this happens,
|
// if this happens,
|
||||||
// we take a nap and try again which then avoids the race
|
// we take a nap and try again which then avoids the race
|
||||||
// condition because
|
// condition because
|
||||||
// the vm's information is now cleaned up by xen. The error
|
// the vm's information is now cleaned up by xenserver. The error
|
||||||
// is as follows
|
// is as follows
|
||||||
// com.xensource.xenapi.Types$BadServerResponse
|
// com.xensource.xenapi.Types$BadServerResponse
|
||||||
// [HANDLE_INVALID, VM,
|
// [HANDLE_INVALID, VM,
|
||||||
@ -3292,9 +3292,9 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* When Dynamic Memory Control (DMC) is enabled -
|
* When Dynamic Memory Control (DMC) is enabled -
|
||||||
* xen allows scaling the guest memory while the guest is running
|
* xenserver allows scaling the guest memory while the guest is running
|
||||||
*
|
*
|
||||||
* By default this is disallowed, override the specific xen resource
|
* By default this is disallowed, override the specific xenserver resource
|
||||||
* if this is enabled
|
* if this is enabled
|
||||||
*/
|
*/
|
||||||
protected boolean isDmcEnabled(Connection conn, Host host) throws XenAPIException, XmlRpcException {
|
protected boolean isDmcEnabled(Connection conn, Host host) throws XenAPIException, XmlRpcException {
|
||||||
@ -4907,11 +4907,11 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||||||
host.setTags(conn, hr.tags);
|
host.setTags(conn, hr.tags);
|
||||||
return true;
|
return true;
|
||||||
} catch (XenAPIException e) {
|
} catch (XenAPIException e) {
|
||||||
String msg = "Xen setup failed due to " + e.toString();
|
String msg = "XenServer setup failed due to " + e.toString();
|
||||||
s_logger.warn(msg, e);
|
s_logger.warn(msg, e);
|
||||||
throw new CloudRuntimeException("Unable to get host information " + e.toString(), e);
|
throw new CloudRuntimeException("Unable to get host information " + e.toString(), e);
|
||||||
} catch (XmlRpcException e) {
|
} catch (XmlRpcException e) {
|
||||||
String msg = "Xen setup failed due to " + e.getMessage();
|
String msg = "XenServer setup failed due to " + e.getMessage();
|
||||||
s_logger.warn(msg, e);
|
s_logger.warn(msg, e);
|
||||||
throw new CloudRuntimeException("Unable to get host information ", e);
|
throw new CloudRuntimeException("Unable to get host information ", e);
|
||||||
}
|
}
|
||||||
@ -5718,7 +5718,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||||||
_storageNetworkName1 = (String)params.get("storage.network.device1");
|
_storageNetworkName1 = (String)params.get("storage.network.device1");
|
||||||
_storageNetworkName2 = (String)params.get("storage.network.device2");
|
_storageNetworkName2 = (String)params.get("storage.network.device2");
|
||||||
|
|
||||||
_heartbeatInterval = NumbersUtil.parseInt((String)params.get("xen.heartbeat.interval"), 60);
|
_heartbeatInterval = NumbersUtil.parseInt((String)params.get("xenserver.heartbeat.interval"), 60);
|
||||||
|
|
||||||
String value = (String)params.get("wait");
|
String value = (String)params.get("wait");
|
||||||
_wait = NumbersUtil.parseInt(value, 600);
|
_wait = NumbersUtil.parseInt(value, 600);
|
||||||
@ -5726,7 +5726,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||||||
value = (String)params.get("migratewait");
|
value = (String)params.get("migratewait");
|
||||||
_migratewait = NumbersUtil.parseInt(value, 3600);
|
_migratewait = NumbersUtil.parseInt(value, 3600);
|
||||||
|
|
||||||
_maxNics = NumbersUtil.parseInt((String)params.get("xen.nics.max"), 7);
|
_maxNics = NumbersUtil.parseInt((String)params.get("xenserver.nics.max"), 7);
|
||||||
|
|
||||||
if (_pod == null) {
|
if (_pod == null) {
|
||||||
throw new ConfigurationException("Unable to get the pod");
|
throw new ConfigurationException("Unable to get the pod");
|
||||||
@ -7279,11 +7279,11 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (s_logger.isTraceEnabled()) {
|
if (s_logger.isTraceEnabled()) {
|
||||||
s_logger.trace("VM " + vm + ": xen has state " + newState + " and we have state " + (oldState != null ? oldState.toString() : "null"));
|
s_logger.trace("VM " + vm + ": xenserver has state " + newState + " and we have state " + (oldState != null ? oldState.toString() : "null"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (vm.startsWith("migrating")) {
|
if (vm.startsWith("migrating")) {
|
||||||
s_logger.warn("Migrating from xen detected. Skipping");
|
s_logger.warn("Migrating from xenserver detected. Skipping");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (oldState == null) {
|
if (oldState == null) {
|
||||||
@ -7328,7 +7328,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||||||
String host_uuid = entry.getValue().first();
|
String host_uuid = entry.getValue().first();
|
||||||
|
|
||||||
if (s_logger.isTraceEnabled()) {
|
if (s_logger.isTraceEnabled()) {
|
||||||
s_logger.trace("VM " + vm + " is now missing from xen so reporting stopped");
|
s_logger.trace("VM " + vm + " is now missing from xenserver so reporting stopped");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (oldState == State.Stopping) {
|
if (oldState == State.Stopping) {
|
||||||
@ -15,7 +15,7 @@
|
|||||||
// specific language governing permissions and limitations
|
// specific language governing permissions and limitations
|
||||||
// under the License.
|
// under the License.
|
||||||
|
|
||||||
package com.cloud.hypervisor.xen.resource;
|
package com.cloud.hypervisor.xenserver.resource;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -17,7 +17,7 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.cloud.hypervisor.xen.resource;
|
package com.cloud.hypervisor.xenserver.resource;
|
||||||
|
|
||||||
public class XcpServer16Resource extends XcpServerResource {
|
public class XcpServer16Resource extends XcpServerResource {
|
||||||
|
|
||||||
@ -14,7 +14,7 @@
|
|||||||
// KIND, either express or implied. See the License for the
|
// KIND, either express or implied. See the License for the
|
||||||
// specific language governing permissions and limitations
|
// specific language governing permissions and limitations
|
||||||
// under the License.
|
// under the License.
|
||||||
package com.cloud.hypervisor.xen.resource;
|
package com.cloud.hypervisor.xenserver.resource;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -139,7 +139,7 @@ public class XcpServerResource extends CitrixResourceBase {
|
|||||||
cause the sum of all the dynamic-min values to exceed the total
|
cause the sum of all the dynamic-min values to exceed the total
|
||||||
host memory (taking into account various memory overheads).
|
host memory (taking into account various memory overheads).
|
||||||
|
|
||||||
cf: http://wiki.xen.org/wiki/XCP_FAQ_Dynamic_Memory_Control
|
cf: https://wiki.xenserver.org/index.php?title=XCP_FAQ_Dynamic_Memory_Control
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected void setMemory(Connection conn, VM vm, long minMemsize, long maxMemsize) throws XmlRpcException, XenAPIException {
|
protected void setMemory(Connection conn, VM vm, long minMemsize, long maxMemsize) throws XmlRpcException, XenAPIException {
|
||||||
@ -14,7 +14,7 @@
|
|||||||
// KIND, either express or implied. See the License for the
|
// KIND, either express or implied. See the License for the
|
||||||
// specific language governing permissions and limitations
|
// specific language governing permissions and limitations
|
||||||
// under the License.
|
// under the License.
|
||||||
package com.cloud.hypervisor.xen.resource;
|
package com.cloud.hypervisor.xenserver.resource;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -151,7 +151,7 @@ public class XenServer56FP1Resource extends XenServer56Resource {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* When Dynamic Memory Control (DMC) is enabled -
|
* When Dynamic Memory Control (DMC) is enabled -
|
||||||
* xen allows scaling the guest memory while the guest is running
|
* xenserver allows scaling the guest memory while the guest is running
|
||||||
*
|
*
|
||||||
* This is determined by the 'restrict_dmc' option on the host.
|
* This is determined by the 'restrict_dmc' option on the host.
|
||||||
* When false, scaling is allowed hence DMC is enabled
|
* When false, scaling is allowed hence DMC is enabled
|
||||||
@ -14,7 +14,7 @@
|
|||||||
// KIND, either express or implied. See the License for the
|
// KIND, either express or implied. See the License for the
|
||||||
// specific language governing permissions and limitations
|
// specific language governing permissions and limitations
|
||||||
// under the License.
|
// under the License.
|
||||||
package com.cloud.hypervisor.xen.resource;
|
package com.cloud.hypervisor.xenserver.resource;
|
||||||
|
|
||||||
import com.cloud.agent.api.Answer;
|
import com.cloud.agent.api.Answer;
|
||||||
import com.cloud.agent.api.CheckOnHostAnswer;
|
import com.cloud.agent.api.CheckOnHostAnswer;
|
||||||
@ -14,7 +14,7 @@
|
|||||||
// KIND, either express or implied. See the License for the
|
// KIND, either express or implied. See the License for the
|
||||||
// specific language governing permissions and limitations
|
// specific language governing permissions and limitations
|
||||||
// under the License.
|
// under the License.
|
||||||
package com.cloud.hypervisor.xen.resource;
|
package com.cloud.hypervisor.xenserver.resource;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -14,7 +14,7 @@
|
|||||||
// KIND, either express or implied. See the License for the
|
// KIND, either express or implied. See the License for the
|
||||||
// specific language governing permissions and limitations
|
// specific language governing permissions and limitations
|
||||||
// under the License.
|
// under the License.
|
||||||
package com.cloud.hypervisor.xen.resource;
|
package com.cloud.hypervisor.xenserver.resource;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -14,7 +14,7 @@
|
|||||||
// KIND, either express or implied. See the License for the
|
// KIND, either express or implied. See the License for the
|
||||||
// specific language governing permissions and limitations
|
// specific language governing permissions and limitations
|
||||||
// under the License.
|
// under the License.
|
||||||
package com.cloud.hypervisor.xen.resource;
|
package com.cloud.hypervisor.xenserver.resource;
|
||||||
import javax.ejb.Local;
|
import javax.ejb.Local;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import com.cloud.resource.ServerResource;
|
import com.cloud.resource.ServerResource;
|
||||||
@ -14,7 +14,7 @@
|
|||||||
// KIND, either express or implied. See the License for the
|
// KIND, either express or implied. See the License for the
|
||||||
// specific language governing permissions and limitations
|
// specific language governing permissions and limitations
|
||||||
// under the License.
|
// under the License.
|
||||||
package com.cloud.hypervisor.xen.resource;
|
package com.cloud.hypervisor.xenserver.resource;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -14,7 +14,7 @@
|
|||||||
// KIND, either express or implied. See the License for the
|
// KIND, either express or implied. See the License for the
|
||||||
// specific language governing permissions and limitations
|
// specific language governing permissions and limitations
|
||||||
// under the License.
|
// under the License.
|
||||||
package com.cloud.hypervisor.xen.resource;
|
package com.cloud.hypervisor.xenserver.resource;
|
||||||
import com.xensource.xenapi.Connection;
|
import com.xensource.xenapi.Connection;
|
||||||
import com.xensource.xenapi.Host;
|
import com.xensource.xenapi.Host;
|
||||||
import com.xensource.xenapi.HostPatch;
|
import com.xensource.xenapi.HostPatch;
|
||||||
@ -16,7 +16,7 @@
|
|||||||
* specific language governing permissions and limitations
|
* specific language governing permissions and limitations
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
package com.cloud.hypervisor.xen.resource;
|
package com.cloud.hypervisor.xenserver.resource;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
@ -14,7 +14,7 @@
|
|||||||
// KIND, either express or implied. See the License for the
|
// KIND, either express or implied. See the License for the
|
||||||
// specific language governing permissions and limitations
|
// specific language governing permissions and limitations
|
||||||
// under the License.
|
// under the License.
|
||||||
package com.cloud.hypervisor.xen.resource;
|
package com.cloud.hypervisor.xenserver.resource;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
@ -14,7 +14,7 @@
|
|||||||
// KIND, either express or implied. See the License for the
|
// KIND, either express or implied. See the License for the
|
||||||
// specific language governing permissions and limitations
|
// specific language governing permissions and limitations
|
||||||
// under the License.
|
// under the License.
|
||||||
package com.cloud.hypervisor.xen.resource;
|
package com.cloud.hypervisor.xenserver.resource;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -16,7 +16,7 @@
|
|||||||
* specific language governing permissions and limitations
|
* specific language governing permissions and limitations
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
package com.cloud.hypervisor.xen.resource;
|
package com.cloud.hypervisor.xenserver.resource;
|
||||||
|
|
||||||
import static com.cloud.utils.ReflectUtil.flattenProperties;
|
import static com.cloud.utils.ReflectUtil.flattenProperties;
|
||||||
import static com.google.common.collect.Lists.newArrayList;
|
import static com.google.common.collect.Lists.newArrayList;
|
||||||
@ -63,7 +63,7 @@ import com.cloud.agent.api.to.S3TO;
|
|||||||
import com.cloud.agent.api.to.StorageFilerTO;
|
import com.cloud.agent.api.to.StorageFilerTO;
|
||||||
import com.cloud.agent.api.to.SwiftTO;
|
import com.cloud.agent.api.to.SwiftTO;
|
||||||
import com.cloud.exception.InternalErrorException;
|
import com.cloud.exception.InternalErrorException;
|
||||||
import com.cloud.hypervisor.xen.resource.CitrixResourceBase.SRType;
|
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase.SRType;
|
||||||
import com.cloud.storage.DataStoreRole;
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.Storage.ImageFormat;
|
import com.cloud.storage.Storage.ImageFormat;
|
||||||
import com.cloud.storage.Storage.StoragePoolType;
|
import com.cloud.storage.Storage.StoragePoolType;
|
||||||
@ -1142,7 +1142,7 @@ public class XenServerStorageProcessor implements StorageProcessor {
|
|||||||
String result = null;
|
String result = null;
|
||||||
try {
|
try {
|
||||||
result =
|
result =
|
||||||
hypervisorResource.callHostPluginAsync(conn, "swiftxen", "swift", wait, "op", "upload", "url", swift.getUrl(), "account", swift.getAccount(), "username",
|
hypervisorResource.callHostPluginAsync(conn, "swiftxenserver", "swift", wait, "op", "upload", "url", swift.getUrl(), "account", swift.getAccount(), "username",
|
||||||
swift.getUserName(), "key", swift.getKey(), "container", container, "ldir", ldir, "lfilename", lfilename, "isISCSI", isISCSI.toString());
|
swift.getUserName(), "key", swift.getKey(), "container", container, "ldir", ldir, "lfilename", lfilename, "isISCSI", isISCSI.toString());
|
||||||
if (result != null && result.equals("true")) {
|
if (result != null && result.equals("true")) {
|
||||||
return true;
|
return true;
|
||||||
@ -1192,7 +1192,7 @@ public class XenServerStorageProcessor implements StorageProcessor {
|
|||||||
|
|
||||||
parameters.addAll(Arrays.asList("operation", "put", "filename", dir + "/" + filename, "iSCSIFlag", iSCSIFlag.toString(), "bucket", s3.getBucketName(), "key",
|
parameters.addAll(Arrays.asList("operation", "put", "filename", dir + "/" + filename, "iSCSIFlag", iSCSIFlag.toString(), "bucket", s3.getBucketName(), "key",
|
||||||
key, "https", s3.isHttps() != null ? s3.isHttps().toString() : "null", "maxSingleUploadSizeInBytes", String.valueOf(s3.getMaxSingleUploadSizeInBytes())));
|
key, "https", s3.isHttps() != null ? s3.isHttps().toString() : "null", "maxSingleUploadSizeInBytes", String.valueOf(s3.getMaxSingleUploadSizeInBytes())));
|
||||||
final String result = hypervisorResource.callHostPluginAsync(connection, "s3xen", "s3", wait, parameters.toArray(new String[parameters.size()]));
|
final String result = hypervisorResource.callHostPluginAsync(connection, "s3xenserver", "s3", wait, parameters.toArray(new String[parameters.size()]));
|
||||||
|
|
||||||
if (result != null && result.equals("true")) {
|
if (result != null && result.equals("true")) {
|
||||||
return key;
|
return key;
|
||||||
@ -16,7 +16,7 @@
|
|||||||
* specific language governing permissions and limitations
|
* specific language governing permissions and limitations
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
package com.cloud.hypervisor.xen.resource;
|
package com.cloud.hypervisor.xenserver.resource;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -16,7 +16,7 @@
|
|||||||
* specific language governing permissions and limitations
|
* specific language governing permissions and limitations
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
package com.cloud.hypervisor.xen.resource;
|
package com.cloud.hypervisor.xenserver.resource;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
@ -36,7 +36,7 @@ import com.xensource.xenapi.Types.XenAPIException;
|
|||||||
import com.xensource.xenapi.VM;
|
import com.xensource.xenapi.VM;
|
||||||
|
|
||||||
import com.cloud.agent.api.StartupCommand;
|
import com.cloud.agent.api.StartupCommand;
|
||||||
import com.cloud.hypervisor.xen.resource.XenServer620SP1Resource;
|
import com.cloud.hypervisor.xenserver.resource.XenServer620SP1Resource;
|
||||||
import com.cloud.utils.Pair;
|
import com.cloud.utils.Pair;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.cloud.vm.VirtualMachine;
|
import com.cloud.vm.VirtualMachine;
|
||||||
@ -17,7 +17,7 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.cloud.hypervisor.xen.resource;
|
package com.cloud.hypervisor.xenserver.resource;
|
||||||
|
|
||||||
import static org.junit.Assert.fail;
|
import static org.junit.Assert.fail;
|
||||||
import static org.mockito.Mockito.doNothing;
|
import static org.mockito.Mockito.doNothing;
|
||||||
@ -50,7 +50,7 @@ import com.cloud.agent.api.ScaleVmAnswer;
|
|||||||
import com.cloud.agent.api.ScaleVmCommand;
|
import com.cloud.agent.api.ScaleVmCommand;
|
||||||
import com.cloud.agent.api.to.IpAddressTO;
|
import com.cloud.agent.api.to.IpAddressTO;
|
||||||
import com.cloud.agent.api.to.VirtualMachineTO;
|
import com.cloud.agent.api.to.VirtualMachineTO;
|
||||||
import com.cloud.hypervisor.xen.resource.CitrixResourceBase.XsHost;
|
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase.XsHost;
|
||||||
|
|
||||||
public class CitrixResourceBaseTest {
|
public class CitrixResourceBaseTest {
|
||||||
|
|
||||||
@ -187,4 +187,4 @@ public class CitrixResourceBaseTest {
|
|||||||
fail("this test is meant to show that null pointer is not thrown");
|
fail("this test is meant to show that null pointer is not thrown");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -109,7 +109,7 @@ under the License.
|
|||||||
<adapter name="KVMGuru" class="com.cloud.hypervisor.KVMGuru"/>
|
<adapter name="KVMGuru" class="com.cloud.hypervisor.KVMGuru"/>
|
||||||
</adapters>
|
</adapters>
|
||||||
<adapters key="com.cloud.resource.Discoverer">
|
<adapters key="com.cloud.resource.Discoverer">
|
||||||
<adapter name="XCP Agent" class="com.cloud.hypervisor.xen.discoverer.XcpServerDiscoverer"/>
|
<adapter name="XCP Agent" class="com.cloud.hypervisor.xenserver.discoverer.XcpServerDiscoverer"/>
|
||||||
<adapter name="SecondaryStorage" class="com.cloud.storage.secondary.SecondaryStorageDiscoverer"/>
|
<adapter name="SecondaryStorage" class="com.cloud.storage.secondary.SecondaryStorageDiscoverer"/>
|
||||||
<adapter name="KVM Agent" class="com.cloud.hypervisor.kvm.discoverer.KvmServerDiscoverer"/>
|
<adapter name="KVM Agent" class="com.cloud.hypervisor.kvm.discoverer.KvmServerDiscoverer"/>
|
||||||
<adapter name="Bare Metal Agent" class="com.cloud.baremetal.BareMetalDiscoverer"/>
|
<adapter name="Bare Metal Agent" class="com.cloud.baremetal.BareMetalDiscoverer"/>
|
||||||
|
|||||||
@ -46,7 +46,7 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.cloudstack</groupId>
|
<groupId>org.apache.cloudstack</groupId>
|
||||||
<artifactId>cloud-plugin-hypervisor-xen</artifactId>
|
<artifactId>cloud-plugin-hypervisor-xenserver</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|||||||
@ -49,7 +49,7 @@
|
|||||||
<module>host-allocators/random</module>
|
<module>host-allocators/random</module>
|
||||||
<module>dedicated-resources</module>
|
<module>dedicated-resources</module>
|
||||||
<module>hypervisors/ovm</module>
|
<module>hypervisors/ovm</module>
|
||||||
<module>hypervisors/xen</module>
|
<module>hypervisors/xenserver</module>
|
||||||
<module>hypervisors/kvm</module>
|
<module>hypervisors/kvm</module>
|
||||||
<module>event-bus/rabbitmq</module>
|
<module>event-bus/rabbitmq</module>
|
||||||
<module>event-bus/inmemory</module>
|
<module>event-bus/inmemory</module>
|
||||||
|
|||||||
@ -1144,7 +1144,7 @@
|
|||||||
<File Id="fil4573D848D63904E25199DFC7C5F3C630" KeyPath="yes" Source="!(wix.SourceClient)\WEB-INF\classes\scripts\vm\hypervisor\xenserver\perfmon.py" />
|
<File Id="fil4573D848D63904E25199DFC7C5F3C630" KeyPath="yes" Source="!(wix.SourceClient)\WEB-INF\classes\scripts\vm\hypervisor\xenserver\perfmon.py" />
|
||||||
</Component>
|
</Component>
|
||||||
<Component Id="cmpD76E671ADB5BD6A4D78727948C10979D" Guid="{EA4A8C61-6B09-4489-ACE6-00B9A0F1A4BC}">
|
<Component Id="cmpD76E671ADB5BD6A4D78727948C10979D" Guid="{EA4A8C61-6B09-4489-ACE6-00B9A0F1A4BC}">
|
||||||
<File Id="filD3A7AE13D824593E31FF5468A9B764AB" KeyPath="yes" Source="!(wix.SourceClient)\WEB-INF\classes\scripts\vm\hypervisor\xenserver\s3xen" />
|
<File Id="filD3A7AE13D824593E31FF5468A9B764AB" KeyPath="yes" Source="!(wix.SourceClient)\WEB-INF\classes\scripts\vm\hypervisor\xenserver\s3xenserver" />
|
||||||
</Component>
|
</Component>
|
||||||
<Component Id="cmpA5ACE2ABDAD485164B610A43CF7260AC" Guid="{D6BC09D7-775E-4DBE-8E97-603B00B26BC2}">
|
<Component Id="cmpA5ACE2ABDAD485164B610A43CF7260AC" Guid="{D6BC09D7-775E-4DBE-8E97-603B00B26BC2}">
|
||||||
<File Id="filA1C0191B48050912F371A13BC75AD95A" KeyPath="yes" Source="!(wix.SourceClient)\WEB-INF\classes\scripts\vm\hypervisor\xenserver\setupxenserver.sh" />
|
<File Id="filA1C0191B48050912F371A13BC75AD95A" KeyPath="yes" Source="!(wix.SourceClient)\WEB-INF\classes\scripts\vm\hypervisor\xenserver\setupxenserver.sh" />
|
||||||
@ -1165,7 +1165,7 @@
|
|||||||
<File Id="fil5C88104CC07D3894D5C6618F2480D894" KeyPath="yes" Source="!(wix.SourceClient)\WEB-INF\classes\scripts\vm\hypervisor\xenserver\swift" />
|
<File Id="fil5C88104CC07D3894D5C6618F2480D894" KeyPath="yes" Source="!(wix.SourceClient)\WEB-INF\classes\scripts\vm\hypervisor\xenserver\swift" />
|
||||||
</Component>
|
</Component>
|
||||||
<Component Id="cmp29E6175F9E42A05F0ACA5E9DEC427DA9" Guid="{08A3A34A-662E-40F5-AC4C-6224AF8E3204}">
|
<Component Id="cmp29E6175F9E42A05F0ACA5E9DEC427DA9" Guid="{08A3A34A-662E-40F5-AC4C-6224AF8E3204}">
|
||||||
<File Id="fil30689D2F97C68DD797DC8681851DC4A0" KeyPath="yes" Source="!(wix.SourceClient)\WEB-INF\classes\scripts\vm\hypervisor\xenserver\swiftxen" />
|
<File Id="fil30689D2F97C68DD797DC8681851DC4A0" KeyPath="yes" Source="!(wix.SourceClient)\WEB-INF\classes\scripts\vm\hypervisor\xenserver\swiftxenserver" />
|
||||||
</Component>
|
</Component>
|
||||||
<Component Id="cmp795E37CA1E2B235A5F5500D0CFC92E07" Guid="{4CAFC2DE-B603-485C-B8ED-A6A016962788}">
|
<Component Id="cmp795E37CA1E2B235A5F5500D0CFC92E07" Guid="{4CAFC2DE-B603-485C-B8ED-A6A016962788}">
|
||||||
<File Id="filAD37A67E4680F1FFC939AE9759EA6193" KeyPath="yes" Source="!(wix.SourceClient)\WEB-INF\classes\scripts\vm\hypervisor\xenserver\upgrade_snapshot.sh" />
|
<File Id="filAD37A67E4680F1FFC939AE9759EA6193" KeyPath="yes" Source="!(wix.SourceClient)\WEB-INF\classes\scripts\vm\hypervisor\xenserver\upgrade_snapshot.sh" />
|
||||||
@ -2411,4 +2411,4 @@
|
|||||||
<ComponentRef Id="cmp776899723BBC0C56DBF1EA389CF3A210" />
|
<ComponentRef Id="cmp776899723BBC0C56DBF1EA389CF3A210" />
|
||||||
</ComponentGroup>
|
</ComponentGroup>
|
||||||
</Fragment>
|
</Fragment>
|
||||||
</Wix>
|
</Wix>
|
||||||
|
|||||||
@ -29,7 +29,7 @@
|
|||||||
rotate 20
|
rotate 20
|
||||||
}
|
}
|
||||||
|
|
||||||
/var/log/cloud/ovstunnel.log /var/log/cloud/ovs-pvlan.log /var/log/cloud/swiftxen.log /var/log/cloud/s3xen /var/log/cloud/storageplugin {
|
/var/log/cloud/ovstunnel.log /var/log/cloud/ovs-pvlan.log /var/log/cloud/swiftxenserver.log /var/log/cloud/s3xenserver /var/log/cloud/storageplugin {
|
||||||
daily
|
daily
|
||||||
size 1M
|
size 1M
|
||||||
rotate 2
|
rotate 2
|
||||||
|
|||||||
@ -497,7 +497,7 @@ public class FirstFitAllocator extends AdapterBase implements HostAllocator {
|
|||||||
if (allocationAlgorithm != null) {
|
if (allocationAlgorithm != null) {
|
||||||
_allocationAlgorithm = allocationAlgorithm;
|
_allocationAlgorithm = allocationAlgorithm;
|
||||||
}
|
}
|
||||||
String value = configs.get("xen.check.hvm");
|
String value = configs.get("xenserver.check.hvm");
|
||||||
_checkHvm = value == null ? true : Boolean.parseBoolean(value);
|
_checkHvm = value == null ? true : Boolean.parseBoolean(value);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@ -1078,17 +1078,17 @@ public enum Config {
|
|||||||
OvmGuestNetwork("Hidden", ManagementServer.class, String.class, "ovm.guest.network.device", null, "Specify the private bridge on host for private network", null),
|
OvmGuestNetwork("Hidden", ManagementServer.class, String.class, "ovm.guest.network.device", null, "Specify the private bridge on host for private network", null),
|
||||||
|
|
||||||
// XenServer
|
// XenServer
|
||||||
XenPublicNetwork(
|
XenServerPublicNetwork(
|
||||||
"Hidden",
|
"Hidden",
|
||||||
ManagementServer.class,
|
ManagementServer.class,
|
||||||
String.class,
|
String.class,
|
||||||
"xen.public.network.device",
|
"xenserver.public.network.device",
|
||||||
null,
|
null,
|
||||||
"[ONLY IF THE PUBLIC NETWORK IS ON A DEDICATED NIC]:The network name label of the physical device dedicated to the public network on a XenServer host",
|
"[ONLY IF THE PUBLIC NETWORK IS ON A DEDICATED NIC]:The network name label of the physical device dedicated to the public network on a XenServer host",
|
||||||
null),
|
null),
|
||||||
XenStorageNetwork1("Hidden", ManagementServer.class, String.class, "xen.storage.network.device1", null, "Specify when there are storage networks", null),
|
XenServerStorageNetwork1("Hidden", ManagementServer.class, String.class, "xenserver.storage.network.device1", null, "Specify when there are storage networks", null),
|
||||||
XenStorageNetwork2("Hidden", ManagementServer.class, String.class, "xen.storage.network.device2", null, "Specify when there are storage networks", null),
|
XenServerStorageNetwork2("Hidden", ManagementServer.class, String.class, "xenserver.storage.network.device2", null, "Specify when there are storage networks", null),
|
||||||
XenPrivateNetwork("Hidden", ManagementServer.class, String.class, "xen.private.network.device", null, "Specify when the private network name is different", null),
|
XenServerPrivateNetwork("Hidden", ManagementServer.class, String.class, "xenserver.private.network.device", null, "Specify when the private network name is different", null),
|
||||||
NetworkGuestCidrLimit(
|
NetworkGuestCidrLimit(
|
||||||
"Network",
|
"Network",
|
||||||
NetworkOrchestrationService.class,
|
NetworkOrchestrationService.class,
|
||||||
@ -1097,32 +1097,32 @@ public enum Config {
|
|||||||
"22",
|
"22",
|
||||||
"size limit for guest cidr; can't be less than this value",
|
"size limit for guest cidr; can't be less than this value",
|
||||||
null),
|
null),
|
||||||
XenSetupMultipath("Advanced", ManagementServer.class, String.class, "xen.setup.multipath", "false", "Setup the host to do multipath", null),
|
XenServerSetupMultipath("Advanced", ManagementServer.class, String.class, "xenserver.setup.multipath", "false", "Setup the host to do multipath", null),
|
||||||
XenBondStorageNic("Advanced", ManagementServer.class, String.class, "xen.bond.storage.nics", null, "Attempt to bond the two networks if found", null),
|
XenServerBondStorageNic("Advanced", ManagementServer.class, String.class, "xenserver.bond.storage.nics", null, "Attempt to bond the two networks if found", null),
|
||||||
XenHeartBeatInterval(
|
XenServerHeartBeatInterval(
|
||||||
"Advanced",
|
"Advanced",
|
||||||
ManagementServer.class,
|
ManagementServer.class,
|
||||||
Integer.class,
|
Integer.class,
|
||||||
"xen.heartbeat.interval",
|
"xenserver.heartbeat.interval",
|
||||||
"60",
|
"60",
|
||||||
"heartbeat to use when implementing XenServer Self Fencing",
|
"heartbeat to use when implementing XenServer Self Fencing",
|
||||||
null),
|
null),
|
||||||
XenGuestNetwork("Hidden", ManagementServer.class, String.class, "xen.guest.network.device", null, "Specify for guest network name label", null),
|
XenServerGuestNetwork("Hidden", ManagementServer.class, String.class, "xenserver.guest.network.device", null, "Specify for guest network name label", null),
|
||||||
XenMaxNics("Advanced", AgentManager.class, Integer.class, "xen.nics.max", "7", "Maximum allowed nics for Vms created on Xen", null),
|
XenServerMaxNics("Advanced", AgentManager.class, Integer.class, "xenserver.nics.max", "7", "Maximum allowed nics for Vms created on XenServer", null),
|
||||||
XenPVdriverVersion(
|
XenServerPVdriverVersion(
|
||||||
"Advanced",
|
"Advanced",
|
||||||
ManagementServer.class,
|
ManagementServer.class,
|
||||||
String.class,
|
String.class,
|
||||||
"xen.pvdriver.version",
|
"xenserver.pvdriver.version",
|
||||||
"xenserver61",
|
"xenserver61",
|
||||||
"default Xen PV driver version for registered template, valid value:xenserver56,xenserver61 ",
|
"default Xen PV driver version for registered template, valid value:xenserver56,xenserver61 ",
|
||||||
"xenserver56,xenserver61"),
|
"xenserver56,xenserver61"),
|
||||||
XenServerHotFix("Advanced",
|
XenServerHotFix("Advanced",
|
||||||
ManagementServer.class,
|
ManagementServer.class,
|
||||||
Boolean.class,
|
Boolean.class,
|
||||||
"xen.hotfix.enabled",
|
"xenserver.hotfix.enabled",
|
||||||
"false",
|
"false",
|
||||||
"Enable/Disable xenserver hot fix",
|
"Enable/Disable XenServer hot fix",
|
||||||
null),
|
null),
|
||||||
|
|
||||||
// VMware
|
// VMware
|
||||||
@ -1365,7 +1365,7 @@ public enum Config {
|
|||||||
"Hidden",
|
"Hidden",
|
||||||
ManagementServer.class,
|
ManagementServer.class,
|
||||||
Boolean.class,
|
Boolean.class,
|
||||||
"xen.create.pools.in.pod",
|
"xenserver.create.pools.in.pod",
|
||||||
"false",
|
"false",
|
||||||
"Should we automatically add XenServers into pools that are inside a Pod",
|
"Should we automatically add XenServers into pools that are inside a Pod",
|
||||||
null),
|
null),
|
||||||
|
|||||||
@ -362,7 +362,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati
|
|||||||
configValuesForValidation.add("storage.stats.interval");
|
configValuesForValidation.add("storage.stats.interval");
|
||||||
configValuesForValidation.add("storage.cleanup.interval");
|
configValuesForValidation.add("storage.cleanup.interval");
|
||||||
configValuesForValidation.add("wait");
|
configValuesForValidation.add("wait");
|
||||||
configValuesForValidation.add("xen.heartbeat.interval");
|
configValuesForValidation.add("xenserver.heartbeat.interval");
|
||||||
configValuesForValidation.add("incorrect.login.attempts.allowed");
|
configValuesForValidation.add("incorrect.login.attempts.allowed");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -506,7 +506,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati
|
|||||||
}
|
}
|
||||||
|
|
||||||
PreparedStatement pstmt = null;
|
PreparedStatement pstmt = null;
|
||||||
if (Config.XenGuestNetwork.key().equalsIgnoreCase(name)) {
|
if (Config.XenServerGuestNetwork.key().equalsIgnoreCase(name)) {
|
||||||
String sql = "update host_details set value=? where name=?";
|
String sql = "update host_details set value=? where name=?";
|
||||||
try {
|
try {
|
||||||
pstmt = txn.prepareAutoCloseStatement(sql);
|
pstmt = txn.prepareAutoCloseStatement(sql);
|
||||||
@ -517,7 +517,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati
|
|||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
throw new CloudRuntimeException("Failed to update guest.network.device in host_details due to exception ", e);
|
throw new CloudRuntimeException("Failed to update guest.network.device in host_details due to exception ", e);
|
||||||
}
|
}
|
||||||
} else if (Config.XenPrivateNetwork.key().equalsIgnoreCase(name)) {
|
} else if (Config.XenServerPrivateNetwork.key().equalsIgnoreCase(name)) {
|
||||||
String sql = "update host_details set value=? where name=?";
|
String sql = "update host_details set value=? where name=?";
|
||||||
try {
|
try {
|
||||||
pstmt = txn.prepareAutoCloseStatement(sql);
|
pstmt = txn.prepareAutoCloseStatement(sql);
|
||||||
@ -528,7 +528,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati
|
|||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
throw new CloudRuntimeException("Failed to update private.network.device in host_details due to exception ", e);
|
throw new CloudRuntimeException("Failed to update private.network.device in host_details due to exception ", e);
|
||||||
}
|
}
|
||||||
} else if (Config.XenPublicNetwork.key().equalsIgnoreCase(name)) {
|
} else if (Config.XenServerPublicNetwork.key().equalsIgnoreCase(name)) {
|
||||||
String sql = "update host_details set value=? where name=?";
|
String sql = "update host_details set value=? where name=?";
|
||||||
try {
|
try {
|
||||||
pstmt = txn.prepareAutoCloseStatement(sql);
|
pstmt = txn.prepareAutoCloseStatement(sql);
|
||||||
@ -539,7 +539,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati
|
|||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
throw new CloudRuntimeException("Failed to update public.network.device in host_details due to exception ", e);
|
throw new CloudRuntimeException("Failed to update public.network.device in host_details due to exception ", e);
|
||||||
}
|
}
|
||||||
} else if (Config.XenStorageNetwork1.key().equalsIgnoreCase(name)) {
|
} else if (Config.XenServerStorageNetwork1.key().equalsIgnoreCase(name)) {
|
||||||
String sql = "update host_details set value=? where name=?";
|
String sql = "update host_details set value=? where name=?";
|
||||||
try {
|
try {
|
||||||
pstmt = txn.prepareAutoCloseStatement(sql);
|
pstmt = txn.prepareAutoCloseStatement(sql);
|
||||||
@ -550,7 +550,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati
|
|||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
throw new CloudRuntimeException("Failed to update storage.network.device1 in host_details due to exception ", e);
|
throw new CloudRuntimeException("Failed to update storage.network.device1 in host_details due to exception ", e);
|
||||||
}
|
}
|
||||||
} else if (Config.XenStorageNetwork2.key().equals(name)) {
|
} else if (Config.XenServerStorageNetwork2.key().equals(name)) {
|
||||||
String sql = "update host_details set value=? where name=?";
|
String sql = "update host_details set value=? where name=?";
|
||||||
try {
|
try {
|
||||||
pstmt = txn.prepareAutoCloseStatement(sql);
|
pstmt = txn.prepareAutoCloseStatement(sql);
|
||||||
|
|||||||
@ -3640,16 +3640,16 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService {
|
|||||||
String xenLabel = null;
|
String xenLabel = null;
|
||||||
switch (trafficType) {
|
switch (trafficType) {
|
||||||
case Public:
|
case Public:
|
||||||
xenLabel = _configDao.getValue(Config.XenPublicNetwork.key());
|
xenLabel = _configDao.getValue(Config.XenServerPublicNetwork.key());
|
||||||
break;
|
break;
|
||||||
case Guest:
|
case Guest:
|
||||||
xenLabel = _configDao.getValue(Config.XenGuestNetwork.key());
|
xenLabel = _configDao.getValue(Config.XenServerGuestNetwork.key());
|
||||||
break;
|
break;
|
||||||
case Storage:
|
case Storage:
|
||||||
xenLabel = _configDao.getValue(Config.XenStorageNetwork1.key());
|
xenLabel = _configDao.getValue(Config.XenServerStorageNetwork1.key());
|
||||||
break;
|
break;
|
||||||
case Management:
|
case Management:
|
||||||
xenLabel = _configDao.getValue(Config.XenPrivateNetwork.key());
|
xenLabel = _configDao.getValue(Config.XenServerPrivateNetwork.key());
|
||||||
break;
|
break;
|
||||||
case Control:
|
case Control:
|
||||||
xenLabel = "cloud_link_local_network";
|
xenLabel = "cloud_link_local_network";
|
||||||
|
|||||||
@ -45,7 +45,7 @@ import java.util.Map;
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public interface VirtualNetworkApplianceManager extends Manager, VirtualNetworkApplianceService {
|
public interface VirtualNetworkApplianceManager extends Manager, VirtualNetworkApplianceService {
|
||||||
static final String RouterTemplateXenCK = "router.template.xen";
|
static final String RouterTemplateXenCK = "router.template.xenserver";
|
||||||
static final String RouterTemplateKvmCK = "router.template.kvm";
|
static final String RouterTemplateKvmCK = "router.template.kvm";
|
||||||
static final String RouterTemplateVmwareCK = "router.template.vmware";
|
static final String RouterTemplateVmwareCK = "router.template.vmware";
|
||||||
static final String RouterTemplateHyperVCK = "router.template.hyperv";
|
static final String RouterTemplateHyperVCK = "router.template.hyperv";
|
||||||
|
|||||||
@ -135,8 +135,8 @@ public abstract class DiscovererBase extends AdapterBase implements Discoverer {
|
|||||||
params.put("secondary.storage.vm", "false");
|
params.put("secondary.storage.vm", "false");
|
||||||
params.put("max.template.iso.size", _configDao.getValue(Config.MaxTemplateAndIsoSize.toString()));
|
params.put("max.template.iso.size", _configDao.getValue(Config.MaxTemplateAndIsoSize.toString()));
|
||||||
params.put("migratewait", _configDao.getValue(Config.MigrateWait.toString()));
|
params.put("migratewait", _configDao.getValue(Config.MigrateWait.toString()));
|
||||||
params.put(Config.XenMaxNics.toString().toLowerCase(), _configDao.getValue(Config.XenMaxNics.toString()));
|
params.put(Config.XenServerMaxNics.toString().toLowerCase(), _configDao.getValue(Config.XenServerMaxNics.toString()));
|
||||||
params.put(Config.XenHeartBeatInterval.toString().toLowerCase(), _configDao.getValue(Config.XenHeartBeatInterval.toString()));
|
params.put(Config.XenServerHeartBeatInterval.toString().toLowerCase(), _configDao.getValue(Config.XenServerHeartBeatInterval.toString()));
|
||||||
params.put("router.aggregation.command.each.timeout", _configDao.getValue(Config.RouterAggregationCommandEachTimeout.toString()));
|
params.put("router.aggregation.command.each.timeout", _configDao.getValue(Config.RouterAggregationCommandEachTimeout.toString()));
|
||||||
|
|
||||||
return params;
|
return params;
|
||||||
|
|||||||
@ -361,12 +361,12 @@ public class ConfigurationServerImpl extends ManagerBase implements Configuratio
|
|||||||
@Override
|
@Override
|
||||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||||
TransactionLegacy txn = TransactionLegacy.currentTxn();
|
TransactionLegacy txn = TransactionLegacy.currentTxn();
|
||||||
String pvdriverversion = Config.XenPVdriverVersion.getDefaultValue();
|
String pvdriverversion = Config.XenServerPVdriverVersion.getDefaultValue();
|
||||||
PreparedStatement pstmt = null;
|
PreparedStatement pstmt = null;
|
||||||
ResultSet rs1 = null;
|
ResultSet rs1 = null;
|
||||||
ResultSet rs2 = null;
|
ResultSet rs2 = null;
|
||||||
try {
|
try {
|
||||||
String oldValue = _configDao.getValue(Config.XenPVdriverVersion.key());
|
String oldValue = _configDao.getValue(Config.XenServerPVdriverVersion.key());
|
||||||
if (oldValue == null) {
|
if (oldValue == null) {
|
||||||
String sql = "select resource from host where hypervisor_type='XenServer' and removed is null and status not in ('Error', 'Removed') group by resource";
|
String sql = "select resource from host where hypervisor_type='XenServer' and removed is null and status not in ('Error', 'Removed') group by resource";
|
||||||
pstmt = txn.prepareAutoCloseStatement(sql);
|
pstmt = txn.prepareAutoCloseStatement(sql);
|
||||||
@ -375,17 +375,17 @@ public class ConfigurationServerImpl extends ManagerBase implements Configuratio
|
|||||||
String resouce = rs1.getString(1); //resource column
|
String resouce = rs1.getString(1); //resource column
|
||||||
if (resouce == null)
|
if (resouce == null)
|
||||||
continue;
|
continue;
|
||||||
if (resouce.equalsIgnoreCase("com.cloud.hypervisor.xen.resource.XenServer56Resource")
|
if (resouce.equalsIgnoreCase("com.cloud.hypervisor.xenserver.resource.XenServer56Resource")
|
||||||
|| resouce.equalsIgnoreCase("com.cloud.hypervisor.xen.resource.XenServer56FP1Resource")
|
|| resouce.equalsIgnoreCase("com.cloud.hypervisor.xenserver.resource.XenServer56FP1Resource")
|
||||||
|| resouce.equalsIgnoreCase("com.cloud.hypervisor.xen.resource.XenServer56SP2Resource")
|
|| resouce.equalsIgnoreCase("com.cloud.hypervisor.xenserver.resource.XenServer56SP2Resource")
|
||||||
|| resouce.equalsIgnoreCase("com.cloud.hypervisor.xen.resource.XenServer600Resource")
|
|| resouce.equalsIgnoreCase("com.cloud.hypervisor.xenserver.resource.XenServer600Resource")
|
||||||
|| resouce.equalsIgnoreCase("com.cloud.hypervisor.xen.resource.XenServer602Resource")) {
|
|| resouce.equalsIgnoreCase("com.cloud.hypervisor.xenserver.resource.XenServer602Resource")) {
|
||||||
pvdriverversion = "xenserver56";
|
pvdriverversion = "xenserver56";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_configDao.getValueAndInitIfNotExist(Config.XenPVdriverVersion.key(), Config.XenPVdriverVersion.getCategory(), pvdriverversion,
|
_configDao.getValueAndInitIfNotExist(Config.XenServerPVdriverVersion.key(), Config.XenServerPVdriverVersion.getCategory(), pvdriverversion,
|
||||||
Config.XenPVdriverVersion.getDescription());
|
Config.XenServerPVdriverVersion.getDescription());
|
||||||
sql = "select id from vm_template where hypervisor_type='XenServer' and format!='ISO' and removed is null";
|
sql = "select id from vm_template where hypervisor_type='XenServer' and format!='ISO' and removed is null";
|
||||||
pstmt = txn.prepareAutoCloseStatement(sql);
|
pstmt = txn.prepareAutoCloseStatement(sql);
|
||||||
rs2 = pstmt.executeQuery();
|
rs2 = pstmt.executeQuery();
|
||||||
|
|||||||
@ -231,7 +231,7 @@ public abstract class TemplateAdapterBase extends AdapterBase implements Templat
|
|||||||
if (hypervisorType.equals(Hypervisor.HypervisorType.XenServer)) {
|
if (hypervisorType.equals(Hypervisor.HypervisorType.XenServer)) {
|
||||||
if (details == null || !details.containsKey("hypervisortoolsversion") || details.get("hypervisortoolsversion") == null ||
|
if (details == null || !details.containsKey("hypervisortoolsversion") || details.get("hypervisortoolsversion") == null ||
|
||||||
((String)details.get("hypervisortoolsversion")).equalsIgnoreCase("none")) {
|
((String)details.get("hypervisortoolsversion")).equalsIgnoreCase("none")) {
|
||||||
String hpvs = _configDao.getValue(Config.XenPVdriverVersion.key());
|
String hpvs = _configDao.getValue(Config.XenServerPVdriverVersion.key());
|
||||||
if (hpvs != null) {
|
if (hpvs != null) {
|
||||||
if (details == null) {
|
if (details == null) {
|
||||||
details = new HashMap<String, String>();
|
details = new HashMap<String, String>();
|
||||||
|
|||||||
@ -408,7 +408,7 @@ public class PodZoneConfig {
|
|||||||
String defaultXenStorageNetworkLabel = getDefaultXenNetworkLabel(TrafficType.Storage);
|
String defaultXenStorageNetworkLabel = getDefaultXenNetworkLabel(TrafficType.Storage);
|
||||||
String defaultXenGuestNetworkLabel = getDefaultXenNetworkLabel(TrafficType.Guest);
|
String defaultXenGuestNetworkLabel = getDefaultXenNetworkLabel(TrafficType.Guest);
|
||||||
|
|
||||||
String insertTraficType = "INSERT INTO `cloud`.`physical_network_traffic_types` " + "(physical_network_id, traffic_type, xen_network_label) VALUES ( ?, ?, ?)";
|
String insertTraficType = "INSERT INTO `cloud`.`physical_network_traffic_types` " + "(physical_network_id, traffic_type, xenserver_network_label) VALUES ( ?, ?, ?)";
|
||||||
|
|
||||||
try {
|
try {
|
||||||
PreparedStatement stmt = txn.prepareAutoCloseStatement(insertTraficType);
|
PreparedStatement stmt = txn.prepareAutoCloseStatement(insertTraficType);
|
||||||
@ -444,16 +444,16 @@ public class PodZoneConfig {
|
|||||||
String configName = null;
|
String configName = null;
|
||||||
switch (trafficType) {
|
switch (trafficType) {
|
||||||
case Public:
|
case Public:
|
||||||
configName = "xen.public.network.device";
|
configName = "xenserver.public.network.device";
|
||||||
break;
|
break;
|
||||||
case Guest:
|
case Guest:
|
||||||
configName = "xen.guest.network.device";
|
configName = "xenserver.guest.network.device";
|
||||||
break;
|
break;
|
||||||
case Storage:
|
case Storage:
|
||||||
configName = "xen.storage.network.device1";
|
configName = "xenserver.storage.network.device1";
|
||||||
break;
|
break;
|
||||||
case Management:
|
case Management:
|
||||||
configName = "xen.private.network.device";
|
configName = "xenserver.private.network.device";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -142,7 +142,7 @@
|
|||||||
<adapter name="ClusterService" class="com.cloud.cluster.ClusterServiceServletAdapter" />
|
<adapter name="ClusterService" class="com.cloud.cluster.ClusterServiceServletAdapter" />
|
||||||
</adapters>
|
</adapters>
|
||||||
<adapters key="com.cloud.resource.Discoverer">
|
<adapters key="com.cloud.resource.Discoverer">
|
||||||
<adapter name="XenServer" class="com.cloud.resource.xen.XenServerDiscoverer" />
|
<adapter name="XenServer" class="com.cloud.resource.xenserver.XenServerDiscoverer" />
|
||||||
<adapter name="SecondaryStorage"
|
<adapter name="SecondaryStorage"
|
||||||
class="com.cloud.storage.secondary.SecondaryStorageDiscoverer" />
|
class="com.cloud.storage.secondary.SecondaryStorageDiscoverer" />
|
||||||
<adapter name="DummyHostServer" class="com.cloud.resource.DummyHostDiscoverer" />
|
<adapter name="DummyHostServer" class="com.cloud.resource.DummyHostDiscoverer" />
|
||||||
|
|||||||
@ -2091,7 +2091,7 @@ CREATE TABLE `cloud`.`physical_network_traffic_types` (
|
|||||||
`uuid` varchar(40),
|
`uuid` varchar(40),
|
||||||
`physical_network_id` bigint unsigned NOT NULL COMMENT 'id of the physical network',
|
`physical_network_id` bigint unsigned NOT NULL COMMENT 'id of the physical network',
|
||||||
`traffic_type` varchar(32) NOT NULL COMMENT 'type of traffic going through this network',
|
`traffic_type` varchar(32) NOT NULL COMMENT 'type of traffic going through this network',
|
||||||
`xen_network_label` varchar(255) COMMENT 'The network name label of the physical device dedicated to this traffic on a XenServer host',
|
`xenserver_network_label` varchar(255) COMMENT 'The network name label of the physical device dedicated to this traffic on a XenServer host',
|
||||||
`kvm_network_label` varchar(255) DEFAULT 'cloudbr0' COMMENT 'The network name label of the physical device dedicated to this traffic on a KVM host',
|
`kvm_network_label` varchar(255) DEFAULT 'cloudbr0' COMMENT 'The network name label of the physical device dedicated to this traffic on a KVM host',
|
||||||
`vmware_network_label` varchar(255) DEFAULT 'vSwitch0' COMMENT 'The network name label of the physical device dedicated to this traffic on a VMware host',
|
`vmware_network_label` varchar(255) DEFAULT 'vSwitch0' COMMENT 'The network name label of the physical device dedicated to this traffic on a VMware host',
|
||||||
`simulator_network_label` varchar(255) COMMENT 'The name labels needed for identifying the simulator',
|
`simulator_network_label` varchar(255) COMMENT 'The name labels needed for identifying the simulator',
|
||||||
|
|||||||
@ -19,4 +19,15 @@
|
|||||||
-- Schema cleanup from 4.4.0 to 4.5.0
|
-- Schema cleanup from 4.4.0 to 4.5.0
|
||||||
--
|
--
|
||||||
|
|
||||||
|
UPDATE `cloud`.`configuration`
|
||||||
|
SET name = 'router.template.xenserver'
|
||||||
|
Where name = 'router.template.xen';
|
||||||
|
|
||||||
|
UPDATE `cloud`.`configuration`
|
||||||
|
SET name = 'xenserver.nics.max',
|
||||||
|
description = 'Maximum allowed nics for Vms created on XenServer'
|
||||||
|
Where name = 'xen.nics.max';
|
||||||
|
|
||||||
|
UPDATE `cloud`.`configuration`
|
||||||
|
SET value = 'XenServer'
|
||||||
|
Where value = 'Xen';
|
||||||
@ -223,3 +223,6 @@ CREATE VIEW `cloud`.`volume_view` AS
|
|||||||
`cloud`.`async_job` ON async_job.instance_id = volumes.id
|
`cloud`.`async_job` ON async_job.instance_id = volumes.id
|
||||||
and async_job.instance_type = 'Volume'
|
and async_job.instance_type = 'Volume'
|
||||||
and async_job.job_status = 0;
|
and async_job.job_status = 0;
|
||||||
|
|
||||||
|
/* As part of the separation of Xen and XenServer, update the column for the network labels */
|
||||||
|
ALTER TABLE `cloud`.`physical_network_traffic_types` CHANGE `xen_network_label` `xenserver_network_label` varchar(255) COMMENT 'The network name label of the physical device dedicated to this traffic on a XenServer host'
|
||||||
@ -23,6 +23,6 @@ INSERT INTO `cloud`.`domain` (id, uuid, name, parent, path, owner) VALUES (1, UU
|
|||||||
/* Configuration Table */
|
/* Configuration Table */
|
||||||
|
|
||||||
INSERT INTO `cloud`.`configuration` (category, instance, component, name, value, description) VALUES ('Hidden', 'DEFAULT', 'none', 'init', null, null);
|
INSERT INTO `cloud`.`configuration` (category, instance, component, name, value, description) VALUES ('Hidden', 'DEFAULT', 'none', 'init', null, null);
|
||||||
-- INSERT INTO `cloud`.`configuration` (category, instance, component, name, value, description) VALUES ('Advanced', 'DEFAULT', 'AgentManager', 'xen.public.network.device', 'public-network', "[OPTIONAL]The name of the Xen network containing the physical network interface that is connected to the public network ");
|
-- INSERT INTO `cloud`.`configuration` (category, instance, component, name, value, description) VALUES ('Advanced', 'DEFAULT', 'AgentManager', 'xenserver.public.network.device', 'public-network', "[OPTIONAL]The name of the XenServer network containing the physical network interface that is connected to the public network ");
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -42,7 +42,7 @@ Note, gem may require gcc-4.2, make sure link exists:
|
|||||||
|
|
||||||
# How to build SystemVMs automatically
|
# How to build SystemVMs automatically
|
||||||
|
|
||||||
Just run build.sh, it will export archived appliances for KVM, Xen,
|
Just run build.sh, it will export archived appliances for KVM, XenServer,
|
||||||
VMWare and HyperV in `dist`:
|
VMWare and HyperV in `dist`:
|
||||||
|
|
||||||
sh build.sh [systemvmtemplate|systemvmtemplate64]
|
sh build.sh [systemvmtemplate|systemvmtemplate64]
|
||||||
|
|||||||
@ -73,7 +73,7 @@ vboxmanage modifyhd $hdd_uuid --compact
|
|||||||
rm -fr dist *.ova *.vhd *.vdi *.qcow* *.bz2 *.vmdk *.ovf
|
rm -fr dist *.ova *.vhd *.vdi *.qcow* *.bz2 *.vmdk *.ovf
|
||||||
mkdir dist
|
mkdir dist
|
||||||
|
|
||||||
# Export for Xen
|
# Export for XenServer
|
||||||
which faketime >/dev/null 2>&1 && which vhd-util >/dev/null 2>&1
|
which faketime >/dev/null 2>&1 && which vhd-util >/dev/null 2>&1
|
||||||
if [ $? == 0 ]; then
|
if [ $? == 0 ]; then
|
||||||
set -e
|
set -e
|
||||||
@ -82,9 +82,9 @@ if [ $? == 0 ]; then
|
|||||||
faketime '2010-01-01' vhd-util convert -s 1 -t 2 -i stagefixed.vhd -o $appliance-$branch-xen.vhd
|
faketime '2010-01-01' vhd-util convert -s 1 -t 2 -i stagefixed.vhd -o $appliance-$branch-xen.vhd
|
||||||
rm *.bak
|
rm *.bak
|
||||||
bzip2 $appliance-$branch-xen.vhd
|
bzip2 $appliance-$branch-xen.vhd
|
||||||
echo "$appliance exported for Xen: dist/$appliance-$branch-xen.vhd.bz2"
|
echo "$appliance exported for XenServer: dist/$appliance-$branch-xen.vhd.bz2"
|
||||||
else
|
else
|
||||||
echo "** Skipping $appliance export for Xen: faketime or vhd-util command is missing. **"
|
echo "** Skipping $appliance export for XenServer: faketime or vhd-util command is missing. **"
|
||||||
echo "** faketime source code is available from https://github.com/wolfcw/libfaketime **"
|
echo "** faketime source code is available from https://github.com/wolfcw/libfaketime **"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@ -32,11 +32,11 @@
|
|||||||
"name": "eth0",
|
"name": "eth0",
|
||||||
"traffictypes": [
|
"traffictypes": [
|
||||||
{
|
{
|
||||||
"xen": "Pool-wide network associated with eth0",
|
"xenserver": "Pool-wide network associated with eth0",
|
||||||
"typ": "Management"
|
"typ": "Management"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"xen": "Pool-wide network associated with eth0",
|
"xenserver": "Pool-wide network associated with eth0",
|
||||||
"typ": "Guest"
|
"typ": "Guest"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -56,7 +56,7 @@
|
|||||||
"name": "eth1",
|
"name": "eth1",
|
||||||
"traffictypes": [
|
"traffictypes": [
|
||||||
{
|
{
|
||||||
"xen": "Pool-wide network associated with eth1",
|
"xenserver": "Pool-wide network associated with eth1",
|
||||||
"typ": "Public"
|
"typ": "Public"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@ -32,11 +32,11 @@
|
|||||||
"name": "eth0",
|
"name": "eth0",
|
||||||
"traffictypes": [
|
"traffictypes": [
|
||||||
{
|
{
|
||||||
"xen": "Pool-wide network associated with eth0",
|
"xenserver": "Pool-wide network associated with eth0",
|
||||||
"typ": "Management"
|
"typ": "Management"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"xen": "Pool-wide network associated with eth0",
|
"xenserver": "Pool-wide network associated with eth0",
|
||||||
"typ": "Guest"
|
"typ": "Guest"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -56,7 +56,7 @@
|
|||||||
"name": "eth1",
|
"name": "eth1",
|
||||||
"traffictypes": [
|
"traffictypes": [
|
||||||
{
|
{
|
||||||
"xen": "Pool-wide network associated with eth1",
|
"xenserver": "Pool-wide network associated with eth1",
|
||||||
"typ": "Public"
|
"typ": "Public"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@ -102,7 +102,7 @@ def cobblerHomeResolve(ip_address, param="gateway"):
|
|||||||
|
|
||||||
def configureManagementServer(mgmt_host):
|
def configureManagementServer(mgmt_host):
|
||||||
"""
|
"""
|
||||||
We currently configure all mgmt servers on a single xen HV. In the future
|
We currently configure all mgmt servers on a single xenserver HV. In the future
|
||||||
replace this by launching instances via the API on a IaaS cloud using
|
replace this by launching instances via the API on a IaaS cloud using
|
||||||
desired template
|
desired template
|
||||||
"""
|
"""
|
||||||
@ -123,15 +123,15 @@ def configureManagementServer(mgmt_host):
|
|||||||
bash("puppet cert clean %s.%s"%(mgmt_host, DOMAIN))
|
bash("puppet cert clean %s.%s"%(mgmt_host, DOMAIN))
|
||||||
|
|
||||||
#Start VM on xenserver
|
#Start VM on xenserver
|
||||||
xenssh = \
|
xenserverssh = \
|
||||||
sshClient.SshClient(macinfo["infraxen"]["address"],
|
sshClient.SshClient(macinfo["infraxenserver"]["address"],
|
||||||
22, "root",
|
22, "root",
|
||||||
macinfo["infraxen"]["password"])
|
macinfo["infraxenserver"]["password"])
|
||||||
|
|
||||||
logging.debug("bash vm-uninstall.sh -n %s"%(mgmt_host))
|
logging.debug("bash vm-uninstall.sh -n %s"%(mgmt_host))
|
||||||
xenssh.execute("xe vm-uninstall force=true vm=%s"%mgmt_host)
|
xenserverssh.execute("xe vm-uninstall force=true vm=%s"%mgmt_host)
|
||||||
logging.debug("bash vm-start.sh -n %s -m %s"%(mgmt_host, mgmt_vm["ethernet"]))
|
logging.debug("bash vm-start.sh -n %s -m %s"%(mgmt_host, mgmt_vm["ethernet"]))
|
||||||
out = xenssh.execute("bash vm-start.sh -n %s -m %s"%(mgmt_host,
|
out = xenserverssh.execute("bash vm-start.sh -n %s -m %s"%(mgmt_host,
|
||||||
mgmt_vm["ethernet"]))
|
mgmt_vm["ethernet"]))
|
||||||
|
|
||||||
logging.info("started mgmt server with uuid: %s. Waiting for services .."%out);
|
logging.info("started mgmt server with uuid: %s. Waiting for services .."%out);
|
||||||
@ -179,7 +179,7 @@ def seedSecondaryStorage(cscfg, hypervisor):
|
|||||||
bash("echo '/bin/bash /root/redeploy.sh -s %s -h %s' >> /etc/puppet/modules/cloudstack/files/secseeder.sh"%(spath, hypervisor))
|
bash("echo '/bin/bash /root/redeploy.sh -s %s -h %s' >> /etc/puppet/modules/cloudstack/files/secseeder.sh"%(spath, hypervisor))
|
||||||
bash("chmod +x /etc/puppet/modules/cloudstack/files/secseeder.sh")
|
bash("chmod +x /etc/puppet/modules/cloudstack/files/secseeder.sh")
|
||||||
|
|
||||||
def refreshHosts(cscfg, hypervisor="xen", profile="xen602"):
|
def refreshHosts(cscfg, hypervisor="xenserver", profile="xenserver602"):
|
||||||
"""
|
"""
|
||||||
Removes cobbler system from previous run.
|
Removes cobbler system from previous run.
|
||||||
Creates a new system for current run.
|
Creates a new system for current run.
|
||||||
@ -354,7 +354,7 @@ if __name__ == '__main__':
|
|||||||
dest="distro", help="management server distro")
|
dest="distro", help="management server distro")
|
||||||
parser.add_argument("-v", "--hypervisor", action="store",
|
parser.add_argument("-v", "--hypervisor", action="store",
|
||||||
dest="hypervisor", help="hypervisor type")
|
dest="hypervisor", help="hypervisor type")
|
||||||
parser.add_argument("-p", "--profile", action="store", default="xen602",
|
parser.add_argument("-p", "--profile", action="store", default="xenserver602",
|
||||||
dest="profile", help="cobbler profile for hypervisor")
|
dest="profile", help="cobbler profile for hypervisor")
|
||||||
parser.add_argument("-e","--environment", help="environment properties file",
|
parser.add_argument("-e","--environment", help="environment properties file",
|
||||||
dest="system", action="store")
|
dest="system", action="store")
|
||||||
|
|||||||
@ -48,8 +48,8 @@ pip -q install lib/python2.7/site-packages/marvin/
|
|||||||
#Deploy the configuration - yes/no
|
#Deploy the configuration - yes/no
|
||||||
if [[ $DEPLOY == "yes" ]]; then
|
if [[ $DEPLOY == "yes" ]]; then
|
||||||
cd cloud-autodeploy
|
cd cloud-autodeploy
|
||||||
if [[ $hypervisor == 'xen' ]];then
|
if [[ $hypervisor == 'xenserver' ]];then
|
||||||
profile='xen602'
|
profile='xenserver602'
|
||||||
else
|
else
|
||||||
profile='rhel63-kvm'
|
profile='rhel63-kvm'
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -1233,7 +1233,7 @@ dictionary = {
|
|||||||
'label.welcome.cloud.console': '<fmt:message key="label.welcome.cloud.console" />',
|
'label.welcome.cloud.console': '<fmt:message key="label.welcome.cloud.console" />',
|
||||||
'label.welcome': '<fmt:message key="label.welcome" />',
|
'label.welcome': '<fmt:message key="label.welcome" />',
|
||||||
'label.what.is.cloudstack': '<fmt:message key="label.what.is.cloudstack" />',
|
'label.what.is.cloudstack': '<fmt:message key="label.what.is.cloudstack" />',
|
||||||
'label.xen.traffic.label': '<fmt:message key="label.xen.traffic.label" />',
|
'label.xenserver.traffic.label': '<fmt:message key="label.xenserver.traffic.label" />',
|
||||||
'label.yes': '<fmt:message key="label.yes" />',
|
'label.yes': '<fmt:message key="label.yes" />',
|
||||||
'label.zone.details': '<fmt:message key="label.zone.details" />',
|
'label.zone.details': '<fmt:message key="label.zone.details" />',
|
||||||
'label.zone': '<fmt:message key="label.zone" />',
|
'label.zone': '<fmt:message key="label.zone" />',
|
||||||
|
|||||||
@ -335,7 +335,7 @@ cloudStack.docs = {
|
|||||||
externalLink: ''
|
externalLink: ''
|
||||||
},
|
},
|
||||||
helpDiskOfferingHypervisorSnapshotReserve: {
|
helpDiskOfferingHypervisorSnapshotReserve: {
|
||||||
desc: 'Hypervisor snapshot reserve space as a percent of a volume (for managed storage using Xen or VMware) (Ex. The value 25 means 25%.)).',
|
desc: 'Hypervisor snapshot reserve space as a percent of a volume (for managed storage using XenServer or VMware) (Ex. The value 25 means 25%.)).',
|
||||||
},
|
},
|
||||||
helpDiskOfferingCacheMode: {
|
helpDiskOfferingCacheMode: {
|
||||||
desc: 'The write caching mode to use for disks created with this disk offering. This can improve write performance.',
|
desc: 'The write caching mode to use for disks created with this disk offering. This can improve write performance.',
|
||||||
|
|||||||
@ -127,8 +127,8 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (trafficType.xennetworklabel == null || trafficType.xennetworklabel == 0)
|
if (trafficType.xenservernetworklabel == null || trafficType.xenservernetworklabel == 0)
|
||||||
trafficType.xennetworklabel = dictionary[ 'label.network.label.display.for.blank.value'];
|
trafficType.xenservernetworklabel = dictionary[ 'label.network.label.display.for.blank.value'];
|
||||||
if (trafficType.kvmnetworklabel == null || trafficType.kvmnetworklabel == 0)
|
if (trafficType.kvmnetworklabel == null || trafficType.kvmnetworklabel == 0)
|
||||||
trafficType.kvmnetworklabel = dictionary[ 'label.network.label.display.for.blank.value'];
|
trafficType.kvmnetworklabel = dictionary[ 'label.network.label.display.for.blank.value'];
|
||||||
if (trafficType.vmwarenetworklabel == null || trafficType.vmwarenetworklabel == 0)
|
if (trafficType.vmwarenetworklabel == null || trafficType.vmwarenetworklabel == 0)
|
||||||
@ -145,8 +145,8 @@
|
|||||||
|
|
||||||
var updateTrafficLabels = function (trafficType, labels, complete) {
|
var updateTrafficLabels = function (trafficType, labels, complete) {
|
||||||
var array1 =[];
|
var array1 =[];
|
||||||
if (labels.xennetworklabel != dictionary[ 'label.network.label.display.for.blank.value'])
|
if (labels.xenservernetworklabel != dictionary[ 'label.network.label.display.for.blank.value'])
|
||||||
array1.push("&xennetworklabel=" + labels.xennetworklabel);
|
array1.push("&xenservernetworklabel=" + labels.xenservernetworklabel);
|
||||||
if (labels.kvmnetworklabel != dictionary[ 'label.network.label.display.for.blank.value'])
|
if (labels.kvmnetworklabel != dictionary[ 'label.network.label.display.for.blank.value'])
|
||||||
array1.push("&kvmnetworklabel=" + labels.kvmnetworklabel);
|
array1.push("&kvmnetworklabel=" + labels.kvmnetworklabel);
|
||||||
if (labels.vmwarenetworklabel != dictionary[ 'label.network.label.display.for.blank.value'])
|
if (labels.vmwarenetworklabel != dictionary[ 'label.network.label.display.for.blank.value'])
|
||||||
@ -581,8 +581,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xennetworklabel: {
|
xenservernetworklabel: {
|
||||||
label: 'label.xen.traffic.label',
|
label: 'label.xenserver.traffic.label',
|
||||||
isEditable: true
|
isEditable: true
|
||||||
},
|
},
|
||||||
kvmnetworklabel: {
|
kvmnetworklabel: {
|
||||||
@ -619,7 +619,7 @@
|
|||||||
selectedPublicNetworkObj = items[0];
|
selectedPublicNetworkObj = items[0];
|
||||||
|
|
||||||
// Include traffic labels
|
// Include traffic labels
|
||||||
selectedPublicNetworkObj.xennetworklabel = trafficType.xennetworklabel;
|
selectedPublicNetworkObj.xenservernetworklabel = trafficType.xenservernetworklabel;
|
||||||
selectedPublicNetworkObj.kvmnetworklabel = trafficType.kvmnetworklabel;
|
selectedPublicNetworkObj.kvmnetworklabel = trafficType.kvmnetworklabel;
|
||||||
selectedPublicNetworkObj.vmwarenetworklabel = trafficType.vmwarenetworklabel;
|
selectedPublicNetworkObj.vmwarenetworklabel = trafficType.vmwarenetworklabel;
|
||||||
selectedPublicNetworkObj.ovmnetworklabel = trafficType.ovmnetworklabel;
|
selectedPublicNetworkObj.ovmnetworklabel = trafficType.ovmnetworklabel;
|
||||||
@ -889,8 +889,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xennetworklabel: {
|
xenservernetworklabel: {
|
||||||
label: 'label.xen.traffic.label',
|
label: 'label.xenserver.traffic.label',
|
||||||
isEditable: true
|
isEditable: true
|
||||||
},
|
},
|
||||||
kvmnetworklabel: {
|
kvmnetworklabel: {
|
||||||
@ -925,7 +925,7 @@
|
|||||||
var trafficType = getTrafficType(selectedPhysicalNetworkObj, 'Storage');
|
var trafficType = getTrafficType(selectedPhysicalNetworkObj, 'Storage');
|
||||||
selectedPublicNetworkObj = items[0];
|
selectedPublicNetworkObj = items[0];
|
||||||
|
|
||||||
selectedPublicNetworkObj.xennetworklabel = trafficType.xennetworklabel;
|
selectedPublicNetworkObj.xenservernetworklabel = trafficType.xenservernetworklabel;
|
||||||
selectedPublicNetworkObj.kvmnetworklabel = trafficType.kvmnetworklabel;
|
selectedPublicNetworkObj.kvmnetworklabel = trafficType.kvmnetworklabel;
|
||||||
selectedPublicNetworkObj.vmwarenetworklabel = trafficType.vmwarenetworklabel;
|
selectedPublicNetworkObj.vmwarenetworklabel = trafficType.vmwarenetworklabel;
|
||||||
selectedPublicNetworkObj.ovmnetworklabel = trafficType.ovmnetworklabel;
|
selectedPublicNetworkObj.ovmnetworklabel = trafficType.ovmnetworklabel;
|
||||||
@ -1101,8 +1101,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xennetworklabel: {
|
xenservernetworklabel: {
|
||||||
label: 'label.xen.traffic.label',
|
label: 'label.xenserver.traffic.label',
|
||||||
isEditable: true
|
isEditable: true
|
||||||
},
|
},
|
||||||
kvmnetworklabel: {
|
kvmnetworklabel: {
|
||||||
@ -1135,7 +1135,7 @@
|
|||||||
|
|
||||||
var trafficType = getTrafficType(selectedPhysicalNetworkObj, 'Management');
|
var trafficType = getTrafficType(selectedPhysicalNetworkObj, 'Management');
|
||||||
|
|
||||||
selectedManagementNetworkObj.xennetworklabel = trafficType.xennetworklabel;
|
selectedManagementNetworkObj.xenservernetworklabel = trafficType.xenservernetworklabel;
|
||||||
selectedManagementNetworkObj.kvmnetworklabel = trafficType.kvmnetworklabel;
|
selectedManagementNetworkObj.kvmnetworklabel = trafficType.kvmnetworklabel;
|
||||||
selectedManagementNetworkObj.vmwarenetworklabel = trafficType.vmwarenetworklabel;
|
selectedManagementNetworkObj.vmwarenetworklabel = trafficType.vmwarenetworklabel;
|
||||||
selectedManagementNetworkObj.ovmnetworklabel = trafficType.ovmnetworklabel;
|
selectedManagementNetworkObj.ovmnetworklabel = trafficType.ovmnetworklabel;
|
||||||
@ -1290,8 +1290,8 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
//updateTrafficType API
|
//updateTrafficType API
|
||||||
xennetworklabel: {
|
xenservernetworklabel: {
|
||||||
label: 'label.xen.traffic.label',
|
label: 'label.xenserver.traffic.label',
|
||||||
isEditable: true
|
isEditable: true
|
||||||
},
|
},
|
||||||
kvmnetworklabel: {
|
kvmnetworklabel: {
|
||||||
@ -1343,10 +1343,10 @@
|
|||||||
}*/
|
}*/
|
||||||
|
|
||||||
//traffic type
|
//traffic type
|
||||||
var xentrafficlabel, kvmtrafficlabel, vmwaretrafficlabel;
|
var xenservertrafficlabel, kvmtrafficlabel, vmwaretrafficlabel;
|
||||||
var trafficType = getTrafficType(selectedPhysicalNetworkObj, 'Guest');
|
var trafficType = getTrafficType(selectedPhysicalNetworkObj, 'Guest');
|
||||||
//refresh Guest traffic type
|
//refresh Guest traffic type
|
||||||
selectedPhysicalNetworkObj[ "xennetworklabel"] = trafficType.xennetworklabel;
|
selectedPhysicalNetworkObj[ "xenservernetworklabel"] = trafficType.xenservernetworklabel;
|
||||||
selectedPhysicalNetworkObj[ "kvmnetworklabel"] = trafficType.kvmnetworklabel;
|
selectedPhysicalNetworkObj[ "kvmnetworklabel"] = trafficType.kvmnetworklabel;
|
||||||
selectedPhysicalNetworkObj[ "vmwarenetworklabel"] = trafficType.vmwarenetworklabel;
|
selectedPhysicalNetworkObj[ "vmwarenetworklabel"] = trafficType.vmwarenetworklabel;
|
||||||
selectedPhysicalNetworkObj[ "ovmnetworklabel"] = trafficType.ovmnetworklabel;
|
selectedPhysicalNetworkObj[ "ovmnetworklabel"] = trafficType.ovmnetworklabel;
|
||||||
|
|||||||
@ -242,7 +242,7 @@
|
|||||||
$.ajax({
|
$.ajax({
|
||||||
url: createURL('listConfigurations'),
|
url: createURL('listConfigurations'),
|
||||||
data: {
|
data: {
|
||||||
name: 'xen.pvdriver.version'
|
name: 'xenserver.pvdriver.version'
|
||||||
},
|
},
|
||||||
async: false,
|
async: false,
|
||||||
success: function (json) {
|
success: function (json) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user