Brian O'Connor

Updates to the release scripts

Change-Id: I4584bd5c66c22bb2ffe3d8f73923cff8807d5008
...@@ -18,6 +18,7 @@ cd $ONOS_ROOT ...@@ -18,6 +18,7 @@ cd $ONOS_ROOT
18 18
19 # Change the version 19 # Change the version
20 onos-change-version $NEW_VERSION 20 onos-change-version $NEW_VERSION
21 +export ONOS_VERSION=$NEW_VERSION
21 22
22 # Build ONOS & deploy to staging repo using the release profile. 23 # Build ONOS & deploy to staging repo using the release profile.
23 onos-build && onos-package && mvn -Prelease clean deploy -DskipTests 24 onos-build && onos-package && mvn -Prelease clean deploy -DskipTests
......
...@@ -2,9 +2,11 @@ ...@@ -2,9 +2,11 @@
2 # ----------------------------------------------------------------------------- 2 # -----------------------------------------------------------------------------
3 # Uploads ONOS distributable bits. 3 # Uploads ONOS distributable bits.
4 # ----------------------------------------------------------------------------- 4 # -----------------------------------------------------------------------------
5 -
6 [ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1 5 [ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
7 . $ONOS_ROOT/tools/build/envDefaults 6 . $ONOS_ROOT/tools/build/envDefaults
8 7
9 -# TODO: upload to EC2 8 +#FIXME need to export s3Creds
9 +#FIXME verify that ONOS_VERSION is set
10 10
11 +# upload to EC2
12 +upload-to-s3 -d release/ /tmp/onos-$ONOS_VERSION.*
......
1 +#!/usr/bin/python
2 +
3 +"""
4 +Upload a file to S3
5 +"""
6 +
7 +from sys import argv, stdout
8 +from time import time
9 +from os.path import basename
10 +from optparse import OptionParser
11 +
12 +from boto.s3.key import Key
13 +from boto.s3.connection import S3Connection
14 +
15 +
16 +def uploadFile( bucket, filename, dest=None ):
17 + "Upload a file to a bucket"
18 + if not bucket:
19 + bucket = 'onos'
20 + if not dest:
21 + key = basename( filename )
22 + else:
23 + key = dest + basename( filename ) #FIXME add the /
24 + print '* Uploading', filename, 'to bucket', bucket, 'as', key
25 + stdout.flush()
26 + start = time()
27 + def callback( transmitted, size ):
28 + "Progress callback for set_contents_from_filename"
29 + elapsed = time() - start
30 + percent = 100.0 * transmitted / size
31 + kbps = .001 * transmitted / elapsed
32 + print ( '\r%d bytes transmitted of %d (%.2f%%),'
33 + ' %.2f KB/sec ' %
34 + ( transmitted, size, percent, kbps ) ),
35 + stdout.flush()
36 + conn = S3Connection()
37 + bucket = conn.get_bucket( bucket )
38 + k = Key( bucket )
39 + k.key = key
40 + k.set_contents_from_filename( filename, cb=callback, num_cb=100 )
41 + print
42 + elapsed = time() - start
43 + print "* elapsed time: %.2f seconds" % elapsed
44 +
45 +if __name__ == '__main__':
46 + usage = "Usage: %prog [options] <file to upload>"
47 + parser = OptionParser(usage=usage)
48 + parser.add_option("-b", "--bucket", dest="bucket",
49 + help="Bucket on S3")
50 + parser.add_option("-d", "--dest", dest="dest",
51 + help="Destination path in bucket")
52 + parser.add_option("-k", "--key", dest="awsKey",
53 + help="Bucket on S3")
54 + parser.add_option("-s", "--secret", dest="awsSecret",
55 + help="Bucket on S3")
56 + (options, args) = parser.parse_args()
57 +
58 + if len( args ) == 0:
59 + parser.error("missing filenames")
60 + for file in args:
61 + uploadFile( options.bucket, file, options.dest )
62 +
63 + #FIXME key and secret are unused