Merge pull request +11685 from c9/prepare-load-balancing

Prepare load balancing
pull/242/head
Fabian Jakobs 2016-01-20 16:54:19 +01:00
commit 53c3a2dcd1
3 zmienionych plików z 51 dodań i 11 usunięć

32
node_modules/c9/hostname.js wygenerowano vendored
Wyświetl plik

@ -1,14 +1,30 @@
var fs = require("fs");
exports.parse = function(hostname) {
var parts = hostname.split("-");
return {
type: parts[0],
provider: parts[1],
region: parts[2],
index: parts[3],
env: parts[4]
};
var m1 = hostname.match(/^([0-9a-z-]+?)-gce-([a-z]+)-([0-9]+)-([a-z0-9]+)$/);
var m2 = hostname.match(/^([0-9a-z-]+?)-gce-([a-z]+)-([a-z0-9]+)-([a-z0-9]{4})$/);
if (m1) {
return {
type: m1[1],
provider: "gce",
region: m1[2],
index: m1[3],
env: m1[4]
};
}
else if (m2) {
return {
type: m2[1],
provider: "gce",
region: m2[2],
env: m2[3],
index: m2[4]
};
} else {
return {};
}
};
exports.get = function() {

25
node_modules/c9/hostname_test.js wygenerowano vendored 100644
Wyświetl plik

@ -0,0 +1,25 @@
/*global describe it before after beforeEach afterEach define*/
"use strict";
"use server";
"use mocha";
require("c9/inline-mocha")(module);
var assert = require("assert-diff");
var hostname = require("./hostname");
describe(__filename, function() {
function assertServerName(sn, type, region, index, env) {
assert.equal(sn.type, type);
assert.equal(sn.region, region);
assert.equal(sn.index, index);
assert.equal(sn.env, env);
}
it("parse hostname", function() {
assertServerName(hostname.parse("fabian-gce-eu-04-dev"), "fabian", "eu", "04", "dev");
assertServerName(hostname.parse("newclient-gce-eu-prod-d4fg"), "newclient", "eu", "d4fg", "prod");
assertServerName(hostname.parse("ide-old-gce-usw-02-prod"), "ide-old", "usw", "02", "prod");
});
});

Wyświetl plik

@ -12,6 +12,7 @@ var optimist = require("optimist");
var async = require("async");
var os = require("os");
var urls = require("c9/urls");
var hostname = require("c9/hostname");
var child_process = require("child_process");
require("c9/setup_paths.js");
@ -56,9 +57,7 @@ if (!module.parent)
main(process.argv.slice(2));
function getDefaultSettings() {
var hostname = os.hostname();
var suffix = hostname.trim().split("-").pop() || "";
var suffix = hostname.parse(os.hostname()).env;
var modes = {
"workflowstaging": "workflow-staging",
"prod": "deploy",