Bug 35703 - appliance mode critical error message is wrong
appliance mode critical error message is wrong
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC - Basic settings
UCS 3.2
Other Linux
: P5 normal (vote)
: UCS 4.0
Assigned To: Florian Best
Alexander Kramer
: interim-3
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-08-26 13:21 CEST by Florian Best
Modified: 2014-11-26 06:55 CET (History)
9 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Ticket number:
Bug group (optional): Error handling
Max CVSS v3 score:


Attachments
Screenshot error (32.62 KB, image/png)
2014-08-26 13:21 CEST, Florian Best
Details
raised error (69.49 KB, image/png)
2014-11-07 11:29 CET, Alexander Kramer
Details
raised error (98.19 KB, image/png)
2014-11-07 12:06 CET, Alexander Kramer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Best univentionstaff 2014-08-26 13:21:51 CEST
Created attachment 6072 [details]
Screenshot error

The new appliance wizard detects initial errors as join errors and therefore displays a error message that joining failed. But joining and the initial configuration didn't happen. At least the error message should be changed. See screenshot.

Example error:
26.08.14 12:56:50.651  MODULE      ( WARN    ) : Exception during saving the settings: 'locale/default'
  File "/usr/lib/pymodules/python2.7/notifier/threads.py", line 82, in _run
    tmp = self._function()
  File "/usr/lib/pymodules/python2.7/notifier/__init__.py", line 104, in __call__
    return self._function( *tmp, **self._kwargs )
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/setup/__init__.py", line 227, in _thread
    util.auto_complete_values_for_join(values, self._very_first_locale)
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/setup/util.py", line 198, in auto_complete_values_for_join
    default_locale = Locale(newValues['locale/default'])

KeyError: 'locale/default'

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

Within the scope of this wizard, new possibilites for the system setup appliance wizard will be explored.
Comment 1 Alexander Kläser univentionstaff 2014-09-03 12:58:34 CEST
This seems rather to be a problem with the integration of the Debian installer. Does this error still occur?
Comment 2 Dirk Wiesenthal univentionstaff 2014-09-03 13:38:37 CEST
(In reply to Alexander Kläser from comment #1)
> This seems rather to be a problem with the integration of the Debian
> installer. Does this error still occur?

I guess the problem is that there was no installation - and no join. But the system somewhat suggests to continue unjoined as it thinks at least the installation did happen.
Comment 3 Florian Best univentionstaff 2014-09-03 13:39:31 CEST
(In reply to Alexander Kläser from comment #1)
> This seems rather to be a problem with the integration of the Debian
> installer. Does this error still occur?
No, I fixed that specific error. But the underlaying error still exists. If the setup/join/ call fails immediately the message is wrong because nothing is done in that case then. It is the same as mentioned on Bug #34484 comment #28.
Comment 4 Florian Best univentionstaff 2014-09-03 13:39:52 CEST
(In reply to Dirk Wiesenthal from comment #2)
> (In reply to Alexander Kläser from comment #1)
> > This seems rather to be a problem with the integration of the Debian
> > installer. Does this error still occur?
> 
> I guess the problem is that there was no installation - and no join. But the
> system somewhat suggests to continue unjoined as it thinks at least the
> installation did happen.
correct!
Comment 5 Stefan Gohmann univentionstaff 2014-09-11 08:23:03 CEST
Noc blocker for MS2.
Comment 6 Dirk Wiesenthal univentionstaff 2014-10-22 09:59:47 CEST
Fixed along with the System-setup Appliance overhaul while adding AD member. No changelog added as a lot of messages have been adjusted (although this one is a bug...).
Comment 7 Florian Best univentionstaff 2014-11-04 18:17:58 CET
This was not enough, I am still able to produce the following critical bug:

1) Waiting 10 Minutes at the 'summary' page, until the session timeout is triggered.
2) Start the configuration process
3) The setup/join command is executed and starts running the configuration
4) The progressbar is not initialized instead immediately the 'success' page is shown. In the background the configuration runs.
5) If you click 'finish' the system reboots while your setup runs → broken system

Apache log: (timestamps are the time when the request is going in, not response time)
04/Nov/2014:17:35:17 "POST /umcp/command/setup/validate HTTP/1.1" 200 338 
04/Nov/2014:17:45:18 "HEAD /univention-management-console/js_$20140411165627$/umc/ HTTP/1.1" 200 254 
04/Nov/2014:17:45:18 "POST /umcp/auth?request.preventCache=1415119518228 HTTP/1.1" 200 356 
04/Nov/2014:17:45:18 "POST /umcp/set HTTP/1.1" 200 250 
04/Nov/2014:17:47:02 "POST /umcp/command/setup/finished?request.preventCache=1415119622887 HTTP/1.1" 200 375
04/Nov/2014:17:47:32 "POST /umcp/command/setup/finished HTTP/1.1" 200 450
… a lot more finished calls due to holding the session opened…
04/Nov/2014:17:47:02 "POST /umcp/command/setup/join HTTP/1.1" 200 284

The reason for this: probably the first setup/finished call is done too early while the progressbar(backend) is not yet initialized and returns something like {finished: True} (→ thread of setup/join is started after thread of setup/finished).
(As you see, the request time is the same, apache doesn't log milliseconds).
Comment 8 Florian Best univentionstaff 2014-11-04 18:32:12 CET
The call to umcpCommand('setup/join') also does no error handling. e.g.: "Already joined systems cannot be joined." Exception is not handled.
Comment 9 Florian Best univentionstaff 2014-11-04 20:40:33 CET
The progressbar is now initialized after the setup/join call in any case. Real errors are handled now, too.
Comment 10 Alexander Kramer univentionstaff 2014-11-07 11:29:00 CET
Created attachment 6321 [details]
raised error
Comment 11 Alexander Kramer univentionstaff 2014-11-07 11:34:48 CET
> 1) Waiting 10 Minutes at the 'summary' page, until the session timeout is
> triggered.
> 2) Start the configuration process
> 3) The setup/join command is executed and starts running the configuration
> 4) The progressbar is not initialized instead immediately the 'success' page
> is shown. In the background the configuration runs.
> 5) If you click 'finish' the system reboots while your setup runs → broken
> system

OK - isn't possible anymore. The setup works fine.

Also tested:
1) join an already joined memeber server
OK - got an hint that this operation is not possible

2) raised an key error on purpose inside the setup/__init__.py script
OK - again nice hint with traceback (see screenshot)
Comment 12 Alexander Kramer univentionstaff 2014-11-07 12:06:31 CET
Created attachment 6323 [details]
raised error
Comment 13 Florian Best univentionstaff 2014-11-10 17:14:53 CET
(In reply to Alexander Kramer from comment #12)
> Created attachment 6323 [details]
> raised error
as this practically can not happen it's ok that the traceback is displayed inline.
Comment 14 Stefan Gohmann univentionstaff 2014-11-26 06:55:45 CET
UCS 4.0-0 has been released:
 http://docs.univention.de/release-notes-4.0-0-en.html
 http://docs.univention.de/release-notes-4.0-0-de.html

If this error occurs again, please use "Clone This Bug".