Skip to content

[release-4.20] OCPBUGS-99143: fix(backport): konnectivity agent auth - #9092

Merged
celebdor merged 1 commit into
openshift:release-4.20from
clebs:konnectivity-4.20
Jul 24, 2026
Merged

[release-4.20] OCPBUGS-99143: fix(backport): konnectivity agent auth#9092
celebdor merged 1 commit into
openshift:release-4.20from
clebs:konnectivity-4.20

Conversation

@clebs

@clebs clebs commented Jul 24, 2026

Copy link
Copy Markdown
Member

What this PR does / why we need it:

Backport of #9031 to release-4.20.

Special notes for your reviewer:

Testing Plan:
test-ocpbugs-99014.md

Checklist:

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 007ce7bf-9ec1-4c79-946d-d9bf9ab3c9c1

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@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 24, 2026
@openshift-ci

openshift-ci Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci openshift-ci Bot added do-not-merge/needs-area area/control-plane-operator Indicates the PR includes changes for the control plane operator - in an OCP release and removed do-not-merge/needs-area labels Jul 24, 2026
@clebs

clebs commented Jul 24, 2026

Copy link
Copy Markdown
Member Author

/jira cherry-pick OCPBUGS-99014

@openshift-ci-robot

Copy link
Copy Markdown

@clebs: Jira Issue OCPBUGS-99014 has been cloned as Jira Issue OCPBUGS-99664. Will retitle bug to link to clone.
/retitle OCPBUGS-99664: fix(backport): konnectivity agent auth to 4.20

Details

In response to this:

/jira cherry-pick OCPBUGS-99014

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci Bot changed the title fix(backport): konnectivity agent auth to 4.20 OCPBUGS-99664: fix(backport): konnectivity agent auth to 4.20 Jul 24, 2026
@openshift-ci-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Jul 24, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@clebs: This pull request references Jira Issue OCPBUGS-99664, which is invalid:

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

What this PR does / why we need it:

Backport of #9031 to release-4.20.

Which issue(s) this PR fixes:

Fixes

Special notes for your reviewer:

Checklist:

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

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 openshift-eng/jira-lifecycle-plugin repository.

@clebs clebs changed the title OCPBUGS-99664: fix(backport): konnectivity agent auth to 4.20 [release-4.20] OCPBUGS-99664: fix(backport): konnectivity agent auth Jul 24, 2026
@clebs
clebs marked this pull request as ready for review July 24, 2026 07:13
@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 24, 2026
@openshift-ci
openshift-ci Bot requested review from enxebre and hasueki July 24, 2026 07:14
@openshift-ci-robot

Copy link
Copy Markdown

@clebs: This pull request references Jira Issue OCPBUGS-99664, which is invalid:

  • expected dependent Jira Issue OCPBUGS-99661 to be in one of the following states: VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), CLOSED (DONE-ERRATA), but it is POST instead

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

What this PR does / why we need it:

Backport of #9031 to release-4.20.

Special notes for your reviewer:

Testing Plan:
test-ocpbugs-99014.md

Checklist:

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

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 openshift-eng/jira-lifecycle-plugin repository.

@csrwng csrwng added approved Indicates a PR has been approved by an approver from all required OWNERS files. backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. labels Jul 24, 2026
@openshift-ci

openshift-ci Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

Approval requirements bypassed by manually added approval.

This pull-request has been approved by: clebs

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

The pull request process is described here

Details 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

@clebs clebs changed the title [release-4.20] OCPBUGS-99664: fix(backport): konnectivity agent auth [release-4.20] OCPBUGS-99143: fix(backport): konnectivity agent auth Jul 24, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@clebs: This pull request references Jira Issue OCPBUGS-99143, which is invalid:

  • expected dependent Jira Issue OCPBUGS-99100 to be in one of the following states: VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), CLOSED (DONE-ERRATA), but it is POST instead

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

What this PR does / why we need it:

Backport of #9031 to release-4.20.

Special notes for your reviewer:

Testing Plan:
test-ocpbugs-99014.md

Checklist:

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot openshift-ci-robot added the jira/severity-critical Referenced Jira bug's severity is critical for the branch this PR is targeting. label Jul 24, 2026
@clebs

clebs commented Jul 24, 2026

Copy link
Copy Markdown
Member Author

/jira refresh

@openshift-ci-robot

Copy link
Copy Markdown

@clebs: This pull request references Jira Issue OCPBUGS-99143, which is invalid:

  • expected dependent Jira Issue OCPBUGS-99100 to be in one of the following states: VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), CLOSED (DONE-ERRATA), but it is POST instead

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

Details

In response to this:

/jira refresh

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 openshift-eng/jira-lifecycle-plugin repository.

Backport pull request openshift#9031 from hlipsig/fix-konnectivity-agent-auth

OCPBUGS-99014: Authenticate Konnectivity agents with cluster CA

Signed-off-by: Borja Clemente <bclement@redhat.com>
@clebs
clebs force-pushed the konnectivity-4.20 branch from 6aee3af to 331f3d7 Compare July 24, 2026 10:15
@openshift-ci

openshift-ci Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

@clebs: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-aws-upgrade-hypershift-operator 331f3d7 link true /test e2e-aws-upgrade-hypershift-operator
ci/prow/e2e-aws 331f3d7 link true /test e2e-aws

Full PR test history. Your PR dashboard.

Details

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. I understand the commands that are listed here.

@clebs

clebs commented Jul 24, 2026

Copy link
Copy Markdown
Member Author

/verified by @clebs

Executed test plan successfully:

============================================================
  Scenario 1: Verify --cluster-ca-cert flag
============================================================
  konnectivity-server args:
    "--logtostderr=true"
    "--log-file-max-size=0"
    "--cluster-cert"
    "/etc/konnectivity/cluster/tls.crt"
    "--cluster-key"
    "/etc/konnectivity/cluster/tls.key"
    "--cluster-ca-cert"
    "/etc/konnectivity/ca/ca.crt"
    "--server-cert"
    "/etc/konnectivity/server/tls.crt"
    "--server-key"
    "/etc/konnectivity/server/tls.key"
    "--server-ca-cert"
    "/etc/konnectivity/ca/ca.crt"
    "--server-port"
    "8090"
    "--agent-port"
    "8091"
    "--health-port"
    "2041"
    "--admin-port=8093"
    "--mode=http-connect"
    "--proxy-strategies=destHost
    defaultRoute"
    "--keepalive-time"
    "30s"
    "--frontend-keepalive-time"
    "30s"
    "--server-count"
    "1"
    "--cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
    TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256"
  [PASS] --cluster-ca-cert flag present
  [PASS] --cluster-ca-cert points to /etc/konnectivity/ca/ca.crt

============================================================
  Scenario 2: Verify CA bundle mounted
============================================================
  [PASS] konnectivity-ca volume mount exists
  [PASS] konnectivity-ca-bundle ConfigMap exists
  [PASS] CA cert file is valid PEM

============================================================
  Scenario 3: Konnectivity agents connect (hosted cluster)
============================================================
  [PASS] konnectivity-agent pods running
  [PASS] No TLS errors in agent logs
  [PASS] No cert errors in server logs for legitimate agents

============================================================
  Scenario 4: Node communication through tunnel
============================================================
  [PASS] oc exec through tunnel works

============================================================
  Scenario 5: Reject connections without valid client certs
============================================================
pod/tls-test created
  Waiting for tls-test pod to be ready...
pod/tls-test condition met

  --- Test: no client cert ---
    *  CAfile: /etc/pki/tls/certs/ca-bundle.crt
    * TLSv1.0 (OUT), TLS header, Certificate Status (22):
    * TLSv1.3 (OUT), TLS handshake, Client hello (1):
    * TLSv1.2 (IN), TLS header, Certificate Status (22):
    * TLSv1.3 (IN), TLS handshake, Server hello (2):
  [PASS] Connection without client cert rejected

  --- Test: fake client cert ---
    * could not load PEM client certificate, OpenSSL error error:80000002:system library::No such file or directory, (no key found, wrong pass phrase, or wrong file format?)
    curl: (58) could not load PEM client certificate, OpenSSL error error:80000002:system library::No such file or directory, (no key found, wrong pass phrase, or wrong file format?)
  [PASS] Connection with fake cert rejected
pod "tls-test" deleted

============================================================
  Summary
============================================================

  Total: 11  |  Passed: 11  |  Failed: 0  |  Skipped: 0

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jul 24, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@clebs: This PR has been marked as verified by @clebs.

Details

In response to this:

/verified by @clebs

Executed test plan successfully:

============================================================
 Scenario 1: Verify --cluster-ca-cert flag
============================================================
 konnectivity-server args:
   "--logtostderr=true"
   "--log-file-max-size=0"
   "--cluster-cert"
   "/etc/konnectivity/cluster/tls.crt"
   "--cluster-key"
   "/etc/konnectivity/cluster/tls.key"
   "--cluster-ca-cert"
   "/etc/konnectivity/ca/ca.crt"
   "--server-cert"
   "/etc/konnectivity/server/tls.crt"
   "--server-key"
   "/etc/konnectivity/server/tls.key"
   "--server-ca-cert"
   "/etc/konnectivity/ca/ca.crt"
   "--server-port"
   "8090"
   "--agent-port"
   "8091"
   "--health-port"
   "2041"
   "--admin-port=8093"
   "--mode=http-connect"
   "--proxy-strategies=destHost
   defaultRoute"
   "--keepalive-time"
   "30s"
   "--frontend-keepalive-time"
   "30s"
   "--server-count"
   "1"
   "--cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
   TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
   TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
   TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
   TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
   TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256"
 [PASS] --cluster-ca-cert flag present
 [PASS] --cluster-ca-cert points to /etc/konnectivity/ca/ca.crt

============================================================
 Scenario 2: Verify CA bundle mounted
============================================================
 [PASS] konnectivity-ca volume mount exists
 [PASS] konnectivity-ca-bundle ConfigMap exists
 [PASS] CA cert file is valid PEM

============================================================
 Scenario 3: Konnectivity agents connect (hosted cluster)
============================================================
 [PASS] konnectivity-agent pods running
 [PASS] No TLS errors in agent logs
 [PASS] No cert errors in server logs for legitimate agents

============================================================
 Scenario 4: Node communication through tunnel
============================================================
 [PASS] oc exec through tunnel works

============================================================
 Scenario 5: Reject connections without valid client certs
============================================================
pod/tls-test created
 Waiting for tls-test pod to be ready...
pod/tls-test condition met

 --- Test: no client cert ---
   *  CAfile: /etc/pki/tls/certs/ca-bundle.crt
   * TLSv1.0 (OUT), TLS header, Certificate Status (22):
   * TLSv1.3 (OUT), TLS handshake, Client hello (1):
   * TLSv1.2 (IN), TLS header, Certificate Status (22):
   * TLSv1.3 (IN), TLS handshake, Server hello (2):
 [PASS] Connection without client cert rejected

 --- Test: fake client cert ---
   * could not load PEM client certificate, OpenSSL error error:80000002:system library::No such file or directory, (no key found, wrong pass phrase, or wrong file format?)
   curl: (58) could not load PEM client certificate, OpenSSL error error:80000002:system library::No such file or directory, (no key found, wrong pass phrase, or wrong file format?)
 [PASS] Connection with fake cert rejected
pod "tls-test" deleted

============================================================
 Summary
============================================================

 Total: 11  |  Passed: 11  |  Failed: 0  |  Skipped: 0

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 openshift-eng/jira-lifecycle-plugin repository.

@clebs

clebs commented Jul 24, 2026

Copy link
Copy Markdown
Member Author

/jira refresh

@openshift-ci-robot

Copy link
Copy Markdown

@clebs: This pull request references Jira Issue OCPBUGS-99143, which is invalid:

  • expected the vulnerability to target only the "4.20.z" version, but multiple target versions were set

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

Details

In response to this:

/jira refresh

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 openshift-eng/jira-lifecycle-plugin repository.

@clebs

clebs commented Jul 24, 2026

Copy link
Copy Markdown
Member Author

/jira refresh

@openshift-ci-robot openshift-ci-robot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. and removed jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Jul 24, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@clebs: This pull request references Jira Issue OCPBUGS-99143, which is valid. The bug has been moved to the POST state.

7 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.20.z) matches configured target version for branch (4.20.z)
  • bug is in the state ASSIGNED, which is one of the valid states (NEW, ASSIGNED, POST)
  • release note type set to "Release Note Not Required"
  • dependent bug Jira Issue OCPBUGS-99100 is in the state Verified, which is one of the valid states (VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), CLOSED (DONE-ERRATA))
  • dependent Jira Issue OCPBUGS-99100 targets the "4.21.0" version, which is one of the valid target versions: 4.21.0, 4.21.z
  • bug has dependents

No GitHub users were found matching the public email listed for the QA contact in Jira (ocp-sustaining-admins@redhat.com), skipping review request.

Details

In response to this:

/jira refresh

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 openshift-eng/jira-lifecycle-plugin repository.

@celebdor
celebdor merged commit 36e967c into openshift:release-4.20 Jul 24, 2026
14 of 18 checks passed
@openshift-ci-robot

Copy link
Copy Markdown

@clebs: Jira Issue Verification Checks: Jira Issue OCPBUGS-99143
✔️ This pull request was pre-merge verified.
✔️ All associated pull requests have merged.
✔️ All associated, merged pull requests were pre-merge verified.

Jira Issue OCPBUGS-99143 has been moved to the MODIFIED state and will move to the VERIFIED state when the change is available in an accepted nightly payload. 🕓

Details

In response to this:

What this PR does / why we need it:

Backport of #9031 to release-4.20.

Special notes for your reviewer:

Testing Plan:
test-ocpbugs-99014.md

Checklist:

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

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 openshift-eng/jira-lifecycle-plugin repository.

@clebs
clebs deleted the konnectivity-4.20 branch July 24, 2026 15:18
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. area/control-plane-operator Indicates the PR includes changes for the control plane operator - in an OCP release backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. jira/severity-critical Referenced Jira bug's severity is critical for the branch this PR is targeting. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants