libp2p-test-plans/dht/manifest.toml

173 lines
11 KiB
TOML

name = "dht"
[defaults]
builder = "exec:go"
runner = "local:exec"
[builders."docker:go"]
enabled = true
go_version = "1.13"
module_path = "github.com/libp2p/test-plans/dht"
exec_pkg = "."
# TODO: exec:go is not ready yet
[builders."exec:go"]
enabled = true
module_path = "github.com/libp2p/test-plans/dht"
exec_pkg = "."
[runners."local:docker"]
enabled = true
[runners."local:exec"]
enabled = true
[runners."cluster:swarm"]
enabled = true
[runners."cluster:k8s"]
enabled = true
[[testcases]]
name = "find-peers"
instances = { min = 16, max = 10000, default = 16 }
[testcases.params]
timeout_secs = { type = "int", desc = "test timeout", unit = "seconds", default = 300 }
latency = { type = "int", desc = "latency between peers", unit = "ms", default = 100 }
auto_refresh = { type = "bool", desc = "enable DHT routing table autorefresh", unit = "bool", default = true }
random_walk = { type = "bool", desc = "run 5 random walks before the test", unit = "bool", default = false }
bucket_size = { type = "int", desc = "routing table bucket size", unit = "peers", default = 2 }
alpha = { type = "int", desc = "dht concurrency parameter", unit = "int", default = 3 }
beta = { type = "int", desc = "dht resiliency parameter", unit = "int", default = 3 }
client_mode = { type = "bool", desc = "all undialable nodes are clients", unit = "bool", default = "false" }
datastore = { type = "int", desc = "datastore type", unit = "int", default = 0 }
peer_id_seed = { type = "int", desc = "seed used to generate all peer IDs - must be smaller than MaxInt-instances", default = 0 }
bootstrapper = { type = "bool", desc = "node is a bootstrapper", unit = "bool", default = false}
bs_strategy = { type = "int", desc = "the identifier for the nodes bootstrap strategy", unit = "int", default = 0}
undialable = { type = "bool", desc = "node is undialable", unit = "bool", default = false}
group_order = { type = "int", desc = "the order in which the node is bootstrapped, may be tied with another node", unit ="int", default = 0}
expect_dht = { type = "bool", desc = "the node expects to be a dht server", unit ="bool", default = true}
n_find_peers = { type = "int", desc = "number of peers to find", unit = "peers", default = 1 }
[[testcases]]
name = "find-providers"
instances = { min = 16, max = 10000, default = 16 }
[testcases.params]
timeout_secs = { type = "int", desc = "test timeout", unit = "seconds", default = 300 }
latency = { type = "int", desc = "latency between peers", unit = "ms", default = 100 }
auto_refresh = { type = "bool", desc = "enable DHT routing table autorefresh", unit = "bool", default = true }
random_walk = { type = "bool", desc = "run 5 random walks before the test", unit = "bool", default = false }
bucket_size = { type = "int", desc = "routing table bucket size", unit = "peers", default = 2 }
alpha = { type = "int", desc = "dht concurrency parameter", unit = "int", default = 3 }
beta = { type = "int", desc = "dht resiliency parameter", unit = "int", default = 3 }
client_mode = { type = "bool", desc = "all undialable nodes are clients", unit = "bool", default = "false" }
datastore = { type = "int", desc = "datastore type", unit = "int", default = 0 }
peer_id_seed = { type = "int", desc = "seed used to generate all peer IDs - must be smaller than MaxInt-instances", default = 0 }
bootstrapper = { type = "bool", desc = "node is a bootstrapper", unit = "bool", default = false}
bs_strategy = { type = "int", desc = "the identifier for the nodes bootstrap strategy", unit = "int", default = 0}
undialable = { type = "bool", desc = "node is undialable", unit = "bool", default = false}
group_order = { type = "int", desc = "the order in which the node is bootstrapped, may be tied with another node", unit ="int", default = 0}
expect_dht = { type = "bool", desc = "the node expects to be a dht server", unit ="bool", default = true}
record_seed = { type = "int", desc = "the seed used to generate records", unit = "int", default = 0 }
record_count = { type = "int", desc = "number of records a peer provides", unit = "int", default = 0 }
search_records = { type = "bool", desc = "node will search for records", unit = "bool", default = false }
#p_providing = { type = "int", desc = "", unit = "% of nodes" }
#p_resolving = { type = "int", desc = "", unit = "% of nodes" }
#p_failing = { type = "int", desc = "", unit = "% of nodes" }
[[testcases]]
name = "provide-stress"
instances = { min = 16, max = 250, default = 16 }
[testcases.params]
bucket_size = { type = "int", desc = "bucket size", unit = "peers" }
auto_refresh = { type = "bool", desc = "", unit = "bool" }
random_walk = { type = "bool", desc = "", unit = "bool" }
n_bootstrap = { type = "int", desc = "number of bootstrap nodes", unit = "int", default = 1 }
n_provides = { type = "int", desc = "number of times to provide", unit = "int" }
i_provides = { type = "int", desc = "interval between each provide", unit = "seconds" }
[[testcases]]
name = "store-get-value"
instances = { min = 16, max = 250, default = 16 }
roles = ["storer", "fetcher"]
[testcases.params]
bucket_size = { type = "int", desc = "bucket size", unit = "peers" }
[[testcases]]
name = "get-closest-peers"
instances = { min = 16, max = 10000, default = 16 }
[testcases.params]
timeout_secs = { type = "int", desc = "test timeout", unit = "seconds", default = 300 }
latency = { type = "int", desc = "latency between peers", unit = "ms", default = 100 }
auto_refresh = { type = "bool", desc = "enable DHT routing table autorefresh", unit = "bool", default = true }
random_walk = { type = "bool", desc = "run 5 random walks before the test", unit = "bool", default = false }
bucket_size = { type = "int", desc = "routing table bucket size", unit = "peers", default = 2 }
alpha = { type = "int", desc = "dht concurrency parameter", unit = "int", default = 3 }
beta = { type = "int", desc = "dht resiliency parameter", unit = "int", default = 3 }
client_mode = { type = "bool", desc = "all undialable nodes are clients", unit = "bool", default = "false" }
datastore = { type = "int", desc = "datastore type", unit = "int", default = 0 }
peer_id_seed = { type = "int", desc = "seed used to generate all peer IDs - must be smaller than MaxInt-instances", default = 0 }
bootstrapper = { type = "bool", desc = "node is a bootstrapper", unit = "bool", default = false}
bs_strategy = { type = "int", desc = "the identifier for the nodes bootstrap strategy", unit = "int", default = 0}
undialable = { type = "bool", desc = "node is undialable", unit = "bool", default = false}
group_order = { type = "int", desc = "the order in which the node is bootstrapped, may be tied with another node", unit ="int", default = 0}
expect_dht = { type = "bool", desc = "the node expects to be a dht server", unit ="bool", default = true}
record_seed = { type = "int", desc = "the seed used to generate records", unit = "int", default = 0 }
record_count = { type = "int", desc = "number of records a peer provides", unit = "int", default = 0 }
search_records = { type = "bool", desc = "node will search for records", unit = "bool", default = false }
[[testcases]]
name = "bootstrap-network"
instances = { min = 16, max = 10000, default = 16 }
[testcases.params]
timeout_secs = { type = "int", desc = "test timeout", unit = "seconds", default = 300 }
latency = { type = "int", desc = "latency between peers", unit = "ms", default = 100 }
auto_refresh = { type = "bool", desc = "enable DHT routing table autorefresh", unit = "bool", default = true }
random_walk = { type = "bool", desc = "run 5 random walks before the test", unit = "bool", default = false }
bucket_size = { type = "int", desc = "routing table bucket size", unit = "peers", default = 2 }
alpha = { type = "int", desc = "dht concurrency parameter", unit = "int", default = 3 }
beta = { type = "int", desc = "dht resiliency parameter", unit = "int", default = 3 }
client_mode = { type = "bool", desc = "all undialable nodes are clients", unit = "bool", default = "false" }
datastore = { type = "int", desc = "datastore type", unit = "int", default = 0 }
peer_id_seed = { type = "int", desc = "seed used to generate all peer IDs - must be smaller than MaxInt-instances", default = 0 }
bootstrapper = { type = "bool", desc = "node is a bootstrapper", unit = "bool", default = false}
bs_strategy = { type = "int", desc = "the identifier for the nodes bootstrap strategy", unit = "int", default = 0}
undialable = { type = "bool", desc = "node is undialable", unit = "bool", default = false}
group_order = { type = "int", desc = "the order in which the node is bootstrapped, may be tied with another node", unit ="int", default = 0}
expect_dht = { type = "bool", desc = "the node expects to be a dht server", unit ="bool", default = true}
[[testcases]]
name = "all"
instances = { min = 16, max = 10000, default = 16 }
[testcases.params]
timeout_secs = { type = "int", desc = "test timeout", unit = "seconds", default = 300 }
latency = { type = "int", desc = "latency between peers", unit = "ms", default = 100 }
auto_refresh = { type = "bool", desc = "enable DHT routing table autorefresh", unit = "bool", default = true }
random_walk = { type = "bool", desc = "run 5 random walks before the test", unit = "bool", default = false }
bucket_size = { type = "int", desc = "routing table bucket size", unit = "peers", default = 2 }
alpha = { type = "int", desc = "dht concurrency parameter", unit = "int", default = 3 }
beta = { type = "int", desc = "dht resiliency parameter", unit = "int", default = 3 }
client_mode = { type = "bool", desc = "all undialable nodes are clients", unit = "bool", default = "false" }
datastore = { type = "int", desc = "datastore type", unit = "int", default = 0 }
peer_id_seed = { type = "int", desc = "seed used to generate all peer IDs - must be smaller than MaxInt-instances", default = 0 }
bootstrapper = { type = "bool", desc = "node is a bootstrapper", unit = "bool", default = false}
bs_strategy = { type = "int", desc = "the identifier for the nodes bootstrap strategy", unit = "int", default = 0}
undialable = { type = "bool", desc = "node is undialable", unit = "bool", default = false}
group_order = { type = "int", desc = "the order in which the node is bootstrapped, may be tied with another node", unit ="int", default = 0}
expect_dht = { type = "bool", desc = "the node expects to be a dht server", unit ="bool", default = true}
record_seed = { type = "int", desc = "the seed used to generate records", unit = "int", default = 0 }
record_count = { type = "int", desc = "number of records a peer provides", unit = "int", default = 0 }
search_records = { type = "bool", desc = "node will search for records", unit = "bool", default = false }
n_find_peers = { type = "int", desc = "number of peers to find", unit = "peers", default = 0 }