Esempio n. 1
0
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
Esempio n. 2
0
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
Esempio n. 3
0
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
Esempio n. 4
0
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
Esempio n. 5
0
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