]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
node-proxy: improve logging
authorGuillaume Abrioux <gabrioux@ibm.com>
Wed, 5 Apr 2023 12:08:38 +0000 (14:08 +0200)
committerGuillaume Abrioux <gabrioux@ibm.com>
Thu, 25 Jan 2024 14:43:29 +0000 (14:43 +0000)
this adds a new file `util.py` with a logger function in order
to improve a bit the logging.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
src/cephadm/node-proxy/redfish_client.py
src/cephadm/node-proxy/redfish_system.py
src/cephadm/node-proxy/server.py
src/cephadm/node-proxy/util.py [new file with mode: 0644]

index f4a06ffc309b1649749ee86247e0855a32fef2af..8b85daeace38e3555fe5a263c84e3d2efca84ede 100644 (file)
@@ -1,12 +1,15 @@
 from redfish.rest.v1 import ServerDownOrUnreachableError
 import redfish
-import logging
+from util import logger
+
+log = logger(__name__, level=10)
 
 class RedFishClient:
 
     PREFIX = '/redfish/v1'
 
     def __init__(self, host, username, password):
+        log.info(f"redfish client initialization...")
         self.host = host
         self.username = username
         self.password = password
@@ -19,14 +22,15 @@ class RedFishClient:
                                                   default_prefix=self.PREFIX)
         try:
             self.redfish_obj.login(auth="session")
+            log.info(f"Logging to redfish api at {self.host} with user: {self.username}")
         except ServerDownOrUnreachableError as e:
-            logging.error(f"Server not reachable or does not support RedFish {e}", e)
+            log.error(f"Server not reachable or does not support RedFish {e}", e)
 
     def get_path(self, path):
         try:
             if self.PREFIX not in path:
                 path = f"{self.PREFIX}{path}"
-            print(f"getting: {path}")
+            log.debug(f"getting: {path}")
             response = self.redfish_obj.get(path)
             return response.dict
         except Exception as e:
@@ -34,4 +38,5 @@ class RedFishClient:
             pass
 
     def logout(self):
+        log.info('logging out...')
         self.redfish_obj.logout()
index 921b7520640a271072274fff4027973f3358cc6f..07f9cd69973af12e4ed49088f6261456fe23fe69 100644 (file)
@@ -2,9 +2,15 @@ from system import System
 from redfish_client import RedFishClient
 from threading import Thread
 from time import sleep
+from flask import request
+from util import logger
+
+log = logger(__name__)
+
 
 class RedfishSystem(System):
     def __init__(self, host, username, password):
+        log.info(f"redfish system initialization, host: {host}, user: {username}")
         self.client = RedFishClient(host, username, password)
         self.client.login()
         self._system = {}
@@ -43,20 +49,20 @@ class RedfishSystem(System):
         self._system = self._process_redfish_system(redfish_system)
 
     def _update_metadata(self):
-        print("Updating metadata")
+        log.info("Updating metadata")
         pass
 
     def _update_memory(self):
-        print("Updating memory")
+        log.info("Updating memory")
         pass
 
     def _update_power(self):
-        print("Updating power")
+        log.info("Updating power")
         pass
 
     def _update_network(self):
-        print("Updating network")
         net_path = self._system['EthernetInterfaces']['@odata.id']
+        log.info("Updating network")
         network_info = self.client.get_path(net_path)
         self._system['network'] = {}
         for interface in network_info['Members']:
@@ -65,7 +71,7 @@ class RedfishSystem(System):
             self._system['network'][interface_info['Id']] = interface_info
 
     def _update_storage(self):
-        print("Updating storage")
+        log.info("Updating storage")
         pass
 
     def start_update_loop(self):
index fc09a4fc8e5a38ce9aae73b2eb5c40af24d206c2..14c8db941ee77c631d7919f6fbd9d327ed80eb28 100644 (file)
@@ -2,8 +2,11 @@ from flask import Flask, request, jsonify
 from system import System
 from redfish_system import RedfishSystem
 from reporter import Reporter
+from util import logger
 import time
 
+log = logger(__name__)
+
 # must be passed as arguments
 host = "https://x.x.x.x:8443"
 username = "myuser"
@@ -11,6 +14,7 @@ password = "mypassword"
 
 # create the redfish system and the obsever
 system = RedfishSystem(host, username, password)
+log.info(f"Server initialization...")
 reporter_agent = Reporter(system, "http://127.0.0.1:8000")
 
 app = Flask(__name__)
diff --git a/src/cephadm/node-proxy/util.py b/src/cephadm/node-proxy/util.py
new file mode 100644 (file)
index 0000000..d70e99f
--- /dev/null
@@ -0,0 +1,12 @@
+import logging
+
+def logger(name, level=logging.INFO):
+    logger = logging.getLogger(name)
+    logger.setLevel(level)
+    handler = logging.StreamHandler()
+    handler.setLevel(level)
+    fmt = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
+    handler.setFormatter(fmt)
+    logger.addHandler(handler)
+
+    return logger