able to add/list baremetaldhcp/baremetalpxe

This commit is contained in:
frank 2012-05-21 17:50:34 -07:00
parent 57e37be6f2
commit 3de476340e
21 changed files with 80 additions and 47 deletions

View File

@ -16,6 +16,6 @@ import com.cloud.host.Host;
public class StartupExternalDhcpCommand extends StartupCommand {
public StartupExternalDhcpCommand() {
super(Host.Type.ExternalDhcp);
super(Host.Type.BaremetalDhcp);
}
}

View File

@ -16,6 +16,6 @@ import com.cloud.host.Host;
public class StartupPxeServerCommand extends StartupCommand {
public StartupPxeServerCommand() {
super(Host.Type.PxeServer);
super(Host.Type.BaremetalPxe);
}
}

View File

@ -32,10 +32,10 @@ public interface Host extends StateObject<Status> {
ExternalFirewall(false),
ExternalLoadBalancer(false),
ExternalVirtualSwitchSupervisor(false),
PxeServer(false),
TrafficMonitor(false),
ExternalDhcp(false),
BaremetalPxe(false),
BaremetalDhcp(false),
SecondaryStorageVM(true),
LocalSecondaryStorage(false);
boolean _virtual;

View File

@ -56,13 +56,13 @@ public class BareMetalTemplateAdapter extends TemplateAdapterBase implements Tem
if (profile.getZoneId() == null || profile.getZoneId() == -1) {
List<DataCenterVO> dcs = _dcDao.listAllIncludingRemoved();
for (DataCenterVO dc : dcs) {
List<HostVO> pxeServers = _resourceMgr.listAllHostsInOneZoneByType(Host.Type.PxeServer, dc.getId());
List<HostVO> pxeServers = _resourceMgr.listAllHostsInOneZoneByType(Host.Type.BaremetalPxe, dc.getId());
if (pxeServers.size() == 0) {
throw new CloudRuntimeException("Please add PXE server before adding baremetal template in zone " + dc.getName());
}
}
} else {
List<HostVO> pxeServers = _resourceMgr.listAllHostsInOneZoneByType(Host.Type.PxeServer, profile.getZoneId());
List<HostVO> pxeServers = _resourceMgr.listAllHostsInOneZoneByType(Host.Type.BaremetalPxe, profile.getZoneId());
if (pxeServers.size() == 0) {
throw new CloudRuntimeException("Please add PXE server before adding baremetal template in zone " + profile.getZoneId());
}
@ -99,7 +99,7 @@ public class BareMetalTemplateAdapter extends TemplateAdapterBase implements Tem
if (zoneId == null || zoneId == -1) {
List<DataCenterVO> dcs = _dcDao.listAllIncludingRemoved();
for (DataCenterVO dc : dcs) {
HostVO pxe = _resourceMgr.listAllHostsInOneZoneByType(Host.Type.PxeServer, dc.getId()).get(0);
HostVO pxe = _resourceMgr.listAllHostsInOneZoneByType(Host.Type.BaremetalPxe, dc.getId()).get(0);
vmTemplateHost = _tmpltHostDao.findByHostTemplate(dc.getId(), template.getId());
if (vmTemplateHost == null) {
@ -110,7 +110,7 @@ public class BareMetalTemplateAdapter extends TemplateAdapterBase implements Tem
}
}
} else {
HostVO pxe = _resourceMgr.listAllHostsInOneZoneByType(Host.Type.PxeServer, zoneId).get(0);
HostVO pxe = _resourceMgr.listAllHostsInOneZoneByType(Host.Type.BaremetalPxe, zoneId).get(0);
vmTemplateHost = new VMTemplateHostVO(pxe.getId(), template.getId(), new Date(), 100,
Status.DOWNLOADED, null, null, null, null, template.getUrl());
_tmpltHostDao.persist(vmTemplateHost);

View File

@ -15,10 +15,10 @@ public class AddBaremetalPxePingServerCmd extends AddBaremetalPxeCmd {
@Parameter(name=ApiConstants.TFTP_DIR, type=CommandType.STRING, required = true, description="Tftp root directory of PXE server")
private String tftpDir;
@Parameter(name=ApiConstants.PING_CIFS_USERNAME, type=CommandType.STRING, required = true, description="Username of PING storage server")
@Parameter(name=ApiConstants.PING_CIFS_USERNAME, type=CommandType.STRING, description="Username of PING storage server")
private String pingStorageServerUserName;
@Parameter(name=ApiConstants.PING_CIFS_PASSWORD, type=CommandType.STRING, required = true, description="Password of PING storage server")
@Parameter(name=ApiConstants.PING_CIFS_PASSWORD, type=CommandType.STRING, description="Password of PING storage server")
private String pingStorageServerPassword;
public String getPingStorageServerIp() {

View File

@ -28,6 +28,7 @@ import com.cloud.agent.api.baremetal.PreparePxeServerAnswer;
import com.cloud.agent.api.baremetal.PreparePxeServerCommand;
import com.cloud.agent.api.baremetal.prepareCreateTemplateCommand;
import com.cloud.agent.api.baremetal.IpmISetBootDevCommand.BootDev;
import com.cloud.baremetal.database.BaremetalPxeDao;
import com.cloud.baremetal.database.BaremetalPxeVO;
import com.cloud.baremetal.networkservice.BaremetalPxeService;
import com.cloud.baremetal.networkservice.BaremetalPxeManager.BaremetalPxeType;
@ -67,6 +68,7 @@ public class BareMetalPingServiceImpl extends BareMetalPxeServiceBase implements
@Inject PhysicalNetworkDao _physicalNetworkDao;
@Inject PhysicalNetworkServiceProviderDao _physicalNetworkServiceProviderDao;
@Inject HostDetailsDao _hostDetailsDao;
@Inject BaremetalPxeDao _pxeDao;
@Override
@ -170,10 +172,9 @@ public class BareMetalPingServiceImpl extends BareMetalPxeServiceBase implements
}
zoneId = pNetwork.getDataCenterId();
NetworkDevice ntwkDevice = NetworkDevice.PxeServer;
PhysicalNetworkServiceProviderVO ntwkSvcProvider = _physicalNetworkServiceProviderDao.findByServiceProvider(pNetwork.getId(), ntwkDevice.getNetworkServiceProvder());
PhysicalNetworkServiceProviderVO ntwkSvcProvider = _physicalNetworkServiceProviderDao.findByServiceProvider(pNetwork.getId(), BaremetalPxeManager.BAREMETAL_PXE_SERVICE_PROVIDER.getName());
if (ntwkSvcProvider == null) {
throw new CloudRuntimeException("Network Service Provider: " + ntwkDevice.getNetworkServiceProvder() +
throw new CloudRuntimeException("Network Service Provider: " + BaremetalPxeManager.BAREMETAL_PXE_SERVICE_PROVIDER.getName() +
" is not enabled in the physical network: " + cmd.getPhysicalNetworkId() + "to add this device");
} else if (ntwkSvcProvider.getState() == PhysicalNetworkServiceProvider.State.Shutdown) {
throw new CloudRuntimeException("Network Service Provider: " + ntwkSvcProvider.getProviderName() +
@ -185,7 +186,7 @@ public class BareMetalPingServiceImpl extends BareMetalPxeServiceBase implements
throw new InvalidParameterValueException("Could not find pod with ID: " + cmd.getPodId());
}
List<HostVO> pxes = _resourceMgr.listAllUpAndEnabledHosts(Host.Type.PxeServer, null, cmd.getPodId(), zoneId);
List<HostVO> pxes = _resourceMgr.listAllUpAndEnabledHosts(Host.Type.BaremetalPxe, null, cmd.getPodId(), zoneId);
if (pxes.size() != 0) {
throw new InvalidParameterValueException("Already had a PXE server in Pod: " + cmd.getPodId() + " zone: " + zoneId);
}
@ -226,7 +227,6 @@ public class BareMetalPingServiceImpl extends BareMetalPxeServiceBase implements
ServerResource resource = null;
Map params = new HashMap<String, String>();
params.put(BaremetalPxeService.PXE_PARAM_ZONE, BaremetalPxeType.PING.toString());
params.put(BaremetalPxeService.PXE_PARAM_ZONE, Long.toString(zoneId));
params.put(BaremetalPxeService.PXE_PARAM_POD, String.valueOf(pod.getId()));
params.put(BaremetalPxeService.PXE_PARAM_IP, ipAddress);
@ -247,7 +247,7 @@ public class BareMetalPingServiceImpl extends BareMetalPxeServiceBase implements
throw new CloudRuntimeException(e.getMessage());
}
Host pxeServer = _resourceMgr.addHost(zoneId, resource, Host.Type.PxeServer, params);
Host pxeServer = _resourceMgr.addHost(zoneId, resource, Host.Type.BaremetalPxe, params);
if (pxeServer == null) {
throw new CloudRuntimeException("Cannot add PXE server as a host");
}
@ -259,6 +259,7 @@ public class BareMetalPingServiceImpl extends BareMetalPxeServiceBase implements
vo.setPodId(pod.getId());
vo.setPhysicalNetworkId(pcmd.getPhysicalNetworkId());
vo.setDeviceType(BaremetalPxeType.PING.toString());
_pxeDao.persist(vo);
txn.commit();
return vo;
}

View File

@ -47,7 +47,6 @@ import com.cloud.vm.VirtualMachineProfile;
public class BaremetalDhcpElement extends AdapterBase implements DhcpServiceProvider {
private static final Logger s_logger = Logger.getLogger(BaremetalDhcpElement.class);
private static final Map<Service, Map<Capability, String>> capabilities;
private static final Provider provider = new Provider("BaremetalDhcpProvider", true);
@Inject NicDao _nicDao;
@Inject BaremetalDhcpManager _dhcpMgr;
@ -67,7 +66,7 @@ public class BaremetalDhcpElement extends AdapterBase implements DhcpServiceProv
@Override
public Provider getProvider() {
return provider;
return BaremetalDhcpManager.BAREMETAL_DHCP_SERVICE_PROVIDER;
}
private boolean canHandle(DeployDestination dest, TrafficType trafficType, GuestType networkType) {
@ -155,5 +154,4 @@ public class BaremetalDhcpElement extends AdapterBase implements DhcpServiceProv
}
return _dhcpMgr.addVirtualMachineIntoNetwork(network, nic, vm, dest, context);
}
}

View File

@ -19,6 +19,7 @@ import com.cloud.deploy.DeployDestination;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.host.Host;
import com.cloud.network.Network;
import com.cloud.network.Network.Provider;
import com.cloud.uservm.UserVm;
import com.cloud.utils.component.Manager;
import com.cloud.utils.component.PluggableService;
@ -43,4 +44,5 @@ public interface BaremetalDhcpManager extends Manager, PluggableService {
public static final String BAREMETAL_DHCP_SERVICE_CAPABITLITY = "BaremetalDhcp";
public static final String BAREMETAL_DHCP_SERVICE_PROPERTIES = "baremetaldhcp_commands.properties";
public static final Provider BAREMETAL_DHCP_SERVICE_PROVIDER = new Provider("BaremetalDhcpProvider", true);
}

View File

@ -125,7 +125,7 @@ public class BaremetalDhcpManagerImpl implements BaremetalDhcpManager, ResourceS
DeployDestination dest, ReservationContext context) throws ResourceUnavailableException {
Long zoneId = profile.getVirtualMachine().getDataCenterIdToDeployIn();
Long podId = profile.getVirtualMachine().getPodIdToDeployIn();
List<HostVO> hosts = _resourceMgr.listAllUpAndEnabledHosts(Type.ExternalDhcp, null, podId, zoneId);
List<HostVO> hosts = _resourceMgr.listAllUpAndEnabledHosts(Type.BaremetalDhcp, null, podId, zoneId);
if (hosts.size() == 0) {
throw new CloudRuntimeException("No external Dhcp found in zone " + zoneId + " pod " + podId);
}
@ -173,7 +173,7 @@ public class BaremetalDhcpManagerImpl implements BaremetalDhcpManager, ResourceS
return null;
}
host.setType(Host.Type.ExternalDhcp);
host.setType(Host.Type.BaremetalDhcp);
return host;
}
@ -205,11 +205,10 @@ public class BaremetalDhcpManagerImpl implements BaremetalDhcpManager, ResourceS
zoneId = pNetwork.getDataCenterId();
DataCenterVO zone = _dcDao.findById(zoneId);
NetworkDevice ntwkDevice = NetworkDevice.ExternalDhcp;
PhysicalNetworkServiceProviderVO ntwkSvcProvider = _physicalNetworkServiceProviderDao.findByServiceProvider(pNetwork.getId(),
ntwkDevice.getNetworkServiceProvder());
BaremetalDhcpManager.BAREMETAL_DHCP_SERVICE_PROVIDER.getName());
if (ntwkSvcProvider == null) {
throw new CloudRuntimeException("Network Service Provider: " + ntwkDevice.getNetworkServiceProvder() + " is not enabled in the physical network: "
throw new CloudRuntimeException("Network Service Provider: " + BaremetalDhcpManager.BAREMETAL_DHCP_SERVICE_PROVIDER.getName() + " is not enabled in the physical network: "
+ cmd.getPhysicalNetworkId() + "to add this device");
} else if (ntwkSvcProvider.getState() == PhysicalNetworkServiceProvider.State.Shutdown) {
throw new CloudRuntimeException("Network Service Provider: " + ntwkSvcProvider.getProviderName()
@ -221,7 +220,7 @@ public class BaremetalDhcpManagerImpl implements BaremetalDhcpManager, ResourceS
throw new InvalidParameterValueException("Could not find pod with ID: " + cmd.getPodId());
}
List<HostVO> dhcps = _resourceMgr.listAllUpAndEnabledHosts(Host.Type.ExternalDhcp, null, cmd.getPodId(), zoneId);
List<HostVO> dhcps = _resourceMgr.listAllUpAndEnabledHosts(Host.Type.BaremetalDhcp, null, cmd.getPodId(), zoneId);
if (dhcps.size() != 0) {
throw new InvalidParameterValueException("Already had a DHCP server in Pod: " + cmd.getPodId() + " zone: " + zoneId);
}
@ -267,7 +266,7 @@ public class BaremetalDhcpManagerImpl implements BaremetalDhcpManager, ResourceS
throw new CloudRuntimeException(e.getMessage());
}
Host dhcpServer = _resourceMgr.addHost(zoneId, resource, Host.Type.ExternalDhcp, params);
Host dhcpServer = _resourceMgr.addHost(zoneId, resource, Host.Type.BaremetalDhcp, params);
if (dhcpServer == null) {
throw new CloudRuntimeException("Cannot add external Dhcp server as a host");
}
@ -298,7 +297,9 @@ public class BaremetalDhcpManagerImpl implements BaremetalDhcpManager, ResourceS
@Override
public List<BaremetalDhcpResponse> listBaremetalDhcps(ListBaremetalDhcpCmd cmd) {
SearchCriteriaService<BaremetalDhcpVO, BaremetalDhcpVO> sc = SearchCriteria2.create(BaremetalDhcpVO.class);
sc.addAnd(sc.getEntity().getDeviceType(), Op.EQ, cmd.getDeviceType());
if (cmd.getDeviceType() != null) {
sc.addAnd(sc.getEntity().getDeviceType(), Op.EQ, cmd.getDeviceType());
}
if (cmd.getPodId() != null) {
sc.addAnd(sc.getEntity().getPodId(), Op.EQ, cmd.getPodId());
if (cmd.getId() != null) {

View File

@ -112,7 +112,7 @@ public class BaremetalDhcpResourceBase implements ServerResource {
@Override
public Type getType() {
return Type.ExternalDhcp;
return Type.BaremetalDhcp;
}
@Override

View File

@ -19,21 +19,28 @@ import javax.naming.ConfigurationException;
import org.apache.log4j.Logger;
import com.cloud.agent.IAgentControl;
import com.cloud.agent.api.Answer;
import com.cloud.agent.api.Command;
import com.cloud.agent.api.PingCommand;
import com.cloud.agent.api.PingRoutingCommand;
import com.cloud.agent.api.StartupCommand;
import com.cloud.agent.api.StartupExternalDhcpCommand;
import com.cloud.agent.api.baremetal.PreparePxeServerAnswer;
import com.cloud.agent.api.baremetal.PreparePxeServerCommand;
import com.cloud.agent.api.baremetal.prepareCreateTemplateCommand;
import com.cloud.api.ApiConstants;
import com.cloud.baremetal.networkservice.BaremetalPxeService;
import com.cloud.host.Host.Type;
import com.cloud.resource.ServerResource;
import com.cloud.utils.script.Script;
import com.cloud.utils.ssh.SSHCmdHelper;
import com.cloud.vm.VirtualMachine.State;
import com.trilead.ssh2.SCPClient;
public class BaremetalPingPxeResource extends BareMetalResourceBase {
public class BaremetalPingPxeResource extends BaremetalPxeResourceBase {
private static final Logger s_logger = Logger.getLogger(BaremetalPingPxeResource.class);
private static final String _name = "BaremetalPingPxeResource";
String _storageServer;
String _pingDir;
String _share;
@ -45,7 +52,6 @@ public class BaremetalPingPxeResource extends BareMetalResourceBase {
@Override
public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
super.configure(name, params);
_storageServer = (String)params.get(BaremetalPxeService.PXE_PARAM_PING_STORAGE_SERVER_IP);
_pingDir = (String)params.get(BaremetalPxeService.PXE_PARAM_PING_ROOT_DIR);
_tftpDir = (String)params.get(BaremetalPxeService.PXE_PARAM_TFTP_DIR);

View File

@ -42,7 +42,6 @@ import com.cloud.vm.VirtualMachine.Type;
public class BaremetalPxeElement extends AdapterBase implements NetworkElement {
private static final Logger s_logger = Logger.getLogger(BaremetalPxeElement.class);
private static final Map<Service, Map<Capability, String>> capabilities;
private static final Provider provider = new Provider("BaremetalPxeProvider", true);
@Inject BaremetalPxeManager _pxeMgr;;
@ -61,7 +60,7 @@ public class BaremetalPxeElement extends AdapterBase implements NetworkElement {
@Override
public Provider getProvider() {
return provider;
return BaremetalPxeManager.BAREMETAL_PXE_SERVICE_PROVIDER;
}
private boolean canHandle(DeployDestination dest, TrafficType trafficType, GuestType networkType) {

View File

@ -18,6 +18,7 @@ import com.cloud.baremetal.database.BaremetalPxeVO;
import com.cloud.deploy.DeployDestination;
import com.cloud.host.HostVO;
import com.cloud.network.Network;
import com.cloud.network.Network.Provider;
import com.cloud.uservm.UserVm;
import com.cloud.utils.component.Manager;
import com.cloud.utils.component.PluggableService;
@ -45,4 +46,5 @@ public interface BaremetalPxeManager extends Manager, PluggableService {
public static final Network.Service BAREMETAL_PXE_SERVICE = new Network.Service("BaremetalPxeService");
public static final String BAREMETAL_PXE_CAPABILITY = "BaremetalPxe";
public static final String BAREMETAL_PXE_SERVICE_PROPERTIES = "baremetalpxe_commands.properties";
public static final Provider BAREMETAL_PXE_SERVICE_PROVIDER = new Provider("BaremetalPxeProvider", true);;
}

View File

@ -121,7 +121,7 @@ public class BaremetalPxeManagerImpl implements BaremetalPxeManager, ResourceSta
return null;
}
host.setType(Host.Type.PxeServer);
host.setType(Host.Type.BaremetalPxe);
return host;
}

View File

@ -99,7 +99,7 @@ public class BaremetalPxeResourceBase implements ServerResource {
@Override
public Type getType() {
return Type.PxeServer;
return Type.BaremetalPxe;
}
@Override

View File

@ -1,16 +1,20 @@
package com.cloud.baremetal.networkservice;
import java.util.List;
import org.apache.log4j.Logger;
import com.cloud.api.BaseListCmd;
import com.cloud.api.ApiConstants;
import com.cloud.api.BaseCmd;
import com.cloud.api.IdentityMapper;
import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.PlugService;
import com.cloud.api.ServerApiException;
import com.cloud.api.BaseCmd.CommandType;
import com.cloud.api.response.ListResponse;
import com.cloud.exception.ConcurrentOperationException;
import com.cloud.exception.InsufficientCapacityException;
import com.cloud.exception.NetworkRuleConflictException;
@ -26,15 +30,15 @@ public class ListBaremetalDhcpCmd extends BaseListCmd {
// ///////////////////////////////////////////////////
// ////////////// API parameters /////////////////////
// ///////////////////////////////////////////////////
@IdentityMapper(entityTableName = "external_dhcp_devices")
@Parameter(name = ApiConstants.ID, type = CommandType.LONG, required = true, description = "DHCP server device ID")
@IdentityMapper(entityTableName = "baremetal_dhcp_devices")
@Parameter(name = ApiConstants.ID, type = CommandType.LONG, description = "DHCP server device ID")
private Long id;
@IdentityMapper(entityTableName = "host_pod_ref")
@Parameter(name = ApiConstants.POD_ID, type = CommandType.LONG, required = true, description = "Pod ID where pxe server is in")
@Parameter(name = ApiConstants.POD_ID, type = CommandType.LONG, description = "Pod ID where pxe server is in")
private Long podId;
@Parameter(name = ApiConstants.DHCP_SERVER_TYPE, type = CommandType.STRING, required = true, description = "Type of DHCP device")
@Parameter(name = ApiConstants.DHCP_SERVER_TYPE, type = CommandType.STRING, description = "Type of DHCP device")
private String deviceType;
public Long getId() {
@ -64,12 +68,22 @@ public class ListBaremetalDhcpCmd extends BaseListCmd {
@Override
public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException,
ResourceAllocationException, NetworkRuleConflictException {
try {
ListResponse<BaremetalDhcpResponse> response = new ListResponse<BaremetalDhcpResponse>();
List<BaremetalDhcpResponse> dhcpResponses = _dhcpMgr.listBaremetalDhcps(this);
response.setResponses(dhcpResponses);
response.setResponseName(getCommandName());
this.setResponseObject(response);
} catch (Exception e) {
s_logger.debug("Exception happend while executing ListBaremetalDhcpCmd");
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e.getMessage());
}
}
@Override
public String getCommandName() {
return null;
return s_name;
}
}

View File

@ -32,12 +32,12 @@ public class ListBaremetalPxePingServersCmd extends BaseListCmd {
// ////////////// API parameters /////////////////////
// ///////////////////////////////////////////////////
@IdentityMapper(entityTableName = "external_pxe_devices")
@Parameter(name = ApiConstants.ID, type = CommandType.LONG, required = true, description = "Ping pxe server device ID")
@IdentityMapper(entityTableName = "baremetal_pxe_devices")
@Parameter(name = ApiConstants.ID, type = CommandType.LONG, description = "Ping pxe server device ID")
private Long id;
@IdentityMapper(entityTableName = "host_pod_ref")
@Parameter(name = ApiConstants.POD_ID, type = CommandType.LONG, required = true, description = "Pod ID where pxe server is in")
@Parameter(name = ApiConstants.POD_ID, type = CommandType.LONG, description = "Pod ID where pxe server is in")
private Long podId;
public Long getId() {

View File

@ -0,0 +1,6 @@
### bitmap of permissions at the end of each classname, 1 = ADMIN, 2 = RESOURCE_DOMAIN_ADMIN, 4 = DOMAIN_ADMIN, 8 = USER
### Please standardize naming conventions to camel-case (even for acronyms).
### baremetal dhcp commands
addBaremetalPxePingServer=com.cloud.baremetal.networkservice.AddBaremetalPxePingServerCmd;1
listBaremetalPxePingServer=com.cloud.baremetal.networkservice.ListBaremetalPxePingServersCmd;1

View File

@ -163,6 +163,10 @@
<dao name="BaremetalPxeDao" class="com.cloud.baremetal.database.BaremetalPxeDaoImpl"/>
<dao name="BaremetalDhcpDao" class="com.cloud.baremetal.database.BaremetalDhcpDaoImpl"/>
<adapters key="com.cloud.baremetal.networkservice.BaremetalPxeService">
<adapter name="PING" class="com.cloud.baremetal.networkservice.BareMetalPingServiceImpl" />
</adapters>
<pluggableservice name="BaremetalPxeService" key="com.cloud.baremetal.networkservice.BaremetalPxeManager" class="com.cloud.baremetal.networkservice.BaremetalPxeManagerImpl"/>
<pluggableservice name="BaremetalDhcpService" key="com.cloud.baremetal.networkservice.BaremetalDhcpManager" class="com.cloud.baremetal.networkservice.BaremetalDhcpManagerImpl"/>
<pluggableservice name="VirtualRouterElementService" key="com.cloud.network.element.VirtualRouterElementService" class="com.cloud.network.element.VirtualRouterElement"/>

View File

@ -350,7 +350,7 @@ public class HostDaoImpl extends GenericDaoBase<HostVO, Long> implements HostDao
txn.start();
SearchCriteria<HostVO> sc = UnmanagedApplianceSearch.create();
sc.setParameters("lastPinged", lastPingSecondsAfter);
sc.setParameters("types", Type.ExternalDhcp, Type.ExternalFirewall, Type.ExternalLoadBalancer, Type.PxeServer, Type.TrafficMonitor);
sc.setParameters("types", Type.BaremetalDhcp, Type.ExternalFirewall, Type.ExternalLoadBalancer, Type.BaremetalPxe, Type.TrafficMonitor);
List<HostVO> hosts = lockRows(sc, null, true);
for (HostVO host : hosts) {

View File

@ -235,11 +235,11 @@ public class ExternalNetworkDeviceManagerImpl implements ExternalNetworkDeviceMa
if (NetworkDevice.ExternalDhcp.getName().equalsIgnoreCase(cmd.getDeviceType())) {
Long zoneId = Long.parseLong((String) params.get(ApiConstants.ZONE_ID));
Long podId = Long.parseLong((String)params.get(ApiConstants.POD_ID));
res = listNetworkDevice(zoneId, null, podId, Host.Type.ExternalDhcp);
res = listNetworkDevice(zoneId, null, podId, Host.Type.BaremetalDhcp);
} else if (NetworkDevice.PxeServer.getName().equalsIgnoreCase(cmd.getDeviceType())) {
Long zoneId = Long.parseLong((String) params.get(ApiConstants.ZONE_ID));
Long podId = Long.parseLong((String)params.get(ApiConstants.POD_ID));
res = listNetworkDevice(zoneId, null, podId, Host.Type.PxeServer);
res = listNetworkDevice(zoneId, null, podId, Host.Type.BaremetalPxe);
} else if (cmd.getDeviceType().equalsIgnoreCase(NetworkDevice.NetscalerMPXLoadBalancer.getName()) ||
cmd.getDeviceType().equalsIgnoreCase(NetworkDevice.NetscalerVPXLoadBalancer.getName()) ||
cmd.getDeviceType().equalsIgnoreCase(NetworkDevice.NetscalerSDXLoadBalancer.getName()) ||
@ -257,8 +257,8 @@ public class ExternalNetworkDeviceManagerImpl implements ExternalNetworkDeviceMa
Long zoneId = Long.parseLong((String) params.get(ApiConstants.ZONE_ID));
Long podId = Long.parseLong((String)params.get(ApiConstants.POD_ID));
Long physicalNetworkId = (params.get(ApiConstants.PHYSICAL_NETWORK_ID)==null)?Long.parseLong((String)params.get(ApiConstants.PHYSICAL_NETWORK_ID)):null;
List<Host> res1 = listNetworkDevice(zoneId, physicalNetworkId, podId, Host.Type.PxeServer);
List<Host> res2 = listNetworkDevice(zoneId, physicalNetworkId, podId, Host.Type.ExternalDhcp);
List<Host> res1 = listNetworkDevice(zoneId, physicalNetworkId, podId, Host.Type.BaremetalDhcp);
List<Host> res2 = listNetworkDevice(zoneId, physicalNetworkId, podId, Host.Type.BaremetalPxe);
List<Host> res3 = listNetworkDevice(zoneId, physicalNetworkId, podId, Host.Type.ExternalLoadBalancer);
List<Host> res4 = listNetworkDevice(zoneId, physicalNetworkId, podId, Host.Type.ExternalFirewall);
List<Host> deviceAll = new ArrayList<Host>();