def __init__(self): self.setuptestcase() self.setup_parser() self.parser.add_argument("-b", "--buckets", type=int, default=5) self.parser.add_argument("-o", "--objects", type=int, default=5) self.parser.add_argument("-T", "--threads", type=int, default=5) self.parser.add_argument("-S", "--object-size", type=int, default=64, help="Object size in KB") self.parser.add_argument("-M", "--mpu-threshold", type=int, default=5120, help="Multipart upload is used when the object size is bigger than the mpu-threshold " "value in Kilobyte. Any value less than 5120KB will result single file upload. " "Default value is used when not passed as an argument.") self.get_args() # Setup basic eutester object if self.args.region: self.tester = S3ops( credpath=self.args.credpath, region=self.args.region) else: self.tester = Eucaops(credpath=self.args.credpath, config_file=self.args.config,password=self.args.password) self.start = time.time() self.bucket_names = [] self.bucket_name = "concurrency-" + str(int(self.start)) + "-" for i in xrange(self.args.buckets): bucket_name = self.bucket_name + str(i) self.bucket_names.append(bucket_name) self.tester.create_bucket(bucket_name) self.temp_files = []
def __init__(self): self.setuptestcase() self.setup_parser() self.parser.add_argument("--endpoint", default=None) self.get_args() # Setup basic eutester object if self.args.endpoint: self.tester = S3ops(credpath=self.args.credpath, endpoint=self.args.endpoint) else: self.tester = Eucaops(credpath=self.args.credpath, config_file=self.args.config, password=self.args.password) self.bucket_prefix = "eutester-" + str(int(time.time())) + "-" self.buckets_used = set() random.seed(time.time()) self.test_bucket_name = self.bucket_prefix + str(random.randint( 0, 100)) self.test_bucket = self.tester.create_bucket(self.test_bucket_name) self.buckets_used.add(self.test_bucket_name) #Create some test data for the objects def ensure_bucket_exists(): try: self.tester.s3.get_bucket(self.test_bucket_name) return True except Exception: return False self.tester.wait_for_result(ensure_bucket_exists, True) self.test_object_data = "" for i in range(0, self.data_size): self.test_object_data += chr(random.randint(32, 126)) print "Generated data for objects: " + self.test_object_data
def __init__(self): self.setuptestcase() self.setup_parser() self.parser.add_argument("--endpoint", default=None) self.get_args() # Setup basic eutester object if self.args.endpoint: self.tester = S3ops(credpath=self.args.credpath, endpoint=self.args.endpoint) else: self.tester = Eucaops( credpath=self.args.credpath, config_file=self.args.config, password=self.args.password) self.bucket_prefix = "eutester-bucket-test-suite-" + str(int(time.time())) self.buckets_used = set()
def create_testuser_id_bucket(self, machine=None, user_dict=None): machine = machine or self.primary_machine user_dict = user_dict or self.user_dict cs_tester = S3ops(endpoint=machine.hostname, aws_access_key_id=user_dict["key_id"], aws_secret_access_key=user_dict["key_secret"], port=int(self.args.riak_cs_port)) test_time = str(int(time.time())) bucket_name = "riak-test-bucket-" + test_time key_name = "riak-test-key-" + test_time bucket = cs_tester.create_bucket(bucket_name) cs_tester.upload_object(bucket_name, key_name, contents=user_dict["id"]) key = cs_tester.get_objects_by_prefix(bucket_name, key_name).pop() key_contents = key.read() cs_tester.debug("Uploaded Key contents: " + key_contents + " Original:" + user_dict["id"]) assert key_contents == user_dict["id"]
def InstallRiakCS(self): """ This is where the test description goes """ for machine in self.tester.get_component_machines("riak"): machine.sys( "yum install -y http://yum.basho.com/gpg/basho-release-6-1.noarch.rpm" ) machine.sys("yum install -y riak stanchion riak-cs") machine.sys("ulimit -n 65536") for component in ['riak', 'stanchion', 'riak-cs']: for config_file in ["app.config", "vm.args"]: local_file = os.getcwd( ) + "/templates/" + config_file + "." + component remote_file = "/etc/" + component + "/" + config_file machine.sftp.put(local_file, remote_file) machine.sys("sed -i s/IPADDRESS/" + machine.hostname + "/g " + remote_file) machine.sys("service riak start", code=0) machine.sys("service stanchion start", code=0) machine.sys("service riak-cs start", code=0) response_json = machine.sys( 'curl -H \'Content-Type: application/json\' -X POST http://' + machine.hostname + ':8080/riak-cs/user --data \'{"email":"' + self.args.admin_email + '", ' '"name":"' + self.args.admin_name + '"}\'', code=0)[0] response_dict = json.loads(response_json) cs_tester = S3ops( endpoint=machine.hostname, aws_access_key_id=response_dict["key_id"], aws_secret_access_key=response_dict["key_secret"], port=8080) test_time = str(int(time.time())) bucket_name = "riak-test-bucket-" + test_time key_name = "riak-test-key-" + test_time bucket = cs_tester.create_bucket(bucket_name) cs_tester.upload_object(bucket_name, key_name, contents=response_dict["id"]) key = cs_tester.get_objects_by_prefix(bucket_name, key_name).pop() key_contents = key.read() cs_tester.debug("Uploaded Key contents: " + key_contents + " Original:" + response_dict["id"]) assert key_contents == response_dict["id"]
def __init__(self): self.setuptestcase() self.setup_parser() self.parser.add_argument("-n", "--number", type=int, default=100) self.parser.add_argument("-c", "--concurrent", type=int, default=10) self.parser.add_argument("-s", "--size", type=int, default=1024) self.get_args() # Setup basic eutester object if self.args.region: self.tester = S3ops(credpath=self.args.credpath, region=self.args.region) else: self.tester = Eucaops(credpath=self.args.credpath, config_file=self.args.config, password=self.args.password) self.start = time.time() self.bucket_name = "concurrency-" + str(int(self.start)) self.tester.create_bucket(self.bucket_name)
def __init__(self): self.setuptestcase() self.setup_parser() self.parser.add_argument("--s3endpoint", default=None) self.get_args() # Setup basic eutester object if self.args.s3endpoint: self.tester = S3ops( credpath=self.args.credpath, endpoint=self.args.endpoint) else: self.tester = Eucaops( credpath=self.args.credpath, config_file=self.args.config, password=self.args.password) self.bucket_prefix = "eutester-bucket-test-suite-" + str(int(time.time())) + "-" self.buckets_used = set() random.seed(time.time()) self.test_bucket_name = self.bucket_prefix + str(random.randint(0,100)) self.test_bucket = self.tester.create_bucket(self.test_bucket_name) self.buckets_used.add(self.test_bucket_name) #Create some test data for the objects self.test_object_data = "" for i in range(0, self.data_size): self.test_object_data += chr(random.randint(32,126)) print "Generated data for objects: " + self.test_object_data