diff --git a/baremetal/src/com/cloud/baremetal/networkservice/AddBaremetalDhcpCmd.java b/baremetal/src/com/cloud/baremetal/networkservice/AddBaremetalDhcpCmd.java
index eb41c210fb4..57a9762483a 100644
--- a/baremetal/src/com/cloud/baremetal/networkservice/AddBaremetalDhcpCmd.java
+++ b/baremetal/src/com/cloud/baremetal/networkservice/AddBaremetalDhcpCmd.java
@@ -11,7 +11,6 @@ import com.cloud.api.PlugService;
import com.cloud.api.ServerApiException;
import com.cloud.api.BaseCmd.CommandType;
import com.cloud.baremetal.database.BaremetalDhcpVO;
-import com.cloud.baremetal.manager.BaremetalDhcpManager;
import com.cloud.event.EventTypes;
import com.cloud.exception.ConcurrentOperationException;
import com.cloud.exception.InsufficientCapacityException;
diff --git a/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpElement.java b/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpElement.java
index a4e47088fac..9a3d33a23ce 100644
--- a/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpElement.java
+++ b/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpElement.java
@@ -11,7 +11,6 @@ import org.apache.log4j.Logger;
import com.cloud.baremetal.database.BaremetalDhcpVO;
import com.cloud.baremetal.database.BaremetalPxeVO;
-import com.cloud.baremetal.manager.BaremetalDhcpManager;
import com.cloud.dc.Pod;
import com.cloud.dc.DataCenter.NetworkType;
import com.cloud.deploy.DeployDestination;
diff --git a/baremetal/src/com/cloud/baremetal/manager/BaremetalDhcpManager.java b/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpManager.java
similarity index 89%
rename from baremetal/src/com/cloud/baremetal/manager/BaremetalDhcpManager.java
rename to baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpManager.java
index 8307a7ebe8a..8b03b760172 100644
--- a/baremetal/src/com/cloud/baremetal/manager/BaremetalDhcpManager.java
+++ b/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpManager.java
@@ -10,14 +10,11 @@
// limitations under the License.
//
// Automatically generated by addcopyright.py at 04/03/2012
-package com.cloud.baremetal.manager;
+package com.cloud.baremetal.networkservice;
import java.util.List;
import com.cloud.baremetal.database.BaremetalDhcpVO;
-import com.cloud.baremetal.networkservice.AddBaremetalDhcpCmd;
-import com.cloud.baremetal.networkservice.BaremetalDhcpResponse;
-import com.cloud.baremetal.networkservice.ListBaremetalDhcpCmd;
import com.cloud.deploy.DeployDestination;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.host.Host;
diff --git a/baremetal/src/com/cloud/baremetal/manager/BaremetalDhcpManagerImpl.java b/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpManagerImpl.java
similarity index 97%
rename from baremetal/src/com/cloud/baremetal/manager/BaremetalDhcpManagerImpl.java
rename to baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpManagerImpl.java
index 83dc86a1029..ffb0cf241b1 100755
--- a/baremetal/src/com/cloud/baremetal/manager/BaremetalDhcpManagerImpl.java
+++ b/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpManagerImpl.java
@@ -10,7 +10,7 @@
// limitations under the License.
//
// Automatically generated by addcopyright.py at 04/03/2012
-package com.cloud.baremetal.manager;
+package com.cloud.baremetal.networkservice;
import java.net.URI;
import java.util.ArrayList;
@@ -30,11 +30,6 @@ import com.cloud.agent.api.StartupExternalDhcpCommand;
import com.cloud.agent.api.routing.DhcpEntryCommand;
import com.cloud.baremetal.database.BaremetalDhcpDao;
import com.cloud.baremetal.database.BaremetalDhcpVO;
-import com.cloud.baremetal.networkservice.AddBaremetalDhcpCmd;
-import com.cloud.baremetal.networkservice.BaremetalDhcpResponse;
-import com.cloud.baremetal.networkservice.BaremetalDhcpdResource;
-import com.cloud.baremetal.networkservice.BaremetalDnsmasqResource;
-import com.cloud.baremetal.networkservice.ListBaremetalDhcpCmd;
import com.cloud.dc.DataCenter;
import com.cloud.dc.DataCenterVO;
import com.cloud.dc.HostPodVO;
diff --git a/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeElement.java b/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeElement.java
index 0a59e082bc1..d0d9eb425f4 100644
--- a/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeElement.java
+++ b/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeElement.java
@@ -10,7 +10,6 @@ import org.apache.log4j.Logger;
import com.cloud.baremetal.database.BaremetalDhcpVO;
import com.cloud.baremetal.database.BaremetalPxeVO;
-import com.cloud.baremetal.manager.BaremetalDhcpManager;
import com.cloud.dc.Pod;
import com.cloud.dc.DataCenter.NetworkType;
import com.cloud.deploy.DeployDestination;
diff --git a/baremetal/src/com/cloud/baremetal/networkservice/ListBaremetalDhcpCmd.java b/baremetal/src/com/cloud/baremetal/networkservice/ListBaremetalDhcpCmd.java
index 7cfc618a0b1..dac14c58641 100644
--- a/baremetal/src/com/cloud/baremetal/networkservice/ListBaremetalDhcpCmd.java
+++ b/baremetal/src/com/cloud/baremetal/networkservice/ListBaremetalDhcpCmd.java
@@ -11,7 +11,6 @@ import com.cloud.api.Parameter;
import com.cloud.api.PlugService;
import com.cloud.api.ServerApiException;
import com.cloud.api.BaseCmd.CommandType;
-import com.cloud.baremetal.manager.BaremetalDhcpManager;
import com.cloud.exception.ConcurrentOperationException;
import com.cloud.exception.InsufficientCapacityException;
import com.cloud.exception.NetworkRuleConflictException;
diff --git a/client/tomcatconf/components.xml.in b/client/tomcatconf/components.xml.in
index b6fe93a7a41..85cd31c74ec 100755
--- a/client/tomcatconf/components.xml.in
+++ b/client/tomcatconf/components.xml.in
@@ -157,14 +157,14 @@
-
+
-
-
+
+
diff --git a/server/src/com/cloud/network/NetworkManager.java b/server/src/com/cloud/network/NetworkManager.java
index 2577440d298..5ae0b50b4ac 100755
--- a/server/src/com/cloud/network/NetworkManager.java
+++ b/server/src/com/cloud/network/NetworkManager.java
@@ -263,7 +263,7 @@ public interface NetworkManager extends NetworkService {
PhysicalNetworkServiceProvider addDefaultSecurityGroupProviderToPhysicalNetwork(
long physicalNetworkId);
-
+
List getPhysicalNetworkInfo(long dcId,
HypervisorType hypervisorType);
diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java
index 3d8054a85c4..87b6521b71c 100755
--- a/server/src/com/cloud/network/NetworkManagerImpl.java
+++ b/server/src/com/cloud/network/NetworkManagerImpl.java
@@ -4702,6 +4702,9 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
// add security group provider to the physical network
addDefaultSecurityGroupProviderToPhysicalNetwork(pNetwork.getId());
+
+ // add baremetal pxe/dhcp provider to the physical network
+ addDefaultBaremetalProvidersToPhysicalNetwork(pNetwork.getId());
txn.commit();
return pNetwork;
@@ -6067,6 +6070,16 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
return nsp;
}
+
+ private PhysicalNetworkServiceProvider addDefaultBaremetalProvidersToPhysicalNetwork(long physicalNetworkId) {
+ PhysicalNetworkVO pvo = _physicalNetworkDao.findById(physicalNetworkId);
+ DataCenterVO dvo = _dcDao.findById(pvo.getDataCenterId());
+ if (dvo.getNetworkType() == NetworkType.Basic) {
+ addProviderToPhysicalNetwork(physicalNetworkId, "BaremetalDhcpProvider", null, null);
+ addProviderToPhysicalNetwork(physicalNetworkId, "BaremetalPxeProvider", null, null);
+ }
+ return null;
+ }
@Override
public boolean isNetworkSystem(Network network) {