Stop processing state properties after REST failure.

Change-Id: I964397ad40be7f73c40e3a35d2de3864766c34e5
Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
diff --git a/lib/state.py b/lib/state.py
index e9b9fab..6c5ec27 100755
--- a/lib/state.py
+++ b/lib/state.py
@@ -517,6 +517,16 @@
     packet_loss = ''
     uptime = ''
     epoch_seconds = ''
+    rest = ''
+    chassis = ''
+    requested_chassis = ''
+    bmc = ''
+    requested_bmc = ''
+    boot_progress = ''
+    operating_system = ''
+    host = ''
+    requested_host = ''
+    attempts_left = ''
 
     # Get the component states.
     if 'ping' in req_states:
@@ -588,21 +598,24 @@
         else:
             state['rest'] = '0'
 
-        for url_path in ret_values:
-            for attr_name in ret_values[url_path]:
-                # Create a state key value based on the attr_name.
-                if type(ret_values[url_path][attr_name]) is unicode:
-                    ret_values[url_path][attr_name] = \
-                        re.sub(r'.*\.', "", ret_values[url_path][attr_name])
-                # Do some key name manipulations.
-                new_attr_name = re.sub(r'^Current|(State|Transition)$',
-                                       "", attr_name)
-                new_attr_name = re.sub(r'BMC', r'Bmc', new_attr_name)
-                new_attr_name = re.sub(r'([A-Z][a-z])', r'_\1', new_attr_name)
-                new_attr_name = new_attr_name.lower().lstrip("_")
-                new_attr_name = re.sub(r'power', r'chassis', new_attr_name)
-                if new_attr_name in req_states:
-                    state[new_attr_name] = ret_values[url_path][attr_name]
+        if int(state['rest']):
+            for url_path in ret_values:
+                for attr_name in ret_values[url_path]:
+                    # Create a state key value based on the attr_name.
+                    if type(ret_values[url_path][attr_name]) is unicode:
+                        ret_values[url_path][attr_name] = \
+                            re.sub(r'.*\.', "",
+                                   ret_values[url_path][attr_name])
+                    # Do some key name manipulations.
+                    new_attr_name = re.sub(r'^Current|(State|Transition)$',
+                                           "", attr_name)
+                    new_attr_name = re.sub(r'BMC', r'Bmc', new_attr_name)
+                    new_attr_name = re.sub(r'([A-Z][a-z])', r'_\1',
+                                           new_attr_name)
+                    new_attr_name = new_attr_name.lower().lstrip("_")
+                    new_attr_name = re.sub(r'power', r'chassis', new_attr_name)
+                    if new_attr_name in req_states:
+                        state[new_attr_name] = ret_values[url_path][attr_name]
 
     for sub_state in req_states:
         if sub_state in state: