Skip to content

Commit

Permalink
Rename startup methods and call them as part of __init__ now for netw…
Browse files Browse the repository at this point in the history
…ork_node and swarm_bot
  • Loading branch information
BramSrna committed Apr 9, 2023
1 parent c0c1ab1 commit 8467fdb
Show file tree
Hide file tree
Showing 20 changed files with 13 additions and 230 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@

for _ in range(num_client_bots + num_node_bots + num_aggregator_bots):
new_bot = SwarmBot()
SwarmBot.startup()
manager.add_network_node(new_bot)

for _ in range(num_client_bots):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ def test_new_model_will_be_generated_after_running_full_e2e_federated_learning(s

for _ in range(num_client_bots + num_node_bots + num_aggregator_bots + num_coordinator_bots):
new_bot = self.create_network_node(SwarmBot)
new_bot.startup()
manager.add_network_node(new_bot)

task_output = manager.receive_task_bundle(get_federated_learning_task_bundle())
Expand Down
6 changes: 3 additions & 3 deletions network_manager/network_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@ def __init__(self, network_connectivity_level: NetworkConnectivityLevel):

self.network_nodes = {}

def startup(self):
def start_network_manager(self):
"""
startup
start_network_manager
Starts up each node in the network controlled by the manager.
Expand All @@ -45,7 +45,7 @@ def startup(self):
@return None
"""
for _, node in self.network_nodes.items():
node.startup()
node.start_network_node()

def teardown(self) -> None:
"""
Expand Down
6 changes: 4 additions & 2 deletions network_manager/network_node/network_node.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,9 +110,11 @@ def __init__(self, additional_config_path: str = None, additional_config_dict: d
self.message_channel_type = message_channels[self.config["message_channel"]]
self.message_wrapper_type = message_wrappers[self.config["message_wrapper"]]

def startup(self) -> None:
self.start_network_node()

def start_network_node(self) -> None:
"""
startup
start_network_node
Starts the threads needed by the node to perform its core function.
The threads created are:
Expand Down
1 change: 0 additions & 1 deletion network_manager_test/propagation_strategy_comparer.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,6 @@ def _initialize_network(self) -> None:
new_node = NetworkNode(additional_config_dict={"propagation_strategy": self.propagation_strategy})
self.network_nodes.append(new_node)
new_node.add_idle_listener(self)
new_node.startup()

for i in range(len(self.network_nodes)):
connected = [i]
Expand Down
18 changes: 0 additions & 18 deletions network_manager_test/test_network_information_propagation.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,6 @@ def test_all_nodes_in_the_network_receive_a_sent_message_when_naive_propagation_
additional_config_dict={"propagation_strategy": "NaivePropagation"}
)

test_network_node_1.startup()
test_network_node_2.startup()
test_network_node_3.startup()

test_network_node_1.connect_to_network_node(test_network_node_2)
test_network_node_1.connect_to_network_node(test_network_node_3)

Expand Down Expand Up @@ -67,14 +63,6 @@ def test_all_nodes_in_the_network_receive_a_sent_message_when_naive_propagation_
additional_config_dict={"propagation_strategy": "NaivePropagation"}
)

test_network_node_1.startup()
test_network_node_2.startup()
test_network_node_3.startup()
test_network_node_4.startup()
test_network_node_5.startup()
test_network_node_6.startup()
test_network_node_7.startup()

test_network_node_1.connect_to_network_node(test_network_node_2)
test_network_node_1.connect_to_network_node(test_network_node_3)

Expand Down Expand Up @@ -121,12 +109,6 @@ def test_all_nodes_in_the_network_receive_a_sent_message_when_naive_propagation_
additional_config_dict={"propagation_strategy": "NaivePropagation"}
)

test_network_node_1.startup()
test_network_node_2.startup()
test_network_node_3.startup()
test_network_node_4.startup()
test_network_node_5.startup()

test_network_node_1.connect_to_network_node(test_network_node_2)
test_network_node_2.connect_to_network_node(test_network_node_3)
test_network_node_3.connect_to_network_node(test_network_node_4)
Expand Down
30 changes: 0 additions & 30 deletions network_manager_test/test_network_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,18 +28,12 @@ def test_new_node_added_in_fully_connected_network_will_be_connected_to_all_othe
test_network_node_2 = self.create_network_node(NetworkNode)
test_network_node_3 = self.create_network_node(NetworkNode)

test_network_node_1.startup()
test_network_node_2.startup()
test_network_node_3.startup()

test_network_manager.add_network_node(test_network_node_1)
test_network_manager.add_network_node(test_network_node_2)
test_network_manager.add_network_node(test_network_node_3)

new_network_node = self.create_network_node(NetworkNode)

new_network_node.startup()

test_network_manager.add_network_node(new_network_node)

self.wait_for_idle_network()
Expand All @@ -59,18 +53,12 @@ def test_new_node_added_in_partially_connected_network_will_be_connected_to_rand
test_network_node_2 = self.create_network_node(NetworkNode)
test_network_node_3 = self.create_network_node(NetworkNode)

test_network_node_1.startup()
test_network_node_2.startup()
test_network_node_3.startup()

test_network_manager.add_network_node(test_network_node_1)
test_network_manager.add_network_node(test_network_node_2)
test_network_manager.add_network_node(test_network_node_3)

new_network_node = self.create_network_node(NetworkNode)

new_network_node.startup()

test_network_manager.add_network_node(new_network_node)

self.wait_for_idle_network()
Expand All @@ -90,18 +78,12 @@ def test_new_node_added_in_centralized_network_will_be_connected_to_central_netw
test_network_node_2 = self.create_network_node(NetworkNode)
test_network_node_3 = self.create_network_node(NetworkNode)

test_network_node_1.startup()
test_network_node_2.startup()
test_network_node_3.startup()

test_network_manager.add_network_node(test_network_node_1)
test_network_manager.add_network_node(test_network_node_2)
test_network_manager.add_network_node(test_network_node_3)

new_network_node = self.create_network_node(NetworkNode)

new_network_node.startup()

test_network_manager.add_network_node(new_network_node)

self.wait_for_idle_network()
Expand All @@ -120,18 +102,12 @@ def test_removing_node_from_network_will_disconnect_it_from_all_nodes(self):
test_network_node_2 = self.create_network_node(NetworkNode)
test_network_node_3 = self.create_network_node(NetworkNode)

test_network_node_1.startup()
test_network_node_2.startup()
test_network_node_3.startup()

test_network_manager.add_network_node(test_network_node_1)
test_network_manager.add_network_node(test_network_node_2)
test_network_manager.add_network_node(test_network_node_3)

new_network_node = self.create_network_node(NetworkNode)

new_network_node.startup()

test_network_manager.add_network_node(new_network_node)

self.wait_for_idle_network()
Expand Down Expand Up @@ -163,18 +139,12 @@ def test_network_manager_will_throw_an_error_if_removing_a_node_will_leave_orpha
test_network_node_2 = self.create_network_node(NetworkNode)
test_network_node_3 = self.create_network_node(NetworkNode)

test_network_node_1.startup()
test_network_node_2.startup()
test_network_node_3.startup()

test_network_manager.add_network_node(test_network_node_1)
test_network_manager.add_network_node(test_network_node_2)
test_network_manager.add_network_node(test_network_node_3)

new_network_node = self.create_network_node(NetworkNode)

new_network_node.startup()

test_network_manager.add_network_node(new_network_node)

self.wait_for_idle_network()
Expand Down
11 changes: 1 addition & 10 deletions network_manager_test/test_network_messaging.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ def test_node_will_receive_sent_message(self):
test_network_node_1 = self.create_network_node(NetworkNode)
test_network_node_2 = self.create_network_node(NetworkNode)

test_network_node_1.startup()
test_network_node_2.startup()

test_network_node_1.connect_to_network_node(test_network_node_2)

self.wait_for_idle_network()
Expand All @@ -29,15 +26,12 @@ def test_messages_can_be_sent_after_node_is_torn_down_and_started_again(self):
test_network_node_1 = self.create_network_node(NetworkNode)
test_network_node_2 = self.create_network_node(NetworkNode)

test_network_node_1.startup()
test_network_node_2.startup()

test_network_node_1.connect_to_network_node(test_network_node_2)

self.wait_for_idle_network()

test_network_node_1.teardown()
test_network_node_1.startup()
test_network_node_1.start_network_node()

test_network_node_1.send_directed_message(test_network_node_2.get_id(), "TEST", {})

Expand All @@ -50,9 +44,6 @@ def test_cannot_send_a_message_to_a_node_after_disconnecting_from_it(self):
test_network_node_1 = self.create_network_node(NetworkNode)
test_network_node_2 = self.create_network_node(NetworkNode)

test_network_node_1.startup()
test_network_node_2.startup()

test_network_node_1.connect_to_network_node(test_network_node_2)

self.wait_for_idle_network()
Expand Down
12 changes: 2 additions & 10 deletions network_manager_test/test_network_node.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,18 @@


class TestNetworkNode(NetworkNodeTestClass):
def test_error_will_be_raised_when_startup_is_called_while_node_is_runnging(self):
def test_error_will_be_raised_when_start_network_node_is_called_while_node_is_running(self):
test_network_node_1 = self.create_network_node(NetworkNode)

test_network_node_1.startup()

with self.assertRaises(Exception) as raised_error:
test_network_node_1.startup()
test_network_node_1.start_network_node()

self.assertIn("Network node is already running", str(raised_error.exception))

def test_assert_connecting_to_a_node_will_form_a_two_way_connection(self):
test_network_node_1 = self.create_network_node(NetworkNode)
test_network_node_2 = self.create_network_node(NetworkNode)

test_network_node_1.startup()
test_network_node_2.startup()

test_network_node_1.connect_to_network_node(test_network_node_2)

self.wait_for_idle_network()
Expand All @@ -34,9 +29,6 @@ def test_assert_disconnecting_from_a_node_will_only_delete_the_connection_in_one
test_network_node_1 = self.create_network_node(NetworkNode)
test_network_node_2 = self.create_network_node(NetworkNode)

test_network_node_1.startup()
test_network_node_2.startup()

test_network_node_1.connect_to_network_node(test_network_node_2)

self.wait_for_idle_network()
Expand Down
5 changes: 3 additions & 2 deletions swarm/swarm_bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,9 @@ def __init__(self, additional_config_path: str = None, additional_config_dict: d
self.assign_msg_handler(str(MessageTypes.MSG_RESPONSE), self.handle_msg_response_message)
self.assign_msg_handler(str(MessageTypes.SYNC_SWARM_MEMORY), self.handle_sync_swarm_memory_message)

def startup(self):
NetworkNode.startup(self)
self.start_swarm_bot()

def start_swarm_bot(self):
self.start_task_executor()

def teardown(self):
Expand Down
21 changes: 0 additions & 21 deletions swarm_bot_test/test_full_connectivity_simulation.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@ def test_swarm_bots_that_are_directly_connected_can_still_exchange_messages(self
test_swarm_bot_2 = self.create_network_node(SwarmBot)
test_swarm_bot_3 = self.create_network_node(SwarmBot)

test_swarm_bot_1.startup()
test_swarm_bot_2.startup()
test_swarm_bot_3.startup()

test_swarm_bot_1.connect_to_network_node(test_swarm_bot_2)

test_swarm_bot_2.connect_to_network_node(test_swarm_bot_3)
Expand All @@ -32,10 +28,6 @@ def test_swarm_bots_that_are_not_directly_connected_can_still_exchange_messages_
test_swarm_bot_2 = self.create_network_node(SwarmBot)
test_swarm_bot_3 = self.create_network_node(SwarmBot)

test_swarm_bot_1.startup()
test_swarm_bot_2.startup()
test_swarm_bot_3.startup()

test_swarm_bot_1.connect_to_network_node(test_swarm_bot_2)
self.wait_for_idle_network()

Expand Down Expand Up @@ -72,7 +64,6 @@ def test_swarm_bots_that_are_not_directly_connected_can_still_exchange_messages_
test_bots = []
for _ in range(num_bots):
new_bot = self.create_network_node(SwarmBot)
new_bot.startup()
if len(test_bots) > 0:
new_bot.connect_to_network_node(test_bots[-1])
self.wait_for_idle_network()
Expand All @@ -97,7 +88,6 @@ def test_can_propagate_messages_to_non_directly_connected_bots(self):
test_bots = []
for _ in range(num_bots):
new_bot = self.create_network_node(SwarmBot)
new_bot.startup()
if len(test_bots) > 0:
new_bot.connect_to_network_node(test_bots[-1])
self.wait_for_idle_network()
Expand Down Expand Up @@ -127,12 +117,6 @@ def test_shortest_message_intermediary_is_always_saved(self):
test_swarm_bot_4 = self.create_network_node(SwarmBot)
test_swarm_bot_5 = self.create_network_node(SwarmBot)

test_swarm_bot_1.startup()
test_swarm_bot_2.startup()
test_swarm_bot_3.startup()
test_swarm_bot_4.startup()
test_swarm_bot_5.startup()

test_swarm_bot_1.connect_to_network_node(test_swarm_bot_2)
self.wait_for_idle_network()
test_swarm_bot_1.connect_to_network_node(test_swarm_bot_3)
Expand Down Expand Up @@ -207,11 +191,6 @@ def test_simulated_full_connectivity_is_maintained_when_bot_is_removed_from_the_
self.create_network_node(SwarmBot)
]

test_bots[0].startup()
test_bots[1].startup()
test_bots[2].startup()
test_bots[3].startup()

test_bots[0].connect_to_network_node(test_bots[1])
self.wait_for_idle_network()
test_bots[0].connect_to_network_node(test_bots[2])
Expand Down
4 changes: 0 additions & 4 deletions swarm_bot_test/test_swarm_bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@ class TestSwarmBot(NetworkNodeTestClass):
def test_swarm_bot_will_execute_task_when_not_already_executing_a_task(self):
test_swarm_bot = self.create_network_node(SwarmBot)

test_swarm_bot.startup()

test_task_bundle = SwarmTaskBundle()
test_task_bundle.add_task(SimpleTask, 1)

Expand All @@ -46,8 +44,6 @@ def test_swarm_bot_will_execute_task_when_not_already_executing_a_task(self):
def test_swarm_bot_will_pick_up_next_task_in_queue_when_done_executing_current_task(self):
test_swarm_bot = self.create_network_node(SwarmBot)

test_swarm_bot.startup()

test_task_bundle_1 = SwarmTaskBundle()
test_task_bundle_1.add_task(SimpleTask, 1)
test_task_bundle_2 = SwarmTaskBundle()
Expand Down
Loading

0 comments on commit 8467fdb

Please sign in to comment.