Bug 1396893

Summary: ypbind-1.38-6.fc25.x86_64 breaks nis/yp
Product: [Fedora] Fedora Reporter: Ralf Corsepius <rc040203>
Component: ypbindAssignee: Ralf Corsepius <rc040203>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 25CC: adler, craig, fweimer, hhorak, mmuzila, paolini, pkubat
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ypbind-1.38-7.fc25 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-30 05:28:57 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
The patch mentioned in comment #2 none

Description Ralf Corsepius 2016-11-21 06:02:12 UTC
Description of problem:

ypbind-1.38-6.fc25.x86_64 breaks nis:

Upon bootup, ypbind fails to start:

# systemctl status ypbind
● ypbind.service - NIS/YP (Network Information Service) Clients to NIS Domain Binder
   Loaded: loaded (/usr/lib/systemd/system/ypbind.service; enabled; vendor preset: disabled)
   Active: failed (Result: timeout) since Mon 2016-11-21 06:48:49 CET; 23s ago
  Process: 1219 ExecStart=/usr/sbin/ypbind -n $OTHER_YPBIND_OPTS (code=exited, status=0/SUCCESS)
  Process: 1216 ExecStartPre=/usr/sbin/setsebool allow_ypbind=1 (code=exited, status=0/SUCCESS)
  Process: 1208 ExecStartPre=/usr/libexec/ypbind-pre-setdomain (code=exited, status=0/SUCCESS)
 Main PID: 1219 (code=exited, status=0/SUCCESS)

Nov 21 06:47:19 troy systemd[1]: Starting NIS/YP (Network Information Service) Clients to NIS Domain Binder...
Nov 21 06:47:19 troy ypbind-pre-setdomain[1208]: Setting NIS domain: '<DISCLOSED>' (environment variable)
Nov 21 06:48:49 troy systemd[1]: ypbind.service: Start operation timed out. Terminating.
Nov 21 06:48:49 troy systemd[1]: Failed to start NIS/YP (Network Information Service) Clients to NIS Domain Binder.
Nov 21 06:48:49 troy systemd[1]: ypbind.service: Unit entered failed state.
Nov 21 06:48:49 troy systemd[1]: ypbind.service: Failed with result 'timeout'.


Version-Release number of selected component (if applicable):
ypbind-1.38-6.fc25


How reproducible:
Always, on different machines (albeit similar configurations).


Expected results:
Function.

Additional info:
- For me, ypserv stopped working when upgrading to ypserv-1.38-6.fc25. 
It did work with ypserv-1.38-5.fc24 (from fc25 Everything) + nss_nis. Downgrading to ypbind-1.38-5.fc24.x86_64 immediately remedies this issue:

# systemctl status ypbind
● ypbind.service - NIS/YP (Network Information Service) Clients to NIS Domain Binder
   Loaded: loaded (/usr/lib/systemd/system/ypbind.service; enabled; vendor preset: disabled)
   Active: failed (Result: timeout) since Mon 2016-11-21 06:48:49 CET; 23s ago
...
# dnf downgrade ypserv
...
# systemctl restart ypbind
...
# systemctl status ypbind
● ypbind.service - NIS/YP (Network Information Service) Clients to NIS Domain Binder
   Loaded: loaded (/usr/lib/systemd/system/ypbind.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2016-11-21 06:56:03 CET; 3min 43s ago
...

Comment 1 Ralf Corsepius 2016-11-23 09:48:39 UTC
(In reply to Ralf Corsepius from comment #0)
> - For me, ypserv stopped working when upgrading to ypserv-1.38-6.fc25. 
> It did work with ypserv-1.38-5.fc24 (from fc25 Everything) + nss_nis.
> Downgrading to ypbind-1.38-5.fc24.x86_64 immediately remedies this issue:

Ouch, this of course should have read:
> For me, ypbind stopped working when upgrading to ypbind-1.38-6.fc25. 
> It did work with ypbind-1.38-5.fc24 (from fc25 Everything) + nss_nis.


Further observations:
- Invoking ypbind in a shell/on the command line works.

- "systemctl start ypbind.service"
deterministically fails:
# systemctl start ypbind.service
Job for ypbind.service failed because a timeout was exceeded.
..
# systemctl status ypbind.service
● ypbind.service - NIS/YP (Network Information Service) Clients to NIS Domain Binder
   Loaded: loaded (/usr/lib/systemd/system/ypbind.service; enabled; vendor preset: disabled)
   Active: failed (Result: timeout) since Wed 2016-11-23 10:19:46 CET; 8min ago
  Process: 23153 ExecStart=/usr/sbin/ypbind -n $OTHER_YPBIND_OPTS (code=exited, status=0/SUCCESS)
  Process: 23149 ExecStartPre=/usr/sbin/setsebool allow_ypbind=1 (code=exited, status=0/SUCCESS)
  Process: 23145 ExecStartPre=/usr/libexec/ypbind-pre-setdomain (code=exited, status=0/SUCCESS)
 Main PID: 23153 (code=exited, status=0/SUCCESS)


- A ypserv-1.38-5 rebuilt from source for fc25 exposes the same issues as 
  ypserv-1.38-6.fc26.fc25

Comment 2 Ralf Corsepius 2016-11-23 16:04:54 UTC
Created attachment 1223329 [details]
The patch mentioned in comment #2

Comment 3 Ralf Corsepius 2016-11-23 16:06:23 UTC
Yeah! I believe to have found the cause:

The systemd-devel being shipped with fedora >= 25 doesn't ship
libsystemd-daemon, anymore.

However, a patch to ypbind's configure.ac adds a check for libsystemd-daemon's *.pc file. This check fails, because none such file is being shipped and causes ypbind to be compiled without systemd support.

At run-time this causes the mess above.

A brute-force fix to this issue is to take out the check for libsystemd-daemon from ypbind-systemdso.patch (cf. attachment abvoe).

Unless somebody objects, I will a patch to the packages.

Comment 4 Ralf Corsepius 2016-11-23 17:48:31 UTC
Taking.

I am going to apply a patch to fc25 and rawhide

Comment 5 Fedora Update System 2016-11-23 18:13:59 UTC
ypbind-1.38-7.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2016-5956cb7606

Comment 6 craigo 2016-11-25 05:06:56 UTC
We found this to work well as temporary work-around while waiting for the patch:

cp /usr/lib/systemd/system/ypbind.service /etc/systemd/system/
sed -i 's/Type=.*/Type=forking/' /etc/systemd/system/ypbind.service
sed -i 's%ExecStart=.*%ExecStart=/usr/sbin/ypbind $OTHER_YPBIND_OPTS%' /etc/systemd/system/ypbind.service
systemctl daemon-reload
systemctl start ypbind

And after ypbind is patched:

rm /etc/systemd/system/ypbind.service
systemctl daemon-reload
systemctl restart ypbind

I hope you find this helpful.

Comment 7 Fedora Update System 2016-11-25 09:42:33 UTC
ypbind-1.38-7.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-5956cb7606

Comment 8 Stephen Adler 2016-11-25 13:10:22 UTC
*** Bug 1398020 has been marked as a duplicate of this bug. ***

Comment 9 Maurizio Paolini 2016-11-28 07:17:40 UTC
Thank you.  Now ypbind works fine (after an upgrade to f25.
We are waiting for the update to become stable :-)

Comment 10 Fedora Update System 2016-11-30 05:28:57 UTC
ypbind-1.38-7.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.