** Description changed: We are using cinder-three-par charm for Jammy Caracal which install version 4.2.11-0ubuntu1 Driver fails to initialize for above Alletra device ----------------- 2025-09-25 13:58:01.624 1889414 INFO cinder.volume.manager [None req-a3bf9ce9-345b-4d68-8506-672369f314e8 - - - - - -] Starting volume driver HPE3PARFCDriver (4.0.7) 2025-09-25 13:58:01.635 1889414 WARNING py.warnings [None req-a3bf9ce9-345b-4d68-8506-672369f314e8 - - - - - -] /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1020: InsecureRequestWarning: Unverified HTTPS request is being made to host '10.11.211.201'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings warnings.warn( 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager [None req-a3bf9ce9-345b-4d68-8506-672369f314e8 - - - - - -] Failed to initialize driver.: TypeError: catching classes that do not inherit from BaseException is not allowed 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager Traceback (most recent call last): 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager File "/usr/lib/python3/dist-packages/hpe3parclient/http.py", line 320, in _cs_request 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager resp, body = self._time_request(self.api_url + url, method, 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager File "/usr/lib/python3/dist-packages/hpe3parclient/http.py", line 297, in _time_request 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager resp, body = self.request(url, method, **kwargs) 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager File "/usr/lib/python3/dist-packages/hpe3parclient/http.py", line 262, in request 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager raise exceptions.from_response(resp, body) 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager hpe3parclient.exceptions.HTTPForbidden: Forbidden (HTTP 403) 6 - invalid session key 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager During handling of the above exception, another exception occurred: 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager Traceback (most recent call last): 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager File "/usr/lib/python3/dist-packages/hpe3parclient/client.py", line 219, in __init__ 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager api_version = self.getWsApiVersion() 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager File "/usr/lib/python3/dist-packages/hpe3parclient/client.py", line 294, in getWsApiVersion 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager response, body = self.http.get('/api') 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager File "/usr/lib/python3/dist-packages/hpe3parclient/http.py", line 352, in get 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager return self._cs_request(url, 'GET', **kwargs) 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager File "/usr/lib/python3/dist-packages/hpe3parclient/http.py", line 329, in _cs_request 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager resp, body = self._do_reauth(url, method, ex, **kwargs) 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager File "/usr/lib/python3/dist-packages/hpe3parclient/http.py", line 305, in _do_reauth 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager if self.auth_try != 1: 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager AttributeError: 'HTTPJSONRESTClient' object has no attribute 'auth_try' 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager During handling of the above exception, another exception occurred: 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager Traceback (most recent call last): 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager File "/usr/lib/python3/dist-packages/cinder/volume/manager.py", line 524, in _init_host 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager self.driver.do_setup(ctxt) 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager File "/usr/lib/python3/dist-packages/cinder/volume/drivers/hpe/hpe_3par_base.py", line 350, in do_setup 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager common.do_setup(context) 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager File "/usr/lib/python3/dist-packages/cinder/volume/drivers/hpe/hpe_3par_common.py", line 468, in do_setup 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager self.client = self._create_client(timeout=timeout) 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager File "/usr/lib/python3/dist-packages/cinder/volume/drivers/hpe/hpe_3par_common.py", line 408, in _create_client 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager cl = client.HPE3ParClient(hpe3par_api_url, timeout=timeout) 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager File "/usr/lib/python3/dist-packages/hpe3parclient/client.py", line 220, in __init__ 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager except exceptions as ex: 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager TypeError: catching classes that do not inherit from BaseException is not allowed 2025-09-25 13:58:01.638 1889414 ERROR cinder.volume.manager 2025-09-25 13:58:01.814 1889414 INFO cinder.volume.manager [None req-a3bf9ce9-345b-4d68-8506-672369f314e8 - - - - - -] Initializing RPC dependent components of volume driver HPE3PARFCDriver (4.0.7) 2025-09-25 13:58:01.815 1889414 ERROR cinder.volume.volume_utils [None req-a3bf9ce9-345b-4d68-8506-672369f314e8 - - - - - -] Volume driver HPE3PARFCDriver not initialized 2025-09-25 13:58:01.815 1889414 ERROR cinder.volume.manager [None req-a3bf9ce9-345b-4d68-8506-672369f314e8 - - - - - -] Cannot complete RPC initialization because driver isn't initialized properly.: cinder.exception.DriverNotInitialized: Volume driver not ready. 2025-09-25 13:58:11.817 1889414 ERROR cinder.service [-] Manager for service cinder-volume hyd03ctrl02@cinder-alletra is reporting problems, not sending heartbeat. Service will appear "down". 2025-09-25 13:58:21.820 1889414 ERROR cinder.service [-] Manager for service cinder-volume hyd03ctrl02@cinder-alletra is reporting problems, not sending heartbeat. Service will appear "down". ----------------- After checking versions 4.2.12 and 4.2.14 which are available upstream, found that 4.2.14 works with the device. [Impact] * Driver fails to initialize for HPE Alletra MP B10000 with 4.2.11 and 4.2.12 for releases newer or equal to Jammy * Latest upstream package 4.2.14 resolves the above mentioned error [Test Plan] * 4.2.14 remove call to getWsApiVersion() because from Arcus R4, - unauthenticated calls are not allowed. We can check call to - getWsApiVersion() is being called or not with below python file + unauthenticated calls are not allowed. We can check logging in to create + the session ----------------- - import inspect - import hpe3parclient.client + from hpe3parclient import client, exceptions + # this creates the client object and sets the url to the + # 3PAR server with IP 10.10.10.10 on port 8008. + cl = client.HPE3ParClient("http://10.10.10.10:8008/api/v1") - def is_getwsapiversion_called_in_init(): - """ - Check whether getWsApiVersion() is called inside the __init__ method - """ + # SSL certification verification is defaulted to False. In order to + # override this, set secure=True. or secure='/path/to/cert.crt' + # cl = client.HPE3ParClient("https://10.10.10.10:8080/api/v1", + # secure=True) + # Or, to use ca certificates as documented by Python Requests, + # pass in the ca-certificates.crt file + # http://docs.python-requests.org/en/v1.0.4/user/advanced/ + # cl = client.HPE3ParClient("https://10.10.10.10:8080/api/v1", + # secure='/etc/ssl/certs/ca-certificates.crt') - result = { - "called": False, - "lines_found": [], - "init_found": False, - "error": None - } + # Set the SSH authentication options for the SSH based calls. + cl.setSSHOptions(ip_address, username, password) - try: - source_lines = inspect.getsourcelines(hpe3parclient.client.HPE3ParClient)[0] - in_init = False - - for line in source_lines: - stripped = line.strip() - - if stripped.startswith("def __init__"): - in_init = True - result["init_found"] = True - continue - - elif in_init and stripped.startswith("def ") and not stripped.startswith("def __init__"): - break - - if in_init and "getWsApiVersion" in stripped: - result["called"] = True - result["lines_found"].append(stripped) - - except Exception as e: - result["error"] = str(e) - - return result - - if __name__ == "__main__": - res = is_getwsapiversion_called_in_init() - - print("\n=== Check Result ===") - if res["error"]: - print("Error:", res["error"]) - else: - print("Was __init__ found?:", res["init_found"]) - print("Does __init__ call getWsApiVersion()?:", res["called"]) - if (res["lines_found"]): - print("Matching lines:") - for line in res["lines_found"]: - print(" ", line) - + try: + cl.login(username, password) + print "Login worked!" + except exceptions.HTTPUnauthorized as ex: + print "Login failed." ----------------- [Other Info] Upstream [pypi] https://pypi.org/project/python-3parclient/ The latest version is 4.2.14 [github] https://github.com/hpe-storage/python-3parclient
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2128677 Title: [SRU] [Jammy] Driver fails to initialize for Alletra MP B10000 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/python-3parclient/+bug/2128677/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
