Move dhcp_release6_supported to runtime checks file
Since one of the main reasons for the sanity check system was to avoid doing runtime checks, importing a sanity check to do a runtime check encourages bad behavior. This moves the check to a new runtime_checks.py file that includes a note encouraging people to use sanity checks wherever possible. Change-Id: I06bffe00bb796b4727dca7867a15302582ffcc10
This commit is contained in:
parent
ca8abce1d5
commit
7e4b9f2446
@ -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 external_process
|
||||||
from neutron.agent.linux import ip_lib
|
from neutron.agent.linux import ip_lib
|
||||||
from neutron.agent.linux import iptables_manager
|
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 constants as n_const
|
||||||
from neutron.common import utils as common_utils
|
from neutron.common import utils as common_utils
|
||||||
from neutron.extensions import extra_dhcp_opt as edo_ext
|
from neutron.extensions import extra_dhcp_opt as edo_ext
|
||||||
|
37
neutron/cmd/runtime_checks.py
Normal file
37
neutron/cmd/runtime_checks.py
Normal file
@ -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
|
@ -32,6 +32,7 @@ from neutron.agent.linux import ip_lib
|
|||||||
from neutron.agent.linux import ip_link_support
|
from neutron.agent.linux import ip_link_support
|
||||||
from neutron.agent.linux import keepalived
|
from neutron.agent.linux import keepalived
|
||||||
from neutron.agent.linux import utils as agent_utils
|
from neutron.agent.linux import utils as agent_utils
|
||||||
|
from neutron.cmd import runtime_checks
|
||||||
from neutron.common import constants
|
from neutron.common import constants
|
||||||
from neutron.common import utils as common_utils
|
from neutron.common import utils as common_utils
|
||||||
from neutron.plugins.common import constants as const
|
from neutron.plugins.common import constants as const
|
||||||
@ -217,15 +218,7 @@ def dnsmasq_version_supported():
|
|||||||
|
|
||||||
|
|
||||||
def dhcp_release6_supported():
|
def dhcp_release6_supported():
|
||||||
try:
|
return runtime_checks.dhcp_release6_supported()
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
def bridge_firewalling_enabled():
|
def bridge_firewalling_enabled():
|
||||||
|
Loading…
Reference in New Issue
Block a user