summaryrefslogtreecommitdiffstats
path: root/createAndExportDisk.py
blob: aaf01be073c3f3b005f4c1592ef249c1aab90eed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/python3
#coding: UTF-8
import optparse
from shared import *

# vars
volumeGroupName = 'scsiRaid'
defaultDiskSize = '3G'

# configure known options
usage = "usage: %prog VMNAME [options]"
parser = optparse.OptionParser(usage=usage)
parser.add_option("-s", "--disk-size", dest="size",
                    default=defaultDiskSize, help="size of the disk",
                    metavar="SIZE")
parser.add_option("-v", "--verbose", dest="verbose",
                    action="store_true",  default=False,
                    help="should I do output")
(options, args) = parser.parse_args()

# check if required args are given
if len(args) < 1:
    parser.print_usage()
    logErr("a vm-name must be given!")
    sys.exit(2)
elif len(args) > 1:
    parser.print_usage()
    logErr("to many arguments given!")
    sys.exit(2)

vmName = parseVmName(args[0])
diskSize, diskSizeUnit = parseDiskSize(options.size)

exe = Executor([
    ExecRecepie('create logical volume',
        ["lvcreate", "-n", vmName, "-L", str(diskSize) + str(diskSizeUnit)]),
    ExecRecepie('format logical volume  with ext4',
        ["mkfs.ext4", "/dev/" + volumeGroupName + "/" + vmName, "-l",vmName]),
    ExecRecepie('export iscsi lun',
        ["addIscsiDisk", vmName])
])

exe.do()

logInfo("all done. SSH to (pang|peng).spline.de an install your vm there!")
sys.exit(0)