Nuxeo on OpenShift
I'm trying to run nuxeo on OpenShift. As OpenShift restricts ports / bindable IPs I modified nuxeo.conf to fits those. Still it looks like a particular check performed by ConfigurationGenerator fails on OpenShift: see the call here.
I reproduced using a dumb
What would be the simplest/cleanest way (in this order :)) to work around this? Right now I cannot make nuxeo start on OpenShift.
However I encountered another more serious problem: OpenShift limited the memory allocated to the JVM to 512 MB and this is not enough for a Nuxeo to run.
>09:25:56,186 ERROR [org.nuxeo.launcher.NuxeoLauncher.doStart(NuxeoLauncher.java:1252)] Could not run configuration: Unreachable bind address /127.6.24.129 09:25:56,187 DEBUG [org.nuxeo.launcher.NuxeoLauncher.doStart(NuxeoLauncher.java:1253)] org.nuxeo.launcher.config.ConfigurationException: Unreachable bind address /127.6.24.129 org.nuxeo.launcher.config.ConfigurationException: Unreachable bind address /127.6.24.129
at org.nuxeo.launcher.config.ConfigurationGenerator.checkAddressReachable(ConfigurationGenerator.java:1339) at org.nuxeo.launcher.config.ConfigurationGenerator.checkAddressesAndPorts(ConfigurationGenerator.java:1312) at org.nuxeo.launcher.config.ConfigurationGenerator.verifyInstallation(ConfigurationGenerator.java:1236) at org.nuxeo.launcher.NuxeoLauncher.doStart(NuxeoLauncher.java:1204) at org.nuxeo.launcher.NuxeoLauncher.doStartAndWait(NuxeoLauncher.java:1076) at org.nuxeo.launcher.NuxeoLauncher.doStartAndWait(NuxeoLauncher.java:1042) at org.nuxeo.launcher.NuxeoLauncher.launch(NuxeoLauncher.java:823) at org.nuxeo.launcher.NuxeoLauncher.main(NuxeoLauncher.java:783)
Which is the same I can reproduce with my simple example.
Is there a simple way to override ConfigurationGenerator with my own extension?
You are right about the 512MB limitation (only for the free gears though).
Are you aware of some other hosted environment where nuxeo is known to work? Ideally there would be some free mode/trial period to test.
/at the start of the address normal? I'm surprised it's there.
I've had success running a Nuxeo on CloudFoundry, you'll find documentation about that here: http://doc.nuxeo.com/x/FRHF
Yes it looks like that's part of InetAddress#toString implementation.
Thanks for the cloudfoundry link. I'll consider it.
Simplest would be to add a configuration option (for nuxeo.conf or any nuxeo.defaults) to bypass the address check. However, are you sure Tomcat will be able to bind that address if it's not reachable?
What about the org.nuxeo.launcher.config.ConfigurationGenerator.checkPortAvailable(InetAddress, int) next check? Will it fail too and must also be bypassed?
Those checks were initially added to early detect the situations leading to the “Address already in use” error at server (Tomcat/JBoss) startup.
As the reason why isReachable fails, not sure but it's probably related to some strange network configuration cloud prodivers enjoy!
It can even run fine on a free gear (but is somewhat slow).
Quick answer: not possible due to the OpenShift memory limitation to 512 MB in the free gears.