mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
missing default values for providers
This commit is contained in:
parent
8440fb1aa0
commit
d890189a92
@ -17,23 +17,55 @@
|
||||
*/
|
||||
package com.cloud.agent.api.to;
|
||||
|
||||
import com.cloud.network.rules.FirewallRule;
|
||||
import com.cloud.network.rules.FirewallRule.State;
|
||||
|
||||
/**
|
||||
* FirewallRuleTO transfers a port range for an ip to be opened.
|
||||
*
|
||||
* There are essentially three states transferred with each state.
|
||||
* 1. revoked - the rule has been revoked. A rule in this state may be
|
||||
* sent multiple times to the destination. If the rule is not on
|
||||
* the destination, the answer to a revoke rule should be successful.
|
||||
* 2. alreadyAdded - the rule has been successfully added before. Rules
|
||||
* in this state are sent for completeness and optomization.
|
||||
* 3. neither - the rule is to be added but it might have been added before.
|
||||
* If the rule already exists on the destination, the destination should
|
||||
* reply the rule is successfully applied.
|
||||
*
|
||||
* As for the information carried, it is fairly straightforward:
|
||||
* - srcIp: ip to be open the ports for.
|
||||
* - srcPortRange: port range to open.
|
||||
* - protocol: protocol to open for. Usually tcp and udp.
|
||||
* - id: a unique id if the destination can use it to uniquly identify the rules.
|
||||
*
|
||||
*/
|
||||
public class FirewallRuleTO {
|
||||
long id;
|
||||
String srcIp;
|
||||
String protocol;
|
||||
int[] srcPortRange;
|
||||
boolean revoked;
|
||||
boolean brandNew;
|
||||
boolean alreadyAdded;
|
||||
String vlanNetmask; // FIXME: Get rid of this!
|
||||
|
||||
protected FirewallRuleTO() {
|
||||
}
|
||||
|
||||
public FirewallRuleTO(String srcIp, String protocol, int srcPortStart, int srcPortEnd, boolean revoked, boolean brandNew) {
|
||||
public FirewallRuleTO(long id, String srcIp, String protocol, int srcPortStart, int srcPortEnd, boolean revoked, boolean alreadyAdded) {
|
||||
this.srcIp = srcIp;
|
||||
this.protocol = protocol;
|
||||
this.srcPortRange = new int[] {srcPortStart, srcPortEnd};
|
||||
this.revoked = revoked;
|
||||
this.brandNew = brandNew;
|
||||
this.alreadyAdded = alreadyAdded;
|
||||
}
|
||||
|
||||
public FirewallRuleTO(FirewallRule rule) {
|
||||
this(rule.getId(), rule.getSourceIpAddress().addr(), rule.getProtocol(), rule.getSourcePortStart(), rule.getSourcePortEnd(), rule.getState()==State.Revoke, rule.getState()==State.Active);
|
||||
}
|
||||
|
||||
public long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getSrcIp() {
|
||||
@ -56,7 +88,7 @@ public class FirewallRuleTO {
|
||||
return vlanNetmask;
|
||||
}
|
||||
|
||||
public boolean isBrandNew() {
|
||||
return brandNew;
|
||||
public boolean isAlreadyAdded() {
|
||||
return alreadyAdded;
|
||||
}
|
||||
}
|
||||
|
||||
@ -17,9 +17,14 @@
|
||||
*/
|
||||
package com.cloud.agent.api.to;
|
||||
|
||||
import com.cloud.network.rules.FirewallRule.State;
|
||||
import com.cloud.network.rules.PortForwardingRule;
|
||||
|
||||
/**
|
||||
* PortForwardingRuleTO specifies one port forwarding rule.
|
||||
*
|
||||
* See FirewallRuleTO for the stuff.
|
||||
*
|
||||
*/
|
||||
public class PortForwardingRuleTO extends FirewallRuleTO {
|
||||
String dstIp;
|
||||
int[] dstPortRange;
|
||||
@ -29,11 +34,13 @@ public class PortForwardingRuleTO extends FirewallRuleTO {
|
||||
}
|
||||
|
||||
public PortForwardingRuleTO(PortForwardingRule rule) {
|
||||
this(rule.getSourceIpAddress().addr(), rule.getSourcePortStart(), rule.getSourcePortEnd(), rule.getDestinationIpAddress().addr(), rule.getDestinationPortStart(), rule.getDestinationPortEnd(), rule.getProtocol(), rule.getState() == State.Revoke, rule.getState() == State.Add);
|
||||
super(rule);
|
||||
this.dstIp = rule.getDestinationIpAddress().addr();
|
||||
this.dstPortRange = new int[] { rule.getDestinationPortStart(), rule.getDestinationPortEnd() };
|
||||
}
|
||||
|
||||
protected PortForwardingRuleTO(String srcIp, int srcPortStart, int srcPortEnd, String dstIp, int dstPortStart, int dstPortEnd, String protocol, boolean revoked, boolean brandNew) {
|
||||
super(srcIp, protocol, srcPortStart, srcPortEnd, revoked, brandNew);
|
||||
protected PortForwardingRuleTO(long id, String srcIp, int srcPortStart, int srcPortEnd, String dstIp, int dstPortStart, int dstPortEnd, String protocol, boolean revoked, boolean brandNew) {
|
||||
super(id, srcIp, protocol, srcPortStart, srcPortEnd, revoked, brandNew);
|
||||
this.dstIp = dstIp;
|
||||
this.dstPortRange = new int[] { dstPortStart, dstPortEnd };
|
||||
}
|
||||
|
||||
@ -31,5 +31,7 @@ public interface DataCenter extends Grouping {
|
||||
String getFirewallProvider();
|
||||
String getDhcpProvider();
|
||||
String getLoadBalancerProvider();
|
||||
String getUserDataProvider();
|
||||
String getVpnProvider();
|
||||
|
||||
}
|
||||
|
||||
@ -27,6 +27,8 @@ import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.TableGenerator;
|
||||
|
||||
import com.cloud.network.service.Providers;
|
||||
|
||||
@Entity
|
||||
@Table(name="data_center")
|
||||
@ -83,6 +85,22 @@ public class DataCenterVO implements DataCenter {
|
||||
@Column(name="gateway_provider")
|
||||
private String gatewayProvider = "VirtualRouter";
|
||||
|
||||
@Column(name="vpn_provider")
|
||||
private String vpnProvider;
|
||||
|
||||
@Column(name="userdata_provider")
|
||||
private String userDataProvider;
|
||||
|
||||
@Column(name="lb_provider")
|
||||
private String loadBalancerProvider;
|
||||
|
||||
@Column(name="firewall_provider")
|
||||
private String firewallProvider;
|
||||
|
||||
@Column(name="mac_address", updatable = false, nullable=false)
|
||||
@TableGenerator(name="mac_address_sq", table="data_center", pkColumnName="id", valueColumnName="mac_address", allocationSize=1)
|
||||
private long macAddress = 1;
|
||||
|
||||
@Override
|
||||
public String getDnsProvider() {
|
||||
return dnsProvider;
|
||||
@ -121,23 +139,13 @@ public class DataCenterVO implements DataCenter {
|
||||
|
||||
@Override
|
||||
public String getFirewallProvider() {
|
||||
return firewallProvider;
|
||||
return firewallProvider;
|
||||
}
|
||||
|
||||
public void setFirewallProvider(String firewallProvider) {
|
||||
this.firewallProvider = firewallProvider;
|
||||
}
|
||||
|
||||
@Column(name="lb_provider")
|
||||
private String loadBalancerProvider = "VirtualRouter";
|
||||
|
||||
@Column(name="firewall_provider")
|
||||
private String firewallProvider = "VirtualRouter";
|
||||
|
||||
@Column(name="mac_address", updatable = false, nullable=false)
|
||||
@TableGenerator(name="mac_address_sq", table="data_center", pkColumnName="id", valueColumnName="mac_address", allocationSize=1)
|
||||
private long macAddress = 1;
|
||||
|
||||
public DataCenterVO(long id, String name, String description, String dns1, String dns2, String dns3, String dns4, String vnet, String guestCidr, String domain, Long domainId, DataCenterNetworkType zoneType) {
|
||||
this(name, description, dns1, dns2, dns3, dns4, vnet, guestCidr, domain, domainId, zoneType);
|
||||
this.id = id;
|
||||
@ -155,8 +163,33 @@ public class DataCenterVO implements DataCenter {
|
||||
this.domain = domain;
|
||||
this.domainId = domainId;
|
||||
this.networkType = zoneType;
|
||||
loadBalancerProvider = Providers.VirtualRouter;
|
||||
firewallProvider = Providers.VirtualRouter;
|
||||
dhcpProvider = Providers.VirtualRouter;
|
||||
dnsProvider = Providers.VirtualRouter;
|
||||
gatewayProvider = Providers.VirtualRouter;
|
||||
vpnProvider = Providers.VirtualRouter;
|
||||
userDataProvider = Providers.VirtualRouter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getVpnProvider() {
|
||||
return vpnProvider;
|
||||
}
|
||||
|
||||
public void setVpnProvider(String vpnProvider) {
|
||||
this.vpnProvider = vpnProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUserDataProvider() {
|
||||
return userDataProvider;
|
||||
}
|
||||
|
||||
public void setUserDataProvider(String userDataProvider) {
|
||||
this.userDataProvider = userDataProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long getDomainId() {
|
||||
return domainId;
|
||||
|
||||
@ -394,6 +394,7 @@ CREATE TABLE `cloud`.`data_center` (
|
||||
`dhcp_provider` char(64) NOT NULL DEFAULT 'VirtualRouter',
|
||||
`lb_provider` char(64) NOT NULL DEFAULT 'VirtualRouter',
|
||||
`vpn_provider` char(64) NOT NULL DEFAULT 'VirtualRouter',
|
||||
`userdata_provider` char(64) NOT NULL DEFAULT 'VirtualRouter',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user