def call(Map args = [:]) {
    assert args.host: 'host is mandatory'

    def numberOfUsers = args.numberOfUsers ?: '10'
    def spawnRate = args.spawnRate ?: '2'
    def runTime = args.runTime ?: '120s'
    def waitCompletion = !!args.waitCompletion
    def propagateFailure = !!args.propagateFailure

    build(job: 'core-load-tester',
            wait: waitCompletion,
            propagate: propagateFailure,
            parameters: [
                    string(name: 'TARGET_HOST', value: args.host),
                    string(name: 'NUM_USERS', value: numberOfUsers),
                    string(name: 'SPAWN_RATE', value: spawnRate),
                    string(name: 'RUN_TIME', value: runTime)
            ]
    )
}
