Bug 1545006 - openstack-neutron DHCP agent requires dnsmasq-utils 2.76
Summary: openstack-neutron DHCP agent requires dnsmasq-utils 2.76
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-neutron
Version: 10.0 (Newton)
Hardware: x86_64
OS: Linux
low
low
Target Milestone: z9
: 10.0 (Newton)
Assignee: Bernard Cafarelli
QA Contact: Toni Freger
URL:
Whiteboard:
Depends On: 1554860
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-02-14 02:03 UTC by Pradipta Kumar Sahoo
Modified: 2022-07-09 11:48 UTC (History)
8 users (show)

Fixed In Version: openstack-neutron-9.4.1-18.el7ost
Doc Type: Bug Fix
Doc Text:
Previously, when a VM was destroyed, the IPv6 lease was not removed from dnsmasq lease files due to a missing dhcp_release6 binary. With this update, the dhcp_release6 binary is now provided in an updated dnsmasq-utils package version.
Clone Of:
: 1547646 (view as bug list)
Environment:
Last Closed: 2018-09-17 16:52:18 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Launchpad 1521666 0 None None None 2018-02-14 02:03:35 UTC
RDO 12586 0 None None None 2018-02-28 15:30:58 UTC
Red Hat Issue Tracker OSP-4852 0 None None None 2022-07-09 11:48:33 UTC
Red Hat Product Errata RHSA-2018:2715 0 None None None 2018-09-17 16:54:15 UTC

Description Pradipta Kumar Sahoo 2018-02-14 02:03:35 UTC
Description of problem:
dnsmasq-utils-2.66 doesn't include dhcp_release6 binary on RHOSP10

Version-Release number of selected component (if applicable):
Red Hat OpenStack 10

How reproducible:
Reproduced on customer environment
Reproduced on Lab environment

Steps to Reproduce:
~~~
# rpm -ql dnsmasq-utils-2.66-21.el7.x86_64
/usr/bin/dhcp_lease_time
/usr/bin/dhcp_release
/usr/share/man/man1/dhcp_lease_time.1.gz
/usr/share/man/man1/dhcp_release.1.gz
~~~

Actual results:
Due to this when VM destroyed the lease is not removed in dnsmasq leases file,

For example:
# cat  /var/lib/neutron/dhcp/0c3af617-acd3-4bd3-86d2-7cdba82893c5/leases 
duid 00:01:00:01:22:11:7e:ac:fa:16:3e:bc:d8:06
1518427996 1053517130 xxx:xxx:xxx:xxx::xx host-2001-xxx-xxxx-e01--15 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx

Below exception from neutron dhcp-agent.log indicate that it depends on dhcp_release6 binary.
~~~
$ grep dhcp_release6 sosreport-overcloud-controller-0.02033012-20180212105751/var/log/neutron/dhcp-agent.log
2018-02-12 08:28:58.306 97074 DEBUG neutron.agent.linux.utils [req-ef61cc7b-5e3b-4e9d-b942-65246f63a126 9e16ad0a563d436e9f83533773c19e14 5f1b1e40249641ac9c96cf779b60119c - - -] Running command: ['env', 'LC_ALL=C', 'dhcp_release6', '--help'] create_process /usr/lib/python2.7/site-packages/neutron/agent/linux/utils.py:89
2018-02-12 08:28:58.313 97074 ERROR neutron.agent.linux.utils [req-ef61cc7b-5e3b-4e9d-b942-65246f63a126 9e16ad0a563d436e9f83533773c19e14 5f1b1e40249641ac9c96cf779b60119c - - -] Exit code: 127; Stdin: ; Stdout: ; Stderr: env: dhcp_release6: No such file or directory
2018-02-12 08:28:58.314 97074 DEBUG neutron.cmd.sanity.checks [req-ef61cc7b-5e3b-4e9d-b942-65246f63a126 9e16ad0a563d436e9f83533773c19e14 5f1b1e40249641ac9c96cf779b60119c - - -] Exception while checking dhcp_release6. Exception: Exit code: 127; Stdin: ; Stdout: ; Stderr: env: dhcp_release6: No such file or directory
 dhcp_release6_supported /usr/lib/python2.7/site-packages/neutron/cmd/sanity/checks.py:226
2018-02-12 08:28:58.314 97074 WARNING neutron.agent.linux.dhcp [req-ef61cc7b-5e3b-4e9d-b942-65246f63a126 9e16ad0a563d436e9f83533773c19e14 5f1b1e40249641ac9c96cf779b60119c - - -] dhcp_release6 is not present on this system, will not call it again.
2018-02-12 10:47:29.968 345841 DEBUG neutron.agent.linux.utils [req-a3a679b6-ba45-4ed0-b9f8-68302d338cd3 9e16ad0a563d436e9f83533773c19e14 5f1b1e40249641ac9c96cf779b60119c - - -] Running command: ['env', 'LC_ALL=C', 'dhcp_release6', '--help'] create_process /usr/lib/python2.7/site-packages/neutron/agent/linux/utils.py:89
2018-02-12 10:47:29.975 345841 ERROR neutron.agent.linux.utils [req-a3a679b6-ba45-4ed0-b9f8-68302d338cd3 9e16ad0a563d436e9f83533773c19e14 5f1b1e40249641ac9c96cf779b60119c - - -] Exit code: 127; Stdin: ; Stdout: ; Stderr: env: dhcp_release6: No such file or directory
2018-02-12 10:47:29.976 345841 DEBUG neutron.cmd.sanity.checks [req-a3a679b6-ba45-4ed0-b9f8-68302d338cd3 9e16ad0a563d436e9f83533773c19e14 5f1b1e40249641ac9c96cf779b60119c - - -] Exception while checking dhcp_release6. Exception: Exit code: 127; Stdin: ; Stdout: ; Stderr: env: dhcp_release6: No such file or directory
 dhcp_release6_supported /usr/lib/python2.7/site-packages/neutron/cmd/sanity/checks.py:226
2018-02-12 10:47:29.976 345841 WARNING neutron.agent.linux.dhcp [req-a3a679b6-ba45-4ed0-b9f8-68302d338cd3 9e16ad0a563d436e9f83533773c19e14 5f1b1e40249641ac9c96cf779b60119c - - -] dhcp_release6 is not present on this system, will not call it again.
~~~


Expected results:
dhcp_release6 should present dnsmasq-utils package similar to OSP12 on the dnsmasq-utils package and release IPv6 entries from DHCP lease.

~~~
# rpm -ql dnsmasq-utils-2.76-2.el7_4.2.x86_64
/usr/bin/dhcp_lease_time
/usr/bin/dhcp_release
/usr/bin/dhcp_release6
/usr/share/man/man1/dhcp_lease_time.1.gz
/usr/share/man/man1/dhcp_release.1.gz
/usr/share/man/man1/dhcp_release6.1.gz

# yum info dnsmasq-utils-2.76-2.el7_4.2.x86_64
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Installed Packages
Name        : dnsmasq-utils
Arch        : x86_64
Version     : 2.76
Release     : 2.el7_4.2
Size        : 39 k
Repo        : installed
From repo   : rhel-7-server-openstack-12-rpms
Summary     : Utilities for manipulating DHCP server leases
URL         : http://www.thekelleys.org.uk/dnsmasq/
License     : GPLv2 or GPLv3
Description : Utilities that use the standard DHCP protocol to
            : query/remove a DHCP server's leases.
~~~

Additional info:
Impacting to customer environment.

Comment 2 Assaf Muller 2018-02-14 14:17:51 UTC
According to brewweb, dnsmasq 2.76 is tagged in RHEL 7.4, and that includes dnsmasq-utils-2.76 which includes dhcp6_release. OSP 10 is supported on RHEL 7.4, so the customer should get the correct dnsmasq and dnsmasq-utils package. Can you please confirm the customer is on latest RHEL?

Comment 4 Assaf Muller 2018-02-19 14:52:42 UTC
Assigning to Bernard. We triaged this bug on a triaging team call and it seems like dnsmasq and dnsmasq-utils don't have shared code and are essentially independent, meaning they can run with mismatched versions, so the solution is to require a minimal version of dnsmasq-utils in the Neutron spec.

Comment 5 Bernard Cafarelli 2018-02-21 16:27:11 UTC
The actual RFE here was #1375569, only issue is that we do not explicitely require 2.76 in openstac-neutron spec.

Comment 8 Jon Schlueter 2018-06-28 19:35:39 UTC
According to our records, this should be resolved by openstack-neutron-9.4.1-19.el7ost.  This build is available now.

Comment 10 Alex McLeod 2018-09-03 08:02:09 UTC
Hi there,

If this bug requires doc text for errata release, please set the 'Doc Type' and provide draft text according to the template in the 'Doc Text' field.

The documentation team will review, edit, and approve the text.

If this bug does not require doc text, please set the 'requires_doc_text' flag to -.

Thanks,
Alex

Comment 12 errata-xmlrpc 2018-09-17 16:52:18 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2018:2715


Note You need to log in before you can comment on or make changes to this bug.