def createWorkload(workload): params = None workloadSpec = Workload.defaultSpec() if isinstance(workload, dict): params = workload['spec'].split(",") # parse ex args if 'bucket' in workload: workloadSpec['bucket'] = str(workload['bucket']) if 'template' in workload: workloadSpec['template'] = str(workload['template']) if 'conditions' in workload: for condition in workload['conditions'].split(','): stage, equality = condition.split(':') if stage == "pre": workloadSpec['preconditions'] = equality if stage == "post": workloadSpec['postconditions'] = equality else: # simple spec params = workload.split(",") for op in params: key,val = op.split(':') if key == 's': workloadSpec['create_perc'] = int(val) if key == 'b': workloadSpec['bucket'] = str(val) if key == 'pwd': workloadSpec['password'] = str(val) if key == 'g': workloadSpec['get_perc'] = int(val) if key == 'u': workloadSpec['update_perc'] = int(val) if key == 'd': workloadSpec['del_perc'] = int(val) if key == 'e': workloadSpec['exp_perc'] = int(val) if key == 'm': workloadSpec['miss_perc'] = int(val) if key == 'ttl': workloadSpec['ttl'] = int(val) if key == 'ccq': workloadSpec['cc_queues'] = [str(val)] if key == 'coq': workloadSpec['consume_queue'] = str(val) if key == 't': workloadSpec['template'] = str(val) if key == 'ops': workloadSpec['ops_per_sec'] = int(val) workloadRunnable = Workload(workloadSpec) return workloadRunnable
def getWorkloadStatus(workloadId): running = True workload = Workload.from_cache(workloadId) # stop running tasks that do not have conditions if workload is not None: if workload.postconditions is not None: # see if workload condition handler has stopped load if workload.active == False: logger.error("Postconditions met %s" % workload.postconditions) logger.error("Stopping workload %s" % workloadId) running = False else: logger.error("Stopping workload %s" % workloadId) workload.active = False running = False else: logger.error("Unable to fetch workload...cache down?") running = False return running
def createWorkload(workload): params = None workloadSpec = Workload.defaultSpec() if isinstance(workload, dict): params = workload["spec"].split(",") # parse ex args if "bucket" in workload: workloadSpec["bucket"] = str(workload["bucket"]) if "template" in workload: workloadSpec["template"] = str(workload["template"]) if "conditions" in workload: for condition in workload["conditions"].split(","): stage, equality = condition.split(":") if stage == "pre": workloadSpec["preconditions"] = equality if stage == "post": workloadSpec["postconditions"] = equality else: # simple spec params = workload.split(",") for op in params: key, val = op.split(":") if key == "s": workloadSpec["create_perc"] = int(val) if key == "b": workloadSpec["bucket"] = str(val) if key == "pwd": workloadSpec["password"] = str(val) if key == "g": workloadSpec["get_perc"] = int(val) if key == "u": workloadSpec["update_perc"] = int(val) if key == "d": workloadSpec["del_perc"] = int(val) if key == "e": workloadSpec["exp_perc"] = int(val) if key == "m": workloadSpec["miss_perc"] = int(val) if key == "ttl": workloadSpec["ttl"] = int(val) if key == "ccq": workloadSpec["cc_queues"] = [str(val)] if key == "coq": workloadSpec["consume_queue"] = str(val) if key == "t": workloadSpec["template"] = str(val) if key == "ops": workloadSpec["ops_per_sec"] = int(val) workloadRunnable = Workload(workloadSpec) return workloadRunnable
def createWorkload(workload): params = None workloadSpec = Workload.defaultSpec() if isinstance(workload, dict): params = workload['spec'].split(",") # parse ex args if 'bucket' in workload: workloadSpec['bucket'] = str(workload['bucket']) if 'template' in workload: workloadSpec['template'] = str(workload['template']) if 'conditions' in workload: if isinstance(workload['conditions'], dict): if "post" in workload['conditions']: workloadSpec['postconditions'] = workload['conditions']['post'] else: for condition in workload['conditions'].split(','): stage, equality = condition.split(':') if stage == "pre": workloadSpec['preconditions'] = equality if stage == "post": workloadSpec['postconditions'] = equality else: # simple spec params = workload.split(",") for op in params: key,val = op.split(':') if key == 's': workloadSpec['create_perc'] = int(val) if key == 'b': workloadSpec['bucket'] = str(val) if key == 'pwd': workloadSpec['password'] = str(val) if key == 'g': workloadSpec['get_perc'] = int(val) if key == 'u': workloadSpec['update_perc'] = int(val) if key == 'd': workloadSpec['del_perc'] = int(val) if key == 'e': workloadSpec['exp_perc'] = int(val) if key == 'm': workloadSpec['miss_perc'] = int(val) if key == 'ttl': workloadSpec['ttl'] = int(val) if key == 'ccq': workloadSpec['cc_queues'] = [str(val)] if key == 'coq': workloadSpec['consume_queue'] = str(val) if key == 't': workloadSpec['template'] = str(val) if key == 'ops': workloadSpec['ops_per_sec'] = int(val) workloadRunnable = Workload(workloadSpec) return workloadRunnable