Case insensitive service provider #1478
Merged
+69
−24
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.
Description of the issue
The
application
,app
andservice
service name provider ec2 tags are currently case sensitive, there are also bugs in exactness in how these are being compared due to excessive use ofstrings.Contains
Description of changes
Update
InstanceTags
to return a[]string
with the tag keys instead of the raw newline delimited list. This is a more friendly API to reason about. We can then convert it to a map with lowercase keys that we use for comparison.I also fixed the asg lookup to also be an exact match instead. These matches are relatively efficient as I am converting the arrays to maps for O(1) lookups instead of having to repeatedly loop through the whole strings using Contains or slices.Contains
Related to: #1474
License
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Tests
Unit tests updated
Pooja tested manually for me on her cluster
Requirements
Before commit the code, please do the following steps.
make fmt
andmake fmt-sh
-- donemake lint