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 : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp