You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ya...@apache.org on 2013/06/19 02:06:04 UTC

[1/4] git commit: updated refs/heads/baremetal-4.2 to f6d71c5

Updated Branches:
  refs/heads/baremetal-4.2 [created] f6d71c506


Fix baremetal functionality

1. Baremetal doesn't have secondary storage, so we don't need check them.

2. The new "AddBaremetalHostCmd" hasn't been used by UI, so keep the validity
checking out for now. "AddHostCmd" would still works.

3. Baremetal haven't implemented multiple ip range feature(CLOUDSTACK-702),
return true for now for single range.



Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/192523f7
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/192523f7
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/192523f7

Branch: refs/heads/baremetal-4.2
Commit: 192523f76843c7cac16fc12e01384771826b5209
Parents: 43b7a54
Author: Sheng Yang <sh...@citrix.com>
Authored: Tue Jun 18 14:04:05 2013 -0700
Committer: Sheng Yang <sh...@citrix.com>
Committed: Tue Jun 18 14:04:05 2013 -0700

----------------------------------------------------------------------
 .../src/com/cloud/baremetal/manager/BareMetalDiscoverer.java   | 3 ++-
 .../com/cloud/baremetal/manager/BareMetalTemplateAdapter.java  | 6 ------
 .../cloud/baremetal/networkservice/BaremetalDhcpElement.java   | 6 ++++--
 3 files changed, 6 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/192523f7/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BareMetalDiscoverer.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BareMetalDiscoverer.java b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BareMetalDiscoverer.java
index edb5dea..997d754 100755
--- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BareMetalDiscoverer.java
+++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BareMetalDiscoverer.java
@@ -92,10 +92,11 @@ public class BareMetalDiscoverer extends DiscovererBase implements Discoverer, R
 	public Map<? extends ServerResource, Map<String, String>> find(long dcId, Long podId, Long clusterId, URI url, String username, String password, List<String> hostTags)
 			throws DiscoveryException {
 	    
+		/* Enable this after we decide to use addBaremetalHostCmd instead of addHostCmd
 	    String discoverName = _params.get(ApiConstants.BAREMETAL_DISCOVER_NAME);
 	    if (!this.getClass().getName().equals(discoverName)) {
 	        return null;
-	    }
+	    } */
 	    
 		Map<BareMetalResourceBase, Map<String, String>> resources = new HashMap<BareMetalResourceBase, Map<String, String>>();
 		Map<String, String> details = new HashMap<String, String>();

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/192523f7/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BareMetalTemplateAdapter.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BareMetalTemplateAdapter.java b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BareMetalTemplateAdapter.java
index 928183b..bf1dcc8 100755
--- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BareMetalTemplateAdapter.java
+++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BareMetalTemplateAdapter.java
@@ -84,10 +84,6 @@ public class BareMetalTemplateAdapter extends TemplateAdapterBase implements Tem
 			}
 		}
 
-        // Check that the resource limit for secondary storage won't be exceeded
-        _resourceLimitMgr.checkResourceLimit(_accountMgr.getAccount(cmd.getEntityOwnerId()),
-                ResourceType.secondary_storage, UriUtils.getRemoteSize(profile.getUrl()));
-
 		return profile;
 	}
 	
@@ -138,8 +134,6 @@ public class BareMetalTemplateAdapter extends TemplateAdapterBase implements Tem
 		}
 		
 		_resourceLimitMgr.incrementResourceCount(profile.getAccountId(), ResourceType.template);
-        _resourceLimitMgr.incrementResourceCount(profile.getAccountId(), ResourceType.secondary_storage,
-                UriUtils.getRemoteSize(profile.getUrl()));
 		return template;
 	}
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/192523f7/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpElement.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpElement.java b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpElement.java
index fdf8b63..96d702d 100755
--- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpElement.java
+++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpElement.java
@@ -168,12 +168,14 @@ public class BaremetalDhcpElement extends AdapterBase implements DhcpServiceProv
 
     @Override
     public boolean configDhcpSupportForSubnet(Network network, NicProfile nic, VirtualMachineProfile<? extends VirtualMachine> vm, DeployDestination dest, ReservationContext context) throws ConcurrentOperationException, InsufficientCapacityException, ResourceUnavailableException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
+    	//TODO Add support for baremetal
+        return true;
     }
 
     @Override
     public boolean removeDhcpSupportForSubnet(Network network) {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
+    	//TODO Add support for baremetal
+        return true;
     }
 
 }


[3/4] git commit: updated refs/heads/baremetal-4.2 to f6d71c5

Posted by ya...@apache.org.
Revert "Removing baremetal related references"

This reverts commit 99ea4011b18356d09686889205ef5df1b170b0dc.

Conflicts:
	server/src/com/cloud/network/NetworkServiceImpl.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/a61fd5dc
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/a61fd5dc
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/a61fd5dc

Branch: refs/heads/baremetal-4.2
Commit: a61fd5dc85250a6fdb8cafcc19ff2906441089ba
Parents: 0a8343e
Author: Sheng Yang <sh...@citrix.com>
Authored: Tue Jun 18 14:04:05 2013 -0700
Committer: Sheng Yang <sh...@citrix.com>
Committed: Tue Jun 18 14:04:05 2013 -0700

----------------------------------------------------------------------
 client/pom.xml                                              | 5 +++++
 .../dns-notifier/resources/components-example.xml           | 8 --------
 server/src/com/cloud/network/NetworkServiceImpl.java        | 9 +++------
 3 files changed, 8 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a61fd5dc/client/pom.xml
----------------------------------------------------------------------
diff --git a/client/pom.xml b/client/pom.xml
index ab758eb..9fe5081 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -106,6 +106,11 @@
       <version>${project.version}</version>
     </dependency>
     <dependency>
+      <groupId>org.apache.cloudstack</groupId>
+      <artifactId>cloud-plugin-hypervisor-ucs</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
        <groupId>org.apache.cloudstack</groupId>
        <artifactId>cloud-plugin-hypervisor-ovm</artifactId>
        <version>${project.version}</version>

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a61fd5dc/plugins/network-elements/dns-notifier/resources/components-example.xml
----------------------------------------------------------------------
diff --git a/plugins/network-elements/dns-notifier/resources/components-example.xml b/plugins/network-elements/dns-notifier/resources/components-example.xml
index 2e9c5be..717c5e0 100755
--- a/plugins/network-elements/dns-notifier/resources/components-example.xml
+++ b/plugins/network-elements/dns-notifier/resources/components-example.xml
@@ -112,9 +112,7 @@ under the License.
             <adapter name="XCP Agent" class="com.cloud.hypervisor.xen.discoverer.XcpServerDiscoverer"/>
             <adapter name="SecondaryStorage" class="com.cloud.storage.secondary.SecondaryStorageDiscoverer"/>
             <adapter name="KVM Agent" class="com.cloud.hypervisor.kvm.discoverer.KvmServerDiscoverer"/>
-            <!--
             <adapter name="Bare Metal Agent" class="com.cloud.baremetal.BareMetalDiscoverer"/>
-            -->
             <adapter name="SCVMMServer" class="com.cloud.hypervisor.hyperv.HypervServerDiscoverer"/>            
 			<adapter name="Ovm Discover" class="com.cloud.ovm.hypervisor.OvmDiscoverer" />
         </adapters>
@@ -122,9 +120,7 @@ under the License.
             <adapter name="First Fit" class="com.cloud.deploy.FirstFitPlanner"/>
             <adapter name="UserDispersing" class="com.cloud.deploy.UserDispersingPlanner"/>
             <adapter name="UserConcentratedPod" class="com.cloud.deploy.UserConcentratedPodPlanner"/>
-            <!--
             <adapter name="BareMetal Fit" class="com.cloud.deploy.BareMetalPlanner"/>
-            -->
         </adapters>
         <adapters key="com.cloud.alert.AlertAdapter">
             <adapter name="ClusterAlert" class="com.cloud.alert.ClusterAlertAdapter"/>
@@ -138,9 +134,7 @@ under the License.
             <adapter name="VirtualRouter" class="com.cloud.network.element.VirtualRouterElement"/>
             <adapter name="Ovs" class="com.cloud.network.element.OvsElement"/>
             <adapter name="ExternalDhcpServer" class="com.cloud.network.element.ExternalDhcpElement"/>
-            <!-- 
             <adapter name="BareMetal" class="com.cloud.network.element.BareMetalElement"/>
-            -->
             <adapter name="SecurityGroupProvider" class="com.cloud.network.element.SecurityGroupElement"/>
             <adapter name="VpcVirtualRouter" class="com.cloud.network.element.VpcVirtualRouterElement"/>
             <adapter name="NiciraNvp" class="com.cloud.network.element.NiciraNvpElement"/>
@@ -152,9 +146,7 @@ under the License.
         <adapters key="com.cloud.hypervisor.HypervisorGuru">
             <adapter name="XenServerGuru" class="com.cloud.hypervisor.XenServerGuru"/>
             <adapter name="KVMGuru" class="com.cloud.hypervisor.KVMGuru"/>
-            <!--
             <adapter name="BareMetalGuru" class="com.cloud.baremetal.BareMetalGuru"/>
-            -->
             <adapter name="HypervGuru" class="com.cloud.hypervisor.guru.HypervGuru"/>            
             <adapter name="OvmGuru" class="com.cloud.ovm.hypervisor.OvmGuru" />
         </adapters>

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a61fd5dc/server/src/com/cloud/network/NetworkServiceImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/NetworkServiceImpl.java b/server/src/com/cloud/network/NetworkServiceImpl.java
index aace68d..6ede914 100755
--- a/server/src/com/cloud/network/NetworkServiceImpl.java
+++ b/server/src/com/cloud/network/NetworkServiceImpl.java
@@ -2491,11 +2491,11 @@ public class NetworkServiceImpl extends ManagerBase implements  NetworkService {
             addDefaultVpcVirtualRouterToPhysicalNetwork(pNetwork.getId());
 
             // add baremetal as the defualt network service provider
-            /* addDefaultBaremetalProvidersToPhysicalNetwork(pNetwork.getId()); */
-            
+            addDefaultBaremetalProvidersToPhysicalNetwork(pNetwork.getId());
+
             //Add Internal Load Balancer element as a default network service provider
             addDefaultInternalLbProviderToPhysicalNetwork(pNetwork.getId());
-            
+
             txn.commit();
             return pNetwork;
         } catch (Exception ex) {
@@ -3752,12 +3752,9 @@ public class NetworkServiceImpl extends ManagerBase implements  NetworkService {
         DataCenterVO dvo = _dcDao.findById(pvo.getDataCenterId());
         if (dvo.getNetworkType() == NetworkType.Basic) {
 
-        	// Baremetal is currently disabled
-/*
             addProviderToPhysicalNetwork(physicalNetworkId, "BaremetalDhcpProvider", null, null);
             addProviderToPhysicalNetwork(physicalNetworkId, "BaremetalPxeProvider", null, null);
             addProviderToPhysicalNetwork(physicalNetworkId, "BaremetaUserdataProvider", null, null);
-*/
         }
         return null;
     }


[2/4] git commit: updated refs/heads/baremetal-4.2 to f6d71c5

Posted by ya...@apache.org.
Baremetal: Re-enable baremetal component


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/43b7a544
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/43b7a544
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/43b7a544

Branch: refs/heads/baremetal-4.2
Commit: 43b7a544007167e2ca1c7cc062353d76af2544f0
Parents: a61fd5d
Author: Sheng Yang <sh...@citrix.com>
Authored: Tue Jun 18 14:04:05 2013 -0700
Committer: Sheng Yang <sh...@citrix.com>
Committed: Tue Jun 18 14:04:05 2013 -0700

----------------------------------------------------------------------
 client/tomcatconf/applicationContext.xml.in     |  4 ----
 client/tomcatconf/componentContext.xml.in       | 10 ----------
 client/tomcatconf/nonossComponentContext.xml.in |  8 --------
 3 files changed, 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/43b7a544/client/tomcatconf/applicationContext.xml.in
----------------------------------------------------------------------
diff --git a/client/tomcatconf/applicationContext.xml.in b/client/tomcatconf/applicationContext.xml.in
index 049e483..294822e 100644
--- a/client/tomcatconf/applicationContext.xml.in
+++ b/client/tomcatconf/applicationContext.xml.in
@@ -183,8 +183,6 @@
   <bean id="autoScaleVmGroupDaoImpl" class="com.cloud.network.as.dao.AutoScaleVmGroupDaoImpl" />
   <bean id="autoScaleVmGroupPolicyMapDaoImpl" class="com.cloud.network.as.dao.AutoScaleVmGroupPolicyMapDaoImpl" />
   <bean id="autoScaleVmProfileDaoImpl" class="com.cloud.network.as.dao.AutoScaleVmProfileDaoImpl" />
-  <bean id="baremetalDhcpDaoImpl" class="com.cloud.baremetal.database.BaremetalDhcpDaoImpl" />
-  <bean id="baremetalPxeDaoImpl" class="com.cloud.baremetal.database.BaremetalPxeDaoImpl" />
   <bean id="capacityDaoImpl" class="com.cloud.capacity.dao.CapacityDaoImpl" />
   <bean id="certificateDaoImpl" class="com.cloud.certificate.dao.CertificateDaoImpl" />
   <bean id="clusterDaoImpl" class="com.cloud.dc.dao.ClusterDaoImpl" />
@@ -822,7 +820,6 @@
     Baremetal components
   -->
   
-<!--
   <bean id="BareMetalDhcp" class="com.cloud.baremetal.networkservice.BaremetalDhcpElement">
     <property name="name" value="BareMetalDhcp"/>
   </bean>
@@ -856,7 +853,6 @@
   <bean id="BAREMETAL" class="org.apache.cloudstack.storage.image.format.BAREMETAL" />
   <bean id="baremetalDhcpDaoImpl" class="com.cloud.baremetal.database.BaremetalDhcpDaoImpl" />
   <bean id="baremetalPxeDaoImpl" class="com.cloud.baremetal.database.BaremetalPxeDaoImpl" />
--->
 
   <bean id="AffinityGroupServiceImpl" class="org.apache.cloudstack.affinity.AffinityGroupServiceImpl"/>
   <bean id="DeploymentPlanningManager" class="com.cloud.deploy.DeploymentPlanningManagerImpl">

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/43b7a544/client/tomcatconf/componentContext.xml.in
----------------------------------------------------------------------
diff --git a/client/tomcatconf/componentContext.xml.in b/client/tomcatconf/componentContext.xml.in
index 93ef21f..7563d69 100644
--- a/client/tomcatconf/componentContext.xml.in
+++ b/client/tomcatconf/componentContext.xml.in
@@ -116,11 +116,7 @@
           <ref bean="SecondaryStorageDiscoverer"/>
           <ref bean="KvmServerDiscoverer"/>
           <ref bean="LxcServerDiscoverer"/>
-
-  <!--
           <ref bean="BareMetalDiscoverer"/>
-  -->
-
           <ref bean="OvmDiscoverer"/>
       </list>
     </property>
@@ -156,9 +152,7 @@
           <ref bean="UserDispersingPlanner" />
           <ref bean="UserConcentratedPodPlanner" />
           <ref bean="ImplicitDedicationPlanner" />
-<!--
           <ref bean="BareMetalPlanner" />
--->
       </list>
     </property>
   </bean>
@@ -208,9 +202,7 @@
       <list>
           <ref bean="VirtualRouter"/>
           <ref bean="VpcVirtualRouter"/>
-<!--
           <ref bean="BareMetalDhcp"/>
--->
       </list>
     </property>
   </bean>
@@ -243,11 +235,9 @@
           <ref bean="NiciraNvp" />
           <ref bean="MidoNetElement"/>
           <ref bean="InternalLbVm"/>
-<!--
           <ref bean="BareMetalDhcp"/>
           <ref bean="BareMetalPxe"/>
           <ref bean="BareMetalUserdata"/>
--->
       </list>
     </property>
   </bean>

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/43b7a544/client/tomcatconf/nonossComponentContext.xml.in
----------------------------------------------------------------------
diff --git a/client/tomcatconf/nonossComponentContext.xml.in b/client/tomcatconf/nonossComponentContext.xml.in
index 143aa22..62685e9 100644
--- a/client/tomcatconf/nonossComponentContext.xml.in
+++ b/client/tomcatconf/nonossComponentContext.xml.in
@@ -215,9 +215,7 @@
           <ref bean="XcpServerDiscoverer"/>
           <ref bean="SecondaryStorageDiscoverer"/>
           <ref bean="KvmServerDiscoverer"/>
-<!--          
           <ref bean="BareMetalDiscoverer"/>
--->
           <ref bean="OvmDiscoverer"/>
           <ref bean="vmwareServerDiscoverer"/>
       </list>
@@ -256,9 +254,7 @@
           <ref bean="UserDispersingPlanner" />
           <ref bean="UserConcentratedPodPlanner" />
           <ref bean="ImplicitDedicationPlanner" />
-<!--
           <ref bean="BareMetalPlanner" />
--->
       </list>
     </property>
   </bean>
@@ -308,9 +304,7 @@
       <list>
           <ref bean="VirtualRouter"/>
           <ref bean="VpcVirtualRouter"/>
-<!--          
           <ref bean="BareMetalDhcp"/>
--->    
       </list>
     </property>
   </bean>
@@ -349,11 +343,9 @@
           <ref bean="SecurityGroupProvider"/>
           <ref bean="VpcVirtualRouter"/>
           <ref bean="InternalLbVm"/>
-<!--
           <ref bean="BareMetalDhcp"/>
           <ref bean="BareMetalPxe"/>
           <ref bean="BareMetalUserdata"/>
--->    
       </list>
     </property>
   </bean>


[4/4] git commit: updated refs/heads/baremetal-4.2 to f6d71c5

Posted by ya...@apache.org.
Baremetal: DB upgrade


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/f6d71c50
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/f6d71c50
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/f6d71c50

Branch: refs/heads/baremetal-4.2
Commit: f6d71c5062adf8ff9609a5b7f09a27a03c75ae3a
Parents: 192523f
Author: Sheng Yang <sh...@citrix.com>
Authored: Tue Jun 18 15:52:40 2013 -0700
Committer: Sheng Yang <sh...@citrix.com>
Committed: Tue Jun 18 15:52:40 2013 -0700

----------------------------------------------------------------------
 server/src/com/cloud/configuration/Config.java |  2 +-
 setup/db/db/schema-410to420.sql                | 16 ++++++++++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f6d71c50/server/src/com/cloud/configuration/Config.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/configuration/Config.java b/server/src/com/cloud/configuration/Config.java
index f6fa974..00bf2eb 100755
--- a/server/src/com/cloud/configuration/Config.java
+++ b/server/src/com/cloud/configuration/Config.java
@@ -406,7 +406,7 @@ public enum Config {
 	NetworkIPv6SearchRetryMax("Network", ManagementServer.class, Integer.class, "network.ipv6.search.retry.max", "10000", "The maximum number of retrying times to search for an available IPv6 address in the table", null),
 
 	ExternalBaremetalSystemUrl("Advanced", ManagementServer.class, String.class, "external.baremetal.system.url", null, "url of external baremetal system that CloudStack will talk to", null),
-	ExternalBaremetalResourceClassName("Advanced", ManagementServer.class, String.class, "external,baremetal.resource.classname", null, "class name for handling external baremetal resource", null),
+	ExternalBaremetalResourceClassName("Advanced", ManagementServer.class, String.class, "external.baremetal.resource.classname", null, "class name for handling external baremetal resource", null),
 	EnableBaremetalSecurityGroupAgentEcho("Advanced", ManagementServer.class, Boolean.class, "enable.baremetal.securitygroup.agent.echo", "false", "After starting provision process, periodcially echo security agent installed in the template. Treat provisioning as success only if echo successfully", null),
 	IntervalToEchoBaremetalSecurityGroupAgent("Advanced", ManagementServer.class, Integer.class, "interval.baremetal.securitygroup.agent.echo", "10", "Interval to echo baremetal security group agent, in seconds", null),
 	TimeoutToEchoBaremetalSecurityGroupAgent("Advanced", ManagementServer.class, Integer.class, "timeout.baremetal.securitygroup.agent.echo", "3600", "Timeout to echo baremetal security group agent, in seconds, the provisioning process will be treated as a failure", null),

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f6d71c50/setup/db/db/schema-410to420.sql
----------------------------------------------------------------------
diff --git a/setup/db/db/schema-410to420.sql b/setup/db/db/schema-410to420.sql
index bcdf2d9..4ff3949 100644
--- a/setup/db/db/schema-410to420.sql
+++ b/setup/db/db/schema-410to420.sql
@@ -1884,3 +1884,19 @@ UPDATE `cloud`.`networks` set name='Shared SG enabled network', display_text='Sh
 
 INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'use.system.public.ips', 'true', 'If true, when account has dedicated public ip range(s), once the ips dedicated to the account have been consumed ips will be acquired from the system pool');
 INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'use.system.guest.vlans', 'true', 'If true, when account has dedicated guest vlan range(s), once the vlans dedicated to the account have been consumed vlans will be allocated from the system pool');
+
+INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'external.baremetal.system.url', null, 'url of external baremetal system that CloudStack will talk to');
+INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'external.baremetal.resource.classname', null, 'class name for handling external baremetal resource');
+INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'enable.baremetal.securitygroup.agent.echo', 'false', 'After starting provision process, periodcially echo security agent installed in the template. Treat provisioning as success only if echo successfully');
+INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'interval.baremetal.securitygroup.agent.echo', 10, 'Interval to echo baremetal security group agent, in seconds');
+INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'timeout.baremetal.securitygroup.agent.echo', 3600, 'Timeout to echo baremetal security group agent, in seconds, the provisioning process will be treated as a failure');
+
+ALTER TABLE `cloud`.`baremetal_dhcp_devices` ADD CONSTRAINT `fk_external_dhcp_devices_nsp_id` FOREIGN KEY (`nsp_id`) REFERENCES `physical_network_service_providers` (`id`) ON DELETE CASCADE;
+ALTER TABLE `cloud`.`baremetal_dhcp_devices` ADD CONSTRAINT `fk_external_dhcp_devices_host_id` FOREIGN KEY (`host_id`) REFERENCES `host`(`id`) ON DELETE CASCADE;
+ALTER TABLE `cloud`.`baremetal_dhcp_devices` ADD CONSTRAINT `fk_external_dhcp_devices_pod_id` FOREIGN KEY (`pod_id`) REFERENCES `host_pod_ref`(`id`) ON DELETE CASCADE;
+ALTER TABLE `cloud`.`baremetal_dhcp_devices` ADD CONSTRAINT `fk_external_dhcp_devices_physical_network_id` FOREIGN KEY (`physical_network_id`) REFERENCES `physical_network`(`id`) ON DELETE CASCADE;
+
+ALTER TABLE `cloud`.`baremetal_pxe_devices` ADD CONSTRAINT `fk_external_pxe_devices_nsp_id` FOREIGN KEY (`nsp_id`) REFERENCES `physical_network_service_providers` (`id`) ON DELETE CASCADE;
+ALTER TABLE `cloud`.`baremetal_pxe_devices` ADD CONSTRAINT `fk_external_pxe_devices_host_id` FOREIGN KEY (`host_id`) REFERENCES `host`(`id`) ON DELETE CASCADE;
+ALTER TABLE `cloud`.`baremetal_pxe_devices` ADD CONSTRAINT `fk_external_pxe_devices_physical_network_id` FOREIGN KEY (`physical_network_id`) REFERENCES `physical_network`(`id`) ON DELETE CASCADE;
+