from ganeti import compat
+ETC_HOSTS = "/etc/hosts"
+
_VIRT_PATH_PREFIX = "/###-VIRTUAL-PATH-###,"
_ROOTDIR_ENVNAME = "GANETI_ROOTDIR"
_HOSTNAME_ENVNAME = "GANETI_HOSTNAME"
+#: List of paths which shouldn't be virtualized
+_VPATH_WHITELIST = frozenset([
+ ETC_HOSTS,
+ ])
+
def _GetRootDirectory(envname):
"""Retrieves root directory from an environment variable.
"""
assert os.path.isabs(path)
- if _noderoot:
+ if _noderoot and path not in _VPATH_WHITELIST:
return _VIRT_PATH_PREFIX + _RemoveNodePrefix(path, _noderoot=_noderoot)
else:
return path
"""
assert os.path.isabs(path)
- if _noderoot:
+ if _noderoot and path not in _VPATH_WHITELIST:
if path.startswith(_VIRT_PATH_PREFIX):
return AddNodePrefix(path[len(_VIRT_PATH_PREFIX):], _noderoot=_noderoot)
else: