"""Parse the resources."""
         return []
 
+    def _add_failing_resource(self, resource):
+        if (resource.labels and settings.EXCLUDED_LABELS
+            and (resource.labels.keys() and settings.EXCLUDED_LABELS.keys())):
+            for label in resource.labels.items():
+                for waived_label in settings.EXCLUDED_LABELS.items():
+                    if label[0] in waived_label[0] and label[1] in waived_label[1]:
+                        return
+        self.__logger.warning("a {} is in error: {}".format(self.resource_type, resource.name))
+        self.failing_resources.append(resource)
+        self.failing = True
+
     def execute(self):
         super().execute()
         os.makedirs(self.res_dir, exist_ok=True)
                 field_selector=field_selector).items
 
             if k8s.status.phase != "Bound":
-                self.__logger.warning("a PVC is in error: {}".format(pvc.name))
-                self.failing_resources.append(pvc)
-                self.failing = True
+                self._add_failing_resource(pvc)
             self.all_resources.append(pvc)
 
     @BaseStep.store_state
 
             # timemout job
             if not k8s.status.completion_time:
-                self.__logger.warning("a Job is in error: {}".format(job.name))
                 if any(
                     waiver_elt not in job.name for waiver_elt in settings.WAIVER_LIST):
-                    self.failing_resources.append(job)
-                    self.failing = True
+                    self._add_failing_resource(job)
             # completed job
             if any(waiver_elt not in job.name for waiver_elt in settings.WAIVER_LIST):
                 self.all_resources.append(job)
                     self.res_dir, deployment.name))
 
             if k8s.status.unavailable_replicas:
-                self.__logger.warning("a Deployment is in error: {}".format(deployment.name))
-                self.failing_resources.append(deployment)
-                self.failing = True
+                self._add_failing_resource(deployment)
 
             self.all_resources.append(deployment)
 
 
             if (not k8s.status.ready_replicas 
                 or (k8s.status.ready_replicas < k8s.status.replicas)):
-                self.__logger.warning("a ReplicaSet is in error: {}".format(replicaset.name))
-                self.failing_resources.append(replicaset)
-                self.failing = True
+                self._add_failing_resource(replicaset)
 
             self.all_resources.append(replicaset)
 
 
             if ((not k8s.status.ready_replicas)
                     or (k8s.status.ready_replicas < k8s.status.replicas)):
-                self.__logger.warning("a StatefulSet is in error: {}".format(statefulset.name))
-                self.failing_resources.append(statefulset)
-                self.failing = True
+                self._add_failing_resource(statefulset)
 
             self.all_resources.append(statefulset)
 
                     self.res_dir, daemonset.name))
 
             if (k8s.status.number_ready < k8s.status.desired_number_scheduled):
-                self.__logger.warning("a DaemonSet is in error: {}".format(daemonset.name))
-                self.failing_resources.append(daemonset)
-                self.failing = True
+                self._add_failing_resource(daemonset)
 
             self.all_resources.append(daemonset)
 
             details[step.resource_type] = {
                 'number_all': len(step.all_resources),
                 'number_failing': len(step.failing_resources),
+                'all': self.map_by_name(step.all_resources),
                 'failing': self.map_by_name(step.failing_resources)
             }
         with (Path(self.res_dir).joinpath(settings.STATUS_DETAILS_JSON)).open('w') as file: