Public bug reported:
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.
** Affects: nova
Importance: Undecided
Assignee: Hiroyuki Eguchi (h-eguchi)
Status: New
** Changed in: nova
Assignee: (unassigned) => Hiroyuki Eguchi (h-eguchi)
--
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):
New
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
--
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help : https://help.launchpad.net/ListHelp