containers / containers/conmon-rs

`[sig-cli] Kubectl client Simple pod should support inline execution and attach` flakes

Open
#1,005 2 comments 0 reactions 0 assignees View on GitHub
help wanted kind/failing-test
Dominant language
Rust
Stars
254
Forks
51
Avg merge
4h 7m
Merged PRs (30d)
21

Description

### Which jobs are failing?

CRI-O e2e-conmonrs: https://prow.ci.openshift.org/job-history/gs/origin-ci-test/pr-logs/directory/pull-ci-cri-o-cri-o-main-ci-e2e-conmonrs

### Which tests are failing?

`[sig-cli] Kubectl client Simple pod should support inline execution and attach`

### Since when has it been failing?

Since ever, reproducible with latest conmon-rs on `main`.

### Reason for failure (if possible)

The test flakes from time to time not containing the whole output in the logs:

```
[FAILED] Expected
: read:stdin closed

to contain substring
: read:value
In [It] at: test/e2e/kubectl/kubectl.go:764 @ 01/04/23 15:09:48.618
```
https://github.com/kubernetes/kubernetes/blob/a66aad2d80dacc70025f95a8f97d2549ebd3208c/test/e2e/kubectl/kubectl.go#L757-L768

### Anything else we need to know?

It looks like a race between the attach data and the processing in the stdout/err read loops. We added this code part to avoid such a race, but it will still happen after a couple of runs (even locally reproducible):

https://github.com/containers/conmon-rs/blob/29c59058c35432fce89dbfbbfa8fcc2ac6dcfc19/conmon-rs/server/src/container_io.rs#L337-L343

Contributor guide

Open the contributing guide

Research direction

Start with server/src/container_io.rs around lines 337-343 and the Kubernetes test at test/e2e/kubectl/kubectl.go lines 757-768. Reproduce the CRI-O e2e-conmonrs failure and inspect the attach data flow alongside the stdout and stderr read loops. Done means the Simple pod execution and attach test consistently captures the complete expected output without flakes.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes, rust
Domain
testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.