Uplift scenario files to Liberty
[fuel.git] / deploy / reap.py
old mode 100644 (file)
new mode 100755 (executable)
index b7080cd..bf64d40
@@ -1,3 +1,4 @@
+#!/usr/bin/python
 ###############################################################################
 # Copyright (c) 2015 Ericsson AB and others.
 # szilard.cserey@ericsson.com
@@ -13,6 +14,7 @@ import os
 import yaml
 import glob
 import shutil
+import tempfile
 
 from common import (
     N,
@@ -72,9 +74,9 @@ DHA_2 = '''
 # which may not be correct - please adjust as needed.
 '''
 
-DISKS = {'fuel': '30G',
-         'controller': '30G',
-         'compute': '30G'}
+DISKS = {'fuel': '100G',
+         'controller': '100G',
+         'compute': '100G'}
 
 
 class Reap(object):
@@ -101,6 +103,12 @@ class Reap(object):
         exec_cmd('fuel %s --env %s --download --dir %s'
                  % (config_type, self.env_id, self.temp_dir))
 
+    def download_node_config(self, nodeid):
+        log('Download node %s config for environment %s to %s'
+            % (nodeid, self.env_id,self.temp_dir))
+        exec_cmd('fuel deployment --node-id %s --env %s  --default --dir %s'
+                 % (nodeid, self.env_id, self.temp_dir))
+
     def write(self, file, text, newline=True):
         mode = 'a' if os.path.isfile(file) else 'w'
         with open(file, mode) as f:
@@ -152,7 +160,6 @@ class Reap(object):
         real_node_ids = [node[N['id']] for node in node_list]
         real_node_ids.sort()
         min_node = real_node_ids[0]
-
         interfaces = {}
         transformations = {}
         dea_nodes = []
@@ -169,6 +176,7 @@ class Reap(object):
                         'role': roles}
             dha_node = {'id': node_id}
             if_name, mac = self.reap_interface(real_node_id, interfaces)
+            log('reap transformation for node %s' % real_node_id)
             tr_name = self.reap_transformation(real_node_id, roles,
                                                transformations)
             dea_node.update(
@@ -212,9 +220,9 @@ class Reap(object):
         network_file = ('%s/network_%s.yaml'
                         % (self.temp_dir, self.env_id))
         network = self.read_yaml(network_file)
+
         env = {'environment':
                    {'name': self.env[E['name']],
-                    'mode': self.env[E['mode']],
                     'net_segment_type':
                         network['networking_parameters']['segmentation_type']}}
         self.write_yaml(self.dea_file, env)
@@ -282,14 +290,20 @@ class Reap(object):
     def intro(self):
         delete(self.dea_file)
         delete(self.dha_file)
-        self.temp_dir = exec_cmd('mktemp -d')
+        self.temp_dir = tempfile.mkdtemp()
         date = time.strftime('%c')
         self.write(self.dea_file,
                    DEA_1.format(date=date, comment=self.comment), False)
         self.write(self.dha_file,
                    DHA_1.format(date=date, comment=self.comment))
         self.get_env()
-        self.download_config('deployment')
+
+        # Need to download deployment with explicit node ids
+        node_list = parse(exec_cmd('fuel node'))
+        real_node_ids = [node[N['id']] for node in node_list]
+        real_node_ids.sort()
+        self.download_node_config(','.join(real_node_ids))
+
         self.download_config('settings')
         self.download_config('network')