Bug#740998: Bug#854801: No network after netinst Stretch RC2

2017-02-16 Thread Bernhard Schmidt
On 14.02.2017 00:43, Pierre Ynard wrote:

Hi,

>> in finish-install /e/n/i will never be properly populated for a wireless
>> installation without network-manager, although I think ifupdown would be
>> capable to do this (not tested, but have a look at
>> https://anonscm.debian.org/cgit/d-i/netcfg.git/tree/write_interface.c).
>> I guess the justification is that people using wireless usually would
>> want a GUI to roam between networks, and a interface stanza would
>> prevent even a (later installed) network-manager from touching the
>> interface.
> 
> That makes sense. Maybe it could still output commented-out
> configuration into /e/n/i, to make it easier in case people do end up
> editing the file to set up their network, for whatever reason.

We already have several bugs for this behaviour:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=694068
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=727740
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=777439

and likely more.

Users installing with a wireless connection do not have network after
first boot, unless a -desktop task pulls in network-manager _and_
network-manager is not blocked by rdnssd.

I can fix the latter by removing the conflicts and changing the hook
again to be a no-op if network-manager is installed. But I think a
proper solution would be to warn the user at the end of the installation
that he will not have network access after boot and offer to write a
complete /e/n/i or forcibly install network-manager .

Bernhard



Bug#740998: Bug#854801: No network after netinst Stretch RC2

2017-02-13 Thread Pierre Ynard
> in finish-install /e/n/i will never be properly populated for a wireless
> installation without network-manager, although I think ifupdown would be
> capable to do this (not tested, but have a look at
> https://anonscm.debian.org/cgit/d-i/netcfg.git/tree/write_interface.c).
> I guess the justification is that people using wireless usually would
> want a GUI to roam between networks, and a interface stanza would
> prevent even a (later installed) network-manager from touching the
> interface.

That makes sense. Maybe it could still output commented-out
configuration into /e/n/i, to make it easier in case people do end up
editing the file to set up their network, for whatever reason.

> a) go for Cyril's suggestion and just install rdnssd in finish-install
> if network-manager is not getting installed there (but honestly I have
> no idea of the netcfg code base)
> b) drop the Conflicts and make the rdnssd merge-hook a no-op if
> network-manager is installed/running.

I think trying to manage this conflict between two basic packages is
asking for trouble. rdnssd doesn't depend on /usr, I think in some
cases it can still be beneficial for bootstrap when network-manager
might not be available. There is already a distro-specific patch for
/etc/rdnssd/merge-hook to add a resolvconf by-pass, another one could
be added checking if network-manager is installed/available/running/in
charge of /etc/resolv.conf. I've never used network-manager personally
so I wouldn't quite know what's best to check exactly.

-- 
Pierre Ynard
"Une âme dans un corps, c'est comme un dessin sur une feuille de papier."



Bug#740998: Bug#854801: No network after netinst Stretch RC2

2017-02-13 Thread Bernhard Schmidt
Hi

On 13.02.2017 18:24, Paul Schlüter wrote:
> Am Montag, den 13.02.2017, 10:31 +0100 schrieb Bernhard Schmidt:
>> @Paul: Can you share the installer log (/var/log/installer/syslog) and
>> the content of your /etc/network/interfaces after installation? I'll try
>> to get that information myself tonight, I don't have RDNSS here in the
>> office network unfortunately.
> 
> Hi Bernhard,
> 
> please find attached
> 
> - installer-log.gz: /var/log/installer/syslog
> - interfaces: original (and current) /etc/network/interfaces
> 
> (I reverted my modification of "interfaces" after the installation of
> network-manager-gnome).

So, I've tried to reproduce the issue and failed. I'm in a qemu VM on a
network that provides IPv6 SLAAC with RDNSS and IPv4 DHCP. I have booted
using the RC2-netinst-amd64 image and installed the XFCE desktop task.

As expected I ended up with rdnssd installed (no network-manager), but
/etc/network/interfaces is properly populated and I got network
connectivity.

I think I have found the source of your problem. According to your logs
you are installing on a WiFi interface (wlp2s0). The first attempt to
write your /etc/network/interfaces shows correct stanzas for the interface

Feb  9 06:32:45 netcfg[6883]: DEBUG: Network config complete
Feb  9 06:32:45 netcfg[6883]: DEBUG: No interface given; clearing
/etc/network/interfaces
Feb  9 06:32:45 netcfg[6883]: DEBUG: Writing informative header
Feb  9 06:32:45 netcfg[6883]: DEBUG: Success!
Feb  9 06:32:45 netcfg[6883]: DEBUG: Writing loopback interface
Feb  9 06:32:45 netcfg[6883]: DEBUG: Success!
Feb  9 06:32:45 netcfg[6883]: DEBUG: Writing DHCP stanza for wlp2s0
Feb  9 06:32:45 netcfg[6883]: INFO: Detected wlp2s0 as a hotpluggable device
Feb  9 06:32:45 netcfg[6883]: DEBUG: Writing SLAAC stanza for wlp2s0
Feb  9 06:32:45 netcfg[6883]: DEBUG: Writing wireless options for wlp2s0
Feb  9 06:32:45 netcfg[6883]: DEBUG: Success!

but the second attempt in finish-install.d only writes the loopback

Feb  9 07:27:06 finish-install: info: Running
/usr/lib/finish-install.d/55netcfg-copy-config
Feb  9 07:27:06 netcfg[30397]: INFO: Starting netcfg v.1.141
Feb  9 07:27:06 netcfg[30397]: DEBUG: No interface given; clearing
/etc/network/interfaces
Feb  9 07:27:06 netcfg[30397]: DEBUG: Writing informative header
Feb  9 07:27:06 netcfg[30397]: DEBUG: Success!
Feb  9 07:27:06 netcfg[30397]: DEBUG: Writing loopback interface
Feb  9 07:27:06 netcfg[30397]: DEBUG: Success!
Feb  9 07:27:06 finish-install: info: Running
/usr/lib/finish-install.d/60cleanup

I think the code to blame is here

https://anonscm.debian.org/cgit/d-i/netcfg.git/tree/finish-install.d/55netcfg-copy-config#n42

> # Check for preseeding. If the value of the question is empty then set
> # default options. Document automatic selection changes in the template.
> if [ -z "$RET" ]; then
>   if $NM_IS_INSTALLED; then
>   db_set netcfg/target_network_config $CONFIG_NM
>   else
>   if [ "$NETCFG_CONNECTION_TYPE" = "wired" ]; then
>   db_set netcfg/target_network_config $CONFIG_INTERFACES
>   else # wireless
>   db_set netcfg/target_network_config $CONFIG_LOOPBACK
>   fi
>   fi
> fi

in finish-install /e/n/i will never be properly populated for a wireless
installation without network-manager, although I think ifupdown would be
capable to do this (not tested, but have a look at
https://anonscm.debian.org/cgit/d-i/netcfg.git/tree/write_interface.c).
I guess the justification is that people using wireless usually would
want a GUI to roam between networks, and a interface stanza would
prevent even a (later installed) network-manager from touching the
interface.

rdnssd just triggers this more often because it will prevent
network-manager installations on the desktop tasks normally using the
wireless connectivity.

But, all in all, I think network-manager should take precedence over
rdnssd. So we can either

a) go for Cyril's suggestion and just install rdnssd in finish-install
if network-manager is not getting installed there (but honestly I have
no idea of the netcfg code base)
b) drop the Conflicts and make the rdnssd merge-hook a no-op if
network-manager is installed/running.

Bernhard



Bug#740998: Bug#854801: No network after netinst Stretch RC2

2017-02-13 Thread Emilio Pozuelo Monfort
On 10/02/17 17:17, Cyril Brulebois wrote:
> Paul Schlüter  (2017-02-10):
>> * The touchpad behaves strange: I can move the mouse pointer but cannot
>>   click. However, this may be a hardware problem.
> 
> We've had several such reports but bug triaging still needs to happen… :/

Are you doing tap-to-click, or actual clicks on physical buttons? If the former,
this may be related to #853869, which I intend to fix soon.

Cheers,
Emilio



Bug#740998: Bug#854801: No network after netinst Stretch RC2

2017-02-13 Thread Bernhard Schmidt
Hi,
> 
> I've cc'd quite a number of folks/lists to make sure the netcfg part is
> tackled sooner than later (plus a few others for information).
> 
> Paul Schlüter  (2017-02-10):
>> * Packages network-manager-gnome (recommended by task-xfce-desktop) and
>>   net-tools were not installed;
>>   the installed package rdnssd is in conflict to network-manager.
>>   (=> To setup a network connection I had to edit /etc/network/interfaces)
> 
> This seems due to the Conflicts added in rdnssd indeed, because of:
>   https://bugs.debian.org/740998
> 
> Unfortunately it doesn't seem like debian-boot@ people were available at
> the time to give some feedback…
> 
> I think we need to be a bit more careful in this particular section of
> src:netcfg's netcfg/autoconfig.c:
> | /* And now we cleanup from rdnssd */
> | if (ipv6) {
> | read_rdnssd_nameservers(interface);
> | if (nameserver_count(interface) > 0) {
> | di_exec_shell_log("apt-install rdnssd");
> | }
> | }
> 
> since that interferes with n-m's getting installed. Something we could do
> in netcfg would be:
> 
>  1. Stop installing rdnssd forcefully at this point, and only set a flag
> for later use.
>  2. In finish-install.d/55netcfg-copy-config, where the /e/n/i and other
> settings copy is performed, we could check that flag and n-m's
> status; if the flag is set and n-m wasn't installed, install rdnssd.
> This should let n-m get installed even if netcfg detected that
> rdnssd /could/ be needed, and should let rdnssd get installed when
> n-m wasn't.
> 
> Comments/better ideas?

I think that is a good idea, but reading the code I'm not quite sure
where the reported problem comes from.

netcfg installs rdnssd when an IPv6 router advertisement with RDNSS
(recursive DNS nameservers) is found during installation. Tasks
generally only recommend network-manager(-gnome) as far as I can tell,
so the conflict will keep rdnssd installed and network-manager uninstalled.

However the code in finish-install.d/55netcfg-copy-config only mangles
/e/n/i if network-manager is really there, so in this particular case
Paul should have ended up with a traditional /e/n/i and ifupdown.

@Paul: Can you share the installer log (/var/log/installer/syslog) and
the content of your /etc/network/interfaces after installation? I'll try
to get that information myself tonight, I don't have RDNSS here in the
office network unfortunately.

Bernhard



signature.asc
Description: OpenPGP digital signature


Bug#740998: Bug#854801: No network after netinst Stretch RC2

2017-02-10 Thread Pierre Ynard
> >   (=> To setup a network connection I had to edit /etc/network/interfaces)

I'm confused. The installer didn't set up any network access in
/etc/network/interfaces ? Because it ran from a CD? But it detected
IPv6 nameservers on the network and installed rdnssd? Isn't networking
supposed to work anyway even if task selection doesn't install
network-manager? I'm not clear on what happened there, and what was
supposed to happen.

> This seems due to the Conflicts added in rdnssd indeed, because of:
>   https://bugs.debian.org/740998

However reports in #778492 at the time indicated that the conflict would
be resolved by removing rdnssd and installing network-manager... So I'm
surprised if we get an opposite result now.

>  2. In finish-install.d/55netcfg-copy-config, where the /e/n/i and other
> settings copy is performed, we could check that flag and n-m's
> status; if the flag is set and n-m wasn't installed, install rdnssd.

The scope of the problem is a bit wider than just checking for
network-manager. As it was elaborated upon above in #740998, any pair
of two network tools writing to /etc/resolv.conf without cooperation is
prone to problems. The conflict in question here was a bit of an ad-hoc
solution because both rdnssd and network-manager were automatically
started daemons likely to be pulled in a basic install.

So on one hand, adding a custom check for just network-manager is ad hoc
too and doesn't address the general problem. On the other hand, it's all
relative and if the conflict hurts more than it was supposed to help, it
could be removed too - e.g. if it's indeed what prevents network-manager
from getting installed somehow.

The recent version of the rdnssd package should be much friendlier
and more cooperative than before in managing /etc/resolv.conf when
resolvconf is not installed. The impact of running network-manager and
rdnssd concurrently should be lower than before.

I don't really believe in second-guessing the decision made by the
package manager when resolving dependencies and conflicts. But I
can suggest other options than the conflict. /etc/default/rdnssd
can be edited to disable writing to /etc/resolv.conf, or make it
conditional on network-manager, reducing rdnssd to unused reporting.
/etc/rdnssd/merge-hook can be edited to improve interaction or detect
that /etc/resolv.conf was written by network-manager.

Best regards,

-- 
Pierre Ynard
"Une âme dans un corps, c'est comme un dessin sur une feuille de papier."



Bug#740998: Bug#854801: No network after netinst Stretch RC2

2017-02-10 Thread Cyril Brulebois
Hi Paul,

I've cc'd quite a number of folks/lists to make sure the netcfg part is
tackled sooner than later (plus a few others for information).

Paul Schlüter  (2017-02-10):
> * Packages network-manager-gnome (recommended by task-xfce-desktop) and
>   net-tools were not installed;
>   the installed package rdnssd is in conflict to network-manager.
>   (=> To setup a network connection I had to edit /etc/network/interfaces)

This seems due to the Conflicts added in rdnssd indeed, because of:
  https://bugs.debian.org/740998

Unfortunately it doesn't seem like debian-boot@ people were available at
the time to give some feedback…

I think we need to be a bit more careful in this particular section of
src:netcfg's netcfg/autoconfig.c:
| /* And now we cleanup from rdnssd */
| if (ipv6) {
| read_rdnssd_nameservers(interface);
| if (nameserver_count(interface) > 0) {
| di_exec_shell_log("apt-install rdnssd");
| }
| }

since that interferes with n-m's getting installed. Something we could do
in netcfg would be:

 1. Stop installing rdnssd forcefully at this point, and only set a flag
for later use.
 2. In finish-install.d/55netcfg-copy-config, where the /e/n/i and other
settings copy is performed, we could check that flag and n-m's
status; if the flag is set and n-m wasn't installed, install rdnssd.
This should let n-m get installed even if netcfg detected that
rdnssd /could/ be needed, and should let rdnssd get installed when
n-m wasn't.

Comments/better ideas?

On a side note this shouldn't affect jessie since I had been skeptical
of the ndisc6 pu request (#778492), which might not have been a bad
idea…

> * aptitude was not installed; I missed it.

You can still apt-get install it.

> * The touchpad behaves strange: I can move the mouse pointer but cannot
>   click. However, this may be a hardware problem.

We've had several such reports but bug triaging still needs to happen… :/


KiBi.


signature.asc
Description: Digital signature