added configuration for the VM (in json format to keep it simple to have embedded arrays), and modified the running script to switch from hard coded conf to a sample one
This commit is contained in:
parent
c98cbe7f8a
commit
d02fa25e6c
|
@ -456,6 +456,7 @@ debian/po/nl.po -text
|
|||
debian/po/pt.po -text
|
||||
debian/po/templates.pot -text
|
||||
debian/rules -text
|
||||
etc/alternc-lxc/vms.json -text
|
||||
etc/alternc/alternc-sudoers -text
|
||||
etc/alternc/alternc.ini -text
|
||||
etc/alternc/apache2-ssl.conf -text
|
||||
|
@ -622,6 +623,7 @@ tests/mechdump.pm -text
|
|||
tests/test_demo.pl -text
|
||||
tests/whois_test.php -text
|
||||
tools/alternc_get_path -text
|
||||
tools/alternc_lxc -text
|
||||
tools/get_account_by_domain -text
|
||||
tools/get_domains_by_account -text
|
||||
tools/top_ftp_users -text
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"vm1":{
|
||||
"hostname":"vm1.test.fr",
|
||||
"network":{
|
||||
"eth0":{
|
||||
"link":"brdummy",
|
||||
"ip":"10.50.0.2\/24"
|
||||
},
|
||||
"eth1":{
|
||||
"link":"brdummy2",
|
||||
"ip":"10.55.0.2\/24"
|
||||
}
|
||||
}
|
||||
},
|
||||
"vm2":{
|
||||
"hostname":"vm2.test.fr",
|
||||
"network":{
|
||||
"eth0":{
|
||||
"link":"brdummy",
|
||||
"ip":"10.51.0.2\/24"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,80 @@
|
|||
#!/usr/bin/php
|
||||
<?php
|
||||
|
||||
|
||||
require_once("/var/lib/alternc-lxc/alternc_lxc.class.php");
|
||||
|
||||
function help() {
|
||||
echo "Actions:\n";
|
||||
echo " * ".$_SERVER['SCRIPT_NAME']." start login password_hash UID\n";
|
||||
echo " * ".$_SERVER['SCRIPT_NAME']." stop vm\n";
|
||||
echo " * ".$_SERVER['SCRIPT_NAME']." stopall\n";
|
||||
echo " * ".$_SERVER['SCRIPT_NAME']." monit\n";
|
||||
echo " * ".$_SERVER['SCRIPT_NAME']." list\n";
|
||||
echo " * ".$_SERVER['SCRIPT_NAME']." lock\n";
|
||||
echo " * ".$_SERVER['SCRIPT_NAME']." unlock\n";
|
||||
echo "\n";
|
||||
}
|
||||
|
||||
# Must be launched as root
|
||||
if (shell_exec("/usr/bin/id -u") != 0 ) {
|
||||
echo "Script must be launch as root.\n";
|
||||
die();
|
||||
}
|
||||
|
||||
# There must be at least one parameters
|
||||
if (empty($argv[1])) {
|
||||
help();
|
||||
die();
|
||||
}
|
||||
|
||||
$filename = '/etc/alternc-lxc/vms.json';
|
||||
$conf = json_decode(file_get_contents($filename), TRUE);
|
||||
|
||||
$lxc = new alternc_lxc();
|
||||
$lxc->conf=$conf;
|
||||
|
||||
# Here we go
|
||||
switch ($argv[1]) {
|
||||
case "start":
|
||||
if (empty($argv[2]) || empty($argv[3]) || empty($argv[4])) {
|
||||
help();
|
||||
die();
|
||||
}
|
||||
$r = $lxc->start_vm($argv[2], $argv[3], $argv[4]);
|
||||
echo serialize($r);
|
||||
break;
|
||||
case "stopall":
|
||||
$r=$lxc->stopall_vm();
|
||||
echo serialize($r);
|
||||
break;
|
||||
case "stop":
|
||||
if (empty($argv[2])) {
|
||||
help();
|
||||
die();
|
||||
}
|
||||
$r=$lxc->stop_vm($argv[2]);
|
||||
echo serialize($r);
|
||||
break;
|
||||
case "unlock":
|
||||
$r=$lxc->unlock();
|
||||
echo serialize($r);
|
||||
break;
|
||||
case "lock":
|
||||
$r=$lxc->lock();
|
||||
echo serialize($r);
|
||||
break;
|
||||
case "monit":
|
||||
$r=$lxc->monit();
|
||||
echo serialize($r);
|
||||
break;
|
||||
case "list":
|
||||
$r=$lxc->listvm();
|
||||
echo "$r";
|
||||
break;
|
||||
default:
|
||||
help();
|
||||
die();
|
||||
}
|
||||
|
||||
?>
|
Loading…
Reference in New Issue