]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
node-proxy: fix util.get_logger()
authorGuillaume Abrioux <gabrioux@ibm.com>
Tue, 9 Apr 2024 14:53:15 +0000 (14:53 +0000)
committerGuillaume Abrioux <gabrioux@redhat.com>
Tue, 9 Jul 2024 15:22:46 +0000 (15:22 +0000)
when get_logger() is passed `level` variable, it fails with
`UnboundLocalError` error:

```
Traceback (most recent call last):
  File "/usr/sbin/ceph-node-proxy", line 11, in <module>
    load_entry_point('ceph-node-proxy==1.0.0', 'console_scripts', 'ceph-node-proxy')()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 476, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2700, in load_entry_point
    return ep.load()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2318, in load
    return self.resolve()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2324, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python3.6/site-packages/ceph_node_proxy/main.py", line 1, in <module>
    from ceph_node_proxy.redfishdellsystem import RedfishDellSystem
  File "/usr/lib/python3.6/site-packages/ceph_node_proxy/redfishdellsystem.py", line 1, in <module>
    from ceph_node_proxy.baseredfishsystem import BaseRedfishSystem
  File "/usr/lib/python3.6/site-packages/ceph_node_proxy/baseredfishsystem.py", line 3, in <module>
    from ceph_node_proxy.basesystem import BaseSystem
  File "/usr/lib/python3.6/site-packages/ceph_node_proxy/basesystem.py", line 3, in <module>
    from ceph_node_proxy.util import Config, get_logger, BaseThread
  File "/usr/lib/python3.6/site-packages/ceph_node_proxy/util.py", line 49, in <module>
    logger = get_logger(__name__)
  File "/usr/lib/python3.6/site-packages/ceph_node_proxy/util.py", line 37, in get_logger
    logger.setLevel(log_level)
UnboundLocalError: local variable 'log_level' referenced before assignment
```

Fixes: https://tracker.ceph.com/issues/65392
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 41c513715a8acafa2995147fed6c82a83c18cd6d)

src/ceph-node-proxy/ceph_node_proxy/util.py

index 677161c63fd310769e7291557a7fd1e0e0f6c50c..359e0c38cf45313ed9a395b7424cb7ccdd59d3e4 100644 (file)
@@ -31,7 +31,8 @@ CONFIG: Dict[str, Any] = {
 
 
 def get_logger(name: str, level: Union[int, str] = logging.NOTSET) -> logging.Logger:
-    if level == logging.NOTSET:
+    log_level: Union[int, str] = level
+    if log_level == logging.NOTSET:
         log_level = CONFIG['logging']['level']
     logger = logging.getLogger(name)
     logger.setLevel(log_level)