Fix for reap.py giving negative id's for nodes 55/33855/1
authorCatalina Focsa <catalina.focsa@enea.com>
Tue, 25 Apr 2017 15:13:12 +0000 (17:13 +0200)
committerCatalina Focsa <catalina.focsa@enea.com>
Wed, 26 Apr 2017 12:12:22 +0000 (12:12 +0000)
Sort node id's as integer values instead of strings
in order to return the actual minimum value
by which the new list of nodes is generated

JIRA: https://jira.opnfv.org/browse/FUEL-208

Change-Id: If59d0d0ff9823076b337b042bceb4a736f1f9153
Signed-off-by: Catalina Focsa <catalina.focsa@enea.com>
(cherry picked from commit 9eb8c08a696be89a4e73d0e53b6aaf368634813a)

deploy/reap.py

index 69c98d1..be72918 100644 (file)
@@ -167,17 +167,18 @@ class Reap(object):
     def reap_nodes_interfaces_transformations(self):
         node_list = parse(exec_cmd('fuel node'))
         real_node_ids = [node[N['id']] for node in node_list]
+        real_node_ids = map(int, real_node_ids)
         real_node_ids.sort()
-        min_node = real_node_ids[0]
+        min_node = min(real_node_ids)
         interfaces = {}
         transformations = {}
         dea_nodes = []
         dha_nodes = []
 
         for real_node_id in real_node_ids:
-            node_id = int(real_node_id) - int(min_node) + 1
+            node_id = real_node_id - min_node + 1
             self.last_node = node_id
-            node = self.get_node_by_id(node_list, real_node_id)
+            node = self.get_node_by_id(node_list, str(real_node_id))
             roles = commafy(node[N['roles']])
             if not roles:
                 err('Fuel Node %s has no role' % real_node_id)