Skip to content

Add ConsoleConnection CRD and controller for console health checks - #568

Open
felix-kaestner wants to merge 3 commits into
mainfrom
readyness-probe
Open

felix-kaestner wants to merge 3 commits into
mainfrom
readyness-probe

Conversation

@felix-kaestner

Copy link
Copy Markdown
Collaborator

Implement a ConsoleConnection resource that verifies serial console connectivity to devices via SSH console servers. The controller supports three verification strategies (Wait, SendCRLF, SendChar) and reports five health states: ConsoleServerUnreachable, ConsoleServerAuthFailure, Dead, Alive, and Verified.

Includes envtest integration tests with an in-process SSH server, sample manifests for all verification strategies, and Tiltfile integration.

Comment thread internal/controller/core/consoleconnection_controller.go Fixed
@github-actions

Copy link
Copy Markdown

Merging this branch changes the coverage (1 decrease, 1 increase)

Impacted Packages Coverage Δ 🤖
github.com/ironcore-dev/network-operator/api/core/v1alpha1 2.56% (-0.05%) 👎
github.com/ironcore-dev/network-operator/cmd 0.00% (ø)
github.com/ironcore-dev/network-operator/internal/controller/core 64.12% (+0.36%) 👍

Coverage by file

Changed files (no unit tests)

Changed File Coverage Δ Total Covered Missed 🤖
github.com/ironcore-dev/network-operator/api/core/v1alpha1/consoleconnection_types.go 20.00% (+20.00%) 5 (+5) 1 (+1) 4 (+4) 🎉
github.com/ironcore-dev/network-operator/api/core/v1alpha1/zz_generated.deepcopy.go 0.00% (ø) 2784 (+91) 0 2784 (+91)
github.com/ironcore-dev/network-operator/cmd/main.go 0.00% (ø) 505 (+3) 0 505 (+3)
github.com/ironcore-dev/network-operator/internal/controller/core/consoleconnection_controller.go 75.21% (+75.21%) 242 (+242) 182 (+182) 60 (+60) 🌟

Please note that the "Total", "Covered", and "Missed" counts above refer to code statements instead of lines of code. The value in brackets refers to the test coverage of that file in the old version of the code.

Changed unit test files

  • github.com/ironcore-dev/network-operator/internal/controller/core/consoleconnection_controller_test.go
  • github.com/ironcore-dev/network-operator/internal/controller/core/suite_test.go

@hardikdr hardikdr added the area/switch-automation Automation processes for network switch management and operations. label Sep 17, 2026
@hardikdr hardikdr added this to Roadmap Sep 17, 2026
@felix-kaestner
felix-kaestner force-pushed the readyness-probe branch 2 times, most recently from 825ec92 to eb15018 Compare September 21, 2026 15:53
Comment thread internal/controller/core/consoleconnection_controller.go Dismissed
Implement a ConsoleConnection resource that verifies serial console
connectivity to devices via SSH console servers. The controller
supports three verification strategies (Wait, SendCRLF, SendChar)
and reports five health states: ConsoleServerUnreachable,
ConsoleServerAuthFailure, Dead, Alive, and Verified.

Includes envtest integration tests with an in-process SSH server,
sample manifests for all verification strategies, and Tiltfile
integration.

Signed-off-by: Felix Kästner <felix.kaestner@sap.com>
The rustfs/rc image does not resolve short service names
via the pod DNS search domains. Use the full cluster-local
FQDN to ensure reliable DNS resolution.

Signed-off-by: Felix Kästner <felix.kaestner@sap.com>
When nslookup fails to resolve host.docker.internal, the only 'Address:'
line in the output is the DNS server itself. This was concatenated with
':9339', producing an invalid device endpoint address.

Filter out lines containing :53 so a failed lookup yields an
empty result, keeping the sample's original address unchanged.

Signed-off-by: Felix Kästner <felix.kaestner@sap.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/switch-automation Automation processes for network switch management and operations. size/XXL

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

3 participants