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
|
#!/usr/bin/env python
import os, sys, tempfile, select, time
def connect(vol, sleeptime=None):
d = tempfile.mkdtemp()
try:
argv = ["glusterfs", "-LDEBUG", "-l/tmp/gl0.log", '-s', "localhost",
'--volfile-id', vol, '--client-pid=-1', d]
if os.spawnvp(os.P_WAIT, argv[0], argv):
raise RuntimeError("command failed: " + " ".join(argv))
print >> sys.stderr, 'auxiliary glusterfs mount in place'
os.chdir(d)
argv = ['umount', '-l', d]
if sleeptime != None:
time.sleep(sleeptime)
if os.spawnvp(os.P_WAIT, argv[0], argv):
raise RuntimeError("command failed: " + " ".join(argv))
finally:
try:
os.rmdir(d)
except:
print >> sys.stderr, 'stale mount possibly left behind on ' + d
print >> sys.stderr, 'auxiliary glusterfs mount prepared'
args = sys.argv[1:2]
if len(sys.argv) > 2:
args.append(float(sys.argv[2]))
connect(*args)
|