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 = []
Exemple #2
0
    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
Exemple #3
0
    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()
Exemple #4
0
 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"]
Exemple #5
0
 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"]
Exemple #6
0
 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)
Exemple #7
0
 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