From 514d86a8bdd4e5df384abd5f884a3c267d005390 Mon Sep 17 00:00:00 2001 From: Claudio-Daniel Freire Date: Fri, 30 Sep 2011 08:24:42 +0200 Subject: [PATCH] Fix unassign node, was not clearing attributes as it was supposed to --- src/nepi/testbeds/planetlab/node.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/nepi/testbeds/planetlab/node.py b/src/nepi/testbeds/planetlab/node.py index a1e9bcd3..49364918 100644 --- a/src/nepi/testbeds/planetlab/node.py +++ b/src/nepi/testbeds/planetlab/node.py @@ -322,7 +322,15 @@ class Node(object): def unassign_node(self): self._node_id = None - self.__dict__.update(self.__orig_attrs) + + try: + orig_attrs = self.__orig_attrs + except AttributeError: + return + + for key, value in __orig_attrs.iteritems(): + setattr(self, key, value) + del self.__orig_attrs def rate_nodes(self, nodes): rates = collections.defaultdict(int) @@ -396,7 +404,10 @@ class Node(object): orig_attrs['server_key'] = self.server_key self.server_key = info['ssh_rsa_key'] - self.__orig_attrs = orig_attrs + try: + self.__orig_attrs + except AttributeError: + self.__orig_attrs = orig_attrs def validate(self): if self.home_path is None: -- 2.43.0