NetApp DHSS=True driver does not validate "netapp_root_volume_aggregate"

Bug #1921012 reported by Goutham Pacha Ravi
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Shared File Systems Service (Manila)
Triaged
Low
Carlos Eduardo

Bug Description

Description
===========
The DHSS=True driver for NetApp ONTAP storage system requires the configuration option netapp_root_volume_aggregate. If it isn't set, the driver fails to create a share server (and hence the share) at run time with an error traceback that's not exactly helpful: http://paste.openstack.org/show/803837/

It would be helpful to validate this parameter in the driver's setup method so that failures can be prevented at run time.

Steps to reproduce
==================

A chronological list of steps which will help reproduce the issue you hit:
* Use the NetApp driver with the following configuration

    [test]
    ...
    share_driver=manila.share.drivers.netapp.common.NetAppDriver
    driver_handles_share_servers=True
    netapp_login=<LOGIN>
    netapp_password=<PASSWORD>
    netapp_server_hostname=<NETAPP_HOSTNAME>
    share_backend_name=test
    netapp_transport_type=https
    netapp_storage_family=ontap_cluster
    netapp_server_port=443
    netapp_aggregate_name_search_pattern=(.*)
    netapp_root_volume_aggregate=
    netapp_root_volume_name=root
    ...
* Create a share network based on a VLAN network (NetApp doesn't support VXLAN or GENEVE)
* Create a share and check logs

Expected result
===============
Driver validates the "netapp_root_volume_aggregate" configuration prior so that a run time failure can be prevented. If the validation fails, perhaps the driver can fail to startup with an appropriate message - this forces an administrator to check and fix the issue at the right place. This is an opinion though.

Actual result
=============
Share was set to "error"

Environment
===========
1. OpenStack Train (reproducible in latest version as well)

2. NetApp ONTAP 9.x

tags: added: netapp
Revision history for this message
Maurice Escher (maurice-escher) wrote :

Why do we even need that parameter? Do people put the vserver root volumes on different aggregates than the manila share volumes?
For me it would be good enough to just use one of the aggregates matching 'netapp_aggregate_name_search_pattern'. Maybe this can become the default if 'netapp_root_volume_aggregate' is not set?

Vida Haririan (vhariria)
tags: added: low-hanging-fruit
Vida Haririan (vhariria)
Changed in manila:
importance: Undecided → Low
Changed in manila:
assignee: nobody → Carlos Eduardo (silvacarlose)
Revision history for this message
Vida Haririan (vhariria) wrote :
Revision history for this message
Felipe Rodrigues (felipefutty) wrote (last edit ):

I have tried to reproduce the bug using the most recent manila version. It does not occur, though. Actually, since the patch [1], the `netapp_root_volume_aggregate` is only set if it is different from False. So, the empty string is ignored, using the default ONTAP behavior.

However, the bug with that option may still occur with a different scenario.

1) `netapp_root_volume_aggregate` empty or not informed: it will use the default ONTAP behavior, which chooses the most appropriate aggregate to be the root. After the creation of vserver, the NetApp driver modifies the vserver for having access to the aggregates given by the set `netapp_aggregate_name_search_pattern`. In case the set does not contain the chosen aggregate, the share server setup will fail.

2) `netapp_root_volume_aggregate` invalid aggregate name: value is not part of the ONTAP aggregates, the share server setup will fail.

[1] https://review.opendev.org/c/openstack/manila/+/747048

Revision history for this message
Goutham Pacha Ravi (gouthamr) wrote :

Hey Felipe:

> `netapp_root_volume_aggregate` empty or not informed: it will use the default ONTAP behavior, which chooses the most appropriate aggregate to be the root

Do you know if this behavior is new on ONTAP in a specific version?

Vida Haririan (vhariria)
Changed in manila:
status: New → Triaged
Revision history for this message
Felipe Rodrigues (felipefutty) wrote :

Hi Goutham. I don't have this information, sorry. We can confirm that at least the ones that NetApp still supports have that behavior. If so, it can be used as "all versions".

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.