** Summary changed:

- [SRU] [Jammy] Driver fails to initialize for Alletra MP B10000
+ Driver fails to initialize for Alletra MP B10000

** 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
+ * Driver fails to initialize for HPE Alletra MP B10000
+ * The storage array cannot be used in the OpenStack Cinder use case (at the 
bottom) since the login operation to the array fails with a trace back.
+ 
  
  [ Test Plan ]
  
- * Install python3-3parclient:
+ 1. Install python3-3parclient:
  
  sudo apt update
  sudo apt install python3-3parclient
  
- * Validate connection and initialization on HP Alletra MP B10000:
+ 2. Test the connection and initialization on HP Alletra MP B10000:
  
+ ====
  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";)
  # 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')
  # Set the SSH authentication options for the SSH based calls.
  cl.setSSHOptions(ip_address, username, password)
  try:
-     cl.login(username, password)
-     print "Login worked!"
+     cl.login(username, password)
+     print "Login worked!"
  except exceptions.HTTPUnauthorized as ex:
-     print "Login failed."
+     print "Login failed."
+ ====
  
- - Driver Initialization fails
+ -> Driver Initialization should fail with a trace back
  
- * Install the patched package from the $series-proposed
+ 3. Install the patched package from the $series-proposed
  
- * Validate connection again, initialization succeeds.
- * cinder-three-par charm also works with Jammy Caracal with the proposed fix 
for HP Alletra MP B10000
+ sudo apt update
+ sudo apt install python3-3parclient/$series-proposed
+ 
+ 4. Validate connection again, the initialization should succeed
+ 
  
  [ Where problems could occur ]
  
  * The patch removes an unauthenticated getWsApiVersion() call and alters how 
the client establishes its session and determines the WSAPI version. If older 
3PAR or Primera arrays still expect the getWsApiVersion() request before 
authentication, the new client could
  - Fail to negotiate the correct WSAPI version.
  - Receive unexpected unsupported version or invalid request errors from 
legacy arrays.
  
  * These errors might be coming while driver initialization in Openstack
  Cinder fails, unit tests invoking client.getWsAPIversion() after login
  behave differently.
  
  However, the changes has been verified upstream and tested against
  multiple array firmware versions. Regression potential is low.
  
  [Other Info]
  
- Upstream
+ This is a bug fixed in the latest upstream pypi package 4.2.14
+ (https://pypi.org/project/python-3parclient/). The exact commit is
+ https://github.com/hpe-
+ storage/python-3parclient/commit/48c23654350aabf0aac480b2807dd183ee7abda0.
  
- [pypi]
- https://pypi.org/project/python-3parclient/
- The latest version is 4.2.14
+ Even though the original bug report mentions OpenStack Cinder use cases,
+ there is no fix required for the OpenStack Cinder driver side. It's
+ purely an issue between the API client package and the stroage array.
  
- [github]
- https://github.com/hpe-storage/python-3parclient
+ 
+ [Original bug report]
+ 
+ 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.

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