Mailinglist Archive: opensuse-factory (607 mails)

< Previous Next >
Re: [opensuse-factory] New Tumbleweed snapshot 20200220 released! - hanging update of an older system!
On Mon, 2020-02-24 at 10:48 +0100, Stefan Seyfried wrote:

You did nothing wrong. The nss-mdns package messes around with nsswitch.conf
(and creates the ...bak file).
And because it is installed at least on every desktop default installation, it
is obvious that nobody really tested the usr/etc move, or they just waved the
problems away with "Let the stoopid users suffer! They deserve it!!!" ;-)

Stefan,

Please stay fair and stop spreading this 'nobody tested'-nonsense. You
know very well how the process is.

This services file move did have a couple of tests revealed during the
testing that were addressed - simple things like curl https://localhost
did not work.

We have a dozen upgrade tests from previous openSUSE versions to
Tumbleweed passing with every snapshot being released. Of course, it's
all standard test scenarios with 'well defined states' to get started -
and that has always been known as a 'shortcoming' of any test done.
Generally you only know what to test for once you'd seen a failure in
the area.

To recap: there were two issues around the /etc/services move to
/usr/etc:

1) nsswitch.conf being modified on-disk and RPM thus not replacing it
2) Users not having libnss_usrfiles2 installed

for 1): yes, nss-mdns modifying the file is an ugly side effect
resulting in this issue. What's not yet fully clear (and we're looking
into) is why openQA never stumbled over this in the numerous upgrade
test scenarios. This is, frankly speaking, the only interesting and
valid question. All the rest in this thread is emotional mumble - which
I can understand, but after a while is now just becoming distraction.
The pain was heard, there is no reason to repeat it every other day.

In order to address that, the %post script of aaa_base has actually
been enhanced to try to correct the nsswitch.conf for all users.

# Fix /etc/nsswitch.conf, either because admin ignored *.rpmnew,
# or because of YaST bug [bsc#1162916]
grep -q ^services.*usrfiles /etc/nsswitch.conf
if [ $? -eq 1 ]; then
cp /etc/nsswitch.conf /etc/nsswitch.conf.pre-usrfiles
sed -e 's|^\(services:.*[[:space:]]\)files\>([[:space:]].*\)*$|\1files
usrfiles\2|' /etc/nsswitch.conf > /etc/nsswitch.conf.usrfiles
mv /etc/nsswitch.conf.usrfiles /etc/nsswitch.conf
fi

This script has been in TW since snapshot 0206. Well possible that fix
is incomplete (@Thorsten: possibly it should be enhanced for
protocols/rpc/aliases?)

for 2) libnss_usrfiles2 has been required by patterns-base-minimal_base
since Snapshot 20190919 (long before we switched services to /usr/etc).
What we had not anticipated was that there were users that removed this
pattern from their system - and users building up containers without
the pattern. we thus added a dependency from netcfg (the thing owning
/usr/etc/services) to require libnss_usrfiles2 - fix was also published
in snapshot 0206.

So, while yo uall stay emotional on the topic, I very much would like
to ask you to 'park' the emotion and bring the discussion on a
technical level. It would be much easier to identify possible further
gaps and address them - without having to find the technical needle in
an emotional haystack.

For people still facing issues with current TW snapshots: please be
sure to not just 'jump the gun' and assume this to be the problem.

I hope we can finally move forward to actually FIX the issues - if
there are really still some left (and people not just being on older
snapshots) - and move on. It's less the 'bug' that drives people away,
but the way people communicate about the problem. And in this area we
all have a lot of room to improve.

Cheers,
Dominique
< Previous Next >