This is a forward-port of commit 1163 on the 1.2 branch:
This fixes the removal of the instance symlinks (probably breakage from
the glob changes).
Reviewed-by: imsnah
"""Remove the block device symlinks belonging to the given instance.
"""
- for i in os.listdir(constants.DISK_LINKS_DIR):
- if os.path.islink(i) and i.startswith('%s-' % instance_name):
+ for short_name in os.listdir(constants.DISK_LINKS_DIR):
+ link_name = os.path.join(constants.DISK_LINKS_DIR, short_name)
+ if (os.path.islink(link_name) and
+ short_name.startswith('%s-' % instance_name)):
try:
- os.remove(link)
- except OSError, e:
- pass # Ignore errors when removing the symlinks
+ os.remove(link_name)
+ except OSError:
+ logging.exception("Can't remove symlink '%s'", link_name)
def _GatherAndLinkBlockDevs(instance):