yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #53852
[Bug 1565399] Re: A stale file handle error occurs when resizing
Reviewed: https://review.openstack.org/300843
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=f7cbccce3a8ec74e8c49b72fdbd7016f6597d46f
Submitter: Jenkins
Branch: master
commit f7cbccce3a8ec74e8c49b72fdbd7016f6597d46f
Author: Hiroyuki Eguchi <h-eguchi@xxxxxxxxxxxxx>
Date: Sun Apr 3 05:56:06 2016 +0000
Fix stale file handle error in resource tracker
This error can occur when resizing vm and
resource tracker are executed at the same time.
The cause of this bug is that
the file path of a VM disk is changed
temporarily when resizing.
So we have to take into account
the OSError(errno.ESTALE)
in order to avoid above error.
Closes-Bug: #1565399
Change-Id: Idf4af5e7ab82c2e4a08180ba5ce8d996db7c270f
** Changed in: nova
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1565399
Title:
A stale file handle error occurs when resizing
Status in OpenStack Compute (nova):
Fix Released
Bug description:
This error can occur when resizing vm and resource tracker are
executed at the same time.
The cause of this bug is that the file path of a VM disk is changed temporarily when resizing.
(from /var/lib/nova/instances/[UUID]/ to /var/lib/nova/instances/[UUID]_resize/)
The _get_instance_disk_info method which gets a total disk size that all instance uses is executed periodically in resource_tracker.
At that time, the os.path.getsize() method which gets a file size is executed.
It is just a speculation, but the os.path.getsize() method consists of
these steps.
1. open the file by using a fopen method in C
2. get the status of file by using a stat method in C
At that time, if the file path of a VM disk is changed between 1. and 2., a errno.ESTALE will occur.
So we have to take into account the OSError(errno.ESTALE) in order to avoid above error.
It's a very rare case, however it can happen with a shared storage
environment using slow NFS.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1565399/+subscriptions
References