From 94f8a45a4dcaa162cb73ba9d04bfd6718e57b8ec Mon Sep 17 00:00:00 2001 From: Chris McCarthy Date: Tue, 28 Nov 2023 15:29:13 +0000 Subject: [PATCH] #1859 - Re-ordered the node reset function --- .../simulator/network/hardware/base.py | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/primaite/simulator/network/hardware/base.py b/src/primaite/simulator/network/hardware/base.py index b72fde54..825df37d 100644 --- a/src/primaite/simulator/network/hardware/base.py +++ b/src/primaite/simulator/network/hardware/base.py @@ -1021,6 +1021,8 @@ class Node(SimComponent): def reset_component_for_episode(self, episode: int): """Reset the original state of the SimComponent.""" print(f"Resetting node state for {self.hostname}") + super().reset_component_for_episode(episode) + # Reset ARP Cache self.arp.clear() @@ -1030,17 +1032,11 @@ class Node(SimComponent): # Reset Session Manager self.session_manager.clear() - # Reset software - for software in self.software_manager.software.values(): - software.reset_component_for_episode(episode) - if isinstance(software, Service): - software.start() - elif isinstance(software, Application): - software.run() - # Reset File System self.file_system.reset_component_for_episode(episode) + self.power_on() + # Reset all Nics for nic in self.nics.values(): nic.reset_component_for_episode(episode) @@ -1049,9 +1045,14 @@ class Node(SimComponent): self.sys_log.current_episode = episode self.sys_log.setup_logger() - super().reset_component_for_episode(episode) + # Reset software + for software in self.software_manager.software.values(): + software.reset_component_for_episode(episode) + if isinstance(software, Service): + software.start() + elif isinstance(software, Application): + software.run() - self.power_on() for nic in self.nics.values(): nic.enable()