NaaS: Remove some configure items for virtual router

DHCP range, domain name, etc. are the property of network, not virtual router
specific.

The focus of virtual router configuration would on separate enable/disable each
service it provided.
This commit is contained in:
Sheng Yang 2011-10-27 11:39:20 -07:00
parent cb329095b1
commit b369e45c78
9 changed files with 20 additions and 303 deletions

View File

@ -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///////////////////
/////////////////////////////////////////////////////

View File

@ -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///////////////////
/////////////////////////////////////////////////////

View File

@ -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///////////////////
/////////////////////////////////////////////////////

View File

@ -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);
}

View File

@ -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();
}
}

View File

@ -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;

View File

@ -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;

View File

@ -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;
}

View File

@ -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;