Use Elasticsearch's logging configuration
See original GitHub issueHistorically Rally needed to modify Elasticsearch’s logging configuration, e.g. to enable verbose logging for the IndexingMemoryController
. We’ve removed the surrounding infrastructure in Rally a while ago. Therefore, Rally can just use the logging configuration that is shipped with Elasticsearch.
Implementation notes
Before applying the configuration in rally-teams, Rally wipes the Elaticsearch’s configuration directory:
Then, it applies the configuration; it writes files in append mode (this allows mixins to contribute to the configuration):
A possible solution is to delete all but the log4j2.properties
file and then apply the config as is. We should not hardcode that name though but instead introduce a “allowlist” concept (files to keep from the original config). The allowlist would be defined in rally-teams and evaluated by Rally. For backwards-compatibility we should also explicitly skip copying any files on the allowlist.
We also have a dedicated provisioner for the Docker image which writes config files to a directory on the host and then provides each file via a mount:
Here, it is sufficient to only skip copying any file on the allowlist.
Issue Analytics
- State:
- Created 2 years ago
- Comments:6 (6 by maintainers)
Top GitHub Comments
The config files are already embedded in the Docker image. I think it’s sufficient that we just don’t provide a file outside the container and mount it. So it’s just the semantics of “overwriting” files in rally-teams are different but now that I think of it more I don’t think that’s a problem.
Nevertheless, we still have the issue with backwards-compatibility, both for Docker and the tar.gz distribution. So I still think a deny / allowlist concept is necessary, at least for a transition period.
I don’t know what makes Docker different here, sorry.