Bug 1397702 - ISC DHCP known reservations/leases not updated over NFS
Summary: ISC DHCP known reservations/leases not updated over NFS
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: DHCP & DNS
Version: 6.3.0
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: Unspecified
Assignee: Dmitri Dolguikh
QA Contact: Sanket Jagtap
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-11-23 08:44 UTC by Lukas Zapletal
Modified: 2021-06-10 11:42 UTC (History)
14 users (show)

Fixed In Version: rubygem-smart_proxy_dhcp_remote_isc-0.0.2
Doc Type: Enhancement
Doc Text:
Provide a note in https://access.redhat.com/documentation/en/red-hat-satellite/6.2/paged/installation-guide/chapter-5-configuring-external-services to turn off inotify system for DHCP plugin because this will not work via NFS.
Clone Of:
: 1401412 (view as bug list)
Environment:
Last Closed: 2018-02-21 16:54:17 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Foreman Issue Tracker 22320 0 None None None 2018-01-19 11:22:47 UTC
Red Hat Bugzilla 1535972 0 unspecified CLOSED Not possible to --enable-foreman-proxy-plugin-dhcp-remote-isc 2021-02-22 00:41:40 UTC

Internal Links: 1535972

Description Lukas Zapletal 2016-11-23 08:44:09 UTC
After upgrading to 1.13.1 the DHCP behavior is not consistent:

Adding a host successfully retrieves an available IP and inserts a reservation in the leases file

Updating a hosts interface values causes a DHCP exception on submit, in the prior version I received an overwrite prompt

Deleting a host works without error but the DHCP reservation is not removed from the leases file.

This was reported upstream, creating a 6.3 ticket as this is regression in Satellite 6:

https://access.redhat.com/documentation/en/red-hat-satellite/6.2/paged/installation-guide/chapter-5-configuring-external-services

Comment 2 Lukas Zapletal 2016-12-01 11:02:48 UTC
I reported this based on upstream report: http://projects.theforeman.org/issues/17301#note-12

This is a regression introduced by inotify thing in DHCP module, I think the inotify should have been configurable from the day one. User can choose if they want better performance or HA (which can be slow over NFS).

How we should handle this, Ohad?

Comment 3 Ohad Levy 2016-12-01 11:14:05 UTC
As for now, the workaround for HA (with Satellite version 6.3) should entail using a block volume (such as iscsi) instead with only one master in RW mode.

Comment 4 Stephen Wadeley 2016-12-05 07:50:28 UTC
I will clone for the Installation Guide (the Doc Text field in Engineering bugs is for use in Errata and Release Notes, the guides need their own bug).

Comment 5 Lucie Jirakova 2016-12-09 11:38:07 UTC
(In reply to Stephen Wadeley from comment #4)
> I will clone for the Installation Guide (the Doc Text field in Engineering
> bugs is for use in Errata and Release Notes, the guides need their own bug).

The documentation update has been made within bug 1378551 as per comment https://bugzilla.redhat.com/show_bug.cgi?id=1378551#c23.

Comment 6 Dmitri Dolguikh 2017-05-23 10:51:40 UTC
There's now a dedicated module for handling remote dhcpd setups: https://github.com/theforeman/smart_proxy_dhcp_remote_isc. It's been packaged and is available from 1.15 and nightly foreman yum repositories.

Comment 8 Dmitri Dolguikh 2017-06-02 08:38:47 UTC
Correct, that's the fix to use in downstream.

Comment 11 Dmitri Dolguikh 2017-06-06 13:33:37 UTC
AFAIK the only thing that is missing is support for dhcp_remote_isc provider in the installer.

Comment 13 Dmitri Dolguikh 2017-06-29 10:51:03 UTC
Turns out I added a puppet module for the installer when I created the provider: https://github.com/theforeman/puppet-foreman_proxy/blob/master/manifests/plugin/dhcp/remote_isc.pp

Comment 17 Ivan Necas 2017-10-30 11:45:06 UTC
I believe all the required work landed upstream. We need just pull the packages downstream. Moving to MODIFIED.

Comment 18 Evgeni Golov 2017-11-14 10:36:55 UTC
NI on Dmitri as Ivan is on PTO.

By "the packages" Ivan means "rubygem-smart_proxy_dhcp_remote_isc", that's the only package needed, right?

Comment 19 Dmitri Dolguikh 2017-11-14 18:49:15 UTC
Ivan probably means that rubygem-smart_proxy_dhcp_remote_isc and corresponding changes to the proxy puppet module are available upstream.

Comment 20 Evgeni Golov 2017-11-15 08:58:08 UTC
Ok, we already have the needed installer changes downstream, so let's pull in rubygem-smart_proxy_dhcp_remote_isc and see how it goes. Thanks!

Comment 22 Dmitri Dolguikh 2017-12-07 18:26:16 UTC
Please refer to https://bugzilla.redhat.com/show_bug.cgi?id=1489364 for dhcp module documentation changes.

Comment 24 Ivan Necas 2018-01-18 11:23:06 UTC
FYI: I've found potential issues with packaging in https://bugzilla.redhat.com/show_bug.cgi?id=1535972 + some additional issues that need some additional debugging in https://bugzilla.redhat.com/show_bug.cgi?id=1489364#c21

Comment 27 Sanket Jagtap 2018-02-08 05:24:13 UTC
Build: Satellite 6.3.0 snap35

Satellite is configured with external DHCP and remote_isc as provider.

A host is provisioned through satellite.  
[root@localhost dhcpd]# cat dhcpd.leases
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.2.5

server-duid "\000\001\000\001\"\014\221O\000\032J>\246P";

host cindy-beiser.domain {
  dynamic;
  hardware ethernet 00:1a:4a:3e:a6:51;
  fixed-address 10.AA.AA.236;
        supersede server.filename = "pxelinux.0";
        supersede server.next-server = 0a:08:72:01;
        supersede host-name = "cindy-beiser.domain";
}

Tried to update the Host inerface ip from UI, I got a conflict wizard , but on clicking override , I was able to update the Ip of the Host.

[root@localhost dhcpd]# cat dhcpd.leases
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.2.5

server-duid "\000\001\000\001\"\014\221O\000\032J>\246P";

host cindy-beiser.domain {
  dynamic;
  hardware ethernet 00:1a:4a:3e:a6:51;
  fixed-address 10.AA.AA.237;
        supersede server.filename = "pxelinux.0";
        supersede server.next-server = 0a:08:72:01;
        supersede host-name = "cindy-beiser.domain";
}

On Deleting the said host, the dhcpd.leases file is update with a new record for host as deleted , but I can still see the old record , Is this intended ?
cat dhcpd.leases
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.2.5

server-duid "\000\001\000\001\"\014\221O\000\032J>\246P";

host cindy-beiser.domain {
  dynamic;
  hardware ethernet 00:1a:4a:3e:a6:51;
  fixed-address 10.AA.AA.237;
        supersede server.filename = "pxelinux.0";
        supersede server.next-server = 0a:08:72:01;
        supersede host-name = "cindy-beiser.domain";
}
host cindy-beiser.domain {
  dynamic;
  deleted;
}

Comment 28 Dmitri Dolguikh 2018-02-08 18:37:42 UTC
Host record is only marked as "deleted" on delete, and will be removed from the leases file next time dhcpd persists its in-memory database to disk.

Comment 29 Satellite Program 2018-02-21 16:54:17 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:0336


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