Package lacks conffile handling, breaking SRU major version updates

Bug #1657523 reported by Robie Basak
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
walinuxagent (Ubuntu)
In Progress
High
Łukasz Zemczak

Bug Description

For example:

At some point walinuxagent started doing "auto updating", which we disabled in the distribution (see bug 1650522). We disabled by patching the conffile to explicitly set AutoUpdate=n.

However, if a user had modified that conffile and then automatically updates (for example Xenial has unattended-upgrades enabled by default), then either the user won't see any conffile prompt, or could see one, won't realise the significance of it and choose the default, which is to keep the old configuration.

Then the code will default to AutoUpdate=y because it sees no explicit AutoUpdate=n in the conffile. User behaviour will change from not auto-updating to auto-updating as a result of the SRU.

There are two problems here:

1) SRUs keep changing conffiles. The moment a user changes a conffile, that will stop happening for automatic updates. Then there's no point in changing conffiles for that set of users. If that's OK, then was there any need to change the conffile in the first place?

2) The patch for disabling AutoUpdate should change the default as interpreted by the code when not specified in the conffile, rather than trying to patch the conffile.

Let's track problem 1 in this bug. I filed bug 1657524 to track problem 2.

Revision history for this message
Robie Basak (racb) wrote :

To fix this, I suggest that the defaults be adjusted so the conffile is really just for local overrides rather than distribution-shipped defaults. You could patch upstream to change the defaults to what you want so shipping a contentful conffile becomes unnecessary. Or you could add support to have distribution defaults ship somewhere read-only (eg. /usr/share) and have /etc/waagent.conf available for local overrides. For example, systemd does this with /lib/systemd/system and /etc/systemd/system. Or you could use a conf.d scheme, though I think that would only mitigate the problem rather than solve it.

description: updated
description: updated
Changed in walinuxagent (Ubuntu):
assignee: nobody → Łukasz Zemczak (sil2100)
status: New → Confirmed
Changed in walinuxagent (Ubuntu):
status: Confirmed → In Progress
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.