Hi, there have been widely varying statements about what needs to be in the
Elasticsearch config parameter “network_host”. I think I may have a rationale
for what works and what doesn’t, but I’d like your input or correction.
I am focusing on what worked in terms of punctuation (quotes and square
brackets) with the old _lo:ip4_,_eth0:ip4_. I would like to ignore for the
moment, please, whether eth0 was the correct name for a given env, and whether
we can use 0.0.0.0. Instead, for systems where eth0 WAS the correct name, I’d
like to understand what worked and why.
It’s complicated because the value starts out in xml, is read into python,
printed by jinja, then consumed by yaml.
I think there were two constructs that actually worked for this param. Please
say whether this is consistent or inconsistent with your experience:
"_lo:ip4_","_eth0:ip4_"
This worked for me. I think this was read from XML into python as a list of
strings, then output in jinja ‘print statement‘
{{ network_host }} as a python literal list with form:
[ "_lo:ip4_", "_eth0:ip4_" ]
In other words, the print statement for a python list object injected the
needed square brackets.
and
"[ _lo:ip4_, _eth0:ip4_ ]"
Nick and Anand, please confirm if this is the form that worked for you. I
think this was read from XML into python as a single string, and output in the
same jinja print statement as:
[ _lo:ip4_, _eth0:ip4_ ]
because the print statement for a python string object does not produce quote
marks.
In either case, yaml (the consumer of the jinja output) saw what it interprets
as a list of strings (since quotes are optional for yaml strings).
What didn’t work was:
* "_lo:ip4_, _eth0:ip4_"
This would be read in and output as a single string, and no square brackets
would ever be introduced.
* _lo:ip4_, _eth0:ip4_ or [ _lo:ip4_, _eth0:ip4_ ]
(without quotes) I think the unquoted colons messed up the python parsing
Finally, I don’t know whether
* [ "_lo:ip4_", "_eth0:ip4_" ]
worked or not, I’m not sure anyone ever tried it. By the above logic it
probably should work.
Please give me your input if you have touched on these issues.
Thanks,
--Matt