You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ts...@apache.org on 2012/12/22 23:10:30 UTC
[1/3] git commit: simulator:Using the priority to decide b/w
MASTER/BACKUP
Updated Branches:
refs/heads/master 39fea6f6f -> f0c3b4c62
simulator:Using the priority to decide b/w MASTER/BACKUP
BootArgs carry router priority for master and backup and simulator will
reuse the priority to decide RvR status. Deprecating the odd/even logic.
Signed-off-by: Prasanna Santhanam <ts...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/f0c3b4c6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/f0c3b4c6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/f0c3b4c6
Branch: refs/heads/master
Commit: f0c3b4c62a7a1a440d723696d61b42dad58f6faf
Parents: ed25ec0
Author: Prasanna Santhanam <ts...@apache.org>
Authored: Sat Dec 22 14:09:59 2012 -0800
Committer: Prasanna Santhanam <ts...@apache.org>
Committed: Sat Dec 22 14:09:59 2012 -0800
----------------------------------------------------------------------
.../com/cloud/agent/manager/MockVmManagerImpl.java | 22 ++++++++-------
.../src/com/cloud/simulator/MockVMVO.java | 10 +++++++
.../simulator/src/com/cloud/simulator/MockVm.java | 3 ++
setup/db/create-schema-simulator.sql | 1 +
4 files changed, 26 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0c3b4c6/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
index d04e166..40cd80a 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
@@ -107,6 +107,7 @@ public class MockVmManagerImpl implements MockVmManager {
vm.setName(vmName);
vm.setVncPort(vncPort);
vm.setHostId(host.getId());
+ vm.setBootargs(bootArgs);
if(vmName.startsWith("s-")) {
vm.setType("SecondaryStorageVm");
} else if (vmName.startsWith("v-")) {
@@ -238,15 +239,16 @@ public class MockVmManagerImpl implements MockVmManager {
@Override
public CheckRouterAnswer checkRouter(CheckRouterCommand cmd) {
String router_name = cmd.getAccessDetail(NetworkElementCommand.ROUTER_NAME);
- int router_id = Integer.parseInt(router_name.split("-")[1]);
- if (router_id % 2 == 0) {
- s_logger.debug("Found even routerId, making it MASTER in RvR");
+ MockVm vm = _mockVmDao.findByVmName(router_name);
+ String args = vm.getBootargs();
+ if (args.indexOf("router_pr=100") > 0) {
+ s_logger.debug("Router priority is for MASTER");
CheckRouterAnswer ans = new CheckRouterAnswer(cmd, "Status: MASTER & Bumped: NO", true);
ans.setState(VirtualRouter.RedundantState.MASTER);
return ans;
} else {
- s_logger.debug("Found odd routerId, making it BACKUP in RvR");
- CheckRouterAnswer ans = new CheckRouterAnswer(cmd, "Status: MASTER & Bumped: NO", true);
+ s_logger.debug("Router priority is for BACKUP");
+ CheckRouterAnswer ans = new CheckRouterAnswer(cmd, "Status: BACKUP & Bumped: NO", true);
ans.setState(VirtualRouter.RedundantState.BACKUP);
return ans;
}
@@ -255,13 +257,13 @@ public class MockVmManagerImpl implements MockVmManager {
@Override
public Answer bumpPriority(BumpUpPriorityCommand cmd) {
String router_name = cmd.getAccessDetail(NetworkElementCommand.ROUTER_NAME);
- int router_id = Integer.parseInt(router_name.split("-")[1]);
- if (router_id % 2 == 0) {
- return new Answer(cmd, true, "Status: MASTER & Bumped: YES");
- } else {
+ MockVm vm = _mockVmDao.findByVmName(router_name);
+ String args = vm.getBootargs();
+ if (args.indexOf("router_pr=100") > 0) {
return new Answer(cmd, true, "Status: BACKUP & Bumped: YES");
+ } else {
+ return new Answer(cmd, true, "Status: MASTER & Bumped: YES");
}
-
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0c3b4c6/plugins/hypervisors/simulator/src/com/cloud/simulator/MockVMVO.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/simulator/MockVMVO.java b/plugins/hypervisors/simulator/src/com/cloud/simulator/MockVMVO.java
index 4fb3085..3a5aa3d 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/simulator/MockVMVO.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/simulator/MockVMVO.java
@@ -55,6 +55,9 @@ public class MockVMVO implements MockVm{
@Column(name="cpu")
private int cpu;
+ @Column(name="bootargs")
+ private String bootargs;
+
public MockVMVO() {
}
@@ -127,4 +130,11 @@ public class MockVMVO implements MockVm{
this.vmType = type;
}
+ public String getBootargs() {
+ return bootargs;
+ }
+
+ public void setBootargs(String bootargs) {
+ this.bootargs = bootargs;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0c3b4c6/plugins/hypervisors/simulator/src/com/cloud/simulator/MockVm.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/simulator/MockVm.java b/plugins/hypervisors/simulator/src/com/cloud/simulator/MockVm.java
index 2e1ba27..e46b6a0 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/simulator/MockVm.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/simulator/MockVm.java
@@ -41,4 +41,7 @@ public interface MockVm {
public void setType(String type);
public void setVncPort(int vncPort);
public long getId();
+
+ public String getBootargs();
+ public void setBootargs(String bootargs);
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0c3b4c6/setup/db/create-schema-simulator.sql
----------------------------------------------------------------------
diff --git a/setup/db/create-schema-simulator.sql b/setup/db/create-schema-simulator.sql
index 1ab838b..6d4a130 100644
--- a/setup/db/create-schema-simulator.sql
+++ b/setup/db/create-schema-simulator.sql
@@ -76,6 +76,7 @@ CREATE TABLE `simulator`.`mockvm` (
`vnc_port` bigint unsigned,
`memory` bigint unsigned,
`cpu` bigint unsigned,
+ `bootargs` varchar(255),
PRIMARY KEY (`id`),
INDEX `i_mockvm__host_id`(`host_id`),
INDEX `i_mockvm__state`(`state`),