mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-10-06 16:21:50 +00:00
nm-online: allow configuring timeout via NM_ONLINE_TIMEOUT environment
https://bugzilla.redhat.com/show_bug.cgi?id=1828458
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/484
(cherry picked from commit e468b48ab7
)
This commit is contained in:
parent
bee01292f8
commit
02513e4b5d
|
@ -4285,9 +4285,12 @@ clients_nm_online_LDFLAGS = \
|
||||||
-Wl,--version-script="$(srcdir)/linker-script-binary.ver"
|
-Wl,--version-script="$(srcdir)/linker-script-binary.ver"
|
||||||
|
|
||||||
clients_nm_online_LDADD = \
|
clients_nm_online_LDADD = \
|
||||||
shared/nm-libnm-aux/libnm-libnm-aux.la \
|
|
||||||
libnm/libnm.la \
|
libnm/libnm.la \
|
||||||
$(GLIB_LIBS)
|
shared/nm-libnm-aux/libnm-libnm-aux.la \
|
||||||
|
shared/nm-glib-aux/libnm-glib-aux.la \
|
||||||
|
shared/nm-std-aux/libnm-std-aux.la \
|
||||||
|
$(GLIB_LIBS) \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
$(clients_nm_online_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
|
$(clients_nm_online_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
|
||||||
$(clients_nm_online_OBJECTS): $(libnm_lib_h_pub_mkenums)
|
$(clients_nm_online_OBJECTS): $(libnm_lib_h_pub_mkenums)
|
||||||
|
|
|
@ -233,7 +233,7 @@ main (int argc, char *argv[])
|
||||||
OnlineData data = {
|
OnlineData data = {
|
||||||
.retval = EXIT_FAILURE_UNSPECIFIED,
|
.retval = EXIT_FAILURE_UNSPECIFIED,
|
||||||
};
|
};
|
||||||
int t_secs = 30;
|
int t_secs;
|
||||||
GOptionContext *opt_ctx = NULL;
|
GOptionContext *opt_ctx = NULL;
|
||||||
gboolean success;
|
gboolean success;
|
||||||
GOptionEntry options[] = {
|
GOptionEntry options[] = {
|
||||||
|
@ -251,6 +251,8 @@ main (int argc, char *argv[])
|
||||||
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
|
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
|
||||||
textdomain (GETTEXT_PACKAGE);
|
textdomain (GETTEXT_PACKAGE);
|
||||||
|
|
||||||
|
t_secs = _nm_utils_ascii_str_to_int64 (g_getenv ("NM_ONLINE_TIMEOUT"), 10, 0, G_MAXINT, 30);
|
||||||
|
|
||||||
data.start_timestamp_ms = _now_ms ();
|
data.start_timestamp_ms = _now_ms ();
|
||||||
|
|
||||||
opt_ctx = g_option_context_new (NULL);
|
opt_ctx = g_option_context_new (NULL);
|
||||||
|
|
|
@ -6,9 +6,27 @@ After=NetworkManager.service
|
||||||
Before=network-online.target
|
Before=network-online.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
|
# `nm-online -s` waits until the point when NetworkManager logs
|
||||||
|
# "startup complete". That is when startup actions are settled and
|
||||||
|
# devices and profiles reached a conclusive activated or deactivated
|
||||||
|
# state. It depends on which profiles are configured to autoconnect and
|
||||||
|
# also depends on profile settings like ipv4.may-fail/ipv6.may-fail,
|
||||||
|
# which affect when a profile is considered fully activated.
|
||||||
|
# Check NetworkManager logs to find out why wait-online takes a certain
|
||||||
|
# time.
|
||||||
|
|
||||||
Type=oneshot
|
Type=oneshot
|
||||||
ExecStart=@bindir@/nm-online -s -q --timeout=30
|
ExecStart=@bindir@/nm-online -s -q
|
||||||
RemainAfterExit=yes
|
RemainAfterExit=yes
|
||||||
|
|
||||||
|
# Set $NM_ONLINE_TIMEOUT variable for timeout in seconds.
|
||||||
|
# Edit with `systemctl edit NetworkManager-wait-online`.
|
||||||
|
#
|
||||||
|
# Note, this timeout should commonly not be reached. If your boot
|
||||||
|
# gets delayed too long, then the solution is usually not to decrease
|
||||||
|
# the timeout, but to fix your setup so that the connected state
|
||||||
|
# gets reached earlier.
|
||||||
|
Environment=NM_ONLINE_TIMEOUT=30
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=network-online.target
|
WantedBy=network-online.target
|
||||||
|
|
|
@ -145,7 +145,8 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Time to wait for a connection, in seconds. If the option is not provided,
|
<para>Time to wait for a connection, in seconds. If the option is not provided,
|
||||||
the default timeout is 30 seconds.</para>
|
the environment variable <literal>NM_ONLINE_TIMEOUT</literal> is honored.
|
||||||
|
The default timeout is 30 seconds.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
clients/cloud-setup/nm-cloud-setup.service.in
|
clients/cloud-setup/nm-cloud-setup.service.in
|
||||||
contrib/fedora/rpm/
|
contrib/fedora/rpm/
|
||||||
|
data/NetworkManager-wait-online.service.in
|
||||||
data/NetworkManager.service.in
|
data/NetworkManager.service.in
|
||||||
data/org.freedesktop.NetworkManager.policy.in
|
data/org.freedesktop.NetworkManager.policy.in
|
||||||
examples/python/NetworkManager.py
|
examples/python/NetworkManager.py
|
||||||
|
|
Loading…
Reference in a new issue