diff --git a/acceptance/bundle/deployment/bind/experiment/out.get.direct.json b/acceptance/bundle/deployment/bind/experiment/out.get.direct.json deleted file mode 100644 index 9ddcb0824e..0000000000 --- a/acceptance/bundle/deployment/bind/experiment/out.get.direct.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "/Workspace/Users/[USERNAME]/test-experiment[UNIQUE_NAME]", - "lifecycle_stage": "active" -} diff --git a/acceptance/bundle/deployment/bind/experiment/out.get.terraform.json b/acceptance/bundle/deployment/bind/experiment/out.get.terraform.json deleted file mode 100644 index 38934fd1ce..0000000000 --- a/acceptance/bundle/deployment/bind/experiment/out.get.terraform.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "/Users/[USERNAME]/test-experiment[UNIQUE_NAME]", - "lifecycle_stage": "active" -} diff --git a/acceptance/bundle/deployment/bind/experiment/out.test.toml b/acceptance/bundle/deployment/bind/experiment/out.test.toml index d560f1de04..01ed6822af 100644 --- a/acceptance/bundle/deployment/bind/experiment/out.test.toml +++ b/acceptance/bundle/deployment/bind/experiment/out.test.toml @@ -1,5 +1,5 @@ Local = true -Cloud = false +Cloud = true [EnvMatrix] DATABRICKS_BUNDLE_ENGINE = ["terraform", "direct"] diff --git a/acceptance/bundle/deployment/bind/experiment/output.txt b/acceptance/bundle/deployment/bind/experiment/output.txt index 9636e52ae3..1efb0ddc4d 100644 --- a/acceptance/bundle/deployment/bind/experiment/output.txt +++ b/acceptance/bundle/deployment/bind/experiment/output.txt @@ -11,6 +11,10 @@ Updating deployment state... Deployment complete! >>> [CLI] experiments get-experiment [NUMID] +{ + "name": "/Users/[USERNAME]/test-experiment[UNIQUE_NAME]", + "lifecycle_stage": "active" +} >>> [CLI] bundle deployment unbind experiment1 Updating deployment state... @@ -22,6 +26,10 @@ Deleting files... Destroy complete! >>> [CLI] experiments get-experiment [NUMID] +{ + "name": "/Users/[USERNAME]/test-experiment[UNIQUE_NAME]", + "lifecycle_stage": "active" +} === Test cleanup: === Delete the pre-defined experiment: 0 diff --git a/acceptance/bundle/deployment/bind/experiment/script b/acceptance/bundle/deployment/bind/experiment/script index be2bea428b..ddfb376542 100644 --- a/acceptance/bundle/deployment/bind/experiment/script +++ b/acceptance/bundle/deployment/bind/experiment/script @@ -17,12 +17,10 @@ trace $CLI bundle deployment bind experiment1 ${EXPERIMENT_ID} --auto-approve trace $CLI bundle deploy --force-lock --auto-approve -trace $CLI experiments get-experiment ${EXPERIMENT_ID} | jq '{name: .experiment.name, lifecycle_stage: .experiment.lifecycle_stage}' > out.get.$DATABRICKS_BUNDLE_ENGINE.json +trace $CLI experiments get-experiment ${EXPERIMENT_ID} | jq '{name: .experiment.name, lifecycle_stage: .experiment.lifecycle_stage}' trace $CLI bundle deployment unbind experiment1 trace $CLI bundle destroy --auto-approve -trace $CLI experiments get-experiment ${EXPERIMENT_ID} | jq '{name: .experiment.name, lifecycle_stage: .experiment.lifecycle_stage}' > out.get2.$DATABRICKS_BUNDLE_ENGINE.json -diff out.get.$DATABRICKS_BUNDLE_ENGINE.json out.get2.$DATABRICKS_BUNDLE_ENGINE.json -rm out.get2.$DATABRICKS_BUNDLE_ENGINE.json +trace $CLI experiments get-experiment ${EXPERIMENT_ID} | jq '{name: .experiment.name, lifecycle_stage: .experiment.lifecycle_stage}' diff --git a/acceptance/bundle/deployment/bind/experiment/test.toml b/acceptance/bundle/deployment/bind/experiment/test.toml index 3ec944e783..0e8c8a3840 100644 --- a/acceptance/bundle/deployment/bind/experiment/test.toml +++ b/acceptance/bundle/deployment/bind/experiment/test.toml @@ -1,10 +1,2 @@ -Badness = "Difference in GET request between direct and terraform; In direct, the prefix is /Workspace/Users, in TF it is /Users" Local = true - -# Fails on Cloud with: -#=== CONT TestAccept/bundle/deployment/bind/experiment/DATABRICKS_BUNDLE_ENGINE=direct -# - "name": "/Workspace/Users/[USERNAME]/test-experiment[UNIQUE_NAME]", -# + "name": "/Users/[USERNAME]/test-experiment[UNIQUE_NAME]", -# https://github.com/databricks/cli/issues/4285 - -Cloud = false +Cloud = true diff --git a/bundle/config/mutator/resourcemutator/apply_presets.go b/bundle/config/mutator/resourcemutator/apply_presets.go index 8749103b47..919dfe94e4 100644 --- a/bundle/config/mutator/resourcemutator/apply_presets.go +++ b/bundle/config/mutator/resourcemutator/apply_presets.go @@ -141,6 +141,9 @@ func (m *applyPresets) Apply(ctx context.Context, b *bundle.Bundle) diag.Diagnos if e == nil { continue } + // Strip /Workspace prefix from experiment names to ensure consistent + // behavior between the direct and terraform deployment engines. + e.Name = strings.TrimPrefix(e.Name, "/Workspace") filepath := e.Name dir := path.Dir(filepath) base := path.Base(filepath) diff --git a/libs/testserver/experiments.go b/libs/testserver/experiments.go index e35967deed..3816571e67 100644 --- a/libs/testserver/experiments.go +++ b/libs/testserver/experiments.go @@ -105,7 +105,8 @@ func (s *FakeWorkspace) ExperimentUpdate(req Request) Response { // Update the experiment if updateReq.NewName != "" { - experiment.Experiment.Name = updateReq.NewName + // Strip /Workspace prefix from experiment name to match cloud behavior + experiment.Experiment.Name = strings.TrimPrefix(updateReq.NewName, "/Workspace") // The server modifies the value of the tag as well. Mimic that behaviour // in the test server as well.