Add acceptance test for ssh connect to serverless CPU compute#5889
Conversation
Adds `acceptance/ssh/connect-serverless-cpu/`, exercising the bare `databricks ssh connect` invocation, which targets serverless CPU compute (no `--cluster`, no `--accelerator`). This complements the existing serverless-GPU test. It drops the `--accelerator` flag (CPU instead of GPU, with an auto-generated connection name) and the `CloudEnvs.gcp = false` exclusion, since serverless CPU is available on GCP. It keeps `RequiresUnityCatalog` because serverless requires Unity Catalog. Verified end-to-end against a real workspace (aws-prod-ucws): the command provisions serverless CPU, uploads the CLI binaries, opens the tunnel, and runs the remote command, producing "Connection successful". Co-authored-by: Isaac
Integration test reportCommit: 8f9377e
8 interesting tests: 4 RECOVERED, 4 SKIP
Top 11 slowest tests (at least 2 minutes):
|
rugpanov
left a comment
There was a problem hiding this comment.
Approving — adds an ssh connect serverless-CPU acceptance test, consistent with the existing connect-serverless-gpu / connection tests. Two non-blocking nits inline; both also apply to the sibling connect-serverless-gpu test, so they may be a pre-existing convention rather than something introduced here.
| @@ -0,0 +1,6 @@ | |||
| errcode $CLI ssh connect --releases-dir=$CLI_RELEASES_DIR -- "echo 'Connection successful'" >out.stdout.txt 2>LOG.stderr | |||
There was a problem hiding this comment.
Nit: under -useversion in a cloud run, the harness doesn't set CLI_RELEASES_DIR (acceptance_test.go only sets it when UseVersion == ""). Since scripts run with bash -u, expanding $CLI_RELEASES_DIR would fail before ssh connect runs, breaking release-version cloud runs. Non-blocking — the sibling connect-serverless-gpu test has the same pattern, so this may be pre-existing.
| @@ -0,0 +1,8 @@ | |||
| Local = false | |||
| Cloud = true | |||
There was a problem hiding this comment.
Nit: with Cloud = true (not CloudSlow), this runs in -short cloud runs even though ssh connect provisions a serverless job and can wait up to the 10-minute startup timeout. Consider CloudSlow = true so short cloud runs skip it. Non-blocking — connect-serverless-gpu uses the same bare Cloud = true, so this may be intentional.
Integration test reportCommit: f441c84
29 interesting tests: 13 flaky, 9 FAIL, 4 RECOVERED, 2 SKIP, 1 KNOWN
Top 50 slowest tests (at least 2 minutes):
|
Summary
Adds
acceptance/ssh/connect-serverless-cpu/, an acceptance test for the baredatabricks ssh connectinvocation, which targets serverless CPU compute (no--cluster, no--accelerator).This complements the existing
acceptance/ssh/connect-serverless-gpu/test. Compared to it:--accelerator→ serverless CPU instead of GPU; the connection name is auto-generated (databricks-cpu-<hash>), so no--nameis needed.CloudEnvs.gcp = falseexclusion — that exclusion exists only because serverless GPU is unavailable on GCP. Serverless CPU is available there.RequiresUnityCatalog = true— serverless requires Unity Catalog.Like both existing ssh tests, it passes
--releases-dir=$CLI_RELEASES_DIRso the tunnel binaries come from the artifacts the harness builds on cloud runs rather than a GitHub download, and it keeps the on-failurejobs get-rundiagnostic so any CI failure is actionable.Test plan
Local = false).aws-prod-ucws): the command provisions serverless CPU, uploads the CLI binaries, opens the tunnel, and runs the remote command —out.stdout.txtmatchesConnection successful.This pull request and its description were written by Isaac.
This PR was created with GitHub MCP.