Bug 1396893 - ypbind-1.38-6.fc25.x86_64 breaks nis/yp
Summary: ypbind-1.38-6.fc25.x86_64 breaks nis/yp
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: ypbind
Version: 25
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
Assignee: Ralf Corsepius
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1398020 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-11-21 06:02 UTC by Ralf Corsepius
Modified: 2016-11-30 05:28 UTC (History)
7 users (show)

Fixed In Version: ypbind-1.38-7.fc25
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-11-30 05:28:57 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
The patch mentioned in comment #2 (766 bytes, patch)
2016-11-23 16:04 UTC, Ralf Corsepius
no flags Details | Diff

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.


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