Esempio n. 1
0
    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)
Esempio n. 2
0
    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)
Esempio n. 3
0
    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")
Esempio n. 4
0
    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")
Esempio n. 5
0
    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)
Esempio n. 6
0
    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)
Esempio n. 7
0
    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
Esempio n. 8
0
    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