From 04cd14b91f28de44fb3645be6aab195734b47fb6 Mon Sep 17 00:00:00 2001 From: Max Neunhoeffer Date: Tue, 18 Feb 2014 10:15:13 +0100 Subject: [PATCH] Update convenience scripts. --- scripts/kill_cluster.js | 25 ++++++++++++++++--------- scripts/launch_cluster.js | 37 +++++++++++++++++++++++++++++-------- 2 files changed, 45 insertions(+), 17 deletions(-) diff --git a/scripts/kill_cluster.js b/scripts/kill_cluster.js index 7279151f8c..eb07e67252 100644 --- a/scripts/kill_cluster.js +++ b/scripts/kill_cluster.js @@ -1,9 +1,16 @@ -var Planner = require("org/arangodb/cluster").Planner; -var Kickstarter = require("org/arangodb/cluster").Kickstarter; -var p = new Planner({}); -var k = new Kickstarter(p.getPlan()); -var fs = require("fs"); -k.runInfo = JSON.parse(fs.read("runInfo.json")); -k.shutdown(); -k.cleanup(); - +function main (argv) { + var runInfoName = "runInfo.json"; + var fs = require("fs"); + var print = require("internal").print; + if (argv.length > 1) { + runInfoName = argv[1]; + print("Using runInfo from:",runInfoName); + } + var Planner = require("org/arangodb/cluster").Planner; + var Kickstarter = require("org/arangodb/cluster").Kickstarter; + var runInfo = JSON.parse(fs.read(runInfoName)); + var k = new Kickstarter(runInfo.plan); + k.runInfo = runInfo.runInfo; + k.shutdown(); + k.cleanup(); +} diff --git a/scripts/launch_cluster.js b/scripts/launch_cluster.js index ee22b60f13..4d174b8de7 100644 --- a/scripts/launch_cluster.js +++ b/scripts/launch_cluster.js @@ -1,8 +1,29 @@ -var Planner = require("org/arangodb/cluster").Planner; -var Kickstarter = require("org/arangodb/cluster").Kickstarter; -var p = new Planner({}); -var k = new Kickstarter(p.getPlan()); -var r = k.launch(); -var fs = require("fs"); -fs.write("runInfo.json",JSON.stringify(r)); - +function main (argv) { + var options = {}; + var runInfoName = "runInfo.json"; + var print = require("internal").print; + if (argv.length > 1) { + options = JSON.parse(argv[1]); + print("Using options:",options); + } + if (argv.length > 2) { + runInfoName = argv[2]; + print("Using runInfo name:",runInfoName); + } + var Planner = require("org/arangodb/cluster").Planner; + var Kickstarter = require("org/arangodb/cluster").Kickstarter; + var p = new Planner(options); + var k = new Kickstarter(p.getPlan()); + var r = k.launch(); + var fs = require("fs"); + fs.write(runInfoName,JSON.stringify({"plan": p.getPlan(), + "runInfo": r.runInfo})); + print("Coordinator endpoints:"); + var i; + var l = r.runInfo[r.runInfo.length-1]; + for (i = 0;i < l.endpoints.length;i++) { + if (l.roles[i] === "Coordinator") { + print(" ",l.endpoints[i]); + } + } +}