Ask Your Question
1

quantum-dhcp-agent fails to start due to dnsmasq --version

asked 2013-10-22 15:30:51 -0500

updated 2013-10-22 15:31:07 -0500

Hello,

I'm using quantum-dhcp-agent 1:2013.1.3-0ubuntu1~cloud0 and its unable to start due to bad stdout when running dnsmasq --version. Which version of dnsmasq should I install that is compatible with quantum/neutron?

2013-10-22 13:25:05     INFO [quantum.common.config] Logging enabled!
2013-10-22 13:25:05    DEBUG [quantum.agent.linux.utils] Running command: ['dnsmasq', '--version']
2013-10-22 13:25:05    DEBUG [quantum.agent.linux.utils] 
Command: ['dnsmasq', '--version']
Exit code: 0
Stdout: 'Dnsmasq version UNKNOWN  Copyright (c) 2000-2012 Simon Kelley\nCompile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack\n\nThis software comes with ABSOLUTELY NO WARRANTY.\nDnsmasq is free software, and you are welcome to redistribute it\nunder the terms of the GNU General Public License, version 2 or 3.\n'
Stderr: ''
2013-10-22 13:25:05  WARNING [quantum.agent.linux.dhcp] Unable to determine dnsmasq version. Please ensure that its version is 2.59 or above!
2013-10-22 13:25:05 CRITICAL [quantum] invalid literal for float(): 2000-2012
Traceback (most recent call last):
  File "/usr/bin/quantum-dhcp-agent", line 20, in <module>
    main()
  File "/usr/lib/python2.7/dist-packages/quantum/agent/dhcp_agent.py", line 741, in main
    manager='quantum.agent.dhcp_agent.DhcpAgentWithStateReport')
  File "/usr/lib/python2.7/dist-packages/quantum/service.py", line 198, in create
    periodic_fuzzy_delay=periodic_fuzzy_delay)
  File "/usr/lib/python2.7/dist-packages/quantum/service.py", line 132, in __init__
    self.manager = manager_class(host=host, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/quantum/agent/dhcp_agent.py", line 679, in __init__
    super(DhcpAgentWithStateReport, self).__init__(host=host)
  File "/usr/lib/python2.7/dist-packages/quantum/agent/dhcp_agent.py", line 83, in __init__
    self.dhcp_version = self.dhcp_driver_cls.check_version()
  File "/usr/lib/python2.7/dist-packages/quantum/agent/linux/dhcp.py", line 249, in check_version
    return float(ver)
ValueError: invalid literal for float(): 2000-2012
</module>
edit retag flag offensive close merge delete

Comments

to add: using ubuntu 12.04.3 LTS; 3.2.0-55-generic kernel Thanks

enarciso gravatar imageenarciso ( 2013-10-22 15:32:47 -0500 )edit

The code checks that the dnsmasq version is >=2.59. But you are getting "UNKNOWN" for the version instead of a number. How did you install dnsmasq? What does 'dpkg -l dnsmasq\*' show?

darragh-oreilly gravatar imagedarragh-oreilly ( 2013-10-23 01:48:27 -0500 )edit

I use chef to automate + using stackforge's cookbook. They compile dnsmasq from source and its unable to put an actual version during compile (see answer below)

enarciso gravatar imageenarciso ( 2013-10-23 15:11:09 -0500 )edit

1 answer

Sort by ยป oldest newest most voted
1

answered 2013-10-23 15:09:51 -0500

Figured it out;

I use opscode chef to automate deployment and using github.com/stackforge/cookbook-openstack-network.git. The cookbook compiles its own dnsmasq from source due to a bug. Ended up manually installing it myself and cookbook skips it.

Here's the line from the attribute + the link to the bug filed:

# On ubuntu precise, we build dnsmasq from source to fetch a more recent
# version of dnsmasq since a backport is not available. For any other
# platform, dnsmasq will be installed as a package
#
# See https://lists.launchpad.net/openstack/msg11696.html
default["openstack"]["network"]["dhcp"]["dnsmasq_url"] = "https://github.com/guns/dnsmasq/archive/v2.65.tar.gz"

# The name of the file we will fetch
default["openstack"]["network"]["dhcp"]["dnsmasq_filename"] = "v2.65.tar.gz"

# The checksum of the remote file we fetched
default["openstack"]["network"]["dhcp"]["dnsmasq_checksum"] = "f6cab8c64cb612089174f50927a05e2b"

# The package architecture that will be built which should match the
# archecture of the server this cookbook will run on which will be
# amd64 or i386
default["openstack"]["network"]["dhcp"]["dnsmasq_architecture"] = "amd64"

# The debian package version that the above tarball will produce
default["openstack"]["network"]["dhcp"]["dnsmasq_dpkgversion"] = "2.65-1"
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower

Stats

Asked: 2013-10-22 15:30:51 -0500

Seen: 938 times

Last updated: Oct 23 '13