libp2p-test-plans/pubsub/scripts/templates/baseline/template.toml.j2

117 lines
4.4 KiB
Django/Jinja

## This composition runs a pubsub simulation with no adversarial nodes, to
## establish baseline metrics.
##
[metadata]
name = "pubsub-{{ COMPOSITION_NAME }}"
author = "yusefnapora"
[global]
plan = "{{ TEST_PLAN | default('test-plans/pubsub/test') }}"
case = "evaluate"
builder = "{{ TEST_BUILDER | default('docker:go') }}"
runner = "{{ TEST_RUNNER | default('local:docker') }}"
total_instances = {{ N_NODES }}
[global.build_config]
{{ BUILD_CONFIG | default('') }}
[global.run_config]
{{ RUN_CONFIG | default('') }}
[[groups]]
id = "publishers"
instances = { count = {{ N_PUBLISHER }} }
[groups.build]
selectors = {{ BUILD_SELECTORS }}
dependencies = [
{ module = "github.com/libp2p/go-libp2p-pubsub", version = "{{ GS_VERSION }}" }
]
[groups.run.test_params]
t_heartbeat = "{{ T_HEARTBEAT | default('1s') }}"
t_heartbeat_initial_delay = "{{ T_HEARTBEAT_INITIAL_DELAY | default('100ms') }}"
t_run = "{{ T_RUN }}"
t_warm = "{{ T_WARM }}"
t_cool = "{{ T_COOL | default('10s') }}"
t_setup = "{{ T_SETUP | default('1m') }}"
full_traces = "{{ FULL_TRACES | default('false') }}"
publisher = "true"
flood_publishing = '{{ FLOOD_PUBLISHING }}'
topics = '{{ TOPIC_CONFIG | tojson() }}'
score_params = '{{ PEER_SCORE_PARAMS | tojson() }}'
t_score_inspect_period = '{{ T_SCORE_INSPECT_PERIOD | default('0s') }}'
validate_queue_size = '{{ VALIDATE_QUEUE_SIZE | default(0) }}'
outbound_queue_size = '{{ OUTBOUND_QUEUE_SIZE | default(0) }}'
t_latency = '{{ T_LATENCY | default('5ms') }}'
t_latency_max = '{{ T_LATENCY_MAX | default('50ms') }}'
jitter_pct = '{{ JITTER_PCT | default(10) | int }}'
bandwidth_mb = '{{ BANDWIDTH_MB | default(10240) | int }}'
topology = '{{ TOPOLOGY | tojson() }}'
degree = '{{ N_DEGREE | default(20) | int }}'
overlay_d = '{{ OVERLAY_D | default(-1) | int }}'
overlay_dlo = '{{ OVERLAY_DLO | default(-1) | int }}'
overlay_dhi = '{{ OVERLAY_DHI | default(-1) | int }}'
overlay_dscore = '{{ OVERLAY_DSCORE | default(-1) | int }}'
overlay_dlazy = '{{ OVERLAY_DLAZY | default(-1) | int }}'
gossip_factor = '{{ GOSSIP_FACTOR | default(0.25) | float }}'
opportunistic_graft_ticks = '{{ OPPORTUNISTIC_GRAFT_TICKS | default(60) | int }}'
n_container_nodes_total = '{{ N_CONTAINER_NODES_TOTAL | default(N_NODES) }}'
n_nodes_per_container = '{{ N_HONEST_PEERS_PER_NODE | default(1) | int }}'
connect_delays = '{{ HONEST_CONNECT_DELAYS | default('') }}'
connect_delay_jitter_pct = '{{ HONEST_CONNECT_DELAY_JITTER_PCT | default('5') | int }}'
[[groups]]
id = "lurkers"
instances = { count = {{ N_NODES - N_PUBLISHER | int }} }
[groups.build]
selectors = {{ BUILD_SELECTORS }}
dependencies = [
{ module = "github.com/libp2p/go-libp2p-pubsub", version = "{{ GS_VERSION }}" }
]
[groups.run.test_params]
t_heartbeat = "{{ T_HEARTBEAT | default('1s') }}"
t_heartbeat_initial_delay = "{{ T_HEARTBEAT_INITIAL_DELAY | default('100ms') }}"
t_run = "{{ T_RUN }}"
t_warm = "{{ T_WARM }}"
t_cool = "{{ T_COOL | default('10s') }}"
t_setup = "{{ T_SETUP | default('1m') }}"
full_traces = "{{ FULL_TRACES | default('false') }}"
topics = '{{ TOPIC_CONFIG | tojson() }}'
score_params = '{{ PEER_SCORE_PARAMS | tojson() }}'
t_score_inspect_period = '{{ T_SCORE_INSPECT_PERIOD | default('0s') }}'
validate_queue_size = '{{ VALIDATE_QUEUE_SIZE | default(0) }}'
outbound_queue_size = '{{ OUTBOUND_QUEUE_SIZE | default(0) }}'
t_latency = '{{ T_LATENCY | default('5ms') }}'
t_latency_max = '{{ T_LATENCY_MAX | default('50ms') }}'
jitter_pct = '{{ JITTER_PCT | default(10) | int }}'
bandwidth_mb = '{{ BANDWIDTH_MB | default(10240) | int }}'
topology = '{{ TOPOLOGY | tojson() }}'
degree = '{{ N_DEGREE | default(20) | int }}'
overlay_d = '{{ OVERLAY_D | default(-1) | int }}'
overlay_dlo = '{{ OVERLAY_DLO | default(-1) | int }}'
overlay_dhi = '{{ OVERLAY_DHI | default(-1) | int }}'
overlay_dscore = '{{ OVERLAY_DSCORE | default(-1) | int }}'
overlay_dlazy = '{{ OVERLAY_DLAZY | default(-1) | int }}'
gossip_factor = '{{ GOSSIP_FACTOR | default(0.25) | float }}'
opportunistic_graft_ticks = '{{ OPPORTUNISTIC_GRAFT_TICKS | default(60) | int }}'
n_container_nodes_total = '{{ N_CONTAINER_NODES_TOTAL }}'
n_nodes_per_container = '{{ N_HONEST_PEERS_PER_NODE | default(1) | int }}'
connect_delays = '{{ HONEST_CONNECT_DELAYS | default('') }}'
connect_delay_jitter_pct = '{{ HONEST_CONNECT_DELAY_JITTER_PCT | default('5') | int }}'