mirror of https://github.com/databricks/cli.git
1d9bf4b2c4
## Changes This PR partially reverts the changes in https://github.com/databricks/cli/pull/1233 and puts the old code under an "experimental.use_legacy_run_as" configuration. This gives customers who ran into the breaking change made in the PR a way out. ## Tests Both manually and via unit tests. Manually verified that run_as works for pipelines now. And if a user wants to use the feature they need to be both a Metastore and a workspace admin. --------- Error when the deploying user is a workspace admin but not a metastore admin: ``` Error: terraform apply: exit status 1 Error: cannot update permissions: User is not a metastore admin for Metastore 'deco-uc-prod-aws-us-east-1'. with databricks_permissions.pipeline_foo, on bundle.tf.json line 23, in resource.databricks_permissions.pipeline_foo: 23: } ``` -------- Output of bundle validate: ``` ➜ bundle-playground git:(master) ✗ cli bundle validate Warning: You are using the legacy mode of run_as. The support for this mode is experimental and might be removed in a future release of the CLI. In order to run the DLT pipelines in your DAB as the run_as user this mode changes the owners of the pipelines to the run_as identity, which requires the user deploying the bundle to be a workspace admin, and also a Metastore admin if the pipeline target is in UC. at experimental.use_legacy_run_as in databricks.yml:13:22 Name: bundle-playground Target: default Workspace: Host: https://dbc-a39a1eb1-ef95.cloud.databricks.com User: shreyas.goenka@databricks.com Path: /Users/shreyas.goenka@databricks.com/.bundle/bundle-playground/default Found 1 warning ``` |
||
---|---|---|
.. | ||
generate | ||
loader | ||
mutator | ||
paths | ||
resources | ||
testdata | ||
validate | ||
variable | ||
artifact.go | ||
artifacts_test.go | ||
bundle.go | ||
deployment.go | ||
experimental.go | ||
filename.go | ||
filename_test.go | ||
git.go | ||
lock.go | ||
lock_test.go | ||
resources.go | ||
resources_test.go | ||
root.go | ||
root_test.go | ||
sync.go | ||
target.go | ||
workspace.go | ||
workspace_test.go |