bb-Ricardo / check_redfish

A monitoring/inventory plugin to check components and health status of systems which support Redfish. It will also create a inventory of all components of a system.
MIT License
115 stars 34 forks source link

‎ImportError: cannot import name 'SNIMissingWarning' #139

Open riahc3 opened 1 week ago

riahc3 commented 1 week ago

Hello

Im trying to run the plugin in Ubuntu 24.04 and I get the following:

(No output on stdout) stderr: Traceback (most recent call last): File "/usr/local/nagios/libexec/check_redfish.py", line 29, in from cr_module.classes.plugin import PluginData File "/usr/local/nagios/libexec/cr_module/init.py", line 11, in from cr_module.classes.plugin import PluginData File "/usr/local/nagios/libexec/cr_module/classes/plugin.py", line 13, in from cr_module.classes.redfish import RedfishConnection File "/usr/local/nagios/libexec/cr_module/classes/redfish.py", line 24, in import redfish File "/usr/local/nagios/libexec/redfish.py", line 33, in from restapiendpoint import ProcessRequest File "/usr/local/nagios/libexec/restapiendpoint.py", line 34, in from urllib3.exceptions import SNIMissingWarning ImportError: cannot import name 'SNIMissingWarning' from 'urllib3.exceptions' (/usr/lib/python3/dist-packages/urllib3/exceptions.py)

From what I am seeing, the error is "from urllib3.exceptions import SNIMissingWarning" and its because the library urllib3 removed the SNIMissingWarning exception in 2.0.0 (2023-04-26) for older versions of OpenSSL...What surprises me in a sense, is that this plugin was updated 3 weeks ago so...it should work.

What is happening?

bb-Ricardo commented 1 week ago

Hi,

these lines look incorrect:

import redfish
File "/usr/local/nagios/libexec/redfish.py", line 33, in
from restapiendpoint import ProcessRequest
File "/usr/local/nagios/libexec/restapiendpoint.py", line 34, in

I guess the import finds a redfish.py and assumes that is the desired module. Just try to rename the redfish.py and run it again.