** Description changed:

  We're trying to use cinder-netapp, and the driver fails to start with the 
following error.
  https://pastebin.ubuntu.com/p/dwMdrVwdtf/
  
  After enabling debugging, I noticed that one node doesn't report its model.
  Checking on netapp side, the node is down due to a hardware issue, and 
another one is taking over the current node.
  
  If i add or ''  to get_cluster_nodes_info. it works fine.
  
  In this current setup, if any node goes down and the driver restarts,
  Cinder won't be able to recover.
+ 
+ 
+ ***************************
+ 
+ [SRU]
+ 
+ [Impact]
+ cinder-volume service fails to start when cinder-netapp driver is used with 
some netapp nodes in maintenance state.
+ 
+ The service during driver initialization queries the netapp server for all 
the nodes information. Typically the node
+ name, model and certain other attributes are expected. However in case if the 
node is in maintenance mode, the
+ model information is missing.
+ cinder-volume service does not handle properly in case the model value is 
None and so the service goes to failed state.
+ 
+ The fix checks if the model value is None and assigns empty string as default 
value. In addition, a warning message is
+ logged for missing model values.
+ 
+ [Test Case]
+ To test the fix, netapp storage nodes are required.
+ However the effect of the fix can be easily tested using unit testing by 
simple changes.
+ 
+ In the file tests/unit/volume/drivers/netapp/dataontap/fakes.py
+ Change the model value in dict NO_MODEL_NODE to None instead of ''
+ Run `tox -e py3 -- 
cinder.tests.unit.volume.drivers.netapp.dataontap.client.test_client_cmode_rest.NetAppRestCmodeClientTestCase`
+ 
+ All the test cases failed in driver initialization with following error:
+ TypeError: argument of type 'NoneType' is not iterable
+ 
+ [Regression Potential]
+ In order to mitigate any regression potential, the fix has been tested with 
real hardware for jammy caracal
+ Also the default logic is not changed when model is provided by netapp server.
+ 
+ [Discussion]
+ n/a

** Also affects: cinder (Ubuntu)
   Importance: Undecided
       Status: New

** Summary changed:

- cinder-netapp driver fails to start when a node is down
+ [SRU] cinder-netapp driver fails to start when a node is down

** Also affects: cinder (Ubuntu Plucky)
   Importance: Undecided
       Status: New

** Also affects: cinder (Ubuntu Questing)
   Importance: Undecided
       Status: New

** Also affects: cinder (Ubuntu Noble)
   Importance: Undecided
       Status: New

** Also affects: cloud-archive
   Importance: Undecided
       Status: New

** Also affects: cloud-archive/epoxy
   Importance: Undecided
       Status: New

** Also affects: cloud-archive/caracal
   Importance: Undecided
       Status: New

** Patch added: "lp2121812_noble.patch"
   
https://bugs.launchpad.net/cloud-archive/+bug/2121812/+attachment/5907999/+files/lp2121812_noble.patch

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2121812

Title:
  [SRU] cinder-netapp driver fails to start when a node is down

To manage notifications about this bug go to:
https://bugs.launchpad.net/cinder/+bug/2121812/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to