60 lines
2.0 KiB
Diff
60 lines
2.0 KiB
Diff
From 7ab2db63f7d5f30035d6db2ec2a86a156c50d2f6 Mon Sep 17 00:00:00 2001
|
|
From: Radek Vykydal <rvykydal@redhat.com>
|
|
Date: Wed, 19 Aug 2020 13:50:48 +0200
|
|
Subject: [PATCH] network: add timeout for synchronous activation of a
|
|
connection
|
|
|
|
Related: rhbz#1869323
|
|
---
|
|
pyanaconda/modules/network/constants.py | 1 +
|
|
pyanaconda/modules/network/nm_client.py | 13 ++++++++++---
|
|
2 files changed, 11 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/pyanaconda/modules/network/constants.py b/pyanaconda/modules/network/constants.py
|
|
index 33c99d76e..530a8e281 100644
|
|
--- a/pyanaconda/modules/network/constants.py
|
|
+++ b/pyanaconda/modules/network/constants.py
|
|
@@ -24,6 +24,7 @@ from pyanaconda.core.constants import FIREWALL_DEFAULT, FIREWALL_DISABLED, \
|
|
|
|
|
|
NM_CONNECTION_UUID_LENGTH = 36
|
|
+CONNECTION_ACTIVATION_TIMEOUT = 45
|
|
|
|
|
|
@unique
|
|
diff --git a/pyanaconda/modules/network/nm_client.py b/pyanaconda/modules/network/nm_client.py
|
|
index 5e1fb854e..2f5703e76 100644
|
|
--- a/pyanaconda/modules/network/nm_client.py
|
|
+++ b/pyanaconda/modules/network/nm_client.py
|
|
@@ -23,9 +23,10 @@ gi.require_version("NM", "1.0")
|
|
from gi.repository import NM
|
|
|
|
import socket
|
|
-from queue import Queue
|
|
+from queue import Queue, Empty
|
|
from pykickstart.constants import BIND_TO_MAC
|
|
-from pyanaconda.modules.network.constants import NM_CONNECTION_UUID_LENGTH
|
|
+from pyanaconda.modules.network.constants import NM_CONNECTION_UUID_LENGTH, \
|
|
+ CONNECTION_ACTIVATION_TIMEOUT
|
|
from pyanaconda.modules.network.kickstart import default_ks_vlan_interface_name
|
|
from pyanaconda.modules.network.utils import is_s390, get_s390_settings, netmask2prefix, \
|
|
prefix2netmask
|
|
@@ -939,7 +940,13 @@ def activate_connection_sync(nm_client, connection, device):
|
|
sync_queue
|
|
)
|
|
|
|
- return sync_queue.get()
|
|
+ try:
|
|
+ ret = sync_queue.get(timeout=CONNECTION_ACTIVATION_TIMEOUT)
|
|
+ except Empty:
|
|
+ log.error("Activation of a connection timed out.")
|
|
+ ret = None
|
|
+
|
|
+ return ret
|
|
|
|
|
|
def get_dracut_arguments_from_connection(nm_client, connection, iface, target_ip,
|
|
--
|
|
2.23.0
|
|
|