Backport of NET-5186 Fix issue where consul-dataplane attempts to write to a read-only file system location into release/1.2.x#256
Merged
nathancoleman merged 1 commit intorelease/1.2.xfrom Sep 5, 2023
Conversation
9093e47 to
ec2fb76
Compare
github-team-consul-core-pr-approver
approved these changes
Sep 1, 2023
Collaborator
github-team-consul-core-pr-approver
left a comment
There was a problem hiding this comment.
Auto approved Consul Bot automated PR
…te to a read-only file system location
ec2fb76 to
dee9a68
Compare
nathancoleman
approved these changes
Sep 5, 2023
Member
nathancoleman
left a comment
There was a problem hiding this comment.
Matches source PR other than some additional logic that was recently added to a deleted function. The net impact is still to delete the function.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Backport
This PR is auto-generated from #253 to be assessed for backporting due to the inclusion of the label backport/1.2.
The below text is copied from the body of the original PR.
Running
setcapon the consul-dataplane binary results in a process that cannot see theTMPDIRenvar intended to influence where the envoy bootstrap config is written to. This is due to a previously-uknown-to-us side effect of glibc, described here.As a result, it attempts to write to the
/tmpdirectory instead of/consul/connect-inject-- configured for injected sidecars here -- and gets aread-only file systemerror.We previously considered dropping
setcapfor theconsul-dataplanebinary; however, theenvoybinary that is forked from dataplane cannot itself have a capability that the consul-dataplane process does not have.Instead, I've opted to keep
setcap net_bind_servicefor both envoy and consul-dataplane. We can work around the fact thatTMPDIRis invisible toconsul-dataplaneby not writing to the file system at all and usingenvoy --config-yaml <yaml or json string>where we were previously usingenvoy --config-path <string>.Overview of commits