From ff158a6547c8ca1ac2538738a37cc5d80971b34f Mon Sep 17 00:00:00 2001 From: gmega Date: Fri, 6 Dec 2024 13:27:43 -0300 Subject: [PATCH] allow base index for nodeset to be configured --- benchmarks/deluge/config.py | 5 +++-- benchmarks/deluge/tests/test_config.py | 21 +++++++++++++++++++++ experiments.yaml | 1 + 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/benchmarks/deluge/config.py b/benchmarks/deluge/config.py index b41a78e..26717bc 100644 --- a/benchmarks/deluge/config.py +++ b/benchmarks/deluge/config.py @@ -22,10 +22,11 @@ class DelugeNodeConfig(BaseModel): class DelugeNodeSetConfig(BaseModel): - network_size: int = Field(gt=2) + network_size: int = Field(gte=2) address: str daemon_port: int listen_ports: list[int] = Field(min_length=2, max_length=2) + first_node_index: int = 1 nodes: List[DelugeNodeConfig] = [] @model_validator(mode='after') @@ -36,7 +37,7 @@ class DelugeNodeSetConfig(BaseModel): daemon_port=self.daemon_port, listen_ports=self.listen_ports, ) - for i in range(1, self.network_size + 1) + for i in range(self.first_node_index, self.first_node_index + self.network_size) ] return self diff --git a/benchmarks/deluge/tests/test_config.py b/benchmarks/deluge/tests/test_config.py index d2c5c98..04e2046 100644 --- a/benchmarks/deluge/tests/test_config.py +++ b/benchmarks/deluge/tests/test_config.py @@ -39,6 +39,27 @@ def test_should_expand_node_sets_into_simple_nodes(): ), ] +def test_should_respect_first_node_index(): + nodeset = DelugeNodeSetConfig( + address='deluge-{node_index}.local.svc', + network_size=2, + daemon_port=6080, + listen_ports=[6081, 6082], + first_node_index=5 + ) + + assert nodeset.nodes == [ + DelugeNodeConfig( + address='deluge-5.local.svc', + daemon_port=6080, + listen_ports=[6081, 6082], + ), + DelugeNodeConfig( + address='deluge-6.local.svc', + daemon_port=6080, + listen_ports=[6081, 6082], + ), + ] def test_should_build_experiment_from_config(): config_file = StringIO(""" diff --git a/experiments.yaml b/experiments.yaml index 755abfd..4ca6549 100644 --- a/experiments.yaml +++ b/experiments.yaml @@ -7,6 +7,7 @@ deluge_experiment: nodes: network_size: ${NETWORK_SIZE} + first_node_index: 0 address: "${DELUGE_STATEFULSET}-{node_index}.${DELUGE_SERVICE}.${NAMESPACE}.svc.cluster.local" daemon_port: 6890 listen_ports: [ 6891, 6892 ] \ No newline at end of file