Fix the fault client returns 500 instend of 404 13/12813/1
authorZhang Rong(Jon) <rong.zhang@windriver.com>
Tue, 7 May 2024 03:25:29 +0000 (11:25 +0800)
committerJon Zhang <rong.zhang@windriver.com>
Fri, 17 May 2024 03:12:00 +0000 (03:12 +0000)
The dependency on the FM module was changed, resulting in it
returning HTTP code 500 instead of HTTP code 404 for not found
errors.

This commit is a workaround to track the 500 error and skip.
When the FM module upgrade, need to be change back

Test Plan:
PASS - Started the watcher service and checked the logs on the O2
environment for alarms that do not exist on the O-Cloud.

Issue-ID: INF-457
Change-Id: Ie2050bda5dd9fc724051de5e861a82fe9f495c44
Signed-off-by: Zhang Rong(Jon) <rong.zhang@windriver.com>
(cherry picked from commit 277a26d01dba32d307cd23eef3c4f97ab1024721)

o2ims/adapter/clients/fault_client.py

index 53602b4..3717487 100644 (file)
@@ -21,7 +21,7 @@ from cgtsclient.client import get_client as get_stx_client
 from cgtsclient.exc import EndpointException
 from dcmanagerclient.api.client import client as get_dc_client
 from fmclient.client import get_client as get_fm_client
-from fmclient.common.exceptions import HTTPNotFound
+from fmclient.common.exceptions import HTTPNotFound, HttpServerError
 
 from o2app.adapter import unit_of_work
 from o2common.config import config
@@ -85,6 +85,11 @@ class StxAlarmClient(BaseClient):
                 logger.debug('alarm {} not in this resource pool {}'
                              .format(alarm, self._pool_id))
                 continue
+            except HttpServerError:
+                # TODO(jon): This exception needs to be removed when the
+                # INF-457 related FM client upgrade and issue fix occur.
+                logger.debug('alarm {} query failed'.format(alarm))
+                continue
             ret.append(event)
 
         return ret