def _update_network_data(self): hostname = self.data.network.hostname self.data.network.network = [] for i, name in enumerate(nm.nm_devices()): if network.is_ibft_configured_device(name): continue nd = network.ksdata_from_ifcfg(name) if not nd: continue if name in nm.nm_activated_devices(): nd.activate = True else: # First network command defaults to --activate so we must # use --no-activate explicitly to prevent the default if i == 0: nd.activate = False self.data.network.network.append(nd) (valid, error) = network.sanityCheckHostname(self.hostname_dialog.value) if valid: hostname = self.hostname_dialog.value else: self.errors.append(_("Host name is not valid: %s") % error) self.hostname_dialog.value = hostname network.update_hostname_data(self.data, hostname)
def _update_network_data(self): hostname = self._network_module.proxy.Hostname self.data.network.network = [] for i, name in enumerate(nm.nm_devices()): if network.is_ibft_configured_device(name): continue nd = network.ksdata_from_ifcfg(name) if not nd: continue if name in nm.nm_activated_devices(): nd.activate = True else: # First network command defaults to --activate so we must # use --no-activate explicitly to prevent the default if i == 0: nd.activate = False self.data.network.network.append(nd) (valid, error) = network.sanityCheckHostname(self._value) if valid: hostname = self._value else: self.errors.append(_("Host name is not valid: %s") % error) self._value = hostname network.update_hostname_data(self.data, hostname)
def update_hostname_data_test(self, proxy_getter): proxy = mock.Mock() proxy_getter.return_value = proxy from pyanaconda.kickstart import AnacondaKSHandler handler = AnacondaKSHandler() ksdata = self.ksdata_mock # network --hostname oldhostname # pylint: disable=no-member nd = handler.NetworkData(hostname="oldhostname", bootProto="") ksdata.network.network = [nd] network.update_hostname_data(ksdata, "newhostname") proxy.SetHostname.assert_called_with("newhostname") # network --hostname newhostname self.assertEqual(ksdata.network.network[0].hostname, "newhostname") # no network in ks ksdata.network.network = [] network.update_hostname_data(ksdata, "newhostname") proxy.SetHostname.assert_called_with("newhostname") # network --hostname newhostname self.assertEqual(ksdata.network.network[0].hostname, "newhostname") # network --bootproto dhcp --onboot no --device em1 --hostname oldhostname # pylint: disable=no-member nd = handler.NetworkData(bootProto="dhcp", onboot="no", device="em1", hostname="oldhostname") ksdata.network.network = [nd] network.update_hostname_data(ksdata, "newhostname") proxy.SetHostname.assert_called_with("newhostname") # network --bootproto dhcp --onboot no --device em1 --hostname newhostname self.assertEqual(ksdata.network.network[0].hostname, "newhostname") self.assertEqual(len(ksdata.network.network), 1) # network --bootproto dhcp --onboot no --device em1 # pylint: disable=no-member nd = handler.NetworkData(bootProto="dhcp", onboot="no", device="em1") ksdata.network.network = [nd] network.update_hostname_data(ksdata, "newhostname") proxy.SetHostname.assert_called_with("newhostname") # network --bootproto dhcp --onboot no --device em1 # network --hostname newhostname self.assertEqual(ksdata.network.network[0].hostname, "") self.assertEqual(ksdata.network.network[1].hostname, "newhostname") # network --bootproto dhcp --onboot no --device em1 # network --hostname oldhostname # pylint: disable=no-member nd1 = handler.NetworkData(bootProto="dhcp", onboot="no", device="em1") # pylint: disable=no-member nd2 = handler.NetworkData(hostname="oldhostname", bootProto="") ksdata.network.network = [nd1, nd2] network.update_hostname_data(ksdata, "newhostname") proxy.SetHostname.assert_called_with("newhostname") # network --bootproto dhcp --onboot no --device em1 # network --hostname newhostname self.assertEqual(ksdata.network.network[0].hostname, "") self.assertEqual(ksdata.network.network[1].hostname, "newhostname")
def update_hostname_data_test(self): from pyanaconda.kickstart import AnacondaKSHandler handler = AnacondaKSHandler() ksdata = self.ksdata_mock # network --hostname oldhostname # pylint: disable=no-member nd = handler.NetworkData(hostname="oldhostname", bootProto="") ksdata.network.network = [nd] network.update_hostname_data(ksdata, "newhostname") # network --hostname newhostname self.assertEqual(ksdata.network.network[0].hostname, "newhostname") # no network in ks ksdata.network.network = [] network.update_hostname_data(ksdata, "newhostname") # network --hostname newhostname self.assertEqual(ksdata.network.network[0].hostname, "newhostname") # network --bootproto dhcp --onboot no --device em1 --hostname oldhostname # pylint: disable=no-member nd = handler.NetworkData(bootProto="dhcp", onboot="no", device="em1", hostname="oldhostname") ksdata.network.network = [nd] network.update_hostname_data(ksdata, "newhostname") # network --bootproto dhcp --onboot no --device em1 --hostname newhostname self.assertEqual(ksdata.network.network[0].hostname, "newhostname") self.assertEqual(len(ksdata.network.network), 1) # network --bootproto dhcp --onboot no --device em1 # pylint: disable=no-member nd = handler.NetworkData(bootProto="dhcp", onboot="no", device="em1") ksdata.network.network = [nd] network.update_hostname_data(ksdata, "newhostname") # network --bootproto dhcp --onboot no --device em1 # network --hostname newhostname self.assertEqual(ksdata.network.network[0].hostname, "") self.assertEqual(ksdata.network.network[1].hostname, "newhostname") # network --bootproto dhcp --onboot no --device em1 # network --hostname oldhostname # pylint: disable=no-member nd1 = handler.NetworkData(bootProto="dhcp", onboot="no", device="em1") # pylint: disable=no-member nd2 = handler.NetworkData(hostname="oldhostname", bootProto="") ksdata.network.network = [nd1, nd2] network.update_hostname_data(ksdata, "newhostname") # network --bootproto dhcp --onboot no --device em1 # network --hostname newhostname self.assertEquals(ksdata.network.network[0].hostname, "") self.assertEquals(ksdata.network.network[1].hostname, "newhostname")
def _update_network_data(self): hostname = self.data.network.hostname self.data.network.network = [] for name in nm.nm_devices(): nd = network.ksdata_from_ifcfg(name) if not nd: continue if name in nm.nm_activated_devices(): nd.activate = True self.data.network.network.append(nd) (valid, error) = network.sanityCheckHostname(self.hostname_dialog.value) if valid: hostname = self.hostname_dialog.value else: self.errors.append(_("Host name is not valid: %s") % error) self.hostname_dialog.value = hostname network.update_hostname_data(self.data, hostname)
def refresh(self, args=None): """ Refresh screen. """ self._load_new_devices() EditTUISpoke.refresh(self, args) # on refresh check if we haven't got hostname from NM on activated # connection (dhcp or DNS) if self.hostname_dialog.value == network.DEFAULT_HOSTNAME: hostname = network.getHostname() network.update_hostname_data(self.data, hostname) self.hostname_dialog.value = self.data.network.hostname summary = self._summary_text() self._window += [TextWidget(summary), ""] hostname = _("Host Name: %s\n") % self.data.network.hostname self._window += [TextWidget(hostname), ""] # if we have any errors, display them while len(self.errors) > 0: self._window += [TextWidget(self.errors.pop()), ""] def _prep(i, w): """ Mangle our text to make it look pretty on screen. """ number = TextWidget("%2d)" % (i + 1)) return ColumnWidget([(4, [number]), (None, [w])], 1) _opts = [_("Set host name")] for devname in self.supported_devices: _opts.append(_("Configure device %s") % devname) text = [TextWidget(o) for o in _opts] # make everything presentable on screen choices = [_prep(i, w) for i, w in enumerate(text)] displayed = ColumnWidget([(78, choices)], 1) self._window.append(displayed) return True