Univention Bugzilla – Bug 40370
App Center marks App as installed/updated even if dpkg errors occured
Last modified: 2017-10-10 15:38:44 CEST
A customer updated UCS@school today (to UCS@school 4.0 R2 v4) on a school slave (Multi-Server Environment) using the App Center on the UCS Master.
During the Update a dpkg error occured:
> 05.01.16 16:17:26.334 MODULE ( PROCESS ) : Fehler traten auf beim Bearbeiten von:
> 05.01.16 16:17:26.334 MODULE ( PROCESS ) : /var/cache/apt/archives/ucs-school-webproxy_11.0.8-3.101.201511301214_all.deb
> 05.01.16 16:17:26.345 MODULE ( PROCESS ) : Error in function:
> 05.01.16 16:17:26.345 MODULE ( PROCESS ) : SystemError: E:Sub-process /usr/bin/dpkg returned an error code (1)
This left some packages unconfigured and one not updated - the UCS@school installation was broken.
Nevertheless, the App Center marks the App as installed / updated (the "Upgrade" button is gone). There should be a clear indication if the previous update attempt was succesful or not.
> 05.01.16 16:17:27.174 MODULE ( PROCESS ) : Adding ucs-abcde.school.example.org to univentionAppID=ucsschool_4.0 R2 v4,cn=ucsschool,cn=apps,cn=univention,dc=school,dc=example,dc=org
> 05.01.16 16:17:27.382 MODULE ( PROCESS ) : Removing ucs-abcde.school.example.org from univentionAppID=ucsschool_4.0 R2 v2,cn=ucsschool,cn=apps,cn=univention,dc=school,dc=example,dc=org
Most probably still happens. The issue here is that the App installation status is computed based on the package installation status.
And the packages were half configured. This is enough for the App Center.
There is a Customer ID set so I set the flag "Enterprise Customer affected".
As discussed, it may be more generic to check the package status by a monitoring tool.
We need to add a dpkg status check to univention-nagios. This way, the Administrator does not immediately see it in the App Center, but eventually should get a notification.
As discussed with Felix and Stefan:
Please register the host with the new nagios service via 30univention-nagios-client.inst so the check is executed without manual configuration. This is sufficient for new installations. The advisory should inform that forced execution of 30univention-nagios-client.inst or manual adjustments are needed so that existing installs are registered with the new service.
OK, I hope I got this right...
Advisory - OK
Code and functionality - OK