Open GISClaes opened 2 years ago
Dear @GISClaes ,
thank you very much for the reported issue. We are reproducing the steps indicated in the description to finish understanding in which of them is the issue. In case we need more information, we will contact you in this respect.
Best regards
Dear @GISClaes ,
as you pointed, we have verified that it is necessary to configure the Validator UI properties in order to properly deploy. Thus, it is necessary to modify the configuration values in the /validator/js/config.js file inside the ui.zip (to point to the corresponding production domain). We will update the deployment instructions accordingly to prevent this issue from happening in the future.
Thanks for your feedback and, please, keep us posted wheter the production deployment finally worked or if you need further assistance from our side.
Best regards,
Thanks for the feedback @jenriquesoriano
I updated config.js inside ui.zip and rebuilt the container. However after deployment we receive status code 503 when attempting to browse certain pages.
Checking DevTools in chrome you can see the request (test-reports)
Request URL: http://ourdomain.se:8090/validator/v2/TestRuns.json?limit=3000&_=1654767017785
Request Method: GET
Status Code: 503 Service Unavailable
Same for test-selection
Request URL: http://ourdomain.se:8090/validator/v2/TestRuns
Request Method: POST
Status Code: 503 Service Unavailable
The actual response is pretty much the same for both requests
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/>
<title>Error 503 </title>
</head>
<body>
<h2>HTTP ERROR: 503</h2>
<p>Problem accessing /validator/v2/TestRuns. Reason:
<pre> Service Unavailable</pre></p>
<hr /><a href="http://eclipse.org/jetty">Powered by Jetty:// 9.3.6.v20151106</a><hr/>
</body>
</html>
To summarize we got rid of the reference to localhost however the production server can't handle the requests. Keep in mind all this is done without any reverse-proxy between client and production host
I'll try to debug it further but I'm not feeling lucky.
Kind regards Claes
This could be related to previous comment or a separate issue. When the container starts it mention FunctX can't be downloaded (see error below). We have added proxy configuration as specified under "Exposing the validator through a proxy(Docker)" by using environment variables. I even added both http and https to be sure. The startup log for the container indicates that our proxy settings is included under "JAVA_OPTIONS".
The proxy is working is some fashion at least. We can see traffic originating from the server going to our Pre-defined Atom. However there is no attempt to download functx from the container through our proxy.
I've tried adding it manually and comparing the file structure/permission with my local machine. They match to a T, yet it still suggest us to download/add it.
...
de.interactive_instruments.exceptions.InitializationException: FunctX XQuery Function Library installation failed. If a proxy server is used, set the Java Virtual Machine parameter 'http.proxyHost'. Otherwise download functx-1.0.xar manually, extract the file (it is a ZIP file) and copy it to the BaseXRepo 'repo' folder /etf/ds/db/repo [bxerr:BXRE0001] Package 'https://files.basex.org/modules/expath/functx-1.0.xar' does not exist.
...
//Claes
Dear @GISClaes ,
thanks for sharing your progress. At this point, we would verify the logs of the different components. Furthermore, we are not sure of the exact architecture that is in place in your production environment.
Thus, in order to progress, we kindly ask you to provide us with:
Best regards,
Sorry for the delayed response, it has been a busy week.
Complete logtrace of the deployment
Could you elaborate what you mean by logtrace of the deployment? will docker logs suffice?
Modified docker deployment you are using
I'll redo them and make sure to document any changes. But it should only be changes mentioned under "Deployment on production host" and "/validator/js/config.js" in UI.zip.
Regarding our architecture. All traffic to internet must go through a proxy (squid). Installation of docker is done through https://github.com/saltstack-formulas/docker-formula with upstream set to repo.
Edit: Formatting
Description Unable to deploy the software to a production host. It still reference localhost after modifying 'etf.webapp.base.url'
How to reproduce
I believe it's reading urls from validator/js/config.js. I've tried to rewrite requests through nginx/apache, rebuilding the image, putting files to read-only. But none of them has worked and I'm currently at a loss of what to do next.
Versions/software