From 7d6790643871ba2dd57e561c6bb8573a1e32b18a Mon Sep 17 00:00:00 2001
From: Mohamed Larabi <mohamed.larabi@inria.fr>
Date: Wed, 2 Oct 2013 14:19:19 +0200
Subject: [PATCH] PGv2 and GENIv3 Rspec: handle PL initscript and attribute
 exceptions

---
 sfa/rspecs/elements/versions/pgv2Node.py | 33 ++++++++++++++----------
 1 file changed, 20 insertions(+), 13 deletions(-)

diff --git a/sfa/rspecs/elements/versions/pgv2Node.py b/sfa/rspecs/elements/versions/pgv2Node.py
index 0a694ad1..8266f969 100644
--- a/sfa/rspecs/elements/versions/pgv2Node.py
+++ b/sfa/rspecs/elements/versions/pgv2Node.py
@@ -132,21 +132,28 @@ class PGv2Node:
                     node['boot_state'] = 'disabled' 
 
             # get initscripts
-            node['pl_initscripts'] = []
-            initscript_elems = node_elem.xpath('./default:sliver_type/planetlab:initscript | ./sliver_type/initscript')
-            if len(initscript_elems) > 0:
-                for initscript_elem in initscript_elems:
-                    if 'name' in initscript_elem.attrib:
-                        node['pl_initscripts'].append(dict(initscript_elem.attrib))
+            try:
+               node['pl_initscripts'] = []
+               initscript_elems = node_elem.xpath('./default:sliver_type/planetlab:initscript | ./sliver_type/initscript')
+               if len(initscript_elems) > 0:
+                   for initscript_elem in initscript_elems:
+                        if 'name' in initscript_elem.attrib:
+                            node['pl_initscripts'].append(dict(initscript_elem.attrib))
+            except:
+               pass
 
             # get node tags
-            tag_elems = node_elem.xpath('./planetlab:attribute | ./attribute')
-            node['tags'] = []
-            if len(tag_elems) > 0:
-                for tag_elem in tag_elems:
-                    tag = dict(tag_elem.get_instance(Attribute))
-                    tag['tagname'] = tag.pop('name')
-                    node['tags'].append(tag)
+            try:
+               tag_elems = node_elem.xpath('./planetlab:attribute | ./attribute')
+               node['tags'] = []
+               if len(tag_elems) > 0:
+                   for tag_elem in tag_elems:
+                        tag = dict(tag_elem.get_instance(Attribute))
+                        tag['tagname'] = tag.pop('name')
+                        node['tags'].append(tag)
+            except:
+               pass
+  
         return nodes
 
 
-- 
2.47.0