summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjenkins <jenkins@cs2-23.cs>2016-02-05 22:56:24 +0000
committerjenkins <jenkins@cs2-23.cs>2016-02-05 22:56:24 +0000
commit83020b85e2b9cdbe42a5b49f222c9e88bae99129 (patch)
tree3cad341eb63be6be84232eff458255ac02ef86bd
parentb27a272df3f19907472fc517fdfeff6a7c50847e (diff)
Various fixes to cdistvm.
-rwxr-xr-x[-rw-r--r--]cdistvm29
1 files changed, 23 insertions, 6 deletions
diff --git a/cdistvm b/cdistvm
index a2e9efd..c28c564 100644..100755
--- a/cdistvm
+++ b/cdistvm
@@ -1,9 +1,23 @@
#!/usr/bin/python
import argparse
+import subprocess
+import shlex
+import time
+import os
+import tempfile
+import shutil
+
+class Error(Exception):
+ def __init__(self, value):
+ self.value = value
+ def __str__(self):
+ return self.value
+ def __repr__(self):
+ return str(self)
parser = argparse.ArgumentParser()
-parser.add_argument('command', help=summary)
+parser.add_argument('command')
parser.add_argument('-p', '--project', help='project name')
parser.add_argument('--minor', help='minor version number bump', action='store_true')
parser.add_argument('--micro', help='micro version number bump', action='store_true')
@@ -18,7 +32,7 @@ parser.add_argument('-w', '--work', help='override default work directory')
parser.add_argument('-g', '--git-prefix', help='override configured git prefix')
args = parser.parse_args()
-cdist_cmd = 'cdist %s -t host ' % command
+cdist_cmd = 'cdist %s -t host ' % args.command
if args.project is not None:
cdist_cmd += '-p %s ' % args.project
if args.minor is True:
@@ -53,17 +67,20 @@ ports = { 'fedora-22-32': 2000,
'fedora-23-64': 2003,
'arch-64': 2004 }
-vbox = subprocess.Popen(shlex.split('nohup vboxheadless --startvm %s &' % args.target), shell=True)
+vbox = subprocess.Popen('vboxheadless --startvm %s' % args.target, shell=True)
time.sleep(10)
command('ssh -p %d carl@localhost "rm -rf fedora-* arch-*"' % ports[args.target])
-command('ssh -p %d carl@localhost %se' % (ports[args.target], cdist_cmd))
+command('ssh -p %d carl@localhost %s' % (ports[args.target], cdist_cmd))
if args.output is not None:
tmp = tempfile.mkdtemp()
- command('scp -P %d carl@localhost:%s/* %s/' % (ports[target], target, tmp)
+ command('scp -P %d carl@localhost:%s/* %s/' % (ports[args.target], args.target, tmp))
command('scp %s/*.rpm %s/' % (tmp, args.output))
shutil.rmtree(tmp)
-command('ssh -p $port carl@localhost "sudo /sbin/poweroff"')
+try:
+ command('ssh -p %d carl@localhost "sudo /sbin/poweroff"' % ports[args.target])
+except Error:
+ pass
print("wait for vm to terminate...")
vbox.wait()