summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryves <steve.harrison@gmx.net>2011-12-30 03:23:32 +0100
committeryves <steve.harrison@gmx.net>2011-12-30 03:23:32 +0100
commitfc90643563a332c9d37fda9b58007938b6e61a31 (patch)
tree8aed1e8c155b5de4fcdcb8526a4224beb3d8e0fe
parent34209bea7a38c94bb4734f10f1ac169d79730936 (diff)
downloadiscsi-helper-fc90643563a332c9d37fda9b58007938b6e61a31.tar.gz
iscsi-helper-fc90643563a332c9d37fda9b58007938b6e61a31.tar.bz2
iscsi-helper-fc90643563a332c9d37fda9b58007938b6e61a31.zip
adpted create script to new executor
-rwxr-xr-xmountDiskSetupVserver.py90
1 files changed, 28 insertions, 62 deletions
diff --git a/mountDiskSetupVserver.py b/mountDiskSetupVserver.py
index 2d28fb5..c94cbfc 100755
--- a/mountDiskSetupVserver.py
+++ b/mountDiskSetupVserver.py
@@ -29,11 +29,7 @@ elif len(args) > 2:
vmName = parseVmName(args[0])
ip, ipLastBlock = parseIp(args[1])
iscsiLunId = 'iqn.' + iscsiDate + '.de.spline:' + vmName
-vmConfigDir = '/tmp/etc/vservers/' + vmName
-
-pl = ProgressLogger(10)
-
-lf = openLogFile(sys.argv[0] + "-" + vmName)
+vmConfigDir = '/etc/vservers/' + vmName
cmds = [
[ 'iscsiadm', '-m', 'discovery', '-t', 'st', '-p', iscsiTargetIp ],
@@ -55,69 +51,39 @@ cmds = [
[ '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()
-
-def writeFile(path,content):
- try:
- fd = open(path,'w')
- fd.write(content)
- fd.close()
- except IOError:
- logError('Unable to write file: ' + path)
- sys.exit(2)
-
-pl.start('configure iscsi lun for vm')
-# iscsi meta-daten im vserver-etc verzeichnis hinzufuegen
-os.mkdir(vmConfigDir + '/iscsi')
-writeFile(vmConfigDir + '/iscsi/portal',iscsiTargetIp + '\n')
-writeFile(vmConfigDir + '/iscsi/target',iscsiLunId + '\n')
-pl.done()
-
-pl.start('configure fstab')
+exe = Executor([
+ ExecRecepie('discover iscsi luns', cmds[0]),
+ ExecRecepie('log in to iscsi lun ' + iscsiTargetIp, cmds[1]),
+ ExecRecepie('create vserver folder', cmds[2]),
+ ExecRecepie('create vserver ( this may take some time)', cmds[3]),
+
+ # iscsi meta-daten im vserver-etc verzeichnis hinzufuegen
+ ConfigRecepie('configure iscsi lun for vm',
+ vmConfigDir + '/iscsi',
+ {
+ 'portal' : iscsiTargetIp + '\n',
+ 'target' : iscsiLunId + '\n'
+ }),
+ FstabRecepie('configure fstab', vmConfigDir + '/fstab','dev/disk/by-label/ ' + vmName),
# die dem vserver zugehörige disk erstmal unmounten und dann in die fstab des vservers einfuegen, damit
# sie beim starten benutzt wird
-with open(vmConfigDir + '/fstab', 'a') as fstab:
- fstab.write('/dev/disk/by-label/ ' + vmName + ' / ext4 defaults,relatime 0 1\n')
- fstab.close()
-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
-os.mkdir(vmConfigDir + '/interfaces/1')
-writeFile(vmConfigDir + '/interfaces/1/prefix', '64\n')
-writeFile(vmConfigDir + '/interfaces/1/dev', 'eth0\n')
-pl.done()
-
-pl.start('configure marks')
+ ConfigRecepie('configure ipv6 address',
+ vmConfigDir + '/interfaces/1',
+ {
+ 'prefix': '64\n',
+ 'dev': 'eth0\n'
+ }),
# 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
-os.mkdir(vmConfigDir + '/apps/init')
-writeFile(vmConfigDir + '/apps/init/mark', 'pang\ndebian\nauto-update\n')
-pl.done()
+ ConfigRecepie('configure marks',
+ vmConfigDir + '/apps/init',
+ { 'mark' : 'pang\ndebian\nauto-update\n'}),
-pl.start('umount disk')
-execute(cmds[4],lf)
-pl.done()
+ ExecRecepie('umount disk', cmds[4]),
+ ExecRecepie('start vserver', cmds[5])
+])
-pl.start('start vserver')
-execute(cmds[5],lf)
-pl.done()
+exe.do()
logInfo("your vserver is up and running!")
logInfo("you might enter it by: vserver " + vmName + ' enter')