source: trunk/packages/sipb-xen-database/sipb-xen-database/client/usr/bin/sipb-xen-lvcreate @ 110

Last change on this file since 110 was 110, checked in by andersk, 17 years ago

Regex sanity checking.

  • Property svn:executable set to *
File size: 779 bytes
Line 
1#!/usr/bin/env python
2
3from sipb_xen_database import *
4import sys
5import os.path
6from subprocess import call
7
8connect('postgres://sipb-xen@sipb-xen-dev.mit.edu/sipb_xen')
9
10def check(b):
11    if not b:
12        exit(1)
13
14vg = "xenvg"
15for d in Disk.select():
16    check(re.match('^[A-Za-z0-9]+$', d.guest_device_name))
17    machine = Machine.get(d.machine_id)
18    check(re.match('^[A-Za-z0-9][A-Za-z0-9._-]*$', machine.name))
19    lvname = machine.name + "_" + d.guest_device_name
20    if not os.path.exists("/dev/%s/%s" % (vg, lvname)):
21        # LV doesn't exist
22        print >>sys.stderr, "Creating LV %s..." % (lvname,)
23        rv = call(["lvcreate", "-L", str(d.size) + "M", "-n", lvname, vg])
24        if rv != 0:
25            print >>sys.stderr, "Error creating LV %s\n" %(lvname,)
Note: See TracBrowser for help on using the repository browser.