You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ga...@apache.org on 2015/07/27 11:25:12 UTC
[1/3] stratos git commit: Update the LVSConfigWriter class
Repository: stratos
Updated Branches:
refs/heads/lvs_extension 53b92db3f -> 5823203ca
Update the LVSConfigWriter class
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/63d3592f
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/63d3592f
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/63d3592f
Branch: refs/heads/lvs_extension
Commit: 63d3592f65eeff6bb5f1ee2e04640ef483b563c9
Parents: 53b92db
Author: Gayan Gunarathne <ga...@wso2.com>
Authored: Thu Jun 25 18:52:16 2015 +0530
Committer: Gayan Gunarathne <ga...@wso2.com>
Committed: Thu Jun 25 18:52:16 2015 +0530
----------------------------------------------------------------------
.../stratos/lvs/extension/LVSConfigWriter.java | 33 +++++++++++++++++++-
1 file changed, 32 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/63d3592f/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVSConfigWriter.java
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVSConfigWriter.java b/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVSConfigWriter.java
index 08edaf1..dcf2910 100644
--- a/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVSConfigWriter.java
+++ b/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVSConfigWriter.java
@@ -21,6 +21,7 @@ package org.apache.stratos.lvs.extension;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.common.util.CommandUtils;
import org.apache.stratos.load.balancer.common.domain.*;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
@@ -148,6 +149,15 @@ public class LVSConfigWriter {
private void generateConfigurationForCluster(Cluster cluster, Collection<Port> ports, StringBuilder text,
StringBuilder virtualIPs, String virtualIPsForServices,
String scheduleAlgo) {
+ String commandClear = "ipvsadm --clear";
+ try {
+ CommandUtils.executeCommand(commandClear);
+ } catch (IOException e) {
+ if (log.isErrorEnabled()) {
+ log.error(String.format("Could not run the command: %s", commandClear));
+ }
+ throw new RuntimeException(e);
+ }
String[] virtualIPForServiceArray;
if (virtualIPsForServices.contains(",")) {
@@ -159,7 +169,17 @@ public class LVSConfigWriter {
boolean isServiceAvailable = false;
for (int i = 0; i < virtualIPForServiceArray.length; i++) {
String[] virtualIpForService = virtualIPForServiceArray[i].split("\\|");
- for (Port port : ports) {
+ for (Port port : ports) {
+ String command = "ipvsadm -A -t " + virtualIpForService[1]+":" + port.getProxy()+ " -s " + scheduleAlgo;
+
+ try {
+ CommandUtils.executeCommand(command);
+ } catch (IOException e) {
+ if (log.isErrorEnabled()) {
+ log.error(String.format("Could not run the command: %s", command));
+ }
+ throw new RuntimeException(e);
+ }
for (String hostname : cluster.getHostNames()) {
if (virtualIpForService[0].equals(cluster.getServiceName())) {
@@ -185,10 +205,21 @@ public class LVSConfigWriter {
text.append(TAB).append(TAB).append(TAB).append("connect_timeout 3").append(NEW_LINE);
text.append(TAB).append(TAB).append("}").append(NEW_LINE);
text.append(TAB).append("}").append(NEW_LINE);
+ String commandMember = "ipvsadm -a -t " + virtualIpForService[1] + ":" + port.getProxy()+" -r " + member.getHostName() + " -m";
+
+ try {
+ CommandUtils.executeCommand(commandMember);
+ } catch (IOException e) {
+ if (log.isErrorEnabled()) {
+ log.error(String.format("Could not run the command: %s", commandMember));
+ }
+ throw new RuntimeException(e);
+ }
}
text.append("}").append(NEW_LINE);
isServiceAvailable = true;
virtualIPs.append(TAB).append(TAB).append(virtualIpForService[1]).append(NEW_LINE);
+
}
}
}
[2/3] stratos git commit: Add using the keepalived as a configurable
value
Posted by ga...@apache.org.
Add using the keepalived as a configurable value
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/e38da41b
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/e38da41b
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/e38da41b
Branch: refs/heads/lvs_extension
Commit: e38da41b286c1a35318d7be958e12568f16cfb73
Parents: 63d3592
Author: Gayan Gunarathne <ga...@wso2.com>
Authored: Sun Jul 26 18:59:15 2015 +0530
Committer: Gayan Gunarathne <ga...@wso2.com>
Committed: Sun Jul 26 18:59:15 2015 +0530
----------------------------------------------------------------------
.../lvs-extension/src/main/bin/lvs-extension.sh | 3 +-
.../org/apache/stratos/lvs/extension/LVS.java | 3 +
.../stratos/lvs/extension/LVSConfigWriter.java | 95 ++++++++++----------
.../stratos/lvs/extension/LVSContext.java | 4 +
4 files changed, 59 insertions(+), 46 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/e38da41b/extensions/load-balancer/lvs-extension/src/main/bin/lvs-extension.sh
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/lvs-extension/src/main/bin/lvs-extension.sh b/extensions/load-balancer/lvs-extension/src/main/bin/lvs-extension.sh
index c276cd2..e769c32 100755
--- a/extensions/load-balancer/lvs-extension/src/main/bin/lvs-extension.sh
+++ b/extensions/load-balancer/lvs-extension/src/main/bin/lvs-extension.sh
@@ -44,7 +44,8 @@ properties="-Dlvs.private.ip=127.0.0.1
-Dservice.name=service-1
-Dlvs.service.virtualip.set=tomcat2|192.168.56.40,tomcat1|192.168.56.41
-Dschedule.algorithm=rr
- -Dserver.state=MASTER"
+ -Dserver.state=MASTER
+ -Dkeepalived=false"
# Uncomment below line to enable remote debugging
http://git-wip-us.apache.org/repos/asf/stratos/blob/e38da41b/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVS.java
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVS.java b/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVS.java
index 6470a13..1d3c7e7 100644
--- a/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVS.java
+++ b/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVS.java
@@ -45,6 +45,7 @@ public class LVS implements LoadBalancer {
private String keepAlivedStartCommand;
private String serverState;
private String scheduleAlgo;
+ private boolean isKeepAlivedUsed;
public LVS() {
this.executableFilePath = LVSContext.getInstance().getExecutableFilePath();
@@ -57,6 +58,8 @@ public class LVS implements LoadBalancer {
this.keepAlivedStartCommand=LVSContext.getInstance().getKeepAlivedStartCommand();
this.serverState=LVSContext.getInstance().getServerState();
this.scheduleAlgo=LVSContext.getInstance().getLvsScheduleAlgo();
+ this.isKeepAlivedUsed=LVSContext.getInstance().getIsKeepAlivedUsed();
+
}
/**
http://git-wip-us.apache.org/repos/asf/stratos/blob/e38da41b/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVSConfigWriter.java
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVSConfigWriter.java b/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVSConfigWriter.java
index dcf2910..bd72a4c 100644
--- a/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVSConfigWriter.java
+++ b/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVSConfigWriter.java
@@ -50,6 +50,7 @@ public class LVSConfigWriter {
private String virtualIPsForServices;
private String serverState;
private String scheduleAlgo;
+ private boolean isKeepAlived=false;
public LVSConfigWriter(String templatePath, String templateName, String confFilePath,
String statsSocketFilePath, String virtualIPsForServices, String serverState,
@@ -76,7 +77,7 @@ public class LVSConfigWriter {
String.format("No ports found in service: %s", service.getServiceName()));
}
generateConfigurationForCluster(cluster, service.getPorts(), configurationBuilder, virtualIPBuilder,
- virtualIPsForServices, scheduleAlgo);
+ virtualIPsForServices, scheduleAlgo,isKeepAlived);
}
}
@@ -148,7 +149,7 @@ public class LVSConfigWriter {
*/
private void generateConfigurationForCluster(Cluster cluster, Collection<Port> ports, StringBuilder text,
StringBuilder virtualIPs, String virtualIPsForServices,
- String scheduleAlgo) {
+ String scheduleAlgo,boolean isKeepAlived) {
String commandClear = "ipvsadm --clear";
try {
CommandUtils.executeCommand(commandClear);
@@ -180,49 +181,53 @@ public class LVSConfigWriter {
}
throw new RuntimeException(e);
}
- for (String hostname : cluster.getHostNames()) {
- if (virtualIpForService[0].equals(cluster.getServiceName())) {
-
- text.append("virtual_server ").append(virtualIpForService[1]).append(" ")
- .append(port.getProxy()).append(
- " {").append(
- NEW_LINE);
- text.append(TAB).append("delay_loop 10").append(NEW_LINE);
- text.append(TAB).append("lvs_sched ").append(scheduleAlgo).append(NEW_LINE);
- text.append(TAB).append("lvs_method DR").append(NEW_LINE);
- text.append(TAB).append("persistence_timeout 5").append(NEW_LINE);
- text.append(TAB).append("protocol TCP").append(NEW_LINE).append(NEW_LINE);
-
- //Start real servers block
-
- for (Member member : cluster.getMembers()) {
- // Start upstream server block
- text.append(TAB).append("real_server ").append(member.getHostName()).append(" ")
- .append(port.getValue()).append(" {")
- .append(NEW_LINE);
- text.append(TAB).append(TAB).append("weight 50").append(NEW_LINE);
- text.append(TAB).append(TAB).append("TCP_CHECK {").append(NEW_LINE);
- text.append(TAB).append(TAB).append(TAB).append("connect_timeout 3").append(NEW_LINE);
- text.append(TAB).append(TAB).append("}").append(NEW_LINE);
- text.append(TAB).append("}").append(NEW_LINE);
- String commandMember = "ipvsadm -a -t " + virtualIpForService[1] + ":" + port.getProxy()+" -r " + member.getHostName() + " -m";
-
- try {
- CommandUtils.executeCommand(commandMember);
- } catch (IOException e) {
- if (log.isErrorEnabled()) {
- log.error(String.format("Could not run the command: %s", commandMember));
- }
- throw new RuntimeException(e);
- }
- }
- text.append("}").append(NEW_LINE);
- isServiceAvailable = true;
- virtualIPs.append(TAB).append(TAB).append(virtualIpForService[1]).append(NEW_LINE);
-
- }
- }
- }
+
+ for (String hostname : cluster.getHostNames()) {
+ if (virtualIpForService[0].equals(cluster.getServiceName())) {
+
+ text.append("virtual_server ").append(virtualIpForService[1]).append(" ")
+ .append(port.getProxy()).append(
+ " {").append(
+ NEW_LINE);
+ text.append(TAB).append("delay_loop 10").append(NEW_LINE);
+ text.append(TAB).append("lvs_sched ").append(scheduleAlgo).append(NEW_LINE);
+ text.append(TAB).append("lvs_method DR").append(NEW_LINE);
+ text.append(TAB).append("persistence_timeout 5").append(NEW_LINE);
+ text.append(TAB).append("protocol TCP").append(NEW_LINE).append(NEW_LINE);
+
+ //Start real servers block
+
+ for (Member member : cluster.getMembers()) {
+ // Start upstream server block
+ text.append(TAB).append("real_server ").append(member.getHostName()).append(" ")
+ .append(port.getValue()).append(" {")
+ .append(NEW_LINE);
+ text.append(TAB).append(TAB).append("weight 50").append(NEW_LINE);
+ text.append(TAB).append(TAB).append("TCP_CHECK {").append(NEW_LINE);
+ text.append(TAB).append(TAB).append(TAB).append("connect_timeout 3").append(NEW_LINE);
+ text.append(TAB).append(TAB).append("}").append(NEW_LINE);
+ text.append(TAB).append("}").append(NEW_LINE);
+ String commandMember =
+ "ipvsadm -a -t " + virtualIpForService[1] + ":" + port.getValue() + " -r " +
+ member.getHostName() + " -m";
+
+ try {
+ CommandUtils.executeCommand(commandMember);
+ } catch (IOException e) {
+ if (log.isErrorEnabled()) {
+ log.error(String.format("Could not run the command: %s", commandMember));
+ }
+ throw new RuntimeException(e);
+ }
+ }
+ text.append("}").append(NEW_LINE);
+ isServiceAvailable = true;
+ virtualIPs.append(TAB).append(TAB).append(virtualIpForService[1]).append(NEW_LINE);
+
+ }
+
+ }
+ }
if (!isServiceAvailable) {
log.warn(String.format("Given service is not available in the topology %s", virtualIpForService[0]));
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/e38da41b/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVSContext.java
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVSContext.java b/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVSContext.java
index 1307473..08feb71 100644
--- a/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVSContext.java
+++ b/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVSContext.java
@@ -196,4 +196,8 @@ public class LVSContext {
public void setLvsScheduleAlgo(String lvsScheduleAlgo) {
this.lvsScheduleAlgo = lvsScheduleAlgo;
}
+
+ public boolean getIsKeepAlivedUsed() {
+ return false;
+ }
}
[3/3] stratos git commit: Add using the keepalived as a configurable
value
Posted by ga...@apache.org.
Add using the keepalived as a configurable value
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/5823203c
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/5823203c
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/5823203c
Branch: refs/heads/lvs_extension
Commit: 5823203ca7c65eb32889c075d445f040aae63bdf
Parents: e38da41
Author: Gayan Gunarathne <ga...@wso2.com>
Authored: Sun Jul 26 19:35:24 2015 +0530
Committer: Gayan Gunarathne <ga...@wso2.com>
Committed: Sun Jul 26 19:35:24 2015 +0530
----------------------------------------------------------------------
.../org/apache/stratos/lvs/extension/LVS.java | 22 +++++++++++++-------
.../stratos/lvs/extension/LVSConfigWriter.java | 4 ++--
2 files changed, 16 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/5823203c/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVS.java
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVS.java b/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVS.java
index 1d3c7e7..9494510 100644
--- a/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVS.java
+++ b/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVS.java
@@ -96,8 +96,10 @@ public class LVS implements LoadBalancer {
// Start nginx and write pid to processIdFilePath
try {
- String command = keepAlivedStartCommand;
- CommandUtils.executeCommand(command);
+ if(isKeepAlivedUsed) {
+ String command = keepAlivedStartCommand;
+ CommandUtils.executeCommand(command);
+ }
log.info("lvs instance started");
} catch (Exception e) {
log.error("Could not start lvs instance");
@@ -113,9 +115,11 @@ public class LVS implements LoadBalancer {
try {
log.info("Reloading configuration...");
- // Execute hot configuration deployment
- String command = "service keepalived restart";
- CommandUtils.executeCommand(command);
+ if(isKeepAlivedUsed) {
+ // Execute hot configuration deployment
+ String command = "service keepalived restart";
+ CommandUtils.executeCommand(command);
+ }
if (log.isInfoEnabled()) {
log.info("Configuration done");
}
@@ -136,9 +140,11 @@ public class LVS implements LoadBalancer {
try {
log.info("Stopping lvs...");
- // Execute hot configuration deployment
- String command = "service keepalived stop";
- CommandUtils.executeCommand(command);
+ if(isKeepAlivedUsed) {
+ // Execute hot configuration deployment
+ String command = "service keepalived stop";
+ CommandUtils.executeCommand(command);
+ }
if (log.isInfoEnabled()) {
log.info("LVS stopped");
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5823203c/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVSConfigWriter.java
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVSConfigWriter.java b/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVSConfigWriter.java
index bd72a4c..c3beb30 100644
--- a/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVSConfigWriter.java
+++ b/extensions/load-balancer/lvs-extension/src/main/java/org/apache/stratos/lvs/extension/LVSConfigWriter.java
@@ -208,8 +208,8 @@ public class LVSConfigWriter {
text.append(TAB).append(TAB).append("}").append(NEW_LINE);
text.append(TAB).append("}").append(NEW_LINE);
String commandMember =
- "ipvsadm -a -t " + virtualIpForService[1] + ":" + port.getValue() + " -r " +
- member.getHostName() + " -m";
+ "ipvsadm -a -t " + virtualIpForService[1] + ":" + port.getProxy() + " -r " +
+ member.getHostName() + ":" + port.getValue() + " -m";
try {
CommandUtils.executeCommand(commandMember);