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 ``` |
||
---|---|---|
.. | ||
default_queueing.go | ||
default_queueing_test.go | ||
default_target.go | ||
default_target_test.go | ||
default_workspace_paths.go | ||
default_workspace_paths_test.go | ||
default_workspace_root.go | ||
default_workspace_root_test.go | ||
environments_compat.go | ||
environments_compat_test.go | ||
expand_pipeline_glob_paths.go | ||
expand_pipeline_glob_paths_test.go | ||
expand_workspace_root.go | ||
expand_workspace_root_test.go | ||
if.go | ||
initialize_variables.go | ||
initialize_variables_test.go | ||
initialize_workspace_client.go | ||
load_git_details.go | ||
merge_job_clusters.go | ||
merge_job_clusters_test.go | ||
merge_job_tasks.go | ||
merge_job_tasks_test.go | ||
merge_pipeline_clusters.go | ||
merge_pipeline_clusters_test.go | ||
mutator.go | ||
noop.go | ||
override_compute.go | ||
override_compute_test.go | ||
populate_current_user.go | ||
populate_current_user_test.go | ||
process_target_mode.go | ||
process_target_mode_test.go | ||
resolve_resource_references.go | ||
resolve_resource_references_test.go | ||
resolve_variable_references.go | ||
resolve_variable_references_test.go | ||
rewrite_sync_paths.go | ||
rewrite_sync_paths_test.go | ||
run_as.go | ||
run_as_test.go | ||
select_default_target.go | ||
select_default_target_test.go | ||
select_target.go | ||
select_target_test.go | ||
set_variables.go | ||
set_variables_test.go | ||
trampoline.go | ||
trampoline_test.go | ||
translate_paths.go | ||
translate_paths_artifacts.go | ||
translate_paths_jobs.go | ||
translate_paths_pipelines.go | ||
translate_paths_test.go | ||
validate_git_details.go | ||
validate_git_details_test.go | ||
verify_cli_version.go | ||
verify_cli_version_test.go |