forked from MihaZupan/runtime-utils
-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Description
Triage for dotnet/aspire#12409.
Repo filter: area-dashboard issues.
MihuBot version: 87d9df.
Ping MihaZupan for any issues.
This is a test triage report generated by AI, aimed at helping the triage team quickly identify past issues/PRs that may be related.
Take any conclusions with a large grain of salt.
Tool logs
dotnet/aspire#12409: Failing test: Aspire.Dashboard.Tests.Integration.StartupTests.LogOutput_LocalhostAddress_LocalhostInLogOutput by radical
[Tool] Searching for LogOutput_LocalhostAddress_LocalhostInLogOutput, Assert.Collection() Failure, dashboard is configured with a shared endpoint for browser access and the OTLP service, Now listening on: https://localhost, StartupTests LogOutput (IncludeOpen=True, IncludeClosed=True, IncludeIssues=True, IncludePullRequests=True, Repository=dotnet/aspire)
[Tool] Found 66 issues, 305 comments, 40 returned results (21687 ms)
Here are the related issues and discussions for triaging issue #12409 ("Failing test: Aspire.Dashboard.Tests.Integration.StartupTests.LogOutput_LocalhostAddress_LocalhostInLogOutput"):
1. PR #3473 (April 2024) - Fix flaky LogOutput_LocalhostAddress_LocalhostInLogOutput
- This PR specifically addressed flakiness in the
LogOutput_LocalhostAddress_LocalhostInLogOutputtest. - The fix involved recreating the sink on each retry, which was previously missing.
- No comments, but the PR was merged, indicating the test was known to be problematic and received targeted fixes.
2. PR #3045 (March 2024) - Support configuring dashboard with one endpoint for browser and OTLP
- This PR changed dashboard endpoint logic to support a single port for both browser and OTLP endpoints.
- If the endpoint is not secured with HTTPS, a warning is logged: "The dashboard is configured with a shared endpoint for browser access and the OTLP service. The endpoint doesn't use TLS so browser access is only possible via a TLS terminating proxy."
- This warning matches the unexpected log output in your test failure.
- Discussion clarified that separate ports are required when HTTPS isn't used, but single-port is supported if detected.
- The warning message is now part of the log output when running in this configuration.
3. Issue #2756 (March 2024) - Aspire Dashboard HTTPS and SINGLE PORT hosting of both OTLP and Blazor app
- User described running both OTLP and Blazor dashboard on a single port, with HTTPS in development and HTTP in production (with TLS terminated by Azure).
- JamesNK explained the need for separate ports when not using HTTPS, but supported the idea of single-port hosting when possible.
- This led to the changes in PR #3045 above.
4. PR #2316 (Feb-Mar 2024) - Add authn/authz to OTLP endpoint, refactor dashboard endpoint creation, integration tests
- Refactored dashboard endpoint creation, added more flexible configuration, and introduced integration tests for various endpoint/auth scenarios.
- Comments discuss configuration, authentication modes, and endpoint naming.
- Several test improvements and refactoring, but no direct mention of the specific test in question.
5. Issue #2330 (Feb 2024) - Dashboard listen logging doesn't work with dynamic port
- Dashboard previously logged the configured endpoint, not the actual assigned port (e.g., logging port 0).
- Logging was moved to after Kestrel starts, so the correct port is now logged.
- This change may affect the expected log output in tests.
6. PR #3036 (March 2024) - Always require OTLP auth mode config when starting dashboard
- Requires explicit OTLP auth mode configuration.
- Discussion about error handling and messaging, but not directly related to log output ordering.
7. Issue #3349 (April 2024) - OTLP configuration is still injected into resources when the dashboard is disabled
- Not directly related, but discusses configuration and environment variable injection for OTLP endpoints.
Summary of Root Cause
- The test failure is caused by a change in the dashboard's log output order and content when configured with a shared endpoint for browser and OTLP access, especially when TLS is not used.
- The warning message about TLS and proxying is now logged before the "Now listening on: ..." message, which causes the
Assert.Collectionto fail. - This behavior was introduced in PR #3045 and discussed in issue #2756.
- The test may need to be updated to account for the new log output order and content, or to be more flexible if the warning message is expected in some configurations.
Recommendations
- Review and update the test to allow for the warning message in the log output when running with a shared endpoint and no TLS.
- Consider whether the test should assert the presence of "Now listening on: ..." anywhere in the log output, rather than at a fixed position.
- Reference PR #3045 and issue #2756 for context on the log output change.
If you need further details on any of the referenced issues or PRs, let me know!
Metadata
Metadata
Assignees
Labels
No labels