2020-06-24 10:52:23 +00:00
|
|
|
name = "lotus-soup"
|
2020-09-16 15:30:03 +00:00
|
|
|
extra_sources = { "exec:go" = ["../extra/filecoin-ffi", "../extra/fil-blst"] }
|
2020-06-24 10:52:23 +00:00
|
|
|
|
|
|
|
[defaults]
|
|
|
|
builder = "docker:go"
|
|
|
|
runner = "local:docker"
|
|
|
|
|
2020-07-06 14:47:17 +00:00
|
|
|
[builders."exec:go"]
|
|
|
|
enabled = true
|
|
|
|
|
2020-06-24 10:52:23 +00:00
|
|
|
[builders."docker:go"]
|
|
|
|
enabled = true
|
2020-09-17 16:22:09 +00:00
|
|
|
build_base_image = "iptestground/oni-buildbase:v8"
|
2020-09-16 10:51:23 +00:00
|
|
|
runtime_image = "iptestground/oni-runtime:v4-debug"
|
2020-06-24 10:52:23 +00:00
|
|
|
|
2020-07-06 14:47:17 +00:00
|
|
|
[runners."local:exec"]
|
|
|
|
enabled = true
|
|
|
|
|
2020-06-24 10:52:23 +00:00
|
|
|
[runners."local:docker"]
|
|
|
|
enabled = true
|
|
|
|
|
|
|
|
[runners."cluster:k8s"]
|
|
|
|
enabled = true
|
|
|
|
|
2020-07-07 12:58:09 +00:00
|
|
|
######################
|
|
|
|
##
|
|
|
|
## Testcases
|
|
|
|
##
|
|
|
|
######################
|
|
|
|
|
2020-06-24 10:52:23 +00:00
|
|
|
[[testcases]]
|
2020-07-01 16:29:09 +00:00
|
|
|
name = "deals-e2e"
|
2020-06-24 10:52:23 +00:00
|
|
|
instances = { min = 1, max = 100, default = 5 }
|
|
|
|
|
|
|
|
[testcases.params]
|
2020-07-01 16:29:09 +00:00
|
|
|
clients = { type = "int", default = 1 }
|
|
|
|
miners = { type = "int", default = 1 }
|
2020-07-07 21:10:06 +00:00
|
|
|
balance = { type = "float", default = 1 }
|
2020-07-01 16:29:09 +00:00
|
|
|
sectors = { type = "int", default = 1 }
|
|
|
|
role = { type = "string" }
|
2020-06-24 17:39:06 +00:00
|
|
|
|
2020-06-26 13:24:01 +00:00
|
|
|
genesis_timestamp_offset = { type = "int", default = 0 }
|
|
|
|
|
2020-06-25 14:55:44 +00:00
|
|
|
random_beacon_type = { type = "enum", default = "mock", options = ["mock", "local-drand", "external-drand"] }
|
2020-06-24 17:39:06 +00:00
|
|
|
|
2020-06-25 14:55:44 +00:00
|
|
|
# Params relevant to drand nodes. drand nodes should have role="drand", and must all be
|
|
|
|
# in the same composition group. There must be at least threshold drand nodes.
|
|
|
|
# To get lotus nodes to actually use the drand nodes, you must set random_beacon_type="local-drand"
|
|
|
|
# for the lotus node groups.
|
2020-06-24 17:39:06 +00:00
|
|
|
drand_period = { type = "duration", default="10s" }
|
|
|
|
drand_threshold = { type = "int", default = 2 }
|
2020-06-25 14:55:44 +00:00
|
|
|
drand_gossip_relay = { type = "bool", default = true }
|
2020-06-26 15:00:36 +00:00
|
|
|
drand_log_level = { type = "string", default="info" }
|
2020-06-26 11:12:22 +00:00
|
|
|
|
|
|
|
# Params relevant to pubsub tracing
|
|
|
|
enable_pubsub_tracer = { type = "bool", default = false }
|
2020-07-02 12:13:39 +00:00
|
|
|
mining_mode = { type = "enum", default = "synchronized", options = ["synchronized", "natural"] }
|
2020-06-29 16:32:43 +00:00
|
|
|
|
2020-07-27 11:57:01 +00:00
|
|
|
# Fast retrieval
|
|
|
|
fast_retrieval = { type = "bool", default = false }
|
|
|
|
|
2020-07-07 12:58:09 +00:00
|
|
|
|
2020-06-26 14:07:35 +00:00
|
|
|
[[testcases]]
|
|
|
|
name = "drand-halting"
|
|
|
|
instances = { min = 1, max = 100, default = 5 }
|
|
|
|
|
|
|
|
[testcases.params]
|
|
|
|
clients = { type = "int", default = 1 }
|
|
|
|
miners = { type = "int", default = 1 }
|
2020-07-07 21:10:06 +00:00
|
|
|
balance = { type = "float", default = 1 }
|
2020-06-26 14:07:35 +00:00
|
|
|
sectors = { type = "int", default = 1 }
|
|
|
|
role = { type = "string" }
|
2020-06-30 14:22:23 +00:00
|
|
|
genesis_timestamp_offset = { type = "int", default = 0 }
|
|
|
|
|
2020-06-26 14:07:35 +00:00
|
|
|
|
|
|
|
random_beacon_type = { type = "enum", default = "local-drand", options = ["mock", "local-drand", "external-drand"] }
|
|
|
|
|
|
|
|
# Params relevant to drand nodes. drand nodes should have role="drand", and must all be
|
|
|
|
# in the same composition group. There must be at least threshold drand nodes.
|
|
|
|
# To get lotus nodes to actually use the drand nodes, you must set random_beacon_type="local-drand"
|
|
|
|
# for the lotus node groups.
|
|
|
|
drand_period = { type = "duration", default="10s" }
|
|
|
|
drand_threshold = { type = "int", default = 2 }
|
|
|
|
drand_gossip_relay = { type = "bool", default = true }
|
2020-06-25 21:21:49 +00:00
|
|
|
drand_log_level = { type = "string", default="info" }
|
2020-06-30 14:17:31 +00:00
|
|
|
suspend_events = { type = "string", default="", desc = "a sequence of halt/resume/wait events separated by '->'" }
|
2020-06-26 14:23:17 +00:00
|
|
|
|
2020-06-26 11:12:22 +00:00
|
|
|
# Params relevant to pubsub tracing
|
2020-06-26 14:23:17 +00:00
|
|
|
enable_pubsub_tracer = { type = "bool", default = false } # Mining Mode: synchronized -vs- natural time
|
2020-06-29 16:32:43 +00:00
|
|
|
mining_mode = { type = "enum", default = "synchronized", options = ["synchronized", "natural"] }
|
2020-06-30 11:07:00 +00:00
|
|
|
|
2020-07-07 12:58:09 +00:00
|
|
|
|
2020-09-16 10:51:23 +00:00
|
|
|
[[testcases]]
|
|
|
|
name = "drand-outage"
|
|
|
|
instances = { min = 1, max = 100, default = 5 }
|
|
|
|
|
|
|
|
[testcases.params]
|
|
|
|
clients = { type = "int", default = 0 }
|
|
|
|
miners = { type = "int", default = 3 }
|
|
|
|
balance = { type = "float", default = 1 }
|
|
|
|
sectors = { type = "int", default = 1 }
|
|
|
|
role = { type = "string" }
|
|
|
|
genesis_timestamp_offset = { type = "int", default = 0 }
|
|
|
|
|
|
|
|
|
|
|
|
random_beacon_type = { type = "enum", default = "local-drand", options = ["mock", "local-drand", "external-drand"] }
|
|
|
|
|
|
|
|
# Params relevant to drand nodes. drand nodes should have role="drand", and must all be
|
|
|
|
# in the same composition group. There must be at least threshold drand nodes.
|
|
|
|
# To get lotus nodes to actually use the drand nodes, you must set random_beacon_type="local-drand"
|
|
|
|
# for the lotus node groups.
|
|
|
|
drand_period = { type = "duration", default="30s" }
|
|
|
|
drand_catchup_period = { type = "duration", default="10s" }
|
|
|
|
drand_threshold = { type = "int", default = 2 }
|
|
|
|
drand_gossip_relay = { type = "bool", default = true }
|
|
|
|
drand_log_level = { type = "string", default="info" }
|
|
|
|
suspend_events = { type = "string", default="", desc = "a sequence of halt/resume/wait events separated by '->'" }
|
|
|
|
|
|
|
|
# Params relevant to pubsub tracing
|
|
|
|
enable_pubsub_tracer = { type = "bool", default = false } # Mining Mode: synchronized -vs- natural time
|
|
|
|
mining_mode = { type = "enum", default = "synchronized", options = ["synchronized", "natural"] }
|
|
|
|
|
|
|
|
|
2020-06-30 11:07:00 +00:00
|
|
|
[[testcases]]
|
2020-07-10 11:48:52 +00:00
|
|
|
name = "deals-stress"
|
2020-06-30 11:07:00 +00:00
|
|
|
instances = { min = 1, max = 100, default = 5 }
|
|
|
|
|
|
|
|
[testcases.params]
|
|
|
|
clients = { type = "int", default = 1 }
|
|
|
|
miners = { type = "int", default = 1 }
|
2020-07-07 21:10:06 +00:00
|
|
|
balance = { type = "float", default = 1 }
|
2020-06-30 11:07:00 +00:00
|
|
|
sectors = { type = "int", default = 1 }
|
|
|
|
role = { type = "string" }
|
|
|
|
|
|
|
|
genesis_timestamp_offset = { type = "int", default = 0 }
|
|
|
|
|
|
|
|
random_beacon_type = { type = "enum", default = "mock", options = ["mock", "local-drand", "external-drand"] }
|
|
|
|
|
|
|
|
# Params relevant to drand nodes. drand nodes should have role="drand", and must all be
|
|
|
|
# in the same composition group. There must be at least threshold drand nodes.
|
|
|
|
# To get lotus nodes to actually use the drand nodes, you must set random_beacon_type="local-drand"
|
|
|
|
# for the lotus node groups.
|
|
|
|
drand_period = { type = "duration", default="10s" }
|
|
|
|
drand_threshold = { type = "int", default = 2 }
|
|
|
|
drand_gossip_relay = { type = "bool", default = true }
|
|
|
|
|
|
|
|
# Params relevant to pubsub tracing
|
|
|
|
enable_pubsub_tracer = { type = "bool", default = false }
|
|
|
|
|
|
|
|
# Mining Mode: synchronized -vs- natural time
|
|
|
|
mining_mode = { type = "enum", default = "synchronized", options = ["synchronized", "natural"] }
|
|
|
|
|
|
|
|
deals = { type = "int", default = 1 }
|
|
|
|
deal_mode = { type = "enum", default = "serial", options = ["serial", "concurrent"] }
|
2020-07-07 12:58:09 +00:00
|
|
|
|
|
|
|
|
|
|
|
[[testcases]]
|
|
|
|
name = "paych-stress"
|
|
|
|
instances = { min = 1, max = 100, default = 5 }
|
|
|
|
|
|
|
|
[testcases.params]
|
|
|
|
clients = { type = "int", default = 1 }
|
|
|
|
miners = { type = "int", default = 1 }
|
2020-07-07 21:10:06 +00:00
|
|
|
balance = { type = "float", default = 1 }
|
2020-07-07 12:58:09 +00:00
|
|
|
sectors = { type = "int", default = 1 }
|
|
|
|
role = { type = "string" }
|
|
|
|
genesis_timestamp_offset = { type = "int", default = 0 }
|
|
|
|
|
|
|
|
random_beacon_type = { type = "enum", default = "local-drand", options = ["mock", "local-drand", "external-drand"] }
|
|
|
|
|
|
|
|
# Params relevant to drand nodes. drand nodes should have role="drand", and must all be
|
|
|
|
# in the same composition group. There must be at least threshold drand nodes.
|
|
|
|
# To get lotus nodes to actually use the drand nodes, you must set random_beacon_type="local-drand"
|
|
|
|
# for the lotus node groups.
|
|
|
|
drand_period = { type = "duration", default="10s" }
|
|
|
|
drand_threshold = { type = "int", default = 2 }
|
|
|
|
drand_gossip_relay = { type = "bool", default = true }
|
|
|
|
drand_log_level = { type = "string", default="info" }
|
|
|
|
suspend_events = { type = "string", default="", desc = "a sequence of halt/resume/wait events separated by '->'" }
|
|
|
|
|
|
|
|
# Params relevant to pubsub tracing
|
|
|
|
enable_pubsub_tracer = { type = "bool", default = false } # Mining Mode: synchronized -vs- natural time
|
|
|
|
mining_mode = { type = "enum", default = "synchronized", options = ["synchronized", "natural"] }
|
|
|
|
|
|
|
|
# ********** Test-case specific **********
|
|
|
|
increments = { type = "int", default = "100", desc = "increments in which to send payment vouchers" }
|
2020-07-10 11:48:52 +00:00
|
|
|
lane_count = { type = "int", default = "256", desc = "lanes to open; vouchers will be distributed across these lanes in round-robin fashion" }
|
2020-07-27 11:57:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
[[testcases]]
|
|
|
|
name = "recovery-failed-windowed-post"
|
|
|
|
instances = { min = 1, max = 100, default = 5 }
|
|
|
|
|
|
|
|
[testcases.params]
|
|
|
|
clients = { type = "int", default = 1 }
|
|
|
|
miners = { type = "int", default = 1 }
|
|
|
|
balance = { type = "int", default = 1 }
|
|
|
|
sectors = { type = "int", default = 1 }
|
|
|
|
role = { type = "string" }
|
|
|
|
|
|
|
|
genesis_timestamp_offset = { type = "int", default = 0 }
|
|
|
|
|
|
|
|
random_beacon_type = { type = "enum", default = "mock", options = ["mock", "local-drand", "external-drand"] }
|
|
|
|
|
|
|
|
# Params relevant to drand nodes. drand nodes should have role="drand", and must all be
|
|
|
|
# in the same composition group. There must be at least threshold drand nodes.
|
|
|
|
# To get lotus nodes to actually use the drand nodes, you must set random_beacon_type="local-drand"
|
|
|
|
# for the lotus node groups.
|
|
|
|
drand_period = { type = "duration", default="10s" }
|
|
|
|
drand_threshold = { type = "int", default = 2 }
|
|
|
|
drand_gossip_relay = { type = "bool", default = true }
|
|
|
|
drand_log_level = { type = "string", default="info" }
|
|
|
|
|
|
|
|
# Params relevant to pubsub tracing
|
|
|
|
enable_pubsub_tracer = { type = "bool", default = false }
|
|
|
|
mining_mode = { type = "enum", default = "synchronized", options = ["synchronized", "natural"] }
|