[rhel7-branch 2/2] Fixes per jkonecny12
jcpunk
installerbot-noreply at redhat.com
Wed Oct 21 15:29:05 UTC 2015
From: Pat Riehecky <riehecky at fnal.gov>
---
pyanaconda/ui/gui/spokes/network.py | 16 ++++++++++++----
pyanaconda/ui/tui/spokes/network.py | 10 +++++++---
2 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/pyanaconda/ui/gui/spokes/network.py b/pyanaconda/ui/gui/spokes/network.py
index 4e1da69..d7bbb4f 100644
--- a/pyanaconda/ui/gui/spokes/network.py
+++ b/pyanaconda/ui/gui/spokes/network.py
@@ -313,6 +313,7 @@ def __init__(self, builder, spoke=None):
self.builder = builder
self._running_nmce = None
self.spoke = spoke
+ self.settings_changed = False
# button for creating of virtual bond and vlan devices
self.builder.get_object("add_toolbutton").set_sensitive(True)
@@ -597,6 +598,7 @@ def on_nmce_exited(self, pid, condition, activate=None):
uuid, devname, activate_condition = activate # pylint: disable=unpacking-non-sequence
if activate_condition():
gtk_call_once(self._activate_connection_cb, uuid, devname)
+ self.settings_changed = True
network.logIfcfgFiles("nm-c-e run")
def _activate_connection_cb(self, uuid, devname):
@@ -617,6 +619,7 @@ def on_device_off_toggled(self, switch, *args):
if not dev_cfg:
return
+ self.settings_changed = True
log.info("network: device %s switched %s", dev_cfg.get_iface(), "on" if active else "off")
if dev_cfg.device_type == NetworkManager.DeviceType.WIFI:
@@ -766,6 +769,7 @@ def dev_cfg(self, uuid=None, device=None):
def remove_device(self, device):
# This should not concern wifi and ethernet devices,
# just virtual devices e.g. vpn probably
+ self.settings_changed = True
log.debug("network: GUI, device removed: %s" , device.get_iface())
dev_cfg = self.dev_cfg(device=device)
if dev_cfg:
@@ -1412,10 +1416,14 @@ def apply(self):
_update_network_data(self.data, self.network_control_box)
log.debug("network: apply ksdata %s", self.data.network)
- log.debug("network spoke (apply) refresh payload")
- from pyanaconda.packaging import payloadMgr
- payloadMgr.restartThread(self.storage, self.data, self.payload,
- fallback=not anaconda_flags.automatedInstall)
+ if self.network_control_box.settings_changed:
+ log.debug("network spoke (apply) refresh payload")
+ from pyanaconda.packaging import payloadMgr
+ payloadMgr.restartThread(self.storage, self.data, self.payload, self.instclass,
+ fallback=not anaconda_flags.automatedInstall)
+ self.network_control_box.settings_changed = False
+ else:
+ log.debug("network spoke (apply), no changes detected")
self.network_control_box.kill_nmce(msg="leaving network spoke")
diff --git a/pyanaconda/ui/tui/spokes/network.py b/pyanaconda/ui/tui/spokes/network.py
index cfb0b34..0485f28 100644
--- a/pyanaconda/ui/tui/spokes/network.py
+++ b/pyanaconda/ui/tui/spokes/network.py
@@ -52,6 +52,7 @@ def __init__(self, app, data, storage, payload, instclass):
self.hostname_dialog.value = self.data.network.hostname
self.supported_devices = []
self.errors = []
+ self._apply = False
def initialize(self):
self._load_new_devices()
@@ -214,6 +215,7 @@ def input(self, args, key):
network.update_settings_with_ksdata(devname, ndata)
if ndata._apply:
+ self._apply = True
uuid = nm.nm_device_setting_value(devname, "connection", "uuid")
try:
nm.nm_activate_device_connection(devname, uuid)
@@ -229,9 +231,11 @@ def apply(self):
" Apply all of our settings."""
self._update_network_data()
- from pyanaconda.packaging import payloadMgr
- payloadMgr.restartThread(self.storage, self.data, self.payload,
- checkmount=False)
+ if self._apply:
+ self._apply = False
+ from pyanaconda.packaging import payloadMgr
+ payloadMgr.restartThread(self.storage, self.data, self.payload,
+ self.instclass, checkmount=False)
def _update_network_data(self):
hostname = self.data.network.hostname
--
To view this commit on github, visit https://github.com/rhinstaller/anaconda/commit/657621bd8a3ef5c11c07227335f2f98a12a07226
More information about the anaconda-patches
mailing list