diff --git a/scripts/deploy.js b/scripts/deploy.js index 5ff7dfc9045c792f8f0c3e1c6c55a998605faf73..9c26f63933ce619a90e9fb956626a9689bc8841f 100755 --- a/scripts/deploy.js +++ b/scripts/deploy.js @@ -42,10 +42,10 @@ verbs['destroy'] = function(args) { validateName(name); process.stdout.write("trying to destroy VM for " + name + ".hacksign.in: "); - vm.destroy(name, function(cb, err) { - console.log(err ? "failed: " + err : "done"); + vm.destroy(name, function(err) { + console.log(err ? ("failed: " + err) : "done"); process.stdout.write("trying to remove DNS for " + name + ".hacksign.in: "); - dns.deleteRecord(name, function(cb, err) { + dns.deleteRecord(name, function(err) { console.log(err ? "failed: " + err : "done"); }); }); @@ -84,7 +84,13 @@ verbs['deploy'] = function(args) { checkErr(err); console.log(" ... victory! server is accessible and configured"); git.addRemote(name, deets.ipAddress, function(err, r) { - checkErr(err); + if (err && /already exists/.test(err)) { + console.log("OOPS! you already have a git remote named 'test'!"); + console.log("to create a new one: git remote add <name> " + + "app@" + deets.ipAddress + ":git"); + } else { + checkErr(err); + } console.log(" ... and your git remote is all set up"); console.log(""); printInstructions(name, deets); diff --git a/scripts/deploy/dns.js b/scripts/deploy/dns.js index 26f4283a355d251fdfa60fd3ac3134fb3c0ffc8d..d35fc4cf21af9a84098a142ca06767b88434b59d 100644 --- a/scripts/deploy/dns.js +++ b/scripts/deploy/dns.js @@ -40,7 +40,6 @@ function doRequest(method, path, body, cb) { }; exports.updateRecord = function (hostname, ip, cb) { - exports.deleteRecord(hostname, function() {} ); doRequest('GET', '/api/1.1/zones.xml', null, function(err, r) { if (err) return cb(err); var m = jsel.match('object:has(:root > .domain:val(?)) > .id .$t', @@ -60,6 +59,7 @@ exports.deleteRecord = function (hostname, cb) { doRequest('GET', '/api/1.1/hosts.xml?fqdn=' + hostname + ".hacksign.in", null, function(err, r) { if (err) return cb(err); var m = jsel.match('.host .id > .$t', r); + if (!m.length) return cb("no such DNS record"); function deleteOne() { if (!m.length) return cb(null); var one = m.shift(); @@ -80,4 +80,4 @@ exports.inUse = function (hostname, cb) { if (m.length) return cb(null, m[0]); cb(null, null); }); -} \ No newline at end of file +} diff --git a/scripts/deploy/vm.js b/scripts/deploy/vm.js index d07c0606b10a6dd8abdd1bc1a36e39dd2aee1bb7..e321da91a47427d8f77d057375a53c8ad4d6e106 100644 --- a/scripts/deploy/vm.js +++ b/scripts/deploy/vm.js @@ -43,9 +43,8 @@ exports.destroy = function(name, cb) { aws.call('TerminateInstances', { InstanceId: r[name].instanceId }, function(result) { - console.log(result); try { return cb(result.Errors.Error.Message); } catch(e) {}; - return null; + cb(null); }); }); };