summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryves <steve.harrison@gmx.net>2011-12-15 10:08:31 +0100
committeryves <steve.harrison@gmx.net>2011-12-15 10:08:31 +0100
commit34b1f974c2e6a134efc95c400e45307fbb600612 (patch)
treea3efa7458edf7939d153e468235d2b236a167899
parentcf4f505c86a9d649b609efba1ce698cd17ef7bd9 (diff)
downloadiscsi-helper-34b1f974c2e6a134efc95c400e45307fbb600612.tar.gz
iscsi-helper-34b1f974c2e6a134efc95c400e45307fbb600612.tar.bz2
iscsi-helper-34b1f974c2e6a134efc95c400e45307fbb600612.zip
restructured vserver create script, still not working
-rwxr-xr-xmountDiskSetupVserver.py78
1 files changed, 28 insertions, 50 deletions
diff --git a/mountDiskSetupVserver.py b/mountDiskSetupVserver.py
index e046298..bda8371 100755
--- a/mountDiskSetupVserver.py
+++ b/mountDiskSetupVserver.py
@@ -3,11 +3,12 @@
import optparse
from shared import *
# vars
-volumeGroupName = 'scsiRaid'
-defaultDiskSize = '3G'
+iscsiTargetIp='10.0.0.1'
+iscsiDate='2011-04'
+defaultImage='/root/vserver-template-v2.tar.bz2'
# configure known options
-usage = "usage: %prog VMNAME [options]"
+usage = "usage: %prog VMNAME IP [options]"
parser = optparse.OptionParser(usage=usage)
parser.add_option("-s", "--size", dest="size", default=defaultDiskSize,
help="SIZE of vm root disk", metavar="SIZE")
@@ -27,42 +28,35 @@ elif len(args) > 1:
sys.exit(2)
vmName = parseVmName(args[0])
-diskSize, diskSizeUnit = parseDiskSize(options.size)
-
+ip, ipLastBlock = parseIp(args[1])
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' ],
+ [ 'mkdir', '/vservers/' + vmName ],
+ [ 'mount', '/dev/disk/by-label/' + vmName, '/vservers/' + vmName +],
+ [ 'vserver', vmName, 'build',
+ '-m', 'template',
+ '--interface', 'eth0:' + ip + '/25',
+ '--initstyle', 'sysv',
+ '--context', str(ipLastBlock)
+ '--hostname', vmName,
+ '--',
+ '--template', defaultImage,
+ '-d', 'debian' ]
+]
-$ iscsiadm -m discovery -t st -p 10.0.0.1
-'''10.0.0.1:3260,1 iqn.2011-04.de.spline:<name>
-130.133.110.96:3260,1 iqn.2011-04.de.spline:<name>
-[...]
-'''
-
-$ iscsiadm -m node -T iqn.<YYYY>-<MM>.de.spline:<name> -p 10.0.0.1 --login
-'''Logging in to [iface: default, target: iqn.<YYYY>-<MM>.de.spline:<name>, portal: 10.0.0.1,3260]
-Login to [iface: default, target: iqn.<YYYY>-<MM>.de.spline:<name>, portal: 10.0.0.1,3260]: successfull
-'''
-
-$ mkdir /vservers/<name>
-$ mount /dev/disk/by-label/<name> /vservers/<name>/
-
-# auf beep in /etc/bind/dns-sources/ eine neue <IP> aussuchen und einen dns-eintrag hinzufuegen
-# README im genannten Ordner dazu lesen!
-# diese IP ist gleichzeitig der vserver-context
-# vserver skelett mit den vserver-utils installieren
-# als quelle wird dabei nicht debootstrap, sondern ein debian-squeeze-template genommen
-# das template liegt im homeverzeichnis vom root
-$ cd
-$ vserver <name> build -m template --interface eth0:130.133.110.<IP>/25 --initstyle sysv --context <letzterBlockDerIP> --hostname <name> -- --template vserver-template-v2.tar.bz2 -d debian
-# etwas geduld, gibt erstmal keinen output
# iscsi meta-daten im vserver-etc verzeichnis hinzufuegen
$ 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
# 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
+# vermutlich ist das eine dmz maschine, daher der prefix BABE
$ 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
@@ -71,35 +65,19 @@ $ echo "eth0" > /etc/vservers/<name>/interfaces/1/dev
# 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
$ cd /etc/vservers/<name>/apps/init
-$ echo "pang" > mark
+$ echo "pang" > mark
$ echo "debian" >> mark
$ echo "auto-update" >> mark
# die dem vserver zugehörige disk erstmal unmounten und dann in die fstab des vservers einfuegen, damit
# sie beim starten benutzt wird
-$ umount /vservers/<name>/
-"""
-/dev/disk/by-label/<name> / ext4 defaults,relatime 0 1
-none /proc proc defaults 0 0
-none /tmp tmpfs size=16m,mode=1777 0 0
-none /dev/pts devpts gid=5,mode=620 0 0
-"""
-# vserver starten und gluecklich sein
-$ vserver <name> start
-"""WARNING: Active session for iscsi disk 'iqn.2011-04.de.spline:vm-dns0' found: Skipping login!
-e2fsck 1.41.12 (17-May-2010)
-vm-dns0: clean, 12211/196608 files, 135040/786432 blocks
-Using makefile-style concurrent boot in runlevel 3.
-Starting enhanced syslogd: rsyslogd.
-"""
- ["lvcreate", "-n", vmName, "-L", str(diskSize) + str(diskSizeUnit)],
- ["mkfs.ext4", "/dev/" + volumeGroupName + "/" + vmName, "-l",vmName],
- ["addIscsiDisk", vmName]
-]
+ [ 'umount', '/vservers/' + vmName ]
+ [ 'vserver', vmName, 'start' ]
execPlan = ExecutionPlan(cmds,vmName)
execPlan.execute_all()
logInfo("your vserver is up and running!")
-sys.exit(0)
+logInfo("you might enter it by: vserver " + vmName + ' enter')
+sys.exit(0