I’m having trouble getting ES (3.0.0-rc9) to use parameters from the config file under Ubuntu 14.04 LTS (running on Azure). Specifically, I’ve gotten as far as specifying the log directory but it will not work.
I’ve set up ES as an Upstart job with the following in /etc/init/es-test.conf:
Sample Upstart conf file for GetEventStore
author “Lars Kemmann”
description “EventStore server”
version “3.0.0-rc9”
start on net-device-up IFACE!=lo
stop on starting rc RUNLEVEL=[06]
They all get dumped at the end of the output, but don’t seem to have an effect on the actual parameters that ES uses. (In fact I suspect the same will be true for the httpPort parameter.)
I’m experiencing the same issue on Ubuntu 14.04 LTS under Docker. I see all of my config options displayed at the end of the config dump, but ES seems to be taking the earlier (default) ones. This is affecting at least my logsDir, db, ip, and httpPrefixes parameters.
For anyone else who’s having this issue, the problem is that the configuration options in RC9 have changed to follow the naming of the properties in the ClusterNodeOptions class, since that’s how the YAML parser works. And it’s case-sensitive. So for example, “logsDir” (JSON) has become “Log” and “httpPrefixes” has become “HttpPrefixes”. You can use the command line to display the updated parameter names:``
clusternode --help
``
Also, using ~ instead of the full path seems to fail. Maybe I’m doing it wrong?
Log: ~/es-logs
``
is interpreted as:
LOGS: /home/azureuser/es-v3.0.0-rc9/~/es-logs
``
(i.e., it’s interpreted as a subfolder of the working directory.)
For now I’ll just specify the full path. That’s only a minor annoyance.
Doh, turns out powershell also does this, but File.Open doesn’t. Perhaps we should consider special casing this for config files (though I guess in production people aren’t storing their data in the home dir of their user!)