Merge ~xnox/ubuntu-release-upgrader:ignore-base-tasks into ubuntu-release-upgrader:ubuntu/master
Status: | Merged | ||||
---|---|---|---|---|---|
Merged at revision: | 792294305c6f5df4c07ff8706e3292e6fa5021b9 | ||||
Proposed branch: | ~xnox/ubuntu-release-upgrader:ignore-base-tasks | ||||
Merge into: | ubuntu-release-upgrader:ubuntu/master | ||||
Diff against target: |
43 lines (+13/-0) 3 files modified
DistUpgrade/DistUpgradeCache.py (+3/-0) data/DistUpgrade.cfg (+3/-0) debian/changelog (+7/-0) |
||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Brian Murray | Needs Fixing | ||
Balint Reczey | Abstain | ||
Christian Ehrhardt | Pending | ||
Michael Vogt | Pending | ||
Steve Langasek | Pending | ||
Julian Andres Klode | Pending | ||
Ubuntu Core Development Team | Pending | ||
Review via email: mp+382970@code.staging.launchpad.net |
Commit message
DistUpgradeCache: Ignore BaseMetaPkgs' & obsolete tasks
during server upgrade
ubuntu-minimal and ubuntu-base are forced to stay installed via
BaseMetaPkgs / keepBaseMetaPkgs rule during either desktop or server
upgrades. During server upgrades, we try to establish which Tasks are
installed, we do this by iterating all packages and checking if all
packages of a given Task are installed. This is the case for
ubuntu-minimal & ubuntu-standard. But they are not manually-installed
tasks. Instead they are handled with a metapackage only, to allow
alternative implementations of certain components
(i.e. time-daemon). Thus during upgrade we should not force install
those, but instead rely on keeping BaseMetaPkg installed only to
esnure that alternative selections of time-daemons is permitted and is
not changed.
Also, this function might missdetect as obsolete tasks as
installed. For example Task: ubuntu-core should no longer exist, as
the metapackages for it got dropped, but we forgot to remove the
metadata from the archive. If it happens that ubuntu-core appears to
be fully installed, do not try to preserve it on upgrades.
LP: #1872902
Description of the change
DistUpgradeCache: Ignore BaseMetaPkgs' & obsolete tasks
during server upgrade
ubuntu-minimal and ubuntu-base are forced to stay installed via
BaseMetaPkgs / keepBaseMetaPkgs rule during either desktop or server
upgrades. During server upgrades, we try to establish which Tasks are
installed, we do this by iterating all packages and checking if all
packages of a given Task are installed. This is the case for
ubuntu-minimal & ubuntu-standard. But they are not manually-installed
tasks. Instead they are handled with a metapackage only, to allow
alternative implementations of certain components
(i.e. time-daemon). Thus during upgrade we should not force install
those, but instead rely on keeping BaseMetaPkg installed only to
esnure that alternative selections of time-daemons is permitted and is
not changed.
Also, this function might missdetect as obsolete tasks as
installed. For example Task: ubuntu-core should no longer exist, as
the metapackages for it got dropped, but we forgot to remove the
metadata from the archive. If it happens that ubuntu-core appears to
be fully installed, do not try to preserve it on upgrades.
LP: #1872902
There was an error fetching revisions from git servers. Please try again in a few minutes. If the problem persists, contact Launchpad support.
To try upgrading using this upgrader:
git clone -b ignore-base-tasks https:/ /git.launchpad. net/~xnox/ ubuntu- release- upgrader
cd ubuntu- release- upgrader/ DistUpgrade
./dist-upgrade.py --datadir=../data --disable- gnu-screen
With eoan lxd container + chrony installed, previously we tried to force install:
Installed tasks are: {'standard', 'server', 'openssh-server', 'minimal', 'cloud-image'}
But with this change, we try to force install:
Installed tasks are: {'openssh-server', 'cloud-image', 'server'}
Which imho are the correct tasks to force-upgrade for a lxd container.