cli
cli copied to clipboard
direct: Add support for secret scopes
Changes
Adds direct deployment support for secret scopes.
Mock Server Fix
Fixed libs/testserver/secret_scopes.go to automatically grant MANAGE permission to the creator when a scope is created, matching real Databricks behavior.
Tests
New local and cloud acceptance tests.
Commit: https://github.com/databricks/cli/pull/3886/commits/7e1c9173c44ed03e73cef268157b542a089722b6
| Env | πβflaky | πβRECOVERED | πβSKIP | β βpass | πβskip | Time | |
|---|---|---|---|---|---|---|---|
| πβ | aws linux | 7 | 2 | 380 | 637 | 15:51 | |
| πβ | aws windows | 7 | 2 | 382 | 635 | 15:59 | |
| πβ | aws-ucws linux | 7 | 2 | 523 | 522 | 21:19 | |
| πβ | aws-ucws windows | 3 | 4 | 2 | 525 | 520 | 20:17 |
| πβ | azure linux | 3 | 4 | 379 | 635 | 16:39 | |
| πβ | azure windows | 1 | 4 | 383 | 633 | 14:43 | |
| πβ | azure-ucws linux | 6 | 1 | 4 | 514 | 520 | 27:30 |
| πβ | azure-ucws windows | 1 | 4 | 522 | 518 | 20:31 | |
| πβ | gcp linux | 1 | 4 | 370 | 641 | 14:28 | |
| πβ | gcp windows | 1 | 4 | 372 | 639 | 14:21 |
17 interesting tests: 11 flaky, 4 RECOVERED, 2 SKIP
| Test Name | aws linux | aws windows | aws-ucws linux | aws-ucws windows | azure linux | azure windows | azure-ucws linux | azure-ucws windows | gcp linux | gcp windows | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| πβ | TestAccept | πβR | πβR | πβR | πβf | πβf | πβR | πβR | πβR | πβR | πβR |
| πβ | TestAccept/bundle/deployment/bind/volume | πβs | πβs | β βp | β βp | πβs | πβs | πβf | β βp | πβs | πβs |
| πβ | TestAccept/bundle/deployment/unbind/grants | πβs | πβs | β βp | β βp | πβs | πβs | πβf | β βp | πβs | πβs |
| πβ | TestAccept/bundle/deployment/unbind/permissions | β βp | β βp | β βp | β βp | β βp | β βp | πβf | β βp | β βp | β βp |
| πβ | TestAccept/bundle/resources/permissions | πβS | πβS | πβS | πβS | πβS | πβS | πβS | πβS | πβS | πβS |
| πβ | TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions | πβR | πβR | πβR | πβf | πβS | πβS | πβS | πβS | πβS | πβS |
| πβ | TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=direct | πβR | πβR | πβR | πβR | ||||||
| πβ | TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=terraform | πβR | πβR | πβR | πβf | ||||||
| πβ | TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions | πβR | πβR | πβR | πβR | πβS | πβS | πβS | πβS | πβS | πβS |
| πβ | TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=direct | πβR | πβR | πβR | πβR | ||||||
| πβ | TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=terraform | πβR | πβR | πβR | πβR | ||||||
| πβ | TestAccept/bundle/resources/secret_scopes/permissions | β βp | β βp | β βp | β βp | πβf | β βp | β βp | β βp | πβs | πβs |
| πβ | TestAccept/bundle/resources/secret_scopes/permissions/DATABRICKS_BUNDLE_ENGINE=terraform | β βp | β βp | β βp | β βp | πβf | β βp | β βp | β βp | ||
| πβ | TestAccept/bundle/resources/synced_database_tables/basic | πβs | πβs | β βp | β βp | πβs | πβs | πβf | β βp | πβs | πβs |
| πβ | TestAccept/bundle/run/app-with-job | πβS | πβS | πβS | πβS | πβS | πβS | πβS | πβS | πβS | πβS |
| πβ | TestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_14.3_LTS | β βp | β βp | β βp | β βp | β βp | β βp | πβf | β βp | β βp | β βp |
| πβ | TestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_15.4_LTS | β βp | β βp | β βp | β βp | β βp | β βp | πβf | β βp | β βp | β βp |
Top 22 slowest tests (at least 2 minutes):
| duration | env | testname |
|---|---|---|
| 6:30 | aws windows | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct |
| 6:25 | aws windows | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform |
| 6:16 | aws-ucws windows | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct |
| 5:55 | gcp linux | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform |
| 5:48 | aws-ucws linux | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform |
| 5:46 | aws-ucws windows | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform |
| 5:38 | aws-ucws windows | TestAccept/bundle/resources/synced_database_tables/basic |
| 5:36 | gcp windows | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform |
| 5:21 | aws-ucws linux | TestAccept/bundle/resources/synced_database_tables/basic |
| 5:17 | gcp linux | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct |
| 5:10 | aws-ucws linux | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct |
| 5:09 | gcp windows | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct |
| 4:13 | azure linux | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform |
| 4:10 | azure-ucws linux | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct |
| 4:02 | azure linux | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct |
| 4:01 | azure-ucws linux | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform |
| 3:59 | azure-ucws windows | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct |
| 3:41 | azure-ucws windows | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform |
| 3:27 | azure-ucws windows | TestAccept/bundle/resources/synced_database_tables/basic |
| 3:11 | azure-ucws linux | TestAccept/bundle/resources/synced_database_tables/basic |
| 2:49 | aws linux | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct |
| 2:40 | aws linux | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform |
Commit: https://github.com/databricks/cli/commit/a4ab0829de11d58eedc6b1ef6f5fbe57a84c530c
| Env | πβflaky | πβRECOVERED | πβSKIP | β βpass | πβskip | Time | |
|---|---|---|---|---|---|---|---|
| πβ | aws linux | 4 | 10 | 1 | 409 | 624 | 52:06 |
| πβ | aws windows | 10 | 1 | 415 | 622 | 54:43 | |
| πβ | aws-ucws linux | 10 | 1 | 574 | 503 | 65:21 | |
| πβ | aws-ucws windows | 10 | 1 | 576 | 501 | 65:05 | |
| πβ | azure linux | 4 | 3 | 414 | 622 | 46:30 | |
| πβ | azure windows | 2 | 3 | 3 | 415 | 620 | 54:24 |
| πβ | azure-ucws linux | 3 | 1 | 3 | 571 | 501 | 60:44 |
| πβ | azure-ucws windows | 4 | 3 | 573 | 499 | 59:43 | |
| πβ | gcp linux | 4 | 3 | 394 | 631 | 48:15 | |
| πβ | gcp windows | 4 | 3 | 396 | 629 | 42:51 |
16 interesting tests: 8 flaky, 7 RECOVERED, 1 SKIP
| Test Name | aws linux | aws windows | aws-ucws linux | aws-ucws windows | azure linux | azure windows | azure-ucws linux | azure-ucws windows | gcp linux | gcp windows | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| πβ | TestAccept | πβR | πβR | πβR | πβR | πβR | πβf | πβf | πβR | πβR | πβR |
| πβ | TestAccept/bundle/generate/auto-bind | β βp | β βp | β βp | β βp | β βp | πβf | β βp | β βp | β βp | β βp |
| πβ | TestAccept/bundle/integration_whl/base | πβf | β βp | β βp | β βp | β βp | β βp | β βp | β βp | β βp | β βp |
| πβ | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform | πβf | β βp | β βp | β βp | β βp | β βp | β βp | β βp | β βp | β βp |
| πβ | TestAccept/bundle/resources/permissions | πβS | πβS | πβS | πβS | πβS | πβS | πβS | πβS | πβS | πβS |
| πβ | TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions | πβR | πβR | πβR | πβR | πβS | πβS | πβS | πβS | πβS | πβS |
| πβ | TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=direct | πβR | πβR | πβR | πβR | ||||||
| πβ | TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=terraform | πβR | πβR | πβR | πβR | ||||||
| πβ | TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions | πβR | πβR | πβR | πβR | πβS | πβS | πβS | πβS | πβS | πβS |
| πβ | TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=direct | πβR | πβR | πβR | πβR | ||||||
| πβ | TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=terraform | πβR | πβR | πβR | πβR | ||||||
| πβ | TestAccept/bundle/resources/secret_scopes/permissions | πβf | β βp | β βp | β βp | β βp | β βp | β βp | β βp | πβs | πβs |
| πβ | TestAccept/bundle/resources/secret_scopes/permissions/DATABRICKS_BUNDLE_ENGINE=terraform | πβf | β βp | β βp | β βp | β βp | β βp | β βp | β βp | ||
| πβ | TestAccept/bundle/run/app-with-job | πβR | πβR | πβR | πβR | πβR | πβR | πβf | πβR | πβR | πβR |
| πβ | TestAccept/bundle/run/app-with-job/DATABRICKS_BUNDLE_ENGINE=direct | πβR | πβR | πβR | πβR | πβR | πβR | πβR | πβR | πβR | πβR |
| πβ | TestAccept/bundle/run/app-with-job/DATABRICKS_BUNDLE_ENGINE=terraform | πβR | πβR | πβR | πβR | πβR | πβR | πβf | πβR | πβR | πβR |
Top 50 slowest tests (at least 2 minutes):
| duration | env | testname |
|---|---|---|
| 16:50 | azure windows | TestAccept/bundle/resources/permissions/factcheck/DATABRICKS_BUNDLE_ENGINE=terraform |
| 13:51 | gcp linux | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER |
| 13:38 | azure windows | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform |
| 13:26 | gcp linux | TestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform |
| 12:46 | azure-ucws windows | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform |
| 12:43 | gcp windows | TestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform |
| 12:06 | aws windows | TestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform |
| 11:34 | aws windows | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER |
| 11:22 | aws-ucws linux | TestAccept/bundle/resources/model_serving_endpoints/running-endpoint/DATABRICKS_BUNDLE_ENGINE=terraform |
| 11:07 | aws-ucws linux | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER |
| 10:56 | aws linux | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct |
| 10:51 | aws-ucws windows | TestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform |
| 10:37 | aws windows | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform |
| 10:37 | aws windows | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=SINGLE_USER |
| 10:36 | azure-ucws linux | TestAccept/bundle/resources/model_serving_endpoints/running-endpoint/DATABRICKS_BUNDLE_ENGINE=terraform |
| 10:31 | gcp windows | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER |
| 10:21 | aws-ucws linux | TestAccept/bundle/resources/model_serving_endpoints/running-endpoint/DATABRICKS_BUNDLE_ENGINE=direct |
| 10:19 | aws windows | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=USER_ISOLATION |
| 9:33 | azure linux | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct |
| 9:08 | aws-ucws windows | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=USER_ISOLATION |
| 9:01 | azure-ucws windows | TestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_15.4_LTS |
| 8:58 | azure-ucws windows | TestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_13.3_LTS |
| 8:53 | azure-ucws linux | TestAccept/bundle/resources/model_serving_endpoints/running-endpoint/DATABRICKS_BUNDLE_ENGINE=direct |
| 8:51 | aws windows | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION |
| 8:49 | azure-ucws windows | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct |
| 8:41 | gcp linux | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct |
| 8:35 | azure-ucws windows | TestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_14.3_LTS |
| 8:33 | gcp linux | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION |
| 8:33 | aws-ucws linux | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct |
| 8:31 | gcp windows | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=USER_ISOLATION |
| 8:30 | aws linux | TestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_15.4_LTS |
| 8:25 | azure-ucws linux | TestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_15.4_LTS |
| 8:24 | aws linux | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER |
| 8:23 | azure windows | TestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_15.4_LTS |
| 8:22 | azure-ucws windows | TestAccept/bundle/integration_whl/custom_params/DATABRICKS_BUNDLE_ENGINE=terraform |
| 8:18 | azure-ucws windows | TestAccept/bundle/integration_whl/custom_params/DATABRICKS_BUNDLE_ENGINE=direct |
| 8:16 | aws-ucws windows | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION |
| 8:15 | gcp windows | TestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=terraform |
| 8:14 | aws-ucws linux | TestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_15.4_LTS |
| 8:14 | azure-ucws windows | TestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform |
| 8:11 | azure-ucws linux | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform |
| 8:10 | aws windows | TestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_15.4_LTS |
| 8:07 | azure linux | TestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_15.4_LTS |
| 8:05 | aws-ucws linux | TestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_14.3_LTS |
| 8:01 | azure windows | TestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_14.3_LTS |
| 7:58 | aws linux | TestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform |
| 7:58 | azure windows | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct |
| 7:56 | aws-ucws linux | TestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform |
| 7:55 | azure-ucws linux | TestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_14.3_LTS |
| 7:54 | azure-ucws linux | TestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_13.3_LTS |