From: Kevin Benton Date: Tue, 26 Aug 2014 08:52:00 +0000 (-0700) Subject: Check for IPv6 file before reading X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=0c963f6140237d8d3f361c6aaa7d2a6b656504db;p=openstack-build%2Fneutron-build.git Check for IPv6 file before reading Check to see if the IPv6 disabled flag file exists before trying to read it. This file doesn't exist on systems with the IPv6 module blacklisted. Closes-Bug: #1361542 Change-Id: I4064b4189cc9d8f0f0e0e7025cf6f83d5b6ec276 --- diff --git a/neutron/common/ipv6_utils.py b/neutron/common/ipv6_utils.py index 21b86acae..96e1ef234 100644 --- a/neutron/common/ipv6_utils.py +++ b/neutron/common/ipv6_utils.py @@ -16,10 +16,15 @@ """ IPv6-related utilities and helper functions. """ +import os import netaddr +from neutron.openstack.common.gettextutils import _LI +from neutron.openstack.common import log + +LOG = log.getLogger(__name__) _IS_IPV6_ENABLED = None @@ -47,7 +52,12 @@ def is_enabled(): if _IS_IPV6_ENABLED is None: disabled_ipv6_path = "/proc/sys/net/ipv6/conf/default/disable_ipv6" - with open(disabled_ipv6_path, 'r') as f: - disabled = f.read().strip() - _IS_IPV6_ENABLED = disabled == "0" + if os.path.exists(disabled_ipv6_path): + with open(disabled_ipv6_path, 'r') as f: + disabled = f.read().strip() + _IS_IPV6_ENABLED = disabled == "0" + else: + _IS_IPV6_ENABLED = False + if not _IS_IPV6_ENABLED: + LOG.info(_LI("IPv6 is not enabled on this system.")) return _IS_IPV6_ENABLED