** 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

Reply via email to