Commit d02fa25e authored by François Serman's avatar François Serman

added configuration for the VM (in json format to keep it simple to have...

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
parent c98cbe7f
......@@ -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
......
{
"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"
}
}
}
}
#!/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();
}
?>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment