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