[baremetal] Bring in opendaylight scenario
[fuel.git] / deploy / reap.py
index eb02fe2..be72918 100644 (file)
@@ -18,6 +18,7 @@ import shutil
 import tempfile
 import re
 import netaddr
+import templater
 
 from common import (
     N,
@@ -79,8 +80,6 @@ DHA_2 = '''
 # which may not be correct - please adjust as needed.
 '''
 
-TEMPLATER = 'templater.py'
-
 DISKS = {'fuel': '100G',
          'controller': '100G',
          'compute': '100G'}
@@ -168,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)
@@ -353,8 +353,10 @@ class Reap(object):
         self.download_config('network')
 
     def create_base_dea(self):
-        exec_cmd('python %s %s %s %s'
-                 % (TEMPLATER, self.dea_file, self.template, self.base_dea))
+        templater = templater.Templater(self.dea_file,
+                                        self.template,
+                                        self.base_dea)
+        templater.run()
 
     def finale(self):
         log('DEA file is available at %s' % self.dea_file)