Bugfix: Error when create pod.yaml file if one node's role is None 07/34407/1
authorxudan <xudan16@huawei.com>
Mon, 8 May 2017 02:27:04 +0000 (22:27 -0400)
committerxudan <xudan16@huawei.com>
Mon, 8 May 2017 02:30:11 +0000 (22:30 -0400)
DOVETAIL-426

Error message:
if node.roles[0].lower() == "controller":
IndexError: list index out of range

Change-Id: I96d26cc3798b993b5b296f554becfc175e3e87b4
Signed-off-by: xudan <xudan16@huawei.com>
utils/create_pod_file.py

index 22943fc..7e30cc6 100644 (file)
@@ -63,17 +63,27 @@ def create_file(handler):
     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'