Skip to content

Conversation

saschagrunert
Copy link
Member

@saschagrunert saschagrunert commented Jun 27, 2025

What type of PR is this?

/kind feature

What this PR does / why we need it:

Add support for websocket exec and attach using conmon-rs. This means that those sessions will survive a CRI-O restart. Drawback is that we cannot know if spdy or a websocket connection is being used on setup. Therefore we cannot support spdy through conmon-rs anymore. The whole feature is gated through the stream_websockets runtime handler configuration.

Which issue(s) this PR fixes:

Refers to #7826, kubernetes/enhancements#4006

Special notes for your reviewer:

Requires #9290

Does this PR introduce a user-facing change?

Added support for conmon-rs streaming server on `Exec` and `Attach`. To enable it, set
`stream_websockets = true` as part of the runtime handler configuration.

@openshift-ci openshift-ci bot added release-note Denotes a PR that will be considered when it comes time to generate release notes. kind/feature Categorizes issue or PR as related to a new feature. dco-signoff: yes Indicates the PR's author has DCO signed all their commits. labels Jun 27, 2025
@openshift-ci openshift-ci bot requested review from klihub and QiWang19 June 27, 2025 08:46
Copy link
Contributor

openshift-ci bot commented Jun 27, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: saschagrunert

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 27, 2025
@saschagrunert saschagrunert force-pushed the streaming-server-exec-attach branch from c46b4fa to 61ab3f7 Compare June 27, 2025 08:47
@saschagrunert saschagrunert changed the title Add conmon-rs streaming server support for Exec and Attach WIP: Add conmon-rs streaming server support for Exec and Attach Jun 27, 2025
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 27, 2025
@saschagrunert saschagrunert force-pushed the streaming-server-exec-attach branch 2 times, most recently from 5aeb08a to 9913428 Compare June 27, 2025 08:59
@haircommander
Copy link
Member

I wonder if there's a way we can plumb the knowledge of websocket v spdy into the request so we can toggle behavior, but that's longer term (or maybe we just move away from spdy...)

@saschagrunert saschagrunert force-pushed the streaming-server-exec-attach branch from 9913428 to 0bc89ae Compare June 30, 2025 07:27
@saschagrunert
Copy link
Member Author

saschagrunert commented Jun 30, 2025

I wonder if there's a way we can plumb the knowledge of websocket v spdy into the request so we can toggle behavior, but that's longer term (or maybe we just move away from spdy...)

I was thinking about the same. Considering that the transition from SPDY to WS is already ongoing in kubernetes/enhancements#4006, I'd say we don't keep too much backwards compatibility (we also don't have websocket support right now).

The conversation could be a good topic for the v1.35 cycle.

@saschagrunert saschagrunert force-pushed the streaming-server-exec-attach branch from 0bc89ae to dfcc3b3 Compare June 30, 2025 07:31
@saschagrunert saschagrunert changed the title WIP: Add conmon-rs streaming server support for Exec and Attach Add conmon-rs streaming server support for Exec and Attach Jun 30, 2025
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 30, 2025
@saschagrunert saschagrunert changed the title Add conmon-rs streaming server support for Exec and Attach WIP: Add conmon-rs streaming server support for Exec and Attach Jun 30, 2025
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 30, 2025
@saschagrunert saschagrunert force-pushed the streaming-server-exec-attach branch 2 times, most recently from 7cb4a50 to c9e97c4 Compare June 30, 2025 07:51
Copy link

codecov bot commented Jun 30, 2025

Codecov Report

Attention: Patch coverage is 60.00000% with 38 lines in your changes missing coverage. Please review.

Project coverage is 66.99%. Comparing base (2edb23f) to head (16a08eb).
Report is 12 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #9289      +/-   ##
==========================================
+ Coverage   66.92%   66.99%   +0.07%     
==========================================
  Files         198      198              
  Lines       27306    27406     +100     
==========================================
+ Hits        18274    18362      +88     
- Misses       7525     7530       +5     
- Partials     1507     1514       +7     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@saschagrunert saschagrunert changed the title WIP: Add conmon-rs streaming server support for Exec and Attach Add conmon-rs streaming server support for Exec and Attach Jun 30, 2025
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 30, 2025
@saschagrunert saschagrunert changed the title Add conmon-rs streaming server support for Exec and Attach WIP: Add conmon-rs streaming server support for Exec and Attach Jun 30, 2025
@saschagrunert
Copy link
Member Author

/retest

1 similar comment
@bitoku
Copy link
Contributor

bitoku commented Jul 7, 2025

/retest

@saschagrunert
Copy link
Member Author

@cri-o/cri-o-maintainers PTAL

@cri-o cri-o deleted a comment from openshift-ci bot Jul 8, 2025
@saschagrunert
Copy link
Member Author

/override ci/prow/ci-e2e-evented-pleg

Copy link
Contributor

openshift-ci bot commented Jul 8, 2025

@saschagrunert: Overrode contexts on behalf of saschagrunert: ci/prow/ci-e2e-evented-pleg

In response to this:

/override ci/prow/ci-e2e-evented-pleg

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@saschagrunert saschagrunert force-pushed the streaming-server-exec-attach branch from 88d7337 to d093e92 Compare July 8, 2025 09:58
@saschagrunert
Copy link
Member Author

/override ci/prow/ci-e2e-evented-pleg

Copy link
Contributor

openshift-ci bot commented Jul 8, 2025

@saschagrunert: Overrode contexts on behalf of saschagrunert: ci/prow/ci-e2e-evented-pleg

In response to this:

/override ci/prow/ci-e2e-evented-pleg

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@saschagrunert saschagrunert force-pushed the streaming-server-exec-attach branch 3 times, most recently from baf6e4e to 730d7aa Compare July 8, 2025 13:24
@saschagrunert saschagrunert changed the title Add conmon-rs streaming server support for Exec and Attach WIP: Add conmon-rs streaming server support for Exec and Attach Jul 8, 2025
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 8, 2025
@saschagrunert saschagrunert force-pushed the streaming-server-exec-attach branch from 730d7aa to 93a4c42 Compare July 8, 2025 13:59
Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
@saschagrunert saschagrunert force-pushed the streaming-server-exec-attach branch from 93a4c42 to 16a08eb Compare July 8, 2025 14:12
@saschagrunert saschagrunert changed the title WIP: Add conmon-rs streaming server support for Exec and Attach Add conmon-rs streaming server support for Exec and Attach Jul 8, 2025
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 8, 2025
@saschagrunert
Copy link
Member Author

/retest

@saschagrunert
Copy link
Member Author

/override ci/prow/ci-e2e-evented-pleg
PTAL @bitoku

Copy link
Contributor

openshift-ci bot commented Jul 9, 2025

@saschagrunert: Overrode contexts on behalf of saschagrunert: ci/prow/ci-e2e-evented-pleg

In response to this:

/override ci/prow/ci-e2e-evented-pleg
PTAL @bitoku

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@bitoku
Copy link
Contributor

bitoku commented Jul 9, 2025

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jul 9, 2025
@openshift-merge-bot openshift-merge-bot bot merged commit 5e12be1 into cri-o:main Jul 9, 2025
100 of 103 checks passed
@saschagrunert saschagrunert deleted the streaming-server-exec-attach branch July 9, 2025 09:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. dco-signoff: yes Indicates the PR's author has DCO signed all their commits. kind/feature Categorizes issue or PR as related to a new feature. lgtm Indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants