diff --git a/lxc.js b/lxc.js index 1446b58..4bb1f6f 100644 --- a/lxc.js +++ b/lxc.js @@ -1,14 +1,19 @@ 'use strict'; -var cmd = require('node-cmd'); +var exec = require('child_process').exec; -var sysExec = function(command, callback){ - // console.log('sysExec: ', command, '||| callback:', callback) - cmd.get('unset XDG_SESSION_ID XDG_RUNTIME_DIR; cgm movepid all virt $$; '+command, callback); +function sysExec(command,callback){ + command = 'unset XDG_SESSION_ID XDG_RUNTIME_DIR; cgm movepid all virt $$; ' + command + exec(command,(function(){ + return function(err,data,stderr){ + if(!callback) return; + callback(data, err, stderr); + } + })(callback)); }; var lxc = { - create: function(name, template, config, cbComplete){ - sysExec('lxc-create -n '+name+' -t '+template, cbComplete); + create: function(name, template, config, callback){ + sysExec('lxc-create -n '+name+' -t '+template, callback); }, clone: function(name, base_name, callback){ @@ -60,7 +65,7 @@ var lxc = { if(data.match("doesn't exist")){ return callback({state: 'NULL'}); } - + var info = {}; data = data.replace(/\suse/ig, '').replace(/\sbytes/ig, '').split("\n").slice(0,-1); for(var i in data){ diff --git a/package.json b/package.json index a2505c0..598161a 100644 --- a/package.json +++ b/package.json @@ -14,10 +14,6 @@ "morgan": "~1.6.1", "serve-favicon": "~2.3.0", "node.extend": "~1.1.5", - "redis": "~2.4.2", - "child": "0.0.3", - "colors": "~1.1.2", - "async": "~1.5.2", - "node-cmd": "~1.1.1" + "redis": "~2.4.2" } } diff --git a/routes/api.js b/routes/api.js index 171e226..45ceac9 100644 --- a/routes/api.js +++ b/routes/api.js @@ -6,7 +6,7 @@ var extend = require('node.extend'); var redis = require("redis"); var client = redis.createClient(); var lxc = require('../lxc'); -//lxc.startEphemeral('ubuntu_template', 'ue0', function(){console.log('cb1', arguments)}, function(){console.log('cb2', arguments)}) + router.get('/start/:name', function(req, res, next){ lxc.start(req.params.name, function(status, message){ if(status){