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 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
|
||||
|
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 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():
|
||||
|
Loading…
Reference in New Issue
Block a user