Bug #2722
closed
During a migration from 2.3.8 to 2.4.0~beta3, rudder-upgrade script failed to reload techniques library resulting in the fail of the upgrade of Rudder
Added by Nicolas PERRON over 12 years ago.
Updated over 9 years ago.
Description
The rudder-upgrade script were updating all the data until reloading the Technique Library was needed (because of the changes in the techniques folder and their commits) and it displayed this error message:
[...]
13 files changed, 1232 insertions(+), 163 deletions(-)
Reloading the Technique library...
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/>
<title>Error 503 Service Unavailable</title>
</head>
<body>
<h2>HTTP ERROR: 503</h2>
<p>Problem accessing /rudder/api/techniqueLibrary/reload. Reason:
<pre> Service Unavailable</pre></p>
<hr /><i><small>Powered by Jetty://</small></i>
[...]
</html>
Restarting Rudder webapp and inventory-endpoint
Stopping Jetty: OK
Setting umask to 0027
Starting Jetty: OK
Errors were encountered while processing:
rudder-server-root
Current status: 1 broken [+1], 0 updates [-10].
Files
I attached the log file from /var/log/rudder/webapp/XXXX_X_XX.stderrout.log associated to the moment of the error
This log is highly dubious. Jetty seemed not to have been closed properly before changing the war (the hint is that it looks for a JAR that is not there anymore)
2012-07-27 11:55:29.674:WARN::Unable to parse TLD: jar:jar:file:/opt/rudder/jetty7/webapps/endpoint.war!/WEB-INF/lib/spring-webmvc-3.0.5.RELEASE.jar!/META-INF/spring-form.tld
Do you really stop jetty before changing the war ?
Nicolas CHARLES wrote:
This log is highly dubious. Jetty seemed not to have been closed properly before changing the war (the hint is that it looks for a JAR that is not there anymore)
[...]
Do you really stop jetty before changing the war ?
It seems that jetty is not stopped before the update as there is no preinst in the rudder-webapp package.
In rudder-upgrade script, the technique library is reloading just after the commits of the new ones.
The reload action is initialized by a call to the REST API:
curl http://localhost/rudder/api/techniqueLibrary/reload
It could be a better idea to add a test before in order to check that Rudder webapp is OK.
- Status changed from New to Pending technical review
- % Done changed from 0 to 100
Nicolas PERRON wrote:
In rudder-upgrade script, the technique library is reloading just after the commits of the new ones.
The reload action is initialized by a call to the REST API:
[...]
It could be a better idea to add a test before in order to check that Rudder webapp is OK.
Done.
I'm OK with that, but it might be a good idea to add a small echo "Rudder application is down, it might be reloading. Deferring restart." to explain the user what is the postinst script doing.
Matthieu CERDA wrote:
I'm OK with that, but it might be a good idea to add a small echo "Rudder application is down, it might be reloading. Deferring restart." to explain the user what is the postinst script doing.
Done.
- Status changed from Pending technical review to Released
This is great! Good work.
I'm just going to add "-s" options to the curl calls, as they can output weird stats on stderr (see #2909).
- Project changed from Rudder to 34
- Category deleted (
11)
- Project changed from 34 to Rudder
- Category set to Packaging
Also available in: Atom
PDF