Brian O'Connor

Updates to the release scripts

Change-Id: I4584bd5c66c22bb2ffe3d8f73923cff8807d5008
......@@ -18,6 +18,7 @@ cd $ONOS_ROOT
# Change the version
onos-change-version $NEW_VERSION
export ONOS_VERSION=$NEW_VERSION
# Build ONOS & deploy to staging repo using the release profile.
onos-build && onos-package && mvn -Prelease clean deploy -DskipTests
......
......@@ -2,9 +2,11 @@
# -----------------------------------------------------------------------------
# Uploads ONOS distributable bits.
# -----------------------------------------------------------------------------
[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
. $ONOS_ROOT/tools/build/envDefaults
# TODO: upload to EC2
#FIXME need to export s3Creds
#FIXME verify that ONOS_VERSION is set
# upload to EC2
upload-to-s3 -d release/ /tmp/onos-$ONOS_VERSION.*
......
#!/usr/bin/python
"""
Upload a file to S3
"""
from sys import argv, stdout
from time import time
from os.path import basename
from optparse import OptionParser
from boto.s3.key import Key
from boto.s3.connection import S3Connection
def uploadFile( bucket, filename, dest=None ):
"Upload a file to a bucket"
if not bucket:
bucket = 'onos'
if not dest:
key = basename( filename )
else:
key = dest + basename( filename ) #FIXME add the /
print '* Uploading', filename, 'to bucket', bucket, 'as', key
stdout.flush()
start = time()
def callback( transmitted, size ):
"Progress callback for set_contents_from_filename"
elapsed = time() - start
percent = 100.0 * transmitted / size
kbps = .001 * transmitted / elapsed
print ( '\r%d bytes transmitted of %d (%.2f%%),'
' %.2f KB/sec ' %
( transmitted, size, percent, kbps ) ),
stdout.flush()
conn = S3Connection()
bucket = conn.get_bucket( bucket )
k = Key( bucket )
k.key = key
k.set_contents_from_filename( filename, cb=callback, num_cb=100 )
print
elapsed = time() - start
print "* elapsed time: %.2f seconds" % elapsed
if __name__ == '__main__':
usage = "Usage: %prog [options] <file to upload>"
parser = OptionParser(usage=usage)
parser.add_option("-b", "--bucket", dest="bucket",
help="Bucket on S3")
parser.add_option("-d", "--dest", dest="dest",
help="Destination path in bucket")
parser.add_option("-k", "--key", dest="awsKey",
help="Bucket on S3")
parser.add_option("-s", "--secret", dest="awsSecret",
help="Bucket on S3")
(options, args) = parser.parse_args()
if len( args ) == 0:
parser.error("missing filenames")
for file in args:
uploadFile( options.bucket, file, options.dest )
#FIXME key and secret are unused