** 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]
  
- * Install cinder-three-par charm with HPE Alletra MP B10000 device for
- Jammy Caracal
+ * 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
+ 
+ -----------------
+ import inspect
+ import hpe3parclient.client
+ 
+ def is_getwsapiversion_called_in_init():
+     """
+     Check whether getWsApiVersion() is called inside the __init__ method
+     """
+ 
+     result = {
+         "called": False,
+         "lines_found": [],
+         "init_found": False,
+         "error": None
+     }
+ 
+     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)
+ 
+ -----------------
  
  [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

Reply via email to