add agent certificates to binding cache for syslog-drain valdation me…#1301
Draft
corporatemax wants to merge 1 commit intocloudfoundry:developfrom
Draft
add agent certificates to binding cache for syslog-drain valdation me…#1301corporatemax wants to merge 1 commit intocloudfoundry:developfrom
corporatemax wants to merge 1 commit intocloudfoundry:developfrom
Conversation
…ssages in applog stream
10 tasks
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.
Please take a moment to review the questions before submitting the PR
🚫 We only accept PRs to develop branch. If this is an exception, please specify why 🚫
WHAT is this change about?
This PR adds the loggregator agent TLS certificates (CA, cert, key) to the syslog-binding-cache job. These are required by the forwarder-agent to emit syslog drain configuration error messages as app logs via the AppLogEmitter, as introduced in loggregator-agent-release#633. Without this change, the forwarder-agent in the binding-cache cannot establish the TLS connection needed to surface drain errors to application developers.
What customer problem is being addressed? Use customer persona to define the problem e.g. Alana is unable to...
Please provide any contextual information.
cloudfoundry/loggregator-agent-release#579
cloudfoundry/loggregator-agent-release#633
Has a cf-deployment including this change passed cf-acceptance-tests?
Does this PR introduce a breaking change? Please take a moment to read through the examples before answering the question.
How should this change be described in cf-deployment release notes?
Syslog drain configuration errors are now surfaced directly to application developers as app logs, helping diagnose issues when logs are not arriving at the configured syslog drain target.
Does this PR introduce a new BOSH release into the base cf-deployment.yml manifest or any ops-files?
Does this PR make a change to an experimental or GA'd feature/component?
Please provide Acceptance Criteria for this change?
AC 1: Unreachable drain target shows error in app logs
Given I have an application deployed to Cloud Foundry And I have created a user-provided syslog drain service bound to my application with an unreachable host (e.g. syslog://unreachable-host:9999) When I run cf logs Then I see an error message in the log stream indicating the drain target could not be reached And the error message includes the drain destination
AC 2: Invalid drain URL shows error in app logs
Given I have an application deployed to Cloud Foundry And I have created a user-provided syslog drain service bound to my application with an invalid URL (e.g. malformed scheme or missing port) When I run cf logs Then I see an error message in the log stream indicating the drain binding is misconfigured And the error message identifies the nature of the misconfiguration
AC 3: TLS connection failure shows error in app logs
Given I have an application deployed to Cloud Foundry And I have created a syslog-tls drain service bound to my application where the target has an invalid or expired certificate When I run cf logs Then I see an error message in the log stream indicating a TLS handshake failure And the error message references the drain endpoint
AC 4: Connection timeout shows error in app logs
Given I have an application deployed to Cloud Foundry And I have created a syslog drain service bound to my application where the target accepts connections but does not respond within the write timeout When the forwarder-agent attempts to write logs to the drain Then I see an error message in cf logs indicating a write timeout And the error is attributed to the correct drain binding
AC 5: Healthy drain does not emit error messages
Given I have an application deployed to Cloud Foundry And I have created a correctly configured syslog drain service bound to my application with a reachable and healthy target When I run cf logs Then I do not see any syslog drain error messages in the application log stream And logs are successfully delivered to the drain target
AC 6: Error messages are scoped to the bound application
Given I have two applications: app-A with a misconfigured drain and app-B with a healthy drain When I run cf logs app-A Then I see drain error messages for app-A only When I run cf logs app-B Then I do not see any drain error messages
What is the level of urgency for publishing this change?
Tag your pair, your PM, and/or team!
@chombium
@jorbaum