diff --git a/neutron/agent/linux/dhcp.py b/neutron/agent/linux/dhcp.py index 52b4bd3627f..eb40ff93625 100644 --- a/neutron/agent/linux/dhcp.py +++ b/neutron/agent/linux/dhcp.py @@ -36,7 +36,7 @@ from neutron.agent.common import utils as agent_common_utils from neutron.agent.linux import external_process from neutron.agent.linux import ip_lib from neutron.agent.linux import iptables_manager -from neutron.cmd.sanity import checks +from neutron.cmd import runtime_checks as checks from neutron.common import constants as n_const from neutron.common import utils as common_utils from neutron.extensions import extra_dhcp_opt as edo_ext diff --git a/neutron/cmd/runtime_checks.py b/neutron/cmd/runtime_checks.py new file mode 100644 index 00000000000..0fd33b6fc3f --- /dev/null +++ b/neutron/cmd/runtime_checks.py @@ -0,0 +1,37 @@ +# Copyright (c) 2014 OpenStack Foundation. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from oslo_log import log as logging + +from neutron.agent.linux import utils as agent_utils + +LOG = logging.getLogger(__name__) + + +# NOTE: Runtime checks are strongly discouraged in favor of sanity checks +# which would be run at system setup time. Please consider writing a +# sanity check instead. + + +def dhcp_release6_supported(): + try: + cmd = ['dhcp_release6', '--help'] + env = {'LC_ALL': 'C'} + agent_utils.execute(cmd, addl_env=env) + except (OSError, RuntimeError, IndexError, ValueError) as e: + LOG.debug("Exception while checking dhcp_release6. " + "Exception: %s", e) + return False + return True diff --git a/neutron/cmd/sanity/checks.py b/neutron/cmd/sanity/checks.py index 6b6018552b7..3eb78965812 100644 --- a/neutron/cmd/sanity/checks.py +++ b/neutron/cmd/sanity/checks.py @@ -32,6 +32,7 @@ from neutron.agent.linux import ip_lib from neutron.agent.linux import ip_link_support from neutron.agent.linux import keepalived from neutron.agent.linux import utils as agent_utils +from neutron.cmd import runtime_checks from neutron.common import constants from neutron.common import utils as common_utils from neutron.plugins.common import constants as const @@ -217,15 +218,7 @@ def dnsmasq_version_supported(): def dhcp_release6_supported(): - try: - cmd = ['dhcp_release6', '--help'] - env = {'LC_ALL': 'C'} - agent_utils.execute(cmd, addl_env=env) - except (OSError, RuntimeError, IndexError, ValueError) as e: - LOG.debug("Exception while checking dhcp_release6. " - "Exception: %s", e) - return False - return True + return runtime_checks.dhcp_release6_supported() def bridge_firewalling_enabled():