From be66e23705705fc7d73b31ae35ef13cac1ddcb41 Mon Sep 17 00:00:00 2001 From: yves Date: Thu, 29 Dec 2011 23:20:19 +0100 Subject: structred excution timeline and added progress logger --- mountDiskSetupVserver.py | 60 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 51 insertions(+), 9 deletions(-) diff --git a/mountDiskSetupVserver.py b/mountDiskSetupVserver.py index bda8371..6bef2be 100755 --- a/mountDiskSetupVserver.py +++ b/mountDiskSetupVserver.py @@ -29,13 +29,19 @@ elif len(args) > 1: vmName = parseVmName(args[0]) ip, ipLastBlock = parseIp(args[1]) +iscsiLunId = 'iqn.' + iscsiDate + '.de.spline:' + vmName + +pl = ProgressLogger(9) + +lf = openLogFile(sys.argv[0] + "-" + vmName) + + cmds = [ [ 'iscsiadm', '-m', 'discovery', '-t', 'st', '-p', iscsiTargetIp ], # maybe i schould grep if, the device was in the output # 10.0.0.1:3260,1 iqn.2011-04.de.spline: - [ 'iscsiadm', '-m', 'node', '-T', 'iqn.' + iscsiDate + - '.de.spline:' + vmName, '-p', iscsiTargetIp, '--login' ], + [ 'iscsiadm', '-m', 'node', '-T', iscsiLunId, iscsiTargetIp, '--login' ], [ 'mkdir', '/vservers/' + vmName ], [ 'mount', '/dev/disk/by-label/' + vmName, '/vservers/' + vmName +], [ 'vserver', vmName, 'build', @@ -46,36 +52,72 @@ cmds = [ '--hostname', vmName, '--', '--template', defaultImage, - '-d', 'debian' ] + '-d', 'debian' ], + [ 'umount', '/vservers/' + vmName ], + [ 'vserver', vmName, 'start' ] ] +pl.start('discover iscsi luns') +execute(cmds[0],lf) +pl.done() +pl.start('log in to iscsi lun ' + iscsiTargetIp) +execute(cmds[1],lf) +pl.done() +pl.start('create vserver folder') +execute(cmds[2],lf) +pl.done() + +pl.start('create vserver ( this may take some time)') +execute(cmds[3],lf) +pl.done() + +pl.start('configure iscsi lun for vm') # iscsi meta-daten im vserver-etc verzeichnis hinzufuegen +# TODO: translate to python $ mkdir /etc/vservers//iscsi/ $ echo "10.0.0.1" > /etc/vservers//iscsi/portal $ echo "iqn.-.de.spline:" > /etc/vservers//iscsi/target +pl.done() + +pl.start('configure fstab') +# die dem vserver zugehörige disk erstmal unmounten und dann in die fstab des vservers einfuegen, damit +# sie beim starten benutzt wird +# TODO: code here +pl.done() + + +pl.start('configure ipv6 address') # ipv6 adresse muss noch manuell hinzugefuegt werden, die ipv4 wurde durch --interface beim vserver build erstellt # vermutlich ist das eine dmz maschine, daher der prefix BABE +# TODO: translate to python $ mkdir /etc/vservers//interfaces/1 $ echo "2001:6f8:1c3c:babe:::1" > /etc/vservers//interfaces/1/ip $ echo "64" > /etc/vservers//interfaces/1/prefix $ echo "eth0" > /etc/vservers//interfaces/1/dev +pl.done() +pl.start('configure marks') # neue (2011-04) vserver-utils mit "mark" benutzen, damit zB automatisch distributions-spezifische updates gefahren # werden können - falls das nicht gewuenschst ist, koennen 2. und 3. übersprungen werden +# TODO: translate to python $ cd /etc/vservers//apps/init $ echo "pang" > mark $ echo "debian" >> mark $ echo "auto-update" >> mark +pl.done() + +pl.start('umount disk') +execute(cmds[4],lf) +pl.done() + +pl.start('start vserver') +execute(cmds[5],lf) +pl.done() + -# die dem vserver zugehörige disk erstmal unmounten und dann in die fstab des vservers einfuegen, damit -# sie beim starten benutzt wird - [ 'umount', '/vservers/' + vmName ] - [ 'vserver', vmName, 'start' ] -execPlan = ExecutionPlan(cmds,vmName) -execPlan.execute_all() logInfo("your vserver is up and running!") logInfo("you might enter it by: vserver " + vmName + ' enter') -- cgit v1.2.3-1-g7c22