XNAT won't start behind proxy (Pipeline Engine error)

69 views
Skip to first unread message

Jens Petersen

unread,
Oct 12, 2017, 11:15:00 AM10/12/17
to xnat_discussion
Hey guys,

I'm having trouble starting XNAT with Vagrant behind a proxy. At the point where it's trying to build/copy the pipeline engine, I get the following error:

==> xnat-local-dev: The source repository already exists: /data/xnat/src/pipeline
==> xnat-local-dev: /data/xnat/src/pipeline /data/xnat/src
==> xnat-local-dev: Exception in thread "main"
==> xnat-local-dev: java.net.ConnectException: Connection timed out
==> xnat-local-dev:     at java.net.PlainSocketImpl.socketConnect(Native Method)
==> xnat-local-dev:     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
==> xnat-local-dev:     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
==> xnat-local-dev:     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
==> xnat-local-dev:     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
==> xnat-local-dev:     at java.net.Socket.connect(Socket.java:589)
==> xnat-local-dev:     at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668)
==> xnat-local-dev:     at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
==> xnat-local-dev:
==> xnat-local-dev:     at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
==> xnat-local-dev:     at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
==> xnat-local-dev:     at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
==> xnat-local-dev:     at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264)
==> xnat-local-dev:     at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367)
==> xnat-local-dev:     at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
==> xnat-local-dev:     at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1105)
==> xnat-local-dev:     at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:999)
==> xnat-local-dev:     at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
==> xnat-local-dev:     at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1513)
==> xnat-local-dev:     at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
==> xnat-local-dev:     at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
==> xnat-local-dev:     at org.gradle.wrapper.Download.downloadInternal(Download.java:58)
==> xnat-local-dev:     at org.gradle.wrapper.Download.download(Download.java:44)
==> xnat-local-dev:     at org.gradle.wrapper.Install$1.call(Install.java:61)
==> xnat-local-dev:     at org.gradle.wrapper.Install$1.call(Install.java:48)
==> xnat-local-dev:     at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
==> xnat-local-dev:     at org.gradle.wrapper.Install.createDist(Install.java:48)
==> xnat-local-dev:     at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:128)
==> xnat-local-dev:     at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)

This happens both with the latest release version and with the dev version. I even prebuilt the pipeline-engine, but it makes no difference. From what I found on the internet, the problem seems to be that the gradle wrapper can't download gradle. I've entered my proxy settings at every conceivable point, including the gradle.properties in the pipeline-engine source folder (and of course my gradle home directory). The VM will still start, but the pipeline folder in XNAT_HOME is empty.
I've no ideas left to try, so I was hoping you can help me out here? Is there a way to get XNAT Vagrant up and running without an internet connection?

Thanks so much advance, any help is appreciated!

Kind regards,
Jens

Matt South

unread,
Oct 12, 2017, 11:33:45 AM10/12/17
to xnat_discussion
I needed to add these properties to the gradle.properties file in the pipeline installer directory to fix this issue when I met it:

## Proxy setup
systemProp.proxySet="true"
systemProp.http.keepAlive="true"
systemProp.http.proxyHost=myproxyip
systemProp.http.proxyPort=myproxyport
systemProp.https.keepAlive="true"
systemProp.https.proxyHost=myproxyip
systemProp.https.proxyPort=myproxyport

Matt South

unread,
Oct 12, 2017, 11:40:49 AM10/12/17
to xnat_discussion
Although to be clear I wasnt trying to use the vagrant build, I was building the pipeline separately.  I just thought that the settings that worked for me would be useful.   I recall not thinking the proxySet attribute would be important, but finding that it was.

M

Jens Petersen

unread,
Oct 18, 2017, 9:33:34 AM10/18/17
to xnat_discussion
Thanks Matt!

For anyone interested, I finally managed to get it to work. I didn't notice that upon setup, the gradle.properties file was replaced by its default version. If you don't destroy and rebuild your VM too often, you can just enter the VM with the failed pipeline build and rerun gradlew from the pipeline source folder after editing the corresponding gradle.properties inside the machine. The better way is probably to edit pipeline.gradle.properties.tmpl in the templates directory.
As a note to the devs, I was quite surprised to not find any documentation on this, considering the clinical nature of the project. I would be happy to help write a short overview of the necessary steps.
Reply all
Reply to author
Forward
0 new messages