stop
This commit is contained in:
parent
bf068177fb
commit
b297c1b749
17
lxc.js
17
lxc.js
@ -3,6 +3,7 @@ module.exports = function(config){
|
|||||||
var cmd = require('node-cmd');
|
var cmd = require('node-cmd');
|
||||||
|
|
||||||
var sysExec = function(command, callback){
|
var sysExec = function(command, callback){
|
||||||
|
console.log('sysExec --', command)
|
||||||
cmd.get('unset XDG_SESSION_ID XDG_RUNTIME_DIR; cgm movepid all virt $$; '+command, callback)
|
cmd.get('unset XDG_SESSION_ID XDG_RUNTIME_DIR; cgm movepid all virt $$; '+command, callback)
|
||||||
}
|
}
|
||||||
/* var obj = {};
|
/* var obj = {};
|
||||||
@ -60,14 +61,14 @@ module.exports = function(config){
|
|||||||
sysExec(cmd, callback);
|
sysExec(cmd, callback);
|
||||||
};
|
};
|
||||||
|
|
||||||
obj.startEphemeral = function(name, base_name, cbData){
|
obj.startEphemeral = function(name, base_name, callback){
|
||||||
|
|
||||||
var output = '';
|
var output = '';
|
||||||
sysExec('lxc-start-ephemeral -o '+base_name+ ' -n '+name +' --union-type overlayfs -d', function(data){output+=data}, function(error){
|
sysExec('lxc-start-ephemeral -o '+base_name+ ' -n '+name +' --union-type overlayfs -d', function(data){output+=data}, function(error){
|
||||||
if(output.match("doesn't exist.")) return cbData({status: 500, error: "doesn't exist."});
|
if(output.match("doesn't exist.")) return callback({status: 500, error: "doesn't exist."});
|
||||||
if(output.match("already exists.")) return cbData({status: 500, error: "already exists"});
|
if(output.match("already exists.")) return callback({status: 500, error: "already exists"});
|
||||||
if(output.match(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/)) return cbData({status: 200, state:'RUNNING', ip: output.match(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/)[0]});
|
if(output.match(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/)) return callback({status: 200, state:'RUNNING', ip: output.match(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/)[0]});
|
||||||
cbData({'?': '?', data: output, name: name, base_name: base_name});
|
callback({'?': '?', data: output, name: name, base_name: base_name});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -85,18 +86,18 @@ module.exports = function(config){
|
|||||||
sysExec('lxc-unfreeze -n '+name, cbComplete, cbData);
|
sysExec('lxc-unfreeze -n '+name, cbComplete, cbData);
|
||||||
};
|
};
|
||||||
|
|
||||||
obj.info = function(name, cbData){
|
obj.info = function(name, callback){
|
||||||
|
|
||||||
var output = '';
|
var output = '';
|
||||||
sysExec('lxc-info -n'+name, function(data){output+=data}, function(error){
|
sysExec('lxc-info -n'+name, function(data){output+=data}, function(error){
|
||||||
if(output.match("doesn't exist")) return cbData({state: 'NULL'});
|
if(output.match("doesn't exist")) return callback({state: 'NULL'});
|
||||||
var info = {};
|
var info = {};
|
||||||
output = output.replace(/\suse/ig, '').replace(/\sbytes/ig, '').split("\n").slice(0,-1);
|
output = output.replace(/\suse/ig, '').replace(/\sbytes/ig, '').split("\n").slice(0,-1);
|
||||||
for(var i in output){
|
for(var i in output){
|
||||||
var temp = output[i].split(/\:\s+/);
|
var temp = output[i].split(/\:\s+/);
|
||||||
info[temp[0].toLowerCase().trim()] = temp[1].trim();
|
info[temp[0].toLowerCase().trim()] = temp[1].trim();
|
||||||
}
|
}
|
||||||
cbData(info);
|
callback(info);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
if(data.state === 'RUNNING'){
|
if(data.state === 'RUNNING'){
|
||||||
var url = '//'+data.name+'.vm42.us';
|
var url = '//'+data.name+'.vm42.us';
|
||||||
data.url = '<a href="'+url+'" target="_blank">'+url+'</a>';
|
data.url = '<a href="'+url+'" target="_blank">'+url+'</a>';
|
||||||
}else if( data.state !== "RUNNING" && data.name.match(/_template/) ){
|
}else if( data.state !== "RUNNING" && data.name.match(/\w\w/) ){
|
||||||
data.clone = $('#cloneFormTemplate').html();
|
data.clone = $('#cloneFormTemplate').html();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user