diff --git a/api/src/com/cloud/api/commands/ConfigureDhcpElementCmd.java b/api/src/com/cloud/api/commands/ConfigureDhcpElementCmd.java index e0bb937553d..fcb21147611 100644 --- a/api/src/com/cloud/api/commands/ConfigureDhcpElementCmd.java +++ b/api/src/com/cloud/api/commands/ConfigureDhcpElementCmd.java @@ -61,24 +61,6 @@ public class ConfigureDhcpElementCmd extends BaseAsyncCmd { @Parameter(name=ApiConstants.USERDATA_SERVICE, type=CommandType.BOOLEAN, required=true, description="true is user data service would be enabled") private Boolean userdataService; - @Parameter(name=ApiConstants.DHCP_RANGE, type=CommandType.STRING, description="the dhcp range for the DHCP service ") - private String dhcpRange; - - @Parameter(name=ApiConstants.DNS1, type=CommandType.STRING, description="the first DNS") - private String dns1; - - @Parameter(name=ApiConstants.DNS2, type=CommandType.STRING, description="the second DNS") - private String dns2; - - @Parameter(name=ApiConstants.INTERNAL_DNS1, type=CommandType.STRING, description="the first internal DNS") - private String internalDns1; - - @Parameter(name=ApiConstants.INTERNAL_DNS2, type=CommandType.STRING, description="the second internal DNS") - private String internalDns2; - - @Parameter(name=ApiConstants.DOMAIN, type=CommandType.STRING, description="the gateway ip") - private String domainName; - ///////////////////////////////////////////////////// /////////////////// Accessors /////////////////////// ///////////////////////////////////////////////////// @@ -99,30 +81,6 @@ public class ConfigureDhcpElementCmd extends BaseAsyncCmd { return userdataService; } - public String getDomainName() { - return domainName; - } - - public String getDhcpRange() { - return dhcpRange; - } - - public String getDns1() { - return dns1; - } - - public String getDns2() { - return dns2; - } - - public String getInternalDns1() { - return internalDns1; - } - - public String getInternalDns2() { - return internalDns2; - } - ///////////////////////////////////////////////////// /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// diff --git a/api/src/com/cloud/api/commands/ConfigureRedundantVirtualRouterElementCmd.java b/api/src/com/cloud/api/commands/ConfigureRedundantVirtualRouterElementCmd.java index 405cb7c113b..07746ac4c75 100644 --- a/api/src/com/cloud/api/commands/ConfigureRedundantVirtualRouterElementCmd.java +++ b/api/src/com/cloud/api/commands/ConfigureRedundantVirtualRouterElementCmd.java @@ -76,27 +76,6 @@ public class ConfigureRedundantVirtualRouterElementCmd extends BaseAsyncCmd { @Parameter(name=ApiConstants.VPN_SERVICE, type=CommandType.BOOLEAN, required=true, description="true is vpn service would be enabled") private Boolean vpnService; - @Parameter(name=ApiConstants.DHCP_RANGE, type=CommandType.STRING, description="the dhcp range for the DHCP service ") - private String dhcpRange; - - @Parameter(name=ApiConstants.DNS1, type=CommandType.STRING, description="the first DNS") - private String dns1; - - @Parameter(name=ApiConstants.DNS2, type=CommandType.STRING, description="the second DNS") - private String dns2; - - @Parameter(name=ApiConstants.INTERNAL_DNS1, type=CommandType.STRING, description="the first internal DNS") - private String internalDns1; - - @Parameter(name=ApiConstants.INTERNAL_DNS2, type=CommandType.STRING, description="the second internal DNS") - private String internalDns2; - - @Parameter(name=ApiConstants.GATEWAY, type=CommandType.STRING, description="the gateway ip") - private String gateway; - - @Parameter(name=ApiConstants.DOMAIN, type=CommandType.STRING, description="the gateway ip") - private String domainName; - /////////////////// Accessors /////////////////////// ///////////////////////////////////////////////////// @@ -136,35 +115,6 @@ public class ConfigureRedundantVirtualRouterElementCmd extends BaseAsyncCmd { return vpnService; } - public String getDomainName() { - return domainName; - } - - public String getDhcpRange() { - return dhcpRange; - } - - public String getDns1() { - return dns1; - } - - public String getDns2() { - return dns2; - } - - public String getInternalDns1() { - return internalDns1; - } - - public String getInternalDns2() { - return internalDns2; - } - - public String getGateway() { - return gateway; - } - - ///////////////////////////////////////////////////// /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// diff --git a/api/src/com/cloud/api/commands/ConfigureVirtualRouterElementCmd.java b/api/src/com/cloud/api/commands/ConfigureVirtualRouterElementCmd.java index af8e3297417..fc93a681ea9 100644 --- a/api/src/com/cloud/api/commands/ConfigureVirtualRouterElementCmd.java +++ b/api/src/com/cloud/api/commands/ConfigureVirtualRouterElementCmd.java @@ -76,27 +76,6 @@ public class ConfigureVirtualRouterElementCmd extends BaseAsyncCmd { @Parameter(name=ApiConstants.VPN_SERVICE, type=CommandType.BOOLEAN, required=true, description="true is vpn service would be enabled") private Boolean vpnService; - @Parameter(name=ApiConstants.DHCP_RANGE, type=CommandType.STRING, description="the dhcp range for the DHCP service ") - private String dhcpRange; - - @Parameter(name=ApiConstants.DNS1, type=CommandType.STRING, description="the first DNS") - private String dns1; - - @Parameter(name=ApiConstants.DNS2, type=CommandType.STRING, description="the second DNS") - private String dns2; - - @Parameter(name=ApiConstants.INTERNAL_DNS1, type=CommandType.STRING, description="the first internal DNS") - private String internalDns1; - - @Parameter(name=ApiConstants.INTERNAL_DNS2, type=CommandType.STRING, description="the second internal DNS") - private String internalDns2; - - @Parameter(name=ApiConstants.GATEWAY, type=CommandType.STRING, description="the gateway ip") - private String gateway; - - @Parameter(name=ApiConstants.DOMAIN, type=CommandType.STRING, description="the gateway ip") - private String domainName; - ///////////////////////////////////////////////////// /////////////////// Accessors /////////////////////// ///////////////////////////////////////////////////// @@ -137,34 +116,6 @@ public class ConfigureVirtualRouterElementCmd extends BaseAsyncCmd { return vpnService; } - public String getDomainName() { - return domainName; - } - - public String getDhcpRange() { - return dhcpRange; - } - - public String getDns1() { - return dns1; - } - - public String getDns2() { - return dns2; - } - - public String getInternalDns1() { - return internalDns1; - } - - public String getInternalDns2() { - return internalDns2; - } - - public String getGateway() { - return gateway; - } - ///////////////////////////////////////////////////// /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// diff --git a/api/src/com/cloud/network/element/DhcpElementService.java b/api/src/com/cloud/network/element/DhcpElementService.java index 4871130feef..f7a8ab18d19 100644 --- a/api/src/com/cloud/network/element/DhcpElementService.java +++ b/api/src/com/cloud/network/element/DhcpElementService.java @@ -7,4 +7,5 @@ public interface DhcpElementService extends PluggableService{ boolean configure(ConfigureDhcpElementCmd cmd); boolean addElement(Long nspId, String uuid); Long getIdByUUID(String uuid); + boolean isReady(String uuid); } diff --git a/server/src/com/cloud/network/element/DhcpElement.java b/server/src/com/cloud/network/element/DhcpElement.java index 8ea35b98080..4ab7aaa10ae 100644 --- a/server/src/com/cloud/network/element/DhcpElement.java +++ b/server/src/com/cloud/network/element/DhcpElement.java @@ -220,23 +220,8 @@ public class DhcpElement extends AdapterBase implements DhcpElementService, Pass s_logger.trace("Can't find element with UUID " + cmd.getUUID()); return false; } - if (cmd.getDhcpService() && cmd.getDhcpRange() == null) { - s_logger.trace("DHCP service is provided, but no specific DHCP range!"); - return false; - } - if (cmd.getDnsService() && (cmd.getDns1() == null || cmd.getDomainName() == null)) { - s_logger.trace("DNS service is provided, but no domain name or dns server!"); - return false; - } element.setIsDhcpProvided(cmd.getDhcpService()); - element.setDhcpRange(cmd.getDhcpRange()); - element.setIsDnsProvided(cmd.getDnsService()); - element.setDefaultDomainName(cmd.getDomainName()); - element.setDns1(cmd.getDns1()); - element.setDns2(cmd.getDns2()); - element.setInternalDns1(cmd.getInternalDns1()); - element.setInternalDns2(cmd.getInternalDns2()); element.setIsGatewayProvided(false); element.setIsFirewallProvided(false); @@ -244,6 +229,8 @@ public class DhcpElement extends AdapterBase implements DhcpElementService, Pass element.setIsSourceNatProvided(false); element.setIsVpnProvided(false); + element.setIsReady(true); + _vrElementsDao.persist(element); return true; @@ -255,7 +242,7 @@ public class DhcpElement extends AdapterBase implements DhcpElementService, Pass if (serviceOfferingId == 0) { return false; } - VirtualRouterElementsVO element = new VirtualRouterElementsVO(nspId, uuid, serviceOfferingId, false, VirtualRouterElementsType.DhcpElement, + VirtualRouterElementsVO element = new VirtualRouterElementsVO(nspId, uuid, VirtualRouterElementsType.DhcpElement, false, false, false, false, false, false, false); _vrElementsDao.persist(element); return true; @@ -269,4 +256,13 @@ public class DhcpElement extends AdapterBase implements DhcpElementService, Pass } return element.getId(); } + + @Override + public boolean isReady(String uuid) { + VirtualRouterElementsVO element = _vrElementsDao.findByUUID(uuid); + if (element == null) { + return false; + } + return element.getIsReady(); + } } diff --git a/server/src/com/cloud/network/element/RedundantVirtualRouterElement.java b/server/src/com/cloud/network/element/RedundantVirtualRouterElement.java index 65b63058c48..2d469fdc859 100644 --- a/server/src/com/cloud/network/element/RedundantVirtualRouterElement.java +++ b/server/src/com/cloud/network/element/RedundantVirtualRouterElement.java @@ -97,31 +97,21 @@ public class RedundantVirtualRouterElement extends VirtualRouterElement implemen s_logger.trace("Can't find element with UUID " + cmd.getUUID()); return false; } - if (cmd.getDhcpService() && cmd.getDhcpRange() == null) { + if (cmd.getDhcpService() == null) { s_logger.trace("DHCP service is provided, but no specific DHCP range!"); return false; } - if (cmd.getDnsService() && (cmd.getDns1() == null || cmd.getDomainName() == null)) { + if (cmd.getDnsService() == null) { s_logger.trace("DNS service is provided, but no domain name or dns server!"); return false; } - if (cmd.getGatewayService() && cmd.getGateway() == null) { + if (cmd.getGatewayService() == null) { s_logger.trace("Gateway service is provided, but no gateway IP specific!"); return false; } element.setIsDhcpProvided(cmd.getDhcpService()); - element.setDhcpRange(cmd.getDhcpRange()); - element.setIsDnsProvided(cmd.getDnsService()); - element.setDefaultDomainName(cmd.getDomainName()); - element.setDns1(cmd.getDns1()); - element.setDns2(cmd.getDns2()); - element.setInternalDns1(cmd.getInternalDns1()); - element.setInternalDns2(cmd.getInternalDns2()); - element.setIsGatewayProvided(cmd.getGatewayService()); - element.setGatewayIp(cmd.getGateway()); - element.setIsFirewallProvided(cmd.getFirewallService()); element.setIsLoadBalanceProvided(cmd.getLbService()); element.setIsSourceNatProvided(cmd.getSourceNatService()); @@ -135,11 +125,7 @@ public class RedundantVirtualRouterElement extends VirtualRouterElement implemen @Override public boolean addElement(Long nspId, String uuid) { - long serviceOfferingId = _routerMgr.getDefaultVirtualRouterServiceOfferingId(); - if (serviceOfferingId == 0) { - return false; - } - VirtualRouterElementsVO element = new VirtualRouterElementsVO(nspId, uuid, serviceOfferingId, false, VirtualRouterElementsType.RedundantVirtualRouterElement, + VirtualRouterElementsVO element = new VirtualRouterElementsVO(nspId, uuid, VirtualRouterElementsType.RedundantVirtualRouterElement, false, false, false, false, false, false, false); _vrElementsDao.persist(element); return true; diff --git a/server/src/com/cloud/network/element/VirtualRouterElement.java b/server/src/com/cloud/network/element/VirtualRouterElement.java index f1cfbaa6566..5bbcffd8745 100644 --- a/server/src/com/cloud/network/element/VirtualRouterElement.java +++ b/server/src/com/cloud/network/element/VirtualRouterElement.java @@ -382,31 +382,9 @@ public class VirtualRouterElement extends DhcpElement implements VirtualRouterEl s_logger.trace("Can't find element with UUID " + cmd.getUUID()); return false; } - if (cmd.getDhcpService() && cmd.getDhcpRange() == null) { - s_logger.trace("DHCP service is provided, but no specific DHCP range!"); - return false; - } - if (cmd.getDnsService() && (cmd.getDns1() == null || cmd.getDomainName() == null)) { - s_logger.trace("DNS service is provided, but no domain name or dns server!"); - return false; - } - if (cmd.getGatewayService() && cmd.getGateway() == null) { - s_logger.trace("Gateway service is provided, but no gateway IP specific!"); - return false; - } element.setIsDhcpProvided(cmd.getDhcpService()); - element.setDhcpRange(cmd.getDhcpRange()); - element.setIsDnsProvided(cmd.getDnsService()); - element.setDefaultDomainName(cmd.getDomainName()); - element.setDns1(cmd.getDns1()); - element.setDns2(cmd.getDns2()); - element.setInternalDns1(cmd.getInternalDns1()); - element.setInternalDns2(cmd.getInternalDns2()); - element.setIsGatewayProvided(cmd.getGatewayService()); - element.setGatewayIp(cmd.getGateway()); - element.setIsFirewallProvided(cmd.getFirewallService()); element.setIsLoadBalanceProvided(cmd.getLbService()); element.setIsSourceNatProvided(cmd.getSourceNatService()); @@ -420,11 +398,7 @@ public class VirtualRouterElement extends DhcpElement implements VirtualRouterEl @Override public boolean addElement(Long nspId, String uuid) { - long serviceOfferingId = _routerMgr.getDefaultVirtualRouterServiceOfferingId(); - if (serviceOfferingId == 0) { - return false; - } - VirtualRouterElementsVO element = new VirtualRouterElementsVO(nspId, uuid, serviceOfferingId, false, VirtualRouterElementsType.VirtualRouterElement, + VirtualRouterElementsVO element = new VirtualRouterElementsVO(nspId, uuid, VirtualRouterElementsType.VirtualRouterElement, false, false, false, false, false, false, false); _vrElementsDao.persist(element); return true; diff --git a/server/src/com/cloud/network/element/VirtualRouterElementsVO.java b/server/src/com/cloud/network/element/VirtualRouterElementsVO.java index 1211c385f67..628f142e435 100644 --- a/server/src/com/cloud/network/element/VirtualRouterElementsVO.java +++ b/server/src/com/cloud/network/element/VirtualRouterElementsVO.java @@ -51,9 +51,6 @@ public class VirtualRouterElementsVO implements VirtualRouterElements { @Column(name="uuid") private String uuid; - @Column(name="service_offering_id") - private long serviceOfferingId; - @Column(name="dhcp_provided") private boolean isDhcpProvided; @@ -75,39 +72,16 @@ public class VirtualRouterElementsVO implements VirtualRouterElements { @Column(name="vpn_provided") private boolean isVpnProvided; - @Column(name="dhcp_range") - private String dhcpRange; - - @Column(name="default_domain_name") - private String defaultDomainName; - - @Column(name="dns1") - private String dns1; - - @Column(name="dns2") - private String dns2; - - @Column(name="internal_dns1") - private String internalDns1; - - @Column(name="internal_dns2") - private String internalDns2; - - @Column(name="gateway_ip") - private String gatewayIp; - @Column(name=GenericDao.REMOVED_COLUMN) Date removed; public VirtualRouterElementsVO() { } - public VirtualRouterElementsVO(long nspId, String uuid, long serviceOfferingId, boolean isReady, VirtualRouterElementsType type, boolean isDhcpProvided, boolean isDnsProvided, + public VirtualRouterElementsVO(long nspId, String uuid, VirtualRouterElementsType type, boolean isDhcpProvided, boolean isDnsProvided, boolean isGatewayProvided, boolean isFirewallProvided, boolean isSourceNatProvided, boolean isLoadBalanceProvided, boolean isVpnProvided) { this.nspId = nspId; this.uuid = uuid; - this.serviceOfferingId = serviceOfferingId; - this.isReady = isReady; this.type = type; this.isDhcpProvided = isDhcpProvided; this.isDnsProvided = isDnsProvided; @@ -130,54 +104,6 @@ public class VirtualRouterElementsVO implements VirtualRouterElements { return id; } - public String getDhcpRange() { - return dhcpRange; - } - - public void setDhcpRange(String dhcpRange) { - this.dhcpRange = dhcpRange; - } - - public String getDefaultDomainName() { - return defaultDomainName; - } - - public void setDefaultDomainName(String defaultDomainName) { - this.defaultDomainName = defaultDomainName; - } - - public String getDns1() { - return dns1; - } - - public void setDns1(String dns1) { - this.dns1 = dns1; - } - - public String getDns2() { - return dns2; - } - - public void setDns2(String dns2) { - this.dns2 = dns2; - } - - public String getInternalDns1() { - return internalDns1; - } - - public void setInternalDns1(String internalDns1) { - this.internalDns1 = internalDns1; - } - - public String getInternalDns2() { - return internalDns2; - } - - public void setInternalDns2(String internalDns2) { - this.internalDns2 = internalDns2; - } - public boolean getIsDhcpProvided() { return isDhcpProvided; } @@ -239,14 +165,6 @@ public class VirtualRouterElementsVO implements VirtualRouterElements { return this.type; } - public String getGatewayIp() { - return gatewayIp; - } - - public void setGatewayIp(String gatewayIp) { - this.gatewayIp = gatewayIp; - } - public Date getRemoved() { return removed; } @@ -263,14 +181,6 @@ public class VirtualRouterElementsVO implements VirtualRouterElements { return isReady; } - public void setServiceOfferingId(long serviceOfferingId) { - this.serviceOfferingId = serviceOfferingId; - } - - public long getServiceOfferingId() { - return serviceOfferingId; - } - public void setId(long id) { this.id = id; } diff --git a/setup/db/create-schema.sql b/setup/db/create-schema.sql index 8fd53cba5f9..a73eb83ecf7 100755 --- a/setup/db/create-schema.sql +++ b/setup/db/create-schema.sql @@ -1738,17 +1738,8 @@ CREATE TABLE `cloud`.`virtual_router_elements` ( `source_nat_provided` int(1) NOT NULL, `load_balance_provided` int(1) NOT NULL, `vpn_provided` int(1) NOT NULL, - `service_offering_id` bigint unsigned NOT NULL, - `dhcp_range` varchar(255), - `default_domain_name` varchar(255), - `dns1` varchar(255), - `dns2` varchar(255), - `internal_dns1` varchar(255), - `internal_dns2` varchar(255), - `gateway_ip` varchar(255), `removed` datetime COMMENT 'date removed if not null', - PRIMARY KEY (`id`), - CONSTRAINT `fk_virtual_router_elements__service_offering_id` FOREIGN KEY `fk_virtual_router_elements__service_offering_id` (`service_offering_id`) REFERENCES `service_offering`(`id`) + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;