Expose Prometheus port when custom config files are used #1827
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Right now, the patch that adds the Prometheus container port when Prometheus is enabled does not run if these two configurations are provided in the spec:
SparkApplication.spec.monitoring.metricsPropertiesFile
(link to docs)SparkApplication.spec.monitoring.prometheus.configFile
(link to docs)This leads to an issue where the
jmx-exporter
port doesn't get exposed in either driver or executor containers if both of these configurations are set. More details here: #1053The current behavior of the code is as follows:
If prometheus is enabled AND both
metricsPropertiesFile
andprometheus.configFile
are not set:config.PrometheusConfigMapMountPath
However, only the second patch (VolumeMount) needs to be skipped if both
metricsPropertiesFile
andprometheus.configFile
are set, since the default configs won't be mounted there.This PR proposes modifying the logic to reflect this correct state.