Skip to content

direct: Support bind/unbind - #4279

Merged
denik merged 22 commits into
mainfrom
denik/bind-unbind-direct
Jan 15, 2026
Merged

direct: Support bind/unbind#4279
denik merged 22 commits into
mainfrom
denik/bind-unbind-direct

Conversation

@denik

@denikdenik commented Jan 14, 2026

Copy link
Copy Markdown
Contributor

Why

Closes#4061

Tests

Existing tests all pass.

bind/experiments test shows difference in final result, this is unrelated to bind and issue with experiments resource.

@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Jan 14, 2026

Copy link
Copy Markdown
Collaborator

Commit: 244d468

Run: 21028653976

Env🟨​KNOWN🔄​flaky💚​RECOVERED🙈​SKIP✅​pass🙈​skipTime
🟨​aws linux710241169521:09
🟨​aws windows107241369319:27
🟨​aws-ucws linux314258656835:17
🟨​aws-ucws windows611258856630:03
💚​azure linux12341369419:56
🟨​azure windows48341569220:08
💚​azure-ucws linux12358456729:56
🟨​azure-ucws windows48358656528:09
🔄​gcp linux210340270052:46
🟨​gcp windows417340469819:10
19 interesting tests: 10 KNOWN, 7 RECOVERED, 1 SKIP, 1 flaky
Test Nameaws linuxaws windowsaws-ucws linuxaws-ucws windowsazure linuxazure windowsazure-ucws linuxazure-ucws windowsgcp linuxgcp windows
🟨​TestAccept🟨​K🟨​K🟨​K🟨​K💚​R🟨​K💚​R🟨​K🔄​f🟨​K
💚​TestAccept/bundle/deployment/bind/alert🙈​S🙈​S🙈​S🙈​S💚​R💚​R💚​R💚​R💚​R💚​R
🟨​TestAccept/bundle/generate/alert💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K
🟨​TestAccept/bundle/generate/alert/DATABRICKS_BUNDLE_ENGINE=direct💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K
🟨​TestAccept/bundle/generate/alert/DATABRICKS_BUNDLE_ENGINE=terraform💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K
💚​TestAccept/bundle/resources/alerts/basic💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/alerts/basic/DATABRICKS_BUNDLE_ENGINE=direct💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/alerts/basic/DATABRICKS_BUNDLE_ENGINE=terraform💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/alerts/with_file💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/alerts/with_file/DATABRICKS_BUNDLE_ENGINE=direct💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/alerts/with_file/DATABRICKS_BUNDLE_ENGINE=terraform💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
🙈​TestAccept/bundle/resources/permissions🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions🟨​K🟨​K🟨​K🟨​K🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=direct🟨​K🟨​K🟨​K🟨​K
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=terraform🟨​K🟨​K💚​R💚​R
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions🟨​K🟨​K💚​R💚​R🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=direct🟨​K🟨​K💚​R💚​R
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=terraform🟨​K🟨​K💚​R💚​R
🔄​TestAccept/ssh/connection💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R🔄​f🔄​f
Top 43 slowest tests (at least 2 minutes):
durationenvtestname
7:19aws-ucws windowsTestAccept/bundle/resources/synced_database_tables/basic/DATABRICKS_BUNDLE_ENGINE=direct
7:14aws linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
6:57aws-ucws linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
6:54aws-ucws linuxTestAccept/bundle/resources/synced_database_tables/basic/DATABRICKS_BUNDLE_ENGINE=direct
6:47aws-ucws windowsTestAccept/bundle/resources/synced_database_tables/basic/DATABRICKS_BUNDLE_ENGINE=terraform
6:32aws-ucws linuxTestAccept/bundle/resources/synced_database_tables/basic/DATABRICKS_BUNDLE_ENGINE=terraform
6:12aws windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
5:43gcp windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
5:41aws-ucws windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
5:39aws windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
5:38aws-ucws windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
5:36azure-ucws windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
5:35aws-ucws linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
5:33gcp linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
5:32aws linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
5:31gcp linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
5:26gcp windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
4:42azure-ucws windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
3:32azure-ucws linuxTestAccept/bundle/resources/synced_database_tables/basic/DATABRICKS_BUNDLE_ENGINE=direct
3:15azure-ucws linuxTestAccept/bundle/resources/synced_database_tables/basic/DATABRICKS_BUNDLE_ENGINE=terraform
3:13azure-ucws windowsTestAccept/bundle/resources/synced_database_tables/basic/DATABRICKS_BUNDLE_ENGINE=terraform
3:12gcp windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:08gcp linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:07gcp windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:57azure-ucws windowsTestAccept/bundle/resources/synced_database_tables/basic/DATABRICKS_BUNDLE_ENGINE=direct
2:48aws-ucws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:41aws-ucws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:41aws-ucws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:37aws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:35aws-ucws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:35gcp linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:34azure-ucws linuxTestAccept
2:16azure-ucws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:16azure linuxTestAccept
2:16azure-ucws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:15aws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:14aws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:11aws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:10azure linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:09azure linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:09azure windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:04azure-ucws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:02azure windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct

@denik
denikforce-pushed the denik/bind-unbind-direct branch from 1033a38 to 7bd6fabCompareJanuary 14, 2026 15:05
@denikdenik changed the title WIP bind in directdirect: Support bind/unbindJan 14, 2026
@denik
denik marked this pull request as ready for review January 14, 2026 15:37
Comment threadbundle/phases/bind.go Outdated
func jsonDump(v any) string {
b, err := json.Marshal(v)
if err != nil {
return fmt.Sprintf("value=%v marshall error=%s", v, err)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should throw an internal error, not be limited to a stdout.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I changed it to warning. There error here is unlikely, hard to address by users and most likely does not affect operation. The whole rendering of changes can be considered optional.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should still return an error though here. If there's an internal error, that gives users a call to action to report to us.

The risk is someone deploying directly deploying with the --auto-approve flag after running bind.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We ask the users whether to proceed and there's always a risk associated with --auto-approve.

Comment threadNEXT_CHANGELOG.md
### CLI

### Bundles
* engine/direct: Support bind & unbind. ([#4279](https://github.com/databricks/cli/pull/4279))

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changelog entry could be a bit more readbale

Suggested change
*engine/direct: Support bind & unbind. ([#4279](https://github.com/databricks/cli/pull/4279))
*Add support for bind and unbind when using the direct deployment engine ([#4279](https://github.com/databricks/cli/pull/4279))

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I use "engine/direct: " prefix in other entries, easier to scan for all changes.

@@ -0,0 +1,4 @@
{
"name": "/Workspace/Users/[USERNAME]/test-experiment[UNIQUE_NAME]",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the reason for this diff?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no idea #4285

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tried it out. The backend removes the /Workspace prefix. Does this also occur on cloud? Based on my testing both TF and DABs create the experiment with the /Workspace prefix included:

From TF:

2026-01-14T18:21:58.341+0100 [DEBUG] provider.terraform-provider-databricks_v1.97.0: POST /api/2.0/mlflow/experiments/create
> {
> "name": "/Workspace/Users/shreyas.goenka@databricks.com/test-experiment"
> }
< HTTP/2.0 200 OK
< {
< "experiment_id": "1168670625037178"
< }: @module=databricks tf_mux_provider=tf5to6server.v5tov6Server @caller=/home/runner/work/terraform-provider-databricks/terraform-provider-databricks/logger/logger.go:38 tf_provider_addr=registry.terraform.io/databricks/databricks tf_req_id=07161d19-0a80-7fd3-31d5-26418985a129 tf_rpc=ConfigureProvider timestamp="2026-01-14T18:21:58.340+0100"
2026-01-14T18:21:58.555+0100 [DEBUG] provider.terraform-provider-databricks_v1.97.0: GET /api/2.0/mlflow/experiments/get?experiment_id=1168670625037178
< HTTP/2.0 200 OK
< {
< "experiment": {
< "artifact_location": "dbfs:/databricks/mlflow-tracking/1168670625037178",
< "creation_time": 1768411318324,
< "experiment_id": "1168670625037178",
< "last_update_time": 1768411318324,
< "lifecycle_stage": "active",
< "name": "/Users/shreyas.goenka@databricks.com/test-experiment",
< "tags": [
< {
< "key": "mlflow.ownerId",
< "value": "7315180364335929"
< },
< {
< "key": "mlflow.experiment.sourceName",
< "value": "/Users/shreyas.goenka@databricks.com/test-experiment"
< },
< {
< "key": "mlflow.ownerId",
< "value": "7315180364335929"
< },
< {
< "key": "mlflow.ownerEmail",
< "value": "shreyas.goenka@databricks.com"
< },
< {
< "key": "mlflow.experimentType",
< "value": "MLFLOW_EXPERIMENT"
< }
< ]
< }
< }

From DABs:

{
"experiment": {
"artifact_location":"dbfs:/databricks/mlflow-tracking/1168670625040732",
"creation_time":1768411490689,
"experiment_id":"1168670625040732",
"last_update_time":1768411490689,
"lifecycle_stage":"active",
"name":"/Users/shreyas.goenka@databricks.com/test-experiment-bundle",
"tags": [
{
"key":"mlflow.ownerId",
"value":"7315180364335929"
},
{
"key":"mlflow.experiment.sourceName",
"value":"/Users/shreyas.goenka@databricks.com/test-experiment-bundle"
},
{
"key":"mlflow.ownerId",
"value":"7315180364335929"
},
{
"key":"mlflow.ownerEmail",
"value":"shreyas.goenka@databricks.com"
},
{
"key":"mlflow.experimentType",
"value":"MLFLOW_EXPERIMENT"
}
]
}
}

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The real backend does remove the prefix. I'll disable this test on Cloud for now.

"queue": {
"enabled":true
},
"run_as": {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: You can set run_as in the test and then keep the test output same for direct and TF. I presume this is happening because of a default on the TF side?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm hesitant to tweak configs to remove these differences, it's good to be aware of them.

"enabled":true
},
"run_as": {
"user_name":"[USERNAME]"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as the previous one, up to you though.

Ignore = [".databricks"]

# Pipelines is marked for update, not recreation on direct.
EnvMatrix.DATABRICKS_BUNDLE_ENGINE = ["terraform"]

@shreyas-goenkashreyas-goenkaJan 14, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is it not a recreate on direct as well? In TF this is the reason given:

 ~ catalog = "old_catalog" -> "main" # forces replacement

This should hold true for direct as well.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The test used incorrect configuration (on cloud, it gives Error: Spec contains both storage: old_storage and catalog: old_catalog, only one of storage or catalog can be specified.).

I've enabled this test on cloud, fixed the configuration and now it works on direct as well.

denik added 11 commits January 15, 2026 10:38
update secret_scopes tests
add sort_acls_json
update secret_acls.go
support groups creation
support groups - cont
script clean up
bind/unbidn
direct: Remove unnecessary error wrapping
We already have "reading config" prefix at caller side.
Noticed this error message:
Error: reading config: reading config: unsupported resource type: quality_monitors
exclude quality_monitors
add auto-approve check
add volume_id to testserver
wip
fix
add nolint
check if already managed
update
update
WIP
WIP
@denik
denikforce-pushed the denik/bind-unbind-direct branch from 8e80b7a to 6aee674CompareJanuary 15, 2026 09:50
@denik
denikforce-pushed the denik/bind-unbind-direct branch from 6aee674 to 60dade4CompareJanuary 15, 2026 10:12
@denik
denik added this pull request to the merge queueJan 15, 2026
Merged via the queue into main with commit cc6f143Jan 15, 2026
18 checks passed
@denik
denik deleted the denik/bind-unbind-direct branch January 15, 2026 14:59
@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

Commit: cc6f143

Run: 21035723418

Env🟨​KNOWN🔄​flaky💚​RECOVERED🙈​SKIP✅​pass🙈​skipTime
🟨​aws linux710244768151:46
🟨​aws windows107244967950:58
🟨​aws-ucws linux3214263854891:57
🟨​aws-ucws windows689263654693:37
💚​azure linux12344968049:27
🟨​azure windows48345167844:56
🔄​azure-ucws linux311363654772:26
🟨​azure-ucws windows48364054564:24
💚​gcp linux12342968952:05
🟨​gcp windows48343168753:44
26 interesting tests: 10 KNOWN, 8 RECOVERED, 7 flaky, 1 SKIP
Test Nameaws linuxaws windowsaws-ucws linuxaws-ucws windowsazure linuxazure windowsazure-ucws linuxazure-ucws windowsgcp linuxgcp windows
🟨​TestAccept🟨​K🟨​K🟨​K🟨​K💚​R🟨​K🔄​f🟨​K💚​R🟨​K
💚​TestAccept/bundle/deployment/bind/alert🙈​S🙈​S🙈​S🙈​S💚​R💚​R💚​R💚​R💚​R💚​R
🟨​TestAccept/bundle/generate/alert💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K
🟨​TestAccept/bundle/generate/alert/DATABRICKS_BUNDLE_ENGINE=direct💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K
🟨​TestAccept/bundle/generate/alert/DATABRICKS_BUNDLE_ENGINE=terraform💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K
💚​TestAccept/bundle/resources/alerts/basic💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/alerts/basic/DATABRICKS_BUNDLE_ENGINE=direct💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/alerts/basic/DATABRICKS_BUNDLE_ENGINE=terraform💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/alerts/with_file💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/alerts/with_file/DATABRICKS_BUNDLE_ENGINE=direct💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/alerts/with_file/DATABRICKS_BUNDLE_ENGINE=terraform💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
🙈​TestAccept/bundle/resources/permissions🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions🟨​K🟨​K🟨​K🟨​K🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=direct🟨​K🟨​K🟨​K🟨​K
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=terraform🟨​K🟨​K💚​R💚​R
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions🟨​K🟨​K💚​R🔄​f🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=direct🟨​K🟨​K💚​R💚​R
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=terraform🟨​K🟨​K💚​R🔄​f
🔄​TestAccept/bundle/resources/synced_database_tables/basic🙈​s🙈​s🔄​f🔄​f🙈​s🙈​s✅​p✅​p🙈​s🙈​s
🔄​TestAccept/bundle/resources/synced_database_tables/basic/DATABRICKS_BUNDLE_ENGINE=direct🔄​f🔄​f✅​p✅​p
🔄​TestAccept/bundle/run/app-with-job✅​p✅​p✅​p🔄​f✅​p✅​p🔄​f✅​p✅​p✅​p
🔄​TestAccept/bundle/run/app-with-job/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p🔄​f✅​p✅​p✅​p✅​p✅​p✅​p
🔄​TestAccept/bundle/run/app-with-job/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p✅​p✅​p✅​p🔄​f✅​p✅​p✅​p
💚​TestAccept/ssh/connection💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
🔄​TestSparkJarTaskDeployAndRunOnVolumes✅​p✅​p✅​p🔄​f✅​p✅​p✅​p✅​p✅​p✅​p
🔄​TestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_13.3_LTS🙈​s🙈​s✅​p🔄​f🙈​s🙈​s✅​p✅​p🙈​s🙈​s
Top 50 slowest tests (at least 2 minutes):
durationenvtestname
20:35aws-ucws windowsTestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_14.3_LTS
15:19gcp windowsTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform
14:33gcp linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER
14:17aws-ucws linuxTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform
13:35aws-ucws windowsTestAccept/bundle/resources/model_serving_endpoints/running-endpoint/DATABRICKS_BUNDLE_ENGINE=terraform
13:30aws-ucws windowsTestAccept/bundle/resources/model_serving_endpoints/running-endpoint/DATABRICKS_BUNDLE_ENGINE=direct
13:18aws-ucws linuxTestAccept/bundle/resources/model_serving_endpoints/running-endpoint/DATABRICKS_BUNDLE_ENGINE=terraform
13:07aws windowsTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct
12:59aws-ucws linuxTestAccept/bundle/resources/model_serving_endpoints/running-endpoint/DATABRICKS_BUNDLE_ENGINE=direct
12:04gcp linuxTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform
11:34aws windowsTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform
11:27aws linuxTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct
11:02gcp windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER
10:58aws-ucws linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER
10:40aws-ucws windowsTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform
10:33gcp linuxTestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_15.4_LTS
10:28gcp linuxTestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=terraform
10:18azure-ucws linuxTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform
9:55gcp windowsTestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_15.4_LTS
9:52gcp linuxTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=direct
9:50aws-ucws windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION
9:45azure-ucws windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER
9:40gcp linuxTestAccept/bundle/run/app-with-job/DATABRICKS_BUNDLE_ENGINE=terraform
9:36aws windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER
9:21azure windowsTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform
9:09gcp windowsTestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_14.3_LTS
8:56azure linuxTestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_15.4_LTS
8:48gcp windowsTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform
8:39gcp windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=USER_ISOLATION
8:27gcp windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION
8:27aws-ucws linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION
8:25gcp linuxTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct
8:24aws-ucws windowsTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform
8:21gcp linuxTestAccept/ssh/connection
8:19aws windowsTestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=direct
8:18aws-ucws linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=SINGLE_USER
8:15gcp windowsTestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=direct
8:05gcp windowsTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct
8:04azure-ucws linuxTestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_14.3_LTS
7:59azure-ucws linuxTestAccept/bundle/resources/synced_database_tables/basic/DATABRICKS_BUNDLE_ENGINE=terraform
7:58gcp windowsTestAccept/bundle/run/app-with-job/DATABRICKS_BUNDLE_ENGINE=terraform
7:58aws linuxTestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_15.4_LTS
7:56gcp windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=SINGLE_USER
7:56gcp linuxTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform
7:55azure-ucws windowsTestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=terraform
7:55gcp windowsTestAccept/bundle/resources/clusters/run/spark_python_task/DATABRICKS_BUNDLE_ENGINE=direct
7:52gcp linuxTestAccept/bundle/run/app-with-job/DATABRICKS_BUNDLE_ENGINE=direct
7:51aws linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=SINGLE_USER
7:50aws-ucws linuxTestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_15.4_LTS
7:50aws windowsTestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_15.4_LTS

deco-sdk-taggingBot added a commit that referenced this pull request Jan 21, 2026
## Release v0.284.0
### Bundles
* Pass additional Azure DevOps `SYSTEM_*` environment variables to Terraform for OIDC authentication: `SYSTEM_COLLECTIONURI`, `SYSTEM_DEFINITIONID`, `SYSTEM_HOSTTYPE`, `SYSTEM_JOBID`, `SYSTEM_TEAMPROJECT` ([#4318](#4318))
* Add support for valueFrom property (similar to app.yaml) inside Apps config field in bundle configuration ([#4297](#4297))
* engine/direct: Support bind & unbind. ([#4279](#4279))
* engine/direct: Ignore changes between nulls and empty slices/maps (([#4313](#4313)))
* engine/direct: Ignore changes between nulls and empty structs (([#4338](#4338)))
* On terraform `bundle plan -o json` will no longer include plan_version key, it's intended for direct engine only (([#4314](#4314)))
denik added a commit that referenced this pull request May 20, 2026
## Why
Closes#4061
## Tests
Existing tests all pass.
bind/experiments test shows difference in final result, this is
unrelated to bind and issue with experiments resource.
denik pushed a commit that referenced this pull request May 20, 2026
## Release v0.284.0
### Bundles
* Pass additional Azure DevOps `SYSTEM_*` environment variables to Terraform for OIDC authentication: `SYSTEM_COLLECTIONURI`, `SYSTEM_DEFINITIONID`, `SYSTEM_HOSTTYPE`, `SYSTEM_JOBID`, `SYSTEM_TEAMPROJECT` ([#4318](#4318))
* Add support for valueFrom property (similar to app.yaml) inside Apps config field in bundle configuration ([#4297](#4297))
* engine/direct: Support bind & unbind. ([#4279](#4279))
* engine/direct: Ignore changes between nulls and empty slices/maps (([#4313](#4313)))
* engine/direct: Ignore changes between nulls and empty structs (([#4338](#4338)))
* On terraform `bundle plan -o json` will no longer include plan_version key, it's intended for direct engine only (([#4314](#4314)))
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bind/unbind do not work with direct engine yet

3 participants

@denik@eng-dev-ecosystem-bot@shreyas-goenka