Bug 43026 - End of life warning
End of life warning
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC - Software update
UCS 4.1
Other Linux
: P5 normal (vote)
: UCS 4.1-4-errata
Assigned To: Johannes Keiser
Alexander Kläser
https://mail.univention.de/appsuite/#...
:
Depends on:
Blocks: 51672
  Show dependency treegraph
 
Reported: 2016-11-21 17:35 CET by Alexander Kläser
Modified: 2020-07-15 13:42 CEST (History)
4 users (show)

See Also:
What kind of report is it?: Feature Request
What type of bug is this?: 2: Improvement: Would be a product improvement
Who will be affected by this bug?: 2: Will only affect a few installed domains
How will those affected feel about the bug?: 1: Nuisance – not a big deal but noticeable
User Pain: 0.023
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): Usability
Max CVSS v3 score:


Attachments
Current status of the generic implementation (9.14 KB, patch)
2016-12-19 12:05 CET, Alexander Kläser
Details | Diff
Screenshot (16.60 KB, image/png)
2017-01-27 17:17 CET, Florian Best
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Kläser univentionstaff 2016-11-21 17:35:56 CET
We need a generic implementation of this feature in order to let the user know when a version is out of maintenance. A YAML file for each patch level release can be found at:

http://updates.software-univention.de/download/ucs-maintenance/


+++ This bug was initially created as a clone of Bug #42951 +++

The UCS 3.2 maintenance will end on 2016-11-30. We should provide an update for UMC and show a message about the maintenance end. See Bug #41353.


+++ This bug was initially created as a clone of Bug #41353 +++

The UCS 4.0 maintenance will end on 2016-05-31. We should provide an update for the UMC update module which shows a message about the maintenance end.

The attached screenshot will give an idea about the design of the message. It is based on the HTTP/HTTPS warning on the overview page.

Text suggestion:

EN:
Warning: You are using UCS 4.0-2. This version is outdated and no more security updates will be released for it. Please upgrade this system to a newer UCS version!

DE:
Achtung: Sie verwenden UCS 4.0-2. Diese Version ist veraltet und es werden keine Sicherheitsupdates mehr dafür veröffentlicht. Bitte aktualisieren Sie dieses System auf eine neuere UCS Version!
Comment 1 Stefan Gohmann univentionstaff 2016-11-22 07:30:12 CET
Please see the current concept here:
 https://mail.univention.de/appsuite/#!!&app=io.ox/office/text&folder=1117&id=1117/1025
Comment 2 Alexander Kläser univentionstaff 2016-12-19 12:05:38 CET
Created attachment 8308 [details]
Current status of the generic implementation

Attached the current status of the generic implementation by Johannes.
Comment 3 Alexander Kläser univentionstaff 2016-12-19 12:06:42 CET
(In reply to Alexander Kläser from comment #2)
> Created attachment 8308 [details]
> Current status of the generic implementation
> 
> Attached the current status of the generic implementation by Johannes.

@Johannes: In the postCreate() method, you need to call this.inherited(arguments).
Comment 4 Johannes Keiser univentionstaff 2016-12-21 19:28:59 CET
UCS 4.1-4

r 75496 | 11.0.11-12.1498.201612211917
univention-updater (11.0.11-12) 
* Bug #43026: Show a warning when current UCS version is out of maintenance

r 75497
Added YAML

UCS 4.2 merge

r 75498
univention-updater (12.0.1-3) 
* Bug #43026: Show a warning when current UCS version is out of maintenance
Comment 5 Stefan Gohmann univentionstaff 2017-01-18 06:48:41 CET
(In reply to Johannes Keiser from comment #4)
> * Bug #43026: Show a warning when current UCS version is out of maintenance

The warning is only shown for Domain Admins or at least users who have access to the updater module, right?
Comment 7 Alexander Kläser univentionstaff 2017-01-19 10:49:29 CET
(In reply to Stefan Gohmann from comment #5)
> (In reply to Johannes Keiser from comment #4)
> > * Bug #43026: Show a warning when current UCS version is out of maintenance
> 
> The warning is only shown for Domain Admins or at least users who have
> access to the updater module, right?

Yes, this is correct. It applies only to users that are able to access the updater module.

@Johannes: Could we add a UCR variable to forcibly turn off the warning?
Comment 8 Florian Best univentionstaff 2017-01-27 17:17:56 CET
Created attachment 8381 [details]
Screenshot

The error handling is broken. Every time I login into UMC I see this pop up.
Comment 9 Stefan Gohmann univentionstaff 2017-02-07 07:22:49 CET
Please also check what happens if the system is unable to reach our repository server.
Comment 10 Johannes Keiser univentionstaff 2017-02-10 14:38:56 CET
r 76605 | v 11.0.11-14.1500.201702101435

univention-updater (11.0.11-14) 
* Bug #43026: Fix error handling and add ucr variable to turn of the warning
Comment 11 Florian Best univentionstaff 2017-02-10 15:03:09 CET
REOPEN:

1.
+		if ucr['license/extended_maintenance/disable_warning']:
+			return

→ here ucr.is_true() needs to be used.

2.
There should be some logging in case of errors.

3. What happens if you have a system wide proxy configured?
→ Is the proxy server evaluated?

4. What happens if the server is not reachable?

5.
+			maintained = str(status.get('maintained')).lower()
Why is the boolean converted into a string? I would leave it as bool.

6.
umc/python/updater/__init__.py|233 col 7 error| continuation line over-indented for hanging indent [E126]

7.
instead of udm_uldap.getMachineConnection() univention.management.console.ldap.get_machine_connection(write=False) should be used.

8. Why are the information not returned if no license object is found?
Comment 12 Florian Best univentionstaff 2017-02-12 14:12:17 CET
On a memberserver the following exception happens.

Die Ausführung des Kommandos updater/maintenance_information ist fehlgeschlagen:

Traceback (most recent call last):
  File "%PY2.7%/univention/management/console/base.py", line 312, in execute
    function.__func__(self, request, *args, **kwargs)
  File "%PY2.7%/univention/management/console/modules/decorators.py", line 318, in _response
    result = _multi_response(self, request)
  File "%PY2.7%/univention/management/console/modules/decorators.py", line 454, in _response
    return list(function(self, iterator, *nones))
  File "%PY2.7%/univention/management/console/modules/decorators.py", line 284, in _fake_func
    yield function(self, *args)
  File "%PY2.7%/univention/management/console/modules/updater/__init__.py", line 227, in query_maintenance_information
    lo, po = udm_uldap.getMachineConnection()
  File "%PY2.7%/univention/admin/uldap.py", line 147, in getMachineConnection
    lo = univention.uldap.getMachineConnection(start_tls, decode_ignorelist=decode_ignorelist, ldap_master=ldap_master)
  File "%PY2.7%/univention/uldap.py", line 81, in getMachineConnection
    bindpw = open(secret_file).read().rstrip('\n')
IOError: [Errno 2] Datei oder Verzeichnis nicht gefunden: '/etc/machine.secret'
Comment 13 Stefan Gohmann univentionstaff 2017-02-13 07:42:44 CET
The following traceback occurred on my test system after updating to the latest test errata packages:

Konnte das Modul updater nicht laden: No module named yaml
Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/univention/management/console/protocol/modserver.py", line 100, in _load_module
    self.__module = __import__(file_, [], [], modname)
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/updater/__init__.py", line 41, in <module>
    import yaml
ImportError: No module named yaml
Comment 14 Johannes Keiser univentionstaff 2017-02-17 16:06:51 CET
Implemented the feedback from Comment 11
Added missing dependency: Comment 13

r 76804

univention-updater (11.0.11-17) 
* Bug #43026: add missing python-yaml dependency and improved
error handling
Comment 15 Alexander Kläser univentionstaff 2017-02-17 16:26:41 CET
Please adjust the description of the UCR variable, I would propose the following text:

[de] Deaktiviert die Anzeige von Warnungen, wenn für die aktuelle UCS-Version keine Sicherheitsaktualisierungen mehr veröffentlicht werden. Standardmäßig wird eine Warnung angezeigt.

[en] Deactivates the display of warnings when no more security updates will be released for the current UCS version. By default, a warning will be shown.
Comment 16 Johannes Keiser univentionstaff 2017-02-17 16:47:52 CET
UCS 4.2 merge

r 76806
univention-updater (12.0.3-4) 
* Bug #43026: add missing python-yaml dependency and improved
error handling
Comment 17 Johannes Keiser univentionstaff 2017-02-17 18:05:33 CET
r 76810
univention-updater (11.0.11-18) 
* Bug #43026: Better wording of the description of the ucr variable
for disabling the end of life warning


UCS 4.2 Merge: r 76811 | univention-updater (12.0.3-5)
Comment 18 Alexander Kläser univentionstaff 2017-02-18 08:07:07 CET
For a standard subscription and version 3.3-1 (with maintained=extended), I obtain the following false result:
{
  'base_dn': 'UCS Core Edition',
  'has_extended_maintenance': False,
  'maintained': False,
  'maintenance_extended': True,
  'premium_support': True,
  'support': True,
  'ucs_version': '3.3-1'
}

What is the difference between has_extended_maintenance, maintained and maintenance_extended?

Base, standard and premium subscription are not detected correctly.

The field "maintained=extended" in a YAML file is not detected correctly.

The warning notification is not translated to German.

→ REOPENED
Comment 19 Johannes Keiser univentionstaff 2017-02-27 13:28:48 CET
(In reply to Alexander Kläser from comment #18)
> For a standard subscription and version 3.3-1 (with maintained=extended), I
> obtain the following false result:
> {
>   'base_dn': 'UCS Core Edition',
>   'has_extended_maintenance': False,
>   'maintained': False,
>   'maintenance_extended': True,
>   'premium_support': True,
>   'support': True,
>   'ucs_version': '3.3-1'
> }
> 
> What is the difference between has_extended_maintenance, maintained and
> maintenance_extended?
> 
> Base, standard and premium subscription are not detected correctly.
> 
> The field "maintained=extended" in a YAML file is not detected correctly.
> 
> The warning notification is not translated to German.
> 
> → REOPENED

r 77122
univention-updater (11.0.11-21) 
Bug #43026:
* Add translation for warning notification
* Fix message for Base subscription not displaying correctly
* Fix detection of support and premiumsupport

UCS 4.2 merge
r 77123
Comment 20 Alexander Kläser univentionstaff 2017-03-09 18:07:54 CET
univentionLicenseSupport and univentionLicensePremiumSupport are not evaluated correctly. These contain numbers, i.e., how many servers are having this type of support.

→ REOPEN
Comment 21 Alexander Kläser univentionstaff 2017-03-09 18:13:04 CET
"Enterprise Subscriptionen bieten für einige Versionen längere Aktualisierungszeiträume."
→ There is a typo, it should be "Enterprise Subskriptionen bieten..."
Comment 22 Alexander Kläser univentionstaff 2017-03-09 20:34:17 CET
As discussed, we will greatly simplify the current concept.
* It is only distinguished between Core Edition and enterprise subscription (as 
  we are not able to detect reliably Base/Standard/Premium subscription)
* Only the YAML field "maintained" is then evaluated for "true", "false", 
  "extended"
* We distinguish between the cases listed bellow

maintained == true: No message is shown

(maintained == false || maintained == extended) && Core Edition:
[DE] Sie verwenden aktuell UCS 4.1-1 Core Edition. Für diese Version werden keine Sicherheitsupdates mehr veröffentlicht. Bitte aktualisieren Sie das System auf eine neuere UCS Version!
Enterprise Subskriptionen bieten für einige Versionen längere Aktualisierungszeiträume. Informationen dazu finden Sie auf der Univention Webseite.
[EN] You are currently using UCS 4.1-1 Core Edition. No more security updates will be released for this version. Please update the system to a newer UCS version.
Enterprise subscriptions offer extended maintenance for some UCS versions. Detailed information can be found at the Univention website.

maintained == false && Enterprise subscription:
[DE] Sie verwenden aktuell UCS 4.1-1. Für diese Version werden keine Sicherheitsupdates mehr veröffentlicht. Bitte aktualisieren Sie das System auf eine neuere UCS Version!
[EN] You are currently using UCS 4.1-1. No more security updates will be released for this version. Please update the system to a newer UCS version.

maintained == extended && Enterprise subscription:
[DE] Sie verwenden aktuell UCS 3.3-1. Für diese Version werden keine regulären Sicherheitsupdates mehr veröffentlicht. Sie können das System auf eine neuere UCS Version aktualisieren oder alternativ eine verlängerte Maintenance für diese Version anfordern. Nehmen Sie dazu gerne Kontakt zu uns auf.
[EN] You are currently using UCS 3.3-1. No more security updates will be released for this version. Update the system to a newer UCS version or, alternatively, request an extended maintenance for this version. Feel free to contact us if you want to know more.
Comment 23 Johannes Keiser univentionstaff 2017-03-09 23:08:12 CET
(In reply to Alexander Kläser from comment #22)
> As discussed, we will greatly simplify the current concept.
> * It is only distinguished between Core Edition and enterprise subscription
> (as 
>   we are not able to detect reliably Base/Standard/Premium subscription)
> * Only the YAML field "maintained" is then evaluated for "true", "false", 
>   "extended"
> * We distinguish between the cases listed bellow
> 
> maintained == true: No message is shown
> 
> (maintained == false || maintained == extended) && Core Edition:
> [DE] Sie verwenden aktuell UCS 4.1-1 Core Edition. Für diese Version werden
> keine Sicherheitsupdates mehr veröffentlicht. Bitte aktualisieren Sie das
> System auf eine neuere UCS Version!
> Enterprise Subskriptionen bieten für einige Versionen längere
> Aktualisierungszeiträume. Informationen dazu finden Sie auf der Univention
> Webseite.
> [EN] You are currently using UCS 4.1-1 Core Edition. No more security
> updates will be released for this version. Please update the system to a
> newer UCS version.
> Enterprise subscriptions offer extended maintenance for some UCS versions.
> Detailed information can be found at the Univention website.
> 
> maintained == false && Enterprise subscription:
> [DE] Sie verwenden aktuell UCS 4.1-1. Für diese Version werden keine
> Sicherheitsupdates mehr veröffentlicht. Bitte aktualisieren Sie das System
> auf eine neuere UCS Version!
> [EN] You are currently using UCS 4.1-1. No more security updates will be
> released for this version. Please update the system to a newer UCS version.
> 
> maintained == extended && Enterprise subscription:
> [DE] Sie verwenden aktuell UCS 3.3-1. Für diese Version werden keine
> regulären Sicherheitsupdates mehr veröffentlicht. Sie können das System auf
> eine neuere UCS Version aktualisieren oder alternativ eine verlängerte
> Maintenance für diese Version anfordern. Nehmen Sie dazu gerne Kontakt zu
> uns auf.
> [EN] You are currently using UCS 3.3-1. No more security updates will be
> released for this version. Update the system to a newer UCS version or,
> alternatively, request an extended maintenance for this version. Feel free
> to contact us if you want to know more.

UCS 4.1-4
r 77548
univention-updater (11.0.11-22) 
* Bug #43026: Only detect between UCS Core edition and 'other' edition
to determine warning message content + reworded warning message

YAML | r 77550

UCS 4.2 merge
r 77549
univention-updater (12.0.4-2) 
* Bug #43026: Only detect between UCS Core edition and 'other' edition
to determine warning message content + reworded warning message
Comment 24 Alexander Kläser univentionstaff 2017-03-10 10:03:06 CET
It's all good now :) .

Changes: OK
YAML entry: OK
Merge to UCS 4.2-0: OK
Comment 25 Janek Walkenhorst univentionstaff 2017-03-15 17:07:00 CET
<http://errata.software-univention.de/ucs/4.1/407.html>