diff --git a/js/apps/system/aardvark/cluster.js b/js/apps/system/aardvark/cluster.js index 811aaaa97b..fc19fdeefd 100644 --- a/js/apps/system/aardvark/cluster.js +++ b/js/apps/system/aardvark/cluster.js @@ -61,6 +61,56 @@ k.runInfo = config.runInfo; return k; }, + startUp = function(req, res) { + cleanUp(); + var config = {}, + input = req.body(), + result = {}, + starter, + i, + tmp, + planner; + + if (input.type === "testSetup") { + config.dispatchers = { + "d1": { + "endpoint": "tcp://" + input.dispatcher + } + }; + config.numberOfDBservers = input.numberDBServers; + config.numberOfCoordinators = input.numberCoordinators; + } else { + i = 0; + config.dispatchers = {}; + config.numberOfDBservers = 0; + config.numberOfCoordinators = 0; + _.each(input.dispatcher, function(d) { + i++; + var inf = {}; + inf.endpoint = "tcp://" + d.host; + if (d.isCoordinator) { + config.numberOfCoordinators++; + } else { + inf.allowCoordinators = false; + } + if (d.isDBServer) { + config.numberOfDBservers++; + } else { + inf.allowDBservers = false; + } + config.dispatchers["d" + i] = inf; + }); + } + require("console").log(JSON.stringify(config)); + result.config = config; + planner = new cluster.Planner(config); + result.plan = planner.getPlan(); + starter = new cluster.Kickstarter(planner.getPlan()); + tmp = starter.launch(); + result.runInfo = tmp.runInfo; + plans.storeConfig(result); + res.json(result); + }, cleanUp = function() { var k = getStarter(); if (k) { @@ -68,55 +118,8 @@ } }; // only make these functions available in dispatcher mode! - controller.post("/plan", function(req, res) { - cleanUp(); - var config = {}, - input = req.body(), - result = {}, - starter, - i, - tmp, - planner; - - if (input.type === "testSetup") { - config.dispatchers = { - "d1": { - "endpoint": "tcp://" + input.dispatcher - } - }; - config.numberOfDBservers = input.numberDBServers; - config.numberOfCoordinators = input.numberCoordinators; - } else { - i = 0; - config.dispatchers = {}; - config.numberOfDBservers = 0; - config.numberOfCoordinators = 0; - _.each(input.dispatcher, function(d) { - i++; - var inf = {}; - inf.endpoint = "tcp://" + d.host; - if (d.isCoordinator) { - config.numberOfCoordinators++; - } else { - inf.allowCoordinators = false; - } - if (d.isDBServer) { - config.numberOfDBservers++; - } else { - inf.allowDBservers = false; - } - config.dispatchers["d" + i] = inf; - }); - } - result.config = config; - planner = new cluster.Planner(config); - result.plan = planner.getPlan(); - starter = new cluster.Kickstarter(planner.getPlan()); - tmp = starter.launch(); - result.runInfo = tmp.runInfo; - plans.storeConfig(result); - res.json(result); - }); + controller.post("/plan", startUp); + controller.put("/plan", startUp); controller.get("/plan", function(req, res) { res.json(plans.loadConfig()); @@ -128,7 +131,13 @@ }); controller.get("/healthcheck", function(req, res) { - res.json(!getStarter().isHealthy().error); + var out = getStarter().isHealthy(); + var stf = JSON.stringify(out); + if (out.error || stf.indexOf("NOT-FOUND") !== -1) { + res.json(false); + return; + } + res.json(true); }); controller.get("/shutdown", function(req, res) { diff --git a/js/apps/system/aardvark/clusterFrontend/js/models/clusterPlan.js b/js/apps/system/aardvark/clusterFrontend/js/models/clusterPlan.js index 6d716d2b86..64d19218fe 100644 --- a/js/apps/system/aardvark/clusterFrontend/js/models/clusterPlan.js +++ b/js/apps/system/aardvark/clusterFrontend/js/models/clusterPlan.js @@ -10,10 +10,7 @@ url: "cluster/plan", - isNew : function() { - return true; - }, - + idAttribute: "config", getCoordinator: function() { if (this._coord) { @@ -53,7 +50,6 @@ } }); return result; - } }); diff --git a/js/apps/system/aardvark/clusterFrontend/js/routers/clusterRouter.js b/js/apps/system/aardvark/clusterFrontend/js/routers/clusterRouter.js index 3050d0dd03..ed4551d5e8 100644 --- a/js/apps/system/aardvark/clusterFrontend/js/routers/clusterRouter.js +++ b/js/apps/system/aardvark/clusterFrontend/js/routers/clusterRouter.js @@ -106,7 +106,7 @@ if (!this.clusterDownView) { this.clusterDownView = new window.ClusterDownView(); } - this.clusterDownView.render(content); + this.clusterDownView.render(); } }); diff --git a/js/apps/system/aardvark/clusterFrontend/js/routers/startApp.js b/js/apps/system/aardvark/clusterFrontend/js/routers/startApp.js index affdab66e2..6dfd53633d 100644 --- a/js/apps/system/aardvark/clusterFrontend/js/routers/startApp.js +++ b/js/apps/system/aardvark/clusterFrontend/js/routers/startApp.js @@ -7,16 +7,12 @@ window.App = new window.ClusterRouter(); Backbone.history.start(); - //für zum testen -// this.clusterPlan.set({"plan": "blub"}); - if(window.App.clusterPlan.get("plan")) { if(window.App.clusterPlan.isAlive()) { window.App.showCluster(); } else { window.App.handleClusterDown(); } - } else { window.App.planScenario(); } diff --git a/js/apps/system/aardvark/clusterFrontend/js/templates/testPlan.ejs b/js/apps/system/aardvark/clusterFrontend/js/templates/testPlan.ejs index 19cd5ba3db..2dd61315a1 100644 --- a/js/apps/system/aardvark/clusterFrontend/js/templates/testPlan.ejs +++ b/js/apps/system/aardvark/clusterFrontend/js/templates/testPlan.ejs @@ -4,60 +4,26 @@ Plan a single server test configuration -<% -if (config) { -dispatcher = config.dispatcher; -hostname = dispatcher.split(':')[0]; -port = dispatcher.split(':')[1]; -numberDBServers = config.numberDBServers; -numberCoordinators = config.numberCoordinators; -} -%>