Bug 49404 - Change Behaviour of univention-repository-update to Sync Erratas, too
Change Behaviour of univention-repository-update to Sync Erratas, too
Status: NEW
Product: UCS
Classification: Unclassified
Component: Update - Repository administration
UCS 4.4
Other Linux
: P5 normal (vote)
: ---
Assigned To: UCS maintainers
UCS maintainers
:
Depends on: 26387
Blocks:
  Show dependency treegraph
 
Reported: 2019-05-02 10:21 CEST by Christian Völker
Modified: 2019-08-07 10:13 CEST (History)
2 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 5: Major Usability: Impairs usability in key scenarios
Who will be affected by this bug?: 1: Will affect a very few installed domains
How will those affected feel about the bug?: 2: A Pain – users won’t like this once they notice it
User Pain: 0.057
Enterprise Customer affected?: Yes
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number: 2019042421000374
Bug group (optional): Workaround is available
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Völker univentionstaff 2019-05-02 10:21:45 CEST
univention-repository-update does not sync errata updates by default for any versions newer than the repository server itself.

Example:
Repo server at 4.3-2 will sync up to 4.3-2 incl. all erratas but will sync 4.3-3 and higher only base files, no erratas.
After upgrading the server to 4.3-3 it will sync the erratas for 4.3-3, too. Still not the ones for 4.4-0.

This is no good as the locale repository often is not located on the master server so there might be servers running a newer release of UCS which would need errata updates.

The workaround would be to set additional UCRv:
ucr set repository/online/component/4.4-0-errata/description=Errata updates for UCS 4.4-0"
ucs set ucr repository/online/component/4.4-0-errata/version=4.4
ucr set repository/online/component/4.4-0-errata=false
ucr set repository/online/component/4.4-0-errata/localmirror=true

For every errata level which should be synced.

After upgrading the repository server itself you have to re-enable the following UCRv:
ucr set repository/online/component/4.4-0-errata=true

The behaviour is more than unexpected and definitely not what a repository sync is expected to do.
Comment 1 Christian Völker univentionstaff 2019-05-02 10:21:55 CEST
Suggestion is to switch to something as the following:

Use UCRv to define by admin the versions to be synced:
repository/mirror/version/end=4.5-99 (if unset, no restriction)
repository/mirror/version/start=4.0-0 (if unset use server's major.0-0)
repository/mirror/erratas=true (erratas for above version will be synced, too)

And have a UCRv which will be set by system according to the last sync run:
repository/mirror/success=(true|false)

For additional components we could use the same as before:
repository/online/component/*/description
repository/online/component/*/version
repository/online/component/*
Comment 2 Stefan Gohmann univentionstaff 2019-05-02 16:41:49 CEST
I think it is a regression. We switched some time ago from single errata repositories to these errata repository for every patchlevel release.

Previously, the errata repositories have been included. From the apt.mirror template:

        print mirror.print_security_repositories(clean=True, start=start, end=end, all_security_updates=True)
        ESTART, EEND = UCS_Version('3.0-0'), UCS_Version('3.0-2')
        if start <= EEND and end >= ESTART:
            print mirror.print_errata_repositories(clean=True, start=ESTART, end=EEND, all_errata_updates=True)
Comment 3 Philipp Hahn univentionstaff 2019-08-07 10:13:29 CEST
(In reply to Stefan Gohmann from comment #2)
> I think it is a regression. We switched some time ago from single errata
> repositories to these errata repository for every patchlevel release.
> 
> Previously, the errata repositories have been included. From the apt.mirror
> template:
...
>         ESTART, EEND = UCS_Version('3.0-0'), UCS_Version('3.0-2')

UCS-3.0-0 was release 2011-12-13. We used one errata repository per erratum, which did not scale. Therefore we switch to one errata repository per minor with 3.1 (Bug #26387). Native support for iterating those component repositories was never added to the Updater; instead it is done manually in "postup.sh", which must be updated manually with each patchlevel release.

At the customer site I just did
  ucr set repository/online/component/4.4-0-errata{/description?"Errata updates for UCS 4.4-X",/localmirror=true,/version=4.4,?false}
to enable pre-mirroring of the errata repositories.