def multipartObjectUpload(): result = 0 obj = dsslib.getConnection(CALLER) dsslib.whisper("Making bucket and listing...") obj.create_bucket('rjilshivanshuautoq') dsslib.whisper(str(obj.get_all_buckets())) source_path = '/boot/initrd.img-3.16.0-30-generic' source_size = os.stat(source_path).st_size chunk_size = 5242880 ## 5 mb #chunk_size = 1048576 ## 1 mb #chunk_size = 2100000 chunk_count = int(math.ceil(source_size / float(chunk_size))) b1 = obj.get_bucket('rjilshivanshuautoq') dsslib.whisper("Got bucket: " + str(b1)) try: mp = b1.initiate_multipart_upload(os.path.basename(source_path)) for i in range(chunk_count): dsslib.whisper("Uploading chunk: " + str(i)) offset = chunk_size * i bytes = min(chunk_size, source_size - offset) with FileChunkIO(source_path, 'r', offset=offset, bytes=bytes) as fp: mp.upload_part_from_file(fp, part_num=i + 1) mp.complete_upload() except: print "Unexpected error: ", sys.exc_info() result = -1 dsslib.cleanupUser(obj, 'rjilshiv') return result
def bucketMaxNumber(): obj = dsslib.getConnection(dsslib.USER_keystone995) #dsslib.createMaxBuckets(dsslib.USER_keystone1, 1000, 'rjilshivanshubucket') dsslib.createMaxBuckets(dsslib.USER_keystone800, 1000, 'rjil800bucket') #dsslib.createMaxBuckets(dsslib.USER_keystone801, 1000, 'rjil801bucket') #dsslib.createMaxBuckets(dsslib.USER_keystone802, 1000, 'rjil802bucket') #dsslib.createMaxBuckets(dsslib.USER_keystone803, 1000, 'rjil803bucket') ## Make 1001 bucket try: obj.create_bucket('brandnewshinybucket') print "Bucket created unexpectedly!!" print "1001th bucket" return -1 except: dsslib.whisper("\nExpected failure: " + str(sys.exc_info()) + "\n") ## Delete one bucket and try again try: dsslib.whisper("Deleting a bucket") obj.delete_bucket('rjilshivanshubucket100') dsslib.whisper("Creating one more bucket") obj.create_bucket('rjilshivanshubucket100') except: print "Unexpected failure. Cannot create bucket after deleting one: " + str( sys.exc_info()) return -1 return 0
def bucketMaxNumber(): obj = dsslib.getConnection(dsslib.USER_keystone995) #dsslib.createMaxBuckets(dsslib.USER_keystone1, 1000, 'rjilshivanshubucket') dsslib.createMaxBuckets(dsslib.USER_keystone800, 1000, 'rjil800bucket') #dsslib.createMaxBuckets(dsslib.USER_keystone801, 1000, 'rjil801bucket') #dsslib.createMaxBuckets(dsslib.USER_keystone802, 1000, 'rjil802bucket') #dsslib.createMaxBuckets(dsslib.USER_keystone803, 1000, 'rjil803bucket') ## Make 1001 bucket try: obj.create_bucket('brandnewshinybucket') print "Bucket created unexpectedly!!" print "1001th bucket" return -1 except: dsslib.whisper("\nExpected failure: " + str(sys.exc_info()) + "\n") ## Delete one bucket and try again try: dsslib.whisper("Deleting a bucket") obj.delete_bucket('rjilshivanshubucket100') dsslib.whisper("Creating one more bucket") obj.create_bucket('rjilshivanshubucket100') except: print "Unexpected failure. Cannot create bucket after deleting one: " + str(sys.exc_info()) return -1 return 0