Comment 3 for bug 1412818

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.openstack.org/148577
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=332204fec7e96339947aa662b25adc9925609c4f
Submitter: Jenkins
Branch: master

commit 332204fec7e96339947aa662b25adc9925609c4f
Author: Ihar Hrachyshka <email address hidden>
Date: Tue Jan 20 15:18:36 2015 +0100

    dhcp: move dnsmasq version check to sanity_check

    We should avoid checking version numbers in runtime. In that way, we may
    break some existing setups by minimal version bumps that are often not
    critical for operation. One example is a recent version bump to support
    IPv6 DHCP stateful address assignment mode. Even though old dnsmasq
    version made this particular mode to fail to assign addresses to
    instances, other IPv6 modes, and, even more importantly, all IPv4
    networks continued to operate with no issues.

    So let's move the fatal check from DHCP agent into sanity_check tool to
    avoid potential breakages on neutron update.

    In ideal world, we would make the check smarter. Since current version
    cap is due to missing hwaddr matching for IPv6 clients for old dnsmasq
    versions, we could preconfigure and start up dnsmasq server in a
    namespace, and request a IPv6 lease from it. That would require a DHCP
    IPv6 client installed though, and I'm not sure we can always expect it
    to be present, so leaving it as-is for now.

    Since DHCP drivers are pluggable, we cannot drop check_version method
    from DhcpBase to support other drivers that may live in the wild.

    Note: we could mark the method as deprecated if we really want to get
    rid of it.

    Closes-Bug: #1412818
    Change-Id: I7a75cccf3880d3b18005ae0def5a17dfd8a00182