Support #9342
closedCannot save file in workspace using HomeLibrary on preECO
100%
Description
Hello, i cannot save techno-economic-analysis file in workspace using Home Library (from a portlet). You can find the error stacktrace in the following link:
https://support.d4science.org/pastes/5e673e10ecb6a6fc4110a836384b080f354d7be1
I am using a local gcube portal bundle (not installed in a preprod machine) so i suspect that this may has to do with some firewall issue on MongoDB filtering my machine's IP since it works properly on the https://pre.d4science.org/ .
Thus i am assigning this ticket to the infrastructure. Correct this assumption if it's wrong.
      
      Updated by Konstantinos Giannakelos over 8 years ago
      
    
    - Project changed from 2 to D4Science Infrastructure
 - Subject changed from Cannot save file in workspace using HL on preECO to Cannot save file in workspace using HomeLibrary on preECO
 - Description updated (diff)
 - Assignee set to _InfraScience Systems Engineer
 - Target version changed from zz - Unsprintable to UnSprintable
 - Infrastructure Pre-Production added
 
      
      Updated by Andrea Dell'Amico over 8 years ago
      
    
    - Assignee changed from _InfraScience Systems Engineer to Roberto Cirillo
 
It seems a matter of authentication and not of firewall rules, from the logs.
      
      Updated by Roberto Cirillo over 8 years ago
      
    
    I suspect it is a firewall issue because the MongoDB credentials are discovered automatically by HomeLibrary. Please @k.giannakelos@cite.gr, could you provide your public ip?
      
      Updated by Konstantinos Giannakelos over 8 years ago
      
    
    Yes of course. Please add the following static IPs :
62.38.16.245 193.92.137.229
Thank you
      
      Updated by Roberto Cirillo over 8 years ago
      
    
    - Assignee changed from Roberto Cirillo to _InfraScience Systems Engineer
 
Please, could you add the IPs reported by Kostantinos to the MongoDB development cluster?
      
      Updated by Andrea Dell'Amico over 8 years ago
      
    
    - Assignee changed from _InfraScience Systems Engineer to Roberto Cirillo
 
Roberto Cirillo wrote:
Please, could you add the IPs reported by Kostantinos to the MongoDB development cluster?
Both the IP addresses were already present on the firewall ACLs, and as I wrote earlier it's not a firewall problem. From these logs:
[PORTAL] 1402160 [cluster-ClusterId{value='5971bba5ed3c6309faeac4c6', description='null'}-mongo1-d-d4s.d4science.org:27017] INFO  org.mongodb.driver.connection  - Opened connection [connectionId{localValue:19, serverValue:122242}] to mongo1-d-d4s.d4science.org:27017
[PORTAL] 1402494 [cluster-ClusterId{value='5971bba5ed3c6309faeac4c6', description='null'}-mongo1-d-d4s.d4science.org:27017] INFO  org.mongodb.driver.cluster  - Monitor thread successfully connected to server with description ServerDescription{address=mongo1-d-d4s.d4science.org:27017, type=REPLICA_SET_ARBITER, state=CONNECTED, ok=true, version=ServerVersion{versionList=[3, 0, 8]}, minWireVersion=0, maxWireVersion=3, electionId=null, maxDocumentSize=16777216, roundTripTimeNanos=333019829, setName='storagedev', canonicalAddress=mongo1-d-d4s.d4science.org:27017, hosts=[mongo2-d-d4s.d4science.org:27017, mongo3-d-d4s.d4science.org:27017], passives=[], arbiters=[mongo1-d-d4s.d4science.org:27017], primary='mongo3-d-d4s.d4science.org:27017', tagSet=TagSet{[]}}
[PORTAL] 1403348 [Thread-39] INFO  org.mongodb.driver.connection  - Opened connection [connectionId{localValue:20, serverValue:1582110}] to mongo3-d-d4s.d4science.org:27017
com.mongodb.MongoCommandException: Command failed with error 13: 'not authorized on remotefs to execute command { createIndexes: "fs.files", indexes: [ { key: { filename: 1 }, name: "filename_1", ns: "remotefs.fs.files" } ] }' on server mongo3-d-d4s.d4science.org:27017. The full response is { "ok" : 0.0, "errmsg" : "not authorized on remotefs to execute command { createIndexes: \"fs.files\", indexes: [ { key: { filename: 1 }, name: \"filename_1\", ns: \"remotefs.fs.files\" } ] }", "code" : 13 }
        at com.mongodb.connection.ProtocolHelper.getCommandFailureException(ProtocolHelper.java:77)
two facts are clear:
- the application can contact mongo, so the firewall is not blocking anything
 - the operations were not authorized
 
      
      Updated by Roberto Cirillo over 8 years ago
      
    
    Maybe it could be a key problem but, if this is the case, I guess you should see another exception before the authentication exception. Have you other exception before?
@k.giannakelos@cite.gr  please, could you check if there is the "preprod.gcubekey" in your classpath?
      
      Updated by Konstantinos Giannakelos over 8 years ago
      
    
    - Status changed from New to Closed
 - % Done changed from 0 to 100
 
It was indeed a key problem. Thanks for pointing that out. 
That was all the error stacktrace i got. No "key missing" exception occured, that's why i got a bit confused.
Thanks for your help!