Bug #2722
closedDuring 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
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
Updated by Nicolas PERRON over 12 years ago
I attached the log file from /var/log/rudder/webapp/XXXX_X_XX.stderrout.log associated to the moment of the error
Updated by Nicolas CHARLES over 12 years ago
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 ?
Updated by Nicolas PERRON over 12 years ago
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.
Updated by Nicolas PERRON over 12 years ago
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.
Updated by Nicolas PERRON over 12 years ago
- 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.
Updated by Matthieu CERDA over 12 years ago
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.
Updated by Nicolas PERRON over 12 years ago
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.
Updated by Jonathan CLARKE over 12 years ago
- 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).
Updated by Nicolas PERRON almost 12 years ago
- Project changed from Rudder to 34
- Category deleted (
11)
Updated by Benoît PECCATTE almost 10 years ago
- Project changed from 34 to Rudder
- Category set to Packaging