don't override existing labels in scrape jobs #593
Merged
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.
Issue
Closes #571.
Solution
Changing the order of the dictionaries to unpack makes sure that pre-exising labels have priority over the automatically-generated topology.
Testing Instructions
Modify a charm (e.g., blackbox) to specify a custom
juju_application
label; then relate it to two Prometheus instances (one without the fix, the other with the fix) and check the difference in the targets section.Before:
After:
There is a unit test that explicitly checks that we do overwrite the topology labels (and it's aptly called
test_consumer_overwrites_juju_topology_labels
, in the filetests/unit/test_endpoint_consumer.py
). I'm removing that test, since it doesn't really make sense with this PR :)I would like another pair of eyes to confirm this PR is something we want to do!