summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryves <steve.harrison@gmx.net>2011-12-29 23:20:19 +0100
committeryves <steve.harrison@gmx.net>2011-12-29 23:20:19 +0100
commitbe66e23705705fc7d73b31ae35ef13cac1ddcb41 (patch)
tree03b009a30ff068dc70d1d1ff00529e919e66dd91
parent90df45bccf4e59b420c80c99b7d71aae8d2c0693 (diff)
downloadiscsi-helper-be66e23705705fc7d73b31ae35ef13cac1ddcb41.tar.gz
iscsi-helper-be66e23705705fc7d73b31ae35ef13cac1ddcb41.tar.bz2
iscsi-helper-be66e23705705fc7d73b31ae35ef13cac1ddcb41.zip
structred excution timeline and added progress logger
-rwxr-xr-xmountDiskSetupVserver.py60
1 files 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:<name>
- [ '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/<name>/iscsi/
$ echo "10.0.0.1" > /etc/vservers/<name>/iscsi/portal
$ echo "iqn.<YYYY>-<MM>.de.spline:<name>" > /etc/vservers/<name>/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/<name>/interfaces/1
$ echo "2001:6f8:1c3c:babe::<IP>:1" > /etc/vservers/<name>/interfaces/1/ip
$ echo "64" > /etc/vservers/<name>/interfaces/1/prefix
$ echo "eth0" > /etc/vservers/<name>/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/<name>/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')