From: Claudio-Daniel Freire Date: Fri, 30 Sep 2011 06:24:42 +0000 (+0200) Subject: Fix unassign node, was not clearing attributes as it was supposed to X-Git-Tag: nepi-3.0.0~205 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=514d86a8bdd4e5df384abd5f884a3c267d005390;p=nepi.git Fix unassign node, was not clearing attributes as it was supposed to --- 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: