#2206 closed defect (fixed)
wcst_import tests fail on Ubuntu 18.04
Reported by: | Dimitar Misev | Owned by: | Bang Pham Huu |
---|---|---|---|
Priority: | major | Milestone: | 10.0 |
Component: | petascope | Version: | 9.8 |
Keywords: | Cc: | Vlad Merticariu, Peter Baumann | |
Complexity: | Medium |
Description
Tomcat petascope logs can be seen here: http://codereview.rasdaman.org/jenkins/job/test-patch/ws/exec-on-ubuntu-18.04/logs/build1073.tar.gz
All errors are something like this:
INFO [2019-12-14 12:57:39] PetascopeController@155: Received request: coverageRef=file:///tmp/rasdaman_wcst_import/3bf922cc_6bfe_479c_8bd8_5b2aba0e7709.gml&pixelDataType=Byte&request=InsertCoverage&service=WCS&tiling=ALIGNED [0:1000, 0:1000, 0:2]&useId=existing&version=2.0.1 ERROR [2019-12-14 12:57:39] RemoteCoverageUtil@77: Cannot fetch GML coverage from URL '/tmp/rasdaman_wcst_import/3bf922cc_6bfe_479c_8bd8_5b2aba0e7709.gml'. Reason: /tmp/rasdaman_wcst_import/3bf922cc_6bfe_479c_8bd8_5b2aba0e7709.gml (No such file or directory). ERROR [2019-12-14 12:57:39] ExceptionUtil@56: Caught an exception petascope.wcst.exceptions.WCSTMalformedURL: The URL provided in the coverageRef parameter is malformed. at petascope.wcst.helpers.RemoteCoverageUtil.getRemoteGMLCoverage(RemoteCoverageUtil.java:78) at petascope.wcst.handlers.InsertCoverageHandler.handleRemoteCoverageInsert(InsertCoverageHandler.java:120) at petascope.wcst.handlers.InsertCoverageHandler.handle(InsertCoverageHandler.java:103) at petascope.controller.handler.service.KVPWCSTServiceHandler.handleInsertCoverageRequest(KVPWCSTServiceHandler.java:145) at petascope.controller.handler.service.KVPWCSTServiceHandler.handle(KVPWCSTServiceHandler.java:99) at petascope.controller.PetascopeController.requestDispatcher(PetascopeController.java:190) at petascope.controller.PetascopeController.handleGet(PetascopeController.java:115)
Change History (9)
comment:1 by , 5 years ago
comment:3 by , 5 years ago
In the readme it says only that write access is restricted, I assume read should work as usual.
comment:4 by , 5 years ago
You can follow the guideline in the readme and make /tmp readwrite in the installer.
comment:5 by , 5 years ago
I prefer to install tomcat8 by default instead in the installer for Ubuntu 18.04 as tomcat9 is cumbersome with unwanted security features (e.g: not just read/write in /tmp).
comment:7 by , 5 years ago
I had to ask tomcat user mailing list as the way descried from https://salsa.debian.org/java-team/tomcat9/blob/master/debian/README.Debian does not work.
The correct way to do it is
edit /lib/systemd/system/tomcat9.service set PrivateTmp=yes to PrivateTmp=no sudo systemctl daemon-reload sudo service tomcat9 restart
NOTE: with PrivateTmp=yes
, petascope will not create any folder in /tmp
but in somewhere else.
When set PrivateTmp=no
, petascope cannot also create files in /tmp
, it is due to:
https://stackoverflow.com/a/56835997
comment:8 by , 5 years ago
Cc: | added |
---|
Currently wcst_import.sh puts the gml file in /tmp and this doesn't work with the default security setup of tomcat.
Instead of fiddling with the security configuration of Tomcat to make it work, a better solution is to upload the gml file in the POST request that wcst_import.sh sends to petascope. This also allows one to use wcst_import.sh remotely if needed.
comment:9 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Tomcat 9 is sandboxed in Debian https://salsa.debian.org/java-team/tomcat9/blob/master/debian/README.Debian
Don't use it for the testing VM. Use tomcat8 in rasdaman installer and no problem with read/write from /tmp folder.