Stop the dhcp-agent process when dnsmasq version is not determined
When it is not possible to determinate the dnsmasq version or dnsmasq is not installed, neutron shows only a warning message. With this commit the dhcp-agent process will be stopped if the dnsmasq service is not installed. Modifies the dhcp version unit test with the expected SystemExit exception Change-Id: Ia26eaae6f432305f412a4b6a4a6b2b7b15d99d45 Closes-Bug: 1212401
This commit is contained in:
parent
bf2a68990e
commit
f3165d2a48
|
@ -318,9 +318,10 @@ class Dnsmasq(DhcpLocalProcess):
|
|||
'Please ensure that its version is %s '
|
||||
'or above!'), cls.MINIMUM_VERSION)
|
||||
except (OSError, RuntimeError, IndexError, ValueError):
|
||||
LOG.warning(_('Unable to determine dnsmasq version. '
|
||||
'Please ensure that its version is %s '
|
||||
'or above!'), cls.MINIMUM_VERSION)
|
||||
LOG.error(_('Unable to determine dnsmasq version. '
|
||||
'Please ensure that its version is %s '
|
||||
'or above!'), cls.MINIMUM_VERSION)
|
||||
raise SystemExit(1)
|
||||
return float(ver)
|
||||
|
||||
@classmethod
|
||||
|
|
|
@ -18,6 +18,7 @@ import os
|
|||
|
||||
import mock
|
||||
from oslo.config import cfg
|
||||
import testtools
|
||||
|
||||
from neutron.agent.common import config
|
||||
from neutron.agent.linux import dhcp
|
||||
|
@ -1284,7 +1285,8 @@ tag:tag0,option:router""".lstrip()
|
|||
float(2.48))
|
||||
|
||||
def test_check_version_failed_cmd_execution(self):
|
||||
self._check_version('Error while executing command', 0)
|
||||
with testtools.ExpectedException(SystemExit):
|
||||
self._check_version('Error while executing command', 0)
|
||||
|
||||
def test_only_populates_dhcp_enabled_subnets(self):
|
||||
exp_host_name = '/dhcp/eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee/host'
|
||||
|
|
Loading…
Reference in New Issue