Bugfix: Error when create pod.yaml file
[releng.git] / utils / create_pod_file.py
index 22943fc..197e493 100644 (file)
@@ -58,22 +58,32 @@ def create_file(handler):
     Other installers use key file of each node.
     """
     if not os.path.exists(os.path.dirname(args.filepath)):
-        os.path.makedirs(os.path.dirname(args.filepath))
+        os.makedirs(os.path.dirname(args.filepath))
     nodes = handler.nodes
     node_list = []
     index = 1
     for node in nodes:
-        if node.roles[0].lower() == "controller":
-            node_info = {'name': "node%s" % index, 'role': node.roles[0],
-                         'ip': node.ip, 'user': 'root'}
+        try:
+            if node.roles[0].lower() == "controller":
+                node_info = {'name': "node%s" % index, 'role': node.roles[0],
+                             'ip': node.ip, 'user': 'root'}
+                node_list.append(node_info)
+                index += 1
+        except Exception:
+            node_info = {'name': node.name, 'role': 'unknown', 'ip': node.ip,
+                         'user': 'root'}
             node_list.append(node_info)
-            index += 1
     for node in nodes:
-        if node.roles[0].lower() == "compute":
-            node_info = {'name': "node%s" % index, 'role': node.roles[0],
-                         'ip': node.ip, 'user': 'root'}
+        try:
+            if node.roles[0].lower() == "compute":
+                node_info = {'name': "node%s" % index, 'role': node.roles[0],
+                             'ip': node.ip, 'user': 'root'}
+                node_list.append(node_info)
+                index += 1
+        except Exception:
+            node_info = {'name': node.name, 'role': 'unknown', 'ip': node.ip,
+                         'user': 'root'}
             node_list.append(node_info)
-            index += 1
     if args.INSTALLER_TYPE == 'compass':
         for item in node_list:
             item['password'] = 'root'