|Article Number: 539783||Article Version: 2||Article Type: Break Fix|
Networker services are not coming up on the RHEL 7 client with the below errors:
[root@xxx nsr]# systemctl start networkerJob for networker.service failed because a timeout was exceeded. See "systemctl status networker.service" and "journalctl -xe" for details.
systemd fails to start a service if TimeoutSec=infinity is used.
Add "TimeoutSec=1y" in Networker startup script.
After making changes on "/etc/systemd/system/networker.service" it will looks like below:
# Copyright (c) 1990-2019, EMC Corporation## All rights reserved. This is an UNPUBLISHED work, and# comprises proprietary and confidential information of EMC.# Unauthorized use, disclosure, and distribution are strictly# prohibited. Use, duplication, or disclosure of the software# and documentation by the U.S. Government is subject to# restrictions set forth in a license agreement between the# Government and EMC or other written agreement specifying# the Government's rights to use the software and any applicable# FAR provisions, such as FAR 52.227-19.## description: EMC NetWorker. A backup and restoration software package.[Unit]Description=EMC NetWorker. A backup and restoration software package.After=syslog.target network.target[Service]Type=forkingUser=rootExecStart=/opt/nsr/admin/networker.sh startExecStop=/opt/nsr/admin/networker.sh stopTasksMax=infinityTimeoutSec=1y[Install]WantedBy=multi-user.target graphical.target
Redhat Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1446015
The TimeoutSec, TimeoutStartSec, and TimeoutStopSec mechanisms within the revision of systemd for RHEL 7 (based on 219 with a steadily growing number of backports) are documented as the following in "man systemd.service":
Configures the time to wait for start-up. If a daemon service does not signal start-up
completion within the configured time, the service will be considered failed and will be
shut down again. Takes a unit-less value in seconds, or a time span value such as "5min
20s". Pass "0" to disable the timeout logic. Defaults to DefaultTimeoutStartSec= from the
manager configuration file, except when Type=oneshot is used, in which case the timeout is
disabled by default (see systemd-system.conf(5)).
This option serves two purposes. First, it configures the time to wait for each ExecStop=
command. If any of them times out, subsequent ExecStop= commands are skipped and the
service will be terminated by SIGTERM. If no ExecStop= commands are specified, the service
gets the SIGTERM immediately. Second, it configures the time to wait for the service itself
to stop. If it doesn't terminate in the specified time, it will be forcibly terminated by
SIGKILL (see KillMode= in systemd.kill(5)). Takes a unit-less value in seconds, or a time
span value such as "5min 20s". Pass "0" to disable the timeout logic. Defaults to
DefaultTimeoutStopSec= from the manager configuration file (see systemd-system.conf(5)).
A shorthand for configuring both TimeoutStartSec= and TimeoutStopSec= to the specified
As noted above, the method to disable the timeout logic is to use the "0" value. The "infinity" value was not available until the upstream 229 release.
The use of "infinity" is now available within the RHEL 8 release, as it is based upon upstream systemd 239. The backport for allowing "infinity" use instead of "0" is currently deemed to risky to existing installations to proceed forwards with within the RHEL 7 release.