Skip to content

logs are not streamed when spread is run with -vv #235

@carlcsaposs-canonical

Description

@carlcsaposs-canonical

Expected behavior

When spread is run with -vv, stdout from the task is streamed to the terminal that spread is executed from

Actual behavior

When spread is run with -vv, stdout from the task is only shown after the task script completes (except for small snippets of stdout that are shown every warn-timeout)

Impact

Delayed logs (e.g. on pull request CI) can make monitoring/troubleshooting tests more difficult. When the test suite is flaky or prone to stalling (e.g. lack of timeouts, timeouts set too high), monitoring real-time logs can make iterations quicker—since a fix can be pushed or a test can be cancelled & retried before the task fails

Additional information

When we run spread on GitHub Actions (for our pull request CI), we provision a runner for each spread job. On each runner, we run spread & select a single job

For this use case (single spread job & single machine), streaming of stdout is desired
If spread was run with multiple machines (and using -vv), streaming of stdout may be undesirable (since the logs from the different machines would presumably get mixed together)

In Frankfurt, we briefly mentioned this to @jnsgruk and it sounds like maybe the current behavior could be considered a bug—but given that spread could be run with multiple machines, wanted to check: is the current behavior the intended behavior—or would implementing log streaming (in a verbose mode) be compatible with spread's design?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions