Skip to content

Commit 8a7feb8

Browse files
committed
Merge branch '2.2.y'
Conflicts: agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java api/src/com/cloud/agent/api/routing/LoadBalancerConfigCommand.java api/src/com/cloud/agent/api/to/FirewallRuleTO.java api/src/com/cloud/agent/api/to/IpAddressTO.java api/src/com/cloud/agent/api/to/PortForwardingRuleTO.java api/src/com/cloud/api/ApiConstants.java api/src/com/cloud/api/BaseCmd.java api/src/com/cloud/api/ResponseGenerator.java api/src/com/cloud/api/commands/CreateFirewallRuleCmd.java api/src/com/cloud/api/commands/CreateIpForwardingRuleCmd.java api/src/com/cloud/api/commands/CreateLoadBalancerRuleCmd.java api/src/com/cloud/api/commands/CreatePortForwardingRuleCmd.java api/src/com/cloud/api/commands/DeleteLoadBalancerRuleCmd.java api/src/com/cloud/api/commands/ListCapabilitiesCmd.java api/src/com/cloud/api/commands/UpdateNetworkCmd.java api/src/com/cloud/api/response/CapabilitiesResponse.java api/src/com/cloud/network/Network.java api/src/com/cloud/network/NetworkService.java api/src/com/cloud/network/firewall/FirewallService.java api/src/com/cloud/network/lb/LoadBalancingRule.java api/src/com/cloud/network/lb/LoadBalancingRulesService.java api/src/com/cloud/network/rules/FirewallRule.java api/src/com/cloud/network/rules/RulesService.java api/src/com/cloud/offering/NetworkOffering.java client/tomcatconf/commands.properties.in cloud.spec core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java core/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java core/src/com/cloud/storage/template/DownloadManagerImpl.java core/src/com/cloud/vm/DomainRouterVO.java debian/cloud-deps.install patches/systemvm/debian/config/etc/init.d/cloud-early-config patches/systemvm/debian/config/root/ipassoc.sh patches/systemvm/debian/config/root/loadbalancer.sh scripts/vm/hypervisor/kvm/rundomrpre.sh scripts/vm/hypervisor/xenserver/vmops server/src/com/cloud/agent/manager/AgentAttache.java server/src/com/cloud/agent/manager/AgentManagerImpl.java server/src/com/cloud/agent/manager/AgentMonitor.java server/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java server/src/com/cloud/alert/ClusterAlertAdapter.java server/src/com/cloud/api/ApiResponseHelper.java server/src/com/cloud/api/ApiServer.java server/src/com/cloud/cluster/ClusterManagerImpl.java server/src/com/cloud/configuration/Config.java server/src/com/cloud/configuration/ConfigurationManager.java server/src/com/cloud/configuration/ConfigurationManagerImpl.java server/src/com/cloud/configuration/DefaultComponentLibrary.java server/src/com/cloud/deploy/FirstFitPlanner.java server/src/com/cloud/ha/HighAvailabilityManagerImpl.java server/src/com/cloud/host/dao/HostDaoImpl.java server/src/com/cloud/hypervisor/xen/discoverer/XcpServerDiscoverer.java server/src/com/cloud/network/LoadBalancerVO.java server/src/com/cloud/network/NetworkManager.java server/src/com/cloud/network/NetworkManagerImpl.java server/src/com/cloud/network/dao/FirewallRulesDao.java server/src/com/cloud/network/dao/FirewallRulesDaoImpl.java server/src/com/cloud/network/element/DhcpElement.java server/src/com/cloud/network/element/VirtualRouterElement.java server/src/com/cloud/network/firewall/FirewallManagerImpl.java server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java server/src/com/cloud/network/rules/FirewallManager.java server/src/com/cloud/network/rules/FirewallRuleVO.java server/src/com/cloud/network/rules/PortForwardingRuleVO.java server/src/com/cloud/network/rules/RulesManagerImpl.java server/src/com/cloud/network/rules/StaticNatRuleImpl.java server/src/com/cloud/network/security/SecurityGroupListener.java server/src/com/cloud/network/security/SecurityGroupManagerImpl.java server/src/com/cloud/offerings/NetworkOfferingVO.java server/src/com/cloud/server/ConfigurationServerImpl.java server/src/com/cloud/server/ManagementServerImpl.java server/src/com/cloud/storage/StorageManager.java server/src/com/cloud/storage/StorageManagerImpl.java server/src/com/cloud/storage/dao/VMTemplateHostDaoImpl.java server/src/com/cloud/storage/download/DownloadMonitorImpl.java server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java server/src/com/cloud/upgrade/dao/Upgrade228to229.java server/src/com/cloud/upgrade/dao/Upgrade229to2210.java server/src/com/cloud/user/AccountManagerImpl.java server/src/com/cloud/vm/UserVmManagerImpl.java server/src/com/cloud/vm/VirtualMachineManagerImpl.java server/src/com/cloud/vm/dao/DomainRouterDao.java server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java setup/db/create-index-fk.sql setup/db/create-schema.sql setup/db/db/schema-222to224.sql setup/db/db/schema-227to228.sql setup/db/db/schema-228to229.sql setup/db/db/schema-229to2210.sql tools/testClient/README ui/scripts/cloud.core.instance.js utils/src/com/cloud/utils/SerialVersionUID.java utils/src/com/cloud/utils/db/ConnectionConcierge.java utils/src/com/cloud/utils/db/Merovingian2.java utils/src/com/cloud/utils/db/Transaction.java utils/src/com/cloud/utils/nio/Link.java utils/src/com/cloud/utils/nio/NioConnection.java utils/src/com/cloud/utils/time/InaccurateClock.java
2 parents 24edb00 + b93c7bc commit 8a7feb8

141 files changed

Lines changed: 5810 additions & 2485 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@
5656
import org.libvirt.DomainInterfaceStats;
5757
import org.libvirt.DomainSnapshot;
5858
import org.libvirt.LibvirtException;
59-
import org.libvirt.Network;
6059
import org.libvirt.NodeInfo;
6160
import org.libvirt.StoragePool;
6261
import org.libvirt.StoragePoolInfo;
@@ -135,8 +134,8 @@
135134
import com.cloud.agent.api.proxy.CheckConsoleProxyLoadCommand;
136135
import com.cloud.agent.api.proxy.ConsoleProxyLoadAnswer;
137136
import com.cloud.agent.api.proxy.WatchConsoleProxyLoadCommand;
138-
import com.cloud.agent.api.routing.IpAssocCommand;
139137
import com.cloud.agent.api.routing.IpAssocAnswer;
138+
import com.cloud.agent.api.routing.IpAssocCommand;
140139
import com.cloud.agent.api.routing.NetworkElementCommand;
141140
import com.cloud.agent.api.storage.CopyVolumeAnswer;
142141
import com.cloud.agent.api.storage.CopyVolumeCommand;
@@ -1980,6 +1979,7 @@ private Answer execute(RebootCommand cmd) {
19801979
} catch (Exception e) {
19811980

19821981
}
1982+
get_rule_logs_for_vms();
19831983
return new RebootAnswer(cmd, null, bytesSent, bytesReceived, vncPort);
19841984
} else {
19851985
return new RebootAnswer(cmd, result);
@@ -2463,9 +2463,7 @@ protected synchronized String attachOrDetachDisk(Connect conn, boolean attach, S
24632463
}
24642464

24652465
DiskDef disk = new DiskDef();
2466-
24672466
disk.defFileBasedDisk(sourceFile, deviceId, DiskDef.diskBus.VIRTIO, DiskDef.diskFmtType.QCOW2);
2468-
24692467
String xml = disk.toString();
24702468
return attachOrDetachDevice(conn, attach, vmName, xml);
24712469
} finally {

api/src/com/cloud/agent/api/SecurityIngressRulesCmd.java

Lines changed: 124 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -17,128 +17,131 @@
1717
*/
1818
package com.cloud.agent.api;
1919

20+
import com.cloud.agent.api.LogLevel.Log4jLevel;
21+
2022

2123
public class SecurityIngressRulesCmd extends Command {
22-
public static class IpPortAndProto {
23-
String proto;
24-
int startPort;
25-
int endPort;
26-
String [] allowedCidrs;
27-
28-
public IpPortAndProto() { }
29-
30-
public IpPortAndProto(String proto, int startPort, int endPort,
31-
String[] allowedCidrs) {
32-
super();
33-
this.proto = proto;
34-
this.startPort = startPort;
35-
this.endPort = endPort;
36-
this.allowedCidrs = allowedCidrs;
37-
}
38-
39-
public String[] getAllowedCidrs() {
40-
return allowedCidrs;
41-
}
42-
43-
public void setAllowedCidrs(String[] allowedCidrs) {
44-
this.allowedCidrs = allowedCidrs;
45-
}
46-
47-
public String getProto() {
48-
return proto;
49-
}
50-
51-
public int getStartPort() {
52-
return startPort;
53-
}
54-
55-
public int getEndPort() {
56-
return endPort;
57-
}
58-
59-
}
60-
61-
62-
String guestIp;
63-
String vmName;
64-
String guestMac;
65-
String signature;
66-
Long seqNum;
67-
Long vmId;
68-
IpPortAndProto [] ruleSet;
69-
70-
public SecurityIngressRulesCmd() {
71-
super();
72-
}
73-
74-
75-
public SecurityIngressRulesCmd(String guestIp, String guestMac, String vmName, Long vmId, String signature, Long seqNum, IpPortAndProto[] ruleSet) {
76-
super();
77-
this.guestIp = guestIp;
78-
this.vmName = vmName;
79-
this.ruleSet = ruleSet;
80-
this.guestMac = guestMac;
81-
this.signature = signature;
82-
this.seqNum = seqNum;
83-
this.vmId = vmId;
84-
}
85-
86-
87-
@Override
88-
public boolean executeInSequence() {
89-
return true;
90-
}
91-
92-
93-
public IpPortAndProto[] getRuleSet() {
94-
return ruleSet;
95-
}
96-
97-
98-
public void setRuleSet(IpPortAndProto[] ruleSet) {
99-
this.ruleSet = ruleSet;
100-
}
101-
102-
103-
public String getGuestIp() {
104-
return guestIp;
105-
}
106-
107-
108-
public String getVmName() {
109-
return vmName;
110-
}
111-
112-
public String stringifyRules() {
113-
StringBuilder ruleBuilder = new StringBuilder();
114-
for (SecurityIngressRulesCmd.IpPortAndProto ipPandP: getRuleSet()) {
115-
ruleBuilder.append(ipPandP.getProto()).append(":").append(ipPandP.getStartPort()).append(":").append(ipPandP.getEndPort()).append(":");
116-
for (String cidr: ipPandP.getAllowedCidrs()) {
117-
ruleBuilder.append(cidr).append(",");
118-
}
119-
ruleBuilder.append("NEXT");
120-
ruleBuilder.append(" ");
121-
}
122-
return ruleBuilder.toString();
123-
}
124-
125-
public String getSignature() {
126-
return signature;
127-
}
128-
129-
130-
public String getGuestMac() {
131-
return guestMac;
132-
}
133-
134-
135-
public Long getSeqNum() {
136-
return seqNum;
137-
}
138-
139-
140-
public Long getVmId() {
141-
return vmId;
142-
}
24+
public static class IpPortAndProto {
25+
String proto;
26+
int startPort;
27+
int endPort;
28+
@LogLevel(Log4jLevel.Trace)
29+
String [] allowedCidrs;
30+
31+
public IpPortAndProto() { }
32+
33+
public IpPortAndProto(String proto, int startPort, int endPort,
34+
String[] allowedCidrs) {
35+
super();
36+
this.proto = proto;
37+
this.startPort = startPort;
38+
this.endPort = endPort;
39+
this.allowedCidrs = allowedCidrs;
40+
}
41+
42+
public String[] getAllowedCidrs() {
43+
return allowedCidrs;
44+
}
45+
46+
public void setAllowedCidrs(String[] allowedCidrs) {
47+
this.allowedCidrs = allowedCidrs;
48+
}
49+
50+
public String getProto() {
51+
return proto;
52+
}
53+
54+
public int getStartPort() {
55+
return startPort;
56+
}
57+
58+
public int getEndPort() {
59+
return endPort;
60+
}
61+
62+
}
63+
64+
65+
String guestIp;
66+
String vmName;
67+
String guestMac;
68+
String signature;
69+
Long seqNum;
70+
Long vmId;
71+
IpPortAndProto [] ruleSet;
72+
73+
public SecurityIngressRulesCmd() {
74+
super();
75+
}
76+
77+
78+
public SecurityIngressRulesCmd(String guestIp, String guestMac, String vmName, Long vmId, String signature, Long seqNum, IpPortAndProto[] ruleSet) {
79+
super();
80+
this.guestIp = guestIp;
81+
this.vmName = vmName;
82+
this.ruleSet = ruleSet;
83+
this.guestMac = guestMac;
84+
this.signature = signature;
85+
this.seqNum = seqNum;
86+
this.vmId = vmId;
87+
}
88+
89+
90+
@Override
91+
public boolean executeInSequence() {
92+
return true;
93+
}
94+
95+
96+
public IpPortAndProto[] getRuleSet() {
97+
return ruleSet;
98+
}
99+
100+
101+
public void setRuleSet(IpPortAndProto[] ruleSet) {
102+
this.ruleSet = ruleSet;
103+
}
104+
105+
106+
public String getGuestIp() {
107+
return guestIp;
108+
}
109+
110+
111+
public String getVmName() {
112+
return vmName;
113+
}
114+
115+
public String stringifyRules() {
116+
StringBuilder ruleBuilder = new StringBuilder();
117+
for (SecurityIngressRulesCmd.IpPortAndProto ipPandP: getRuleSet()) {
118+
ruleBuilder.append(ipPandP.getProto()).append(":").append(ipPandP.getStartPort()).append(":").append(ipPandP.getEndPort()).append(":");
119+
for (String cidr: ipPandP.getAllowedCidrs()) {
120+
ruleBuilder.append(cidr).append(",");
121+
}
122+
ruleBuilder.append("NEXT");
123+
ruleBuilder.append(" ");
124+
}
125+
return ruleBuilder.toString();
126+
}
127+
128+
public String getSignature() {
129+
return signature;
130+
}
131+
132+
133+
public String getGuestMac() {
134+
return guestMac;
135+
}
136+
137+
138+
public Long getSeqNum() {
139+
return seqNum;
140+
}
141+
142+
143+
public Long getVmId() {
144+
return vmId;
145+
}
143146

144147
}

api/src/com/cloud/agent/api/routing/LoadBalancerConfigCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
*/
2626
public class LoadBalancerConfigCommand extends NetworkElementCommand {
2727
LoadBalancerTO[] loadBalancers;
28-
public String lbStatsVisibility;
28+
public String lbStatsVisibility = "guest-network";
2929
public String lbStatsIp; /* load balancer listen on this ip for stats */
3030
public String lbStatsPort = "8081"; /*load balancer listen on this port for stats */
3131
public String lbStatsSrcCidrs = "0/0" ; /* TODO : currently there is no filtering based on the source ip */

api/src/com/cloud/agent/api/routing/SetPortForwardingRulesAnswer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ protected SetPortForwardingRulesAnswer() {
2525
super();
2626
}
2727

28-
public SetPortForwardingRulesAnswer(SetPortForwardingRulesCommand cmd, String[] results) {
29-
super(cmd, true, null);
28+
public SetPortForwardingRulesAnswer(SetPortForwardingRulesCommand cmd, String[] results, boolean success) {
29+
super(cmd, success, null);
3030

3131
assert(cmd.getRules().length == results.length) : "Shouldn't the results match the commands?";
3232
this.results = results;

api/src/com/cloud/agent/api/routing/SetStaticNatRulesAnswer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ protected SetStaticNatRulesAnswer() {
2525
super();
2626
}
2727

28-
public SetStaticNatRulesAnswer(SetStaticNatRulesCommand cmd, String[] results) {
29-
super(cmd, true, null);
28+
public SetStaticNatRulesAnswer(SetStaticNatRulesCommand cmd, String[] results, boolean success) {
29+
super(cmd, success, null);
3030

3131
assert(cmd.getRules().length == results.length) : "Shouldn't the results match the commands?";
3232
this.results = results;

api/src/com/cloud/agent/api/to/IpAddressTO.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ public class IpAddressTO {
4040
private TrafficType trafficType;
4141
private String[] networkTags;
4242

43-
public IpAddressTO(long accountId, String ipAddress, boolean add, boolean firstIP, boolean sourceNat, String vlanId, String vlanGateway, String vlanNetmask, String vifMacAddress, String guestIp, Integer networkRate) {
43+
public IpAddressTO(long accountId, String ipAddress, boolean add, boolean firstIP, boolean sourceNat, String vlanId, String vlanGateway, String vlanNetmask, String vifMacAddress, String guestIp, Integer networkRate, boolean isOneToOneNat) {
4444
this.accountId = accountId;
45-
this.publicIp = ipAddress;
45+
this.publicIp = ipAddress;
4646
this.add = add;
4747
this.firstIP = firstIP;
4848
this.sourceNat = sourceNat;
@@ -52,6 +52,7 @@ public IpAddressTO(long accountId, String ipAddress, boolean add, boolean firstI
5252
this.vifMacAddress = vifMacAddress;
5353
this.guestIp = guestIp;
5454
this.networkRate = networkRate;
55+
this.oneToOneNat = isOneToOneNat;
5556
}
5657

5758
protected IpAddressTO() {

api/src/com/cloud/agent/api/to/LoadBalancerTO.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,29 +20,26 @@
2020
import java.util.List;
2121

2222
import com.cloud.network.lb.LoadBalancingRule.LbDestination;
23-
import com.cloud.utils.StringUtils;
2423

2524

2625
public class LoadBalancerTO {
2726
String srcIp;
2827
int srcPort;
2928
String protocol;
30-
List<String> sourceCidrs;
3129
String algorithm;
3230
boolean revoked;
3331
boolean alreadyAdded;
3432
DestinationTO[] destinations;
3533

3634

37-
public LoadBalancerTO (String srcIp, int srcPort, String protocol, List<String> sourceCidrs, String algorithm, boolean revoked, boolean alreadyAdded, List<LbDestination> destinations) {
35+
public LoadBalancerTO (String srcIp, int srcPort, String protocol, String algorithm, boolean revoked, boolean alreadyAdded, List<LbDestination> destinations) {
3836
this.srcIp = srcIp;
3937
this.srcPort = srcPort;
4038
this.protocol = protocol;
4139
this.algorithm = algorithm;
4240
this.revoked = revoked;
4341
this.alreadyAdded = alreadyAdded;
4442
this.destinations = new DestinationTO[destinations.size()];
45-
this.sourceCidrs = sourceCidrs;
4643
int i = 0;
4744
for (LbDestination destination : destinations) {
4845
this.destinations[i++] = new DestinationTO(destination.getIpAddress(), destination.getDestinationPortStart(), destination.isRevoked(), false);
@@ -60,14 +57,6 @@ public int getSrcPort() {
6057
return srcPort;
6158
}
6259

63-
public List<String> getSourceCidrs(){
64-
return sourceCidrs;
65-
}
66-
67-
public String getStringSourceCidrs(){
68-
return StringUtils.join(sourceCidrs, "-");
69-
}
70-
7160
public String getAlgorithm() {
7261
return algorithm;
7362
}

0 commit comments

Comments
 (0)