[doc] Stale pools data not removed from cache after timeout

Bug #1915094 reported by Vida Haririan
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Shared File Systems Service (Manila)
Triaged
Low
Saravanan Manickam

Bug Description

Stale pools data is not removed from cache after timeout period. The old aggregate entry still shows in manila.log file.

Steps:
- Change an existing aggregate name from aggrx_n1 to aggry_n1
- Wait for cache to refresh, 60 sec
- Show manila.log
- Expect: Manila log to only show the new aggregate, aggry_n1
- Actual: Both aggrx_n1 to aggry_n1 are still stored in cache

Reproduced 100%

Vida Haririan (vhariria)
tags: added: driver netapp
summary: - Netapp driver does not remove stale pools data from cache after timeout
+ [Netapp] Stale pools data is not removed from cache after timeout
description: updated
Vida Haririan (vhariria)
tags: removed: driver netapp
Vida Haririan (vhariria)
Changed in manila:
importance: Undecided → Low
milestone: none → wallaby-rc1
assignee: nobody → Goutham Pacha Ravi (gouthamr)
Revision history for this message
Vida Haririan (vhariria) wrote : Re: [Netapp] Stale pools data is not removed from cache after timeout
summary: - [Netapp] Stale pools data is not removed from cache after timeout
+ Stale pools data not removed from cache after timeout
tags: added: wallaby-rc-bugsquash
Changed in manila:
milestone: wallaby-rc1 → xena-1
tags: removed: wallaby-rc-bugsquash
Changed in manila:
milestone: xena-1 → xena-2
Changed in manila:
milestone: xena-2 → yoga-1
Changed in manila:
milestone: yoga-1 → yoga-2
Changed in manila:
milestone: yoga-2 → yoga-3
Changed in manila:
milestone: yoga-3 → yoga-rc1
tags: added: yoga-m3-bugsquash
Changed in manila:
milestone: yoga-rc1 → zed-1
Changed in manila:
milestone: zed-1 → zed-2
Changed in manila:
milestone: zed-2 → zed-3
Revision history for this message
Carlos Eduardo (silvacarlose) wrote : Re: Stale pools data not removed from cache after timeout

Nahim will help trying to reproduce this in a NetApp storage.

Changed in manila:
assignee: Goutham Pacha Ravi (gouthamr) → Nahim Alves de Souza (nahimsouza)
Revision history for this message
Nahim Alves de Souza (nahimsouza) wrote :

Hi Vida, we were able to reproduce this bug. Using a NetApp backend, when the aggregate name is changed, nothing changes on the pool-list. The old aggregate remains on the list and the new aggregate is not shown, unless manila service is restarted.

However, we need to discuss this behavior before making any changes. Do you know any customer that reported this bug?

Our concern is the impact that this change can bring to the driver behavior, because renaming the aggregate could break the existing shares on the pool that was renamed and today customers normally restart the service whenever they need to change the backend configuration.

I would like to hear your opinion about that.
And also, Goutham/Carlos, what do you think?

Revision history for this message
Vida Haririan (vhariria) wrote :

Hi Nahim, Thank you for clarifying the reproduce steps. I am not aware of an incident, and will discuss with Goutham/Carlos and provide feedback.

Revision history for this message
Carlos Eduardo (silvacarlose) wrote :

Thank you for getting back with more information, Nahim. I am currently confused with all of the pool renaming thing. I was checking the database and realized that the host is stored in a share as a string [1]. In case the pool name changes and there are shares created, we would need to modify that host information on the shares as well, considering that some operations will get the host and pool information.
If we take as an example the shares migration or replication: we forward to the driver the current host and pool that hosts the share, and the driver might need to connect to the pool or the host. In that case, I believe that could break some operations as well. Did you try replication, share migration or creating shares from snapshots in different pools/backends?
I am not aware of any issues hit by customers in the recent past, but if the issue I mentioned above occurs, then it might be a big issue that will block some operations with shares. Renaming a pool is not something people would do very often, so this might be the reason why we have not seen some cases like this in the past.
It is good to hear that the restart of the service gets the new information though :) - I'd say we'd need to be aware if it will break other operations then.

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

IMHO, renaming a backend resource is a breaking operation for the reasons you mentioned - i.e., the pool info is stored on manila and used by the driver to locate resources. One way the driver can support this in an automated manned is through ensure_shares - and that currently is kicked off only with bouncing the manila-share service. A challenge here though is something needs to tell the driver that the pool names have changed from underneath it - the driver has so far been stateless in this regard.

I think the decent solution for folks that may attempt renaming NetApp storage aggregates is by documenting this procedure:

1) Rename aggregate
2) Use manila-manage to update share hosts (``manila-manage share update_host [-h] --currenthost CURRENTHOST --newhost NEWHOST [--force FORCE]``)
3) Restart the manila-share service

Revision history for this message
Nahim Alves de Souza (nahimsouza) wrote :

Thank you all for the inputs.

Goutham's suggestion sounds good to me - we could document the procedure to inform the user/customer how this renaming operation should be done.

Changed in manila:
milestone: zed-3 → antelope-1
summary: - Stale pools data not removed from cache after timeout
+ [doc] Stale pools data not removed from cache after timeout
Changed in manila:
milestone: antelope-1 → antelope-2
Changed in manila:
milestone: antelope-2 → antelope-3
Changed in manila:
milestone: antelope-3 → antelope-rc1
Changed in manila:
milestone: antelope-rc1 → bobcat-1
Vida Haririan (vhariria)
Changed in manila:
status: New → Triaged
Changed in manila:
milestone: bobcat-1 → bobcat-2
Changed in manila:
milestone: bobcat-2 → bobcat-3
Changed in manila:
milestone: bobcat-3 → caracal-1
Changed in manila:
assignee: Nahim Alves de Souza (nahimsouza) → Saravanan Manickam (msaravan)
milestone: caracal-1 → caracal-2
Changed in manila:
milestone: caracal-2 → caracal-rc1
Changed in manila:
milestone: caracal-rc1 → dalmation-1
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.