[Mageia-sysadm] [357] add testvm module, used to run test VMs
root at mageia.org
root at mageia.org
Sun Nov 21 21:54:46 CET 2010
Revision: 357
Author: boklm
Date: 2010-11-21 21:54:45 +0100 (Sun, 21 Nov 2010)
Log Message:
-----------
add testvm module, used to run test VMs
Added Paths:
-----------
puppet/modules/testvm/
puppet/modules/testvm/files/
puppet/modules/testvm/files/_vm
puppet/modules/testvm/files/vm-jonund
puppet/modules/testvm/manifests/
puppet/modules/testvm/manifests/init.pp
Added: puppet/modules/testvm/files/_vm
===================================================================
--- puppet/modules/testvm/files/_vm (rev 0)
+++ puppet/modules/testvm/files/_vm 2010-11-21 20:54:45 UTC (rev 357)
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+test -z $vmname && exit 1
+
+vmdir="$HOME/VMs"
+piddir="$HOME/PIDs"
+logdir="$HOME/log"
+vmfile="$vmdir/$vmname"
+pidfile="$piddir/$vmname"
+logfile="$logdir/$vmname"
+qemucmd="qemu-kvm -nographic -pidfile $pidfile -hda $vmfile -net nic,vlan=0 -net user,vlan=0,hostfwd=tcp::$sshport-:22 $QEMUOPT"
+
+function running()
+{
+ test -f $pidfile || return 1
+ pid=`cat $pidfile`
+ test -d "/proc/$pid"
+}
+
+function stop()
+{
+ test -f $pidfile || return 1
+ pid=`cat $pidfile`
+ kill "$pid" && rm -f "$pidfile"
+}
+
+function start()
+{
+ running && echo "VM is already running" && return 1
+ nohup $qemucmd > $logfile 2>&1 &
+}
+
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart)
+ start
+ stop
+ ;;
+ status)
+ running
+ vmrunning=$?
+ test $vmrunning -eq 0 && echo "VM $vmname is running"
+ test $vmrunning -eq 0 || echo "VM $vmname is stopped"
+ ;;
+ ssh)
+ running && ssh -p $sshport localhost
+ ;;
+esac
Added: puppet/modules/testvm/files/vm-jonund
===================================================================
--- puppet/modules/testvm/files/vm-jonund (rev 0)
+++ puppet/modules/testvm/files/vm-jonund 2010-11-21 20:54:45 UTC (rev 357)
@@ -0,0 +1,5 @@
+#!/bin/sh
+vmname=jonund
+sshport=5051
+SCRIPTSDIR=$(dirname $0)
+. "$SCRIPTSDIR/_vm"
Property changes on: puppet/modules/testvm/files/vm-jonund
___________________________________________________________________
Added: svn:executable
+ *
Added: puppet/modules/testvm/manifests/init.pp
===================================================================
--- puppet/modules/testvm/manifests/init.pp (rev 0)
+++ puppet/modules/testvm/manifests/init.pp 2010-11-21 20:54:45 UTC (rev 357)
@@ -0,0 +1,33 @@
+class testvm
+{
+ $testvm_login = "testvm"
+ $testvmdir = "/home/testvm"
+
+ group {"$testvm_login":
+ ensure => present,
+ }
+
+ user {"$testvm_login":
+ ensure => present,
+ comment => "System user used to run test VMs",
+ managehome => true,
+ gid => $vmtest_login,
+ shell => "/bin/bash",
+ }
+
+ file { "$testvmdir/bin/_vm":
+ ensure => present,
+ owner => root,
+ group => root,
+ mode => 644,
+ source => "puppet:///modules/testvm/_vm",
+ }
+
+ file { "$testvmdir/bin/vm-jonund":
+ ensure => present,
+ owner => root,
+ group => $testvm_login,
+ mode => 750,
+ source => "puppet:///modules/testvm/vm-jonund",
+ }
+}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/mageia-sysadm/attachments/20101121/c6d6ef4e/attachment-0001.html>
More information about the Mageia-sysadm
mailing list