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
'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
import mock
from oslo.config import cfg
+import testtools
from neutron.agent.common import config
from neutron.agent.linux import dhcp
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'