Skip to content

[ISSUE] DAB fails if app with same name is created independently #5198

@nsenno-dbr

Description

@nsenno-dbr

Configuration

databricks CLI v0.275.0 

Expected Behavior

DAB would have modified the existing Databricks App to get the required parameters or failed gracefully if there was a conflict.

Actual Behavior

Error thrown:

Deploying resources...
Error: terraform apply: exit status 1

Error: Provider produced inconsistent result after apply

When applying changes to databricks_app.mcp_server, provider
"provider[\"registry.terraform.io/databricks/databricks\"]" produced an
unexpected new value: .budget_policy_id: was null, but now
cty.StringVal("xxxxxx").

This is a bug in the provider, which should be reported in the provider's own
issue tracker.

Steps to Reproduce

  1. Create app manually (there was an issue where DAB wouldn't destroy the app so I manually deleted it, then it wouldn't itself destroy because the app didn't exist and would throw an error)
  2. Redeploy app with same name

Terraform and provider versions

Databricks CLI v0.276.0

Is it a regression?

Not that I'm aware of

Debug Output

19:13:22 Info: start pid=9682 version=0.276.0 args="databricks, bundle, deploy, --debug"
19:13:22 Debug: Found bundle root at /Users/nick.senno/repos/mcp_demo (file /Users/nick.senno/repos/mcp_demo/databricks.yml) pid=9682
19:13:22 Info: Phase: load pid=9682
19:13:22 Debug: Apply pid=9682 mutator=EntryPoint
19:13:22 Debug: Apply pid=9682 mutator=scripts.preinit
19:13:22 Debug: No script defined for preinit, skipping pid=9682 mutator=scripts.preinit
19:13:22 Debug: Apply pid=9682 mutator=ProcessRootIncludes
19:13:22 Debug: Apply pid=9682 mutator=ProcessRootIncludes mutator=ProcessInclude(resources/infra.yml)
19:13:22 Debug: Apply pid=9682 mutator=ProcessRootIncludes mutator=ProcessInclude(resources/mcp-server.app.yml)
19:13:22 Debug: Apply pid=9682 mutator=ProcessRootIncludes mutator=ProcessInclude(resources/mcp_demo.job.yml)
19:13:22 Debug: Apply pid=9682 mutator=VerifyCliVersion
19:13:22 Debug: Apply pid=9682 mutator=EnvironmentsToTargets
19:13:22 Debug: Apply pid=9682 mutator=ComputeIdToClusterId
19:13:22 Debug: Apply pid=9682 mutator=InitializeVariables
19:13:22 Debug: Apply pid=9682 mutator=DefineDefaultTarget(default)
19:13:22 Debug: Apply pid=9682 mutator=validate:unique_resource_keys
19:13:22 Debug: Apply pid=9682 mutator=SelectDefaultTarget
19:13:22 Debug: Apply pid=9682 mutator=SelectDefaultTarget mutator=SelectTarget(dev)
19:13:22 Debug: Loading profile fe-az because of host match pid=9682
19:13:22 Debug: OAuth callback server listening on localhost:8020 pid=9682 sdk=true
19:13:22 Debug: Apply pid=9682 mutator=
19:13:22 Debug: Apply pid=9682 mutator=
19:13:22 Info: Phase: initialize pid=9682
19:13:22 Debug: Apply pid=9682 mutator=validate:AllResourcesHaveValues
19:13:22 Debug: Apply pid=9682 mutator=validate:interpolation_in_auth_config
19:13:22 Debug: Apply pid=9682 mutator=validate:no_interpolation_in_bundle_name
19:13:22 Debug: Apply pid=9682 mutator=validate:scripts
19:13:22 Debug: Apply pid=9682 mutator=RewriteSyncPaths
19:13:22 Debug: Apply pid=9682 mutator=SyncDefaultPath
19:13:22 Debug: Apply pid=9682 mutator=SyncInferRoot
19:13:22 Debug: Apply pid=9682 mutator=PopulateCurrentUser
19:13:22 Debug: OAuth callback server listening on localhost:8020 pid=9682 sdk=true
19:13:23 Debug: GET /api/2.0/preview/scim/v2/Me
< HTTP/2.0 200 OK
< {
< "active": true,
< "displayName": "Nick Senno",
< "emails": [
< {
< "primary": true,
< "type": "work",
< "value": "[email protected]"
< }
< ],
< "entitlements": [
< {
< "value": "databricks-sql-access"
< },
< {
< "value": "allow-cluster-create"
< }
< ],
< "externalId": "be8b65ce-7494-402c-ba46-e9c2ec396001",
< "groups": [
< {
< "$ref": "Groups/523217415113412",
< "display": "team.fieldeng-all",
< "type": "direct",
< "value": "523217415113412"
< },
< {
< "$ref": "Groups/71355355701734",
< "display": "BimboPII_1",
< "type": "indirect",
< "value": "71355355701734"
< },
< {
< "$ref": "Groups/619353489628437",
< "display": "developer",
< "type": "direct",
< "value": "619353489628437"
< },
< {
< "$ref": "Groups/318615795206364",
< "display": "all_analysts",
< "type": "indirect",
< "value": "318615795206364"
< },
< {
< "$ref": "Groups/605663132002062",
< "display": "ANALYST_USA",
< "type": "direct",
< "value": "605663132002062"
< },
< {
< "$ref": "Groups/8460646211285870",
< "display": "admins",
< "type": "direct",
< "value": "8460646211285870"
< },
< {
< "$ref": "Groups/4077536258965473",
< "display": "users",
< "type": "direct",
< "value": "4077536258965473"
< },
< {
< "$ref": "Groups/5005646110826197",
< "display": "account users",
< "type": "direct",
< "value": "5005646110826197"
< }
< ],
< "id": "491262676651074",
< "name": {
< "familyName": "Senno",
< "givenName": "Nick"
< },
< "schemas": [
< "urn:ietf:params:scim:schemas:core:2.0:User",
< "... (1 additional elements)"
< ],
< "userName": "[email protected]"
< } pid=9682 mutator=PopulateCurrentUser sdk=true
19:13:23 Debug: Apply pid=9682 mutator=LoadGitDetails
19:13:23 Debug: Apply pid=9682 mutator=ApplySourceLinkedDeploymentPreset
19:13:23 Debug: Apply pid=9682 mutator=DefineDefaultWorkspaceRoot
19:13:23 Debug: Apply pid=9682 mutator=ExpandWorkspaceRoot
19:13:23 Debug: Apply pid=9682 mutator=DefaultWorkspacePaths
19:13:23 Debug: Apply pid=9682 mutator=PrependWorkspacePrefix
19:13:23 Debug: Apply pid=9682 mutator=RewriteWorkspacePrefix
19:13:23 Debug: Apply pid=9682 mutator=SetVariables
19:13:23 Debug: Apply pid=9682 mutator=ResolveVariableReferences
19:13:23 Debug: Apply pid=9682 mutator=ResolveLookupVariables
19:13:23 Debug: Apply pid=9682 mutator=ResolveVariableReferences
19:13:23 Debug: Apply pid=9682 mutator=validate:volume-path
19:13:23 Debug: Apply pid=9682 mutator=ApplyTargetMode
19:13:23 Info: Development mode: disabling deployment lock since bundle.deployment.lock.enabled is not set to true pid=9682 mutator=ApplyTargetMode
19:13:23 Debug: Apply pid=9682 mutator=ConfigureWSFS
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=ResolveVariableReferences(resources)
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=LogResourceReferences
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=NormalizePaths
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=TranslatePathsDashboards
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=ResolveVariableReferences(resources)
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=ExpandPipelineGlobPaths
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=MergeJobClusters
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=MergeJobParameters
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=MergeJobTasks
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=MergePipelineClusters
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=MergeApps
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=CaptureSchemaDependency
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=ConfigureDashboardSerializedDashboard
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=JobClustersFixups
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=ClusterFixups
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=SetRunAs
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=OverrideCompute
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=ApplyPresets
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=validate:SingleNodeCluster
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.dashboards., parent_path, /Workspace/Users/[email protected]/.bundle/mcp_demo/dev/resources)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.dashboards.
, embed_credentials, false)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.volumes., volume_type, MANAGED)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.alerts.
, parent_path, /Workspace/Users/[email protected]/.bundle/mcp_demo/dev/resources)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.jobs., name, Untitled)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.jobs.
, max_concurrent_runs, 1)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.jobs..schedule, pause_status, UNPAUSED)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.jobs.
.trigger, pause_status, UNPAUSED)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.jobs..continuous, pause_status, UNPAUSED)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.jobs.
.task[].dbt_task, schema, default)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.jobs.
.task[].for_each_task.task.dbt_task, schema, default)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.jobs.
.job_clusters[].new_cluster, num_workers, 0)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.jobs.
.job_clusters[].new_cluster.workload_type.clients, notebooks, true)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.jobs.
.job_clusters[].new_cluster.workload_type.clients, jobs, true)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.pipelines.
, edition, ADVANCED)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.pipelines., channel, CURRENT)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.sql_warehouses.
, auto_stop_mins, 120)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.sql_warehouses., enable_photon, true)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.sql_warehouses.
, max_num_clusters, 1)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.sql_warehouses., spot_instance_policy, COST_OPTIMIZED)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.apps.
, description, )"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.clusters., autotermination_minutes, 60)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.clusters.
.workload_type.clients, notebooks, true)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator="SetDefaultMutator(resources.clusters.*.workload_type.clients, jobs, true)"
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=DefaultQueueing
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=ApplyBundlePermissions
19:13:23 Debug: Apply pid=9682 mutator=ProcessStaticResources mutator=EnsureOwnerPermissions
19:13:23 Debug: Apply pid=9682 mutator=PythonMutator(load_resources)
19:13:23 Debug: Apply pid=9682 mutator=PythonMutator(apply_mutators)
19:13:23 Debug: Apply pid=9682 mutator=validate:required
19:13:23 Debug: Apply pid=9682 mutator=validate:enum
19:13:23 Debug: Apply pid=9682 mutator=validate:validate_dashboard_etags
19:13:23 Debug: Apply pid=9682 mutator=CheckPermissions
19:13:23 Debug: Apply pid=9682 mutator=TranslatePaths
19:13:23 Debug: Apply pid=9682 mutator=PythonWrapperWarning
19:13:23 Debug: Apply pid=9682 mutator=ApplyArtifactsDynamicVersion
19:13:23 Debug: Apply pid=9682 mutator=artifacts.Prepare
19:13:23 Debug: artifacts block is defined, skipping auto-detecting pid=9682 mutator=artifacts.Prepare
19:13:23 Debug: Apply pid=9682 mutator=apps.Validate
19:13:23 Debug: Apply pid=9682 mutator=ValidateTargetMode
19:13:23 Debug: Apply pid=9682 mutator=ValidateSharedRootPermissions
19:13:23 Debug: Apply pid=9682 mutator=metadata.AnnotateJobs
19:13:23 Debug: Apply pid=9682 mutator=metadata.AnnotatePipelines
19:13:23 Debug: Apply pid=9682 mutator=scripts.postinit
19:13:23 Debug: No script defined for postinit, skipping pid=9682 mutator=scripts.postinit
19:13:23 Debug: OAuth callback server listening on localhost:8020 pid=9682 sdk=true
19:13:23 Debug: failed to listen on 8020: failed to listen on localhost:8020: listen tcp 127.0.0.1:8020: bind: address already in use, retrying pid=9682 sdk=true
19:13:23 Debug: OAuth callback server listening on localhost:8021 pid=9682 sdk=true
19:13:23 Debug: GET /api/2.0/workspace/get-status?path=/Workspace/Users/[email protected]/.bundle/mcp_demo/dev/state/resources.json&return_export_info=true
< HTTP/2.0 404 Not Found
< {
< "error_code": "RESOURCE_DOES_NOT_EXIST",
< "message": "Path (/Workspace/Users/[email protected]/.bundle/mcp_demo/dev/state/resources.json) does... (10 more bytes)"
< } pid=9682 sdk=true
19:13:23 Debug: GET /api/2.0/workspace/get-status?path=/Workspace/Users/[email protected]/.bundle/mcp_demo/dev/state/terraform.tfstate&return_export_info=true
< HTTP/2.0 200 OK
< {
< "created_at": 1762461520522,
< "modified_at": 1762477973952,
< "object_id": 531726511397127,
< "object_type": "FILE",
< "path": "/Workspace/Users/[email protected]/.bundle/mcp_demo/dev/state/terraform.tfstate",
< "resource_id": "531726511397127"
< } pid=9682 sdk=true
19:13:23 Debug: non-retriable error: Path (/Workspace/Users/[email protected]/.bundle/mcp_demo/dev/state/resources.json) doesn't exist. pid=9682 sdk=true
19:13:23 Debug: failed to listen on 8020: failed to listen on localhost:8020: listen tcp 127.0.0.1:8020: bind: address already in use, retrying pid=9682 sdk=true
19:13:23 Debug: OAuth callback server listening on localhost:8021 pid=9682 sdk=true
19:13:23 Debug: GET /api/2.0/workspace-files/Workspace/Users/[email protected]/.bundle/mcp_demo/dev/state/terraform.tfstate
< HTTP/2.0 200 OK
< pid=9682 sdk=true
19:13:23 Debug: read terraform.tfstate: pid=9682
19:13:23 Info: Available resource state files (from least to most preferred): , pid=9682
19:13:23 Debug: Apply pid=9682 mutator=fast_validate(readonly)
19:13:23 Debug: ApplyParallel pid=9682 mutator=fast_validate(readonly) mutator=validate:job_cluster_key_defined
19:13:23 Debug: ApplyParallel pid=9682 mutator=fast_validate(readonly) mutator=validate:job_task_cluster_spec
19:13:23 Debug: ApplyParallel pid=9682 mutator=fast_validate(readonly) mutator=validate:artifact_paths
19:13:23 Info: Phase: build pid=9682
19:13:23 Debug: Apply pid=9682 mutator=scripts.prebuild
19:13:23 Debug: No script defined for prebuild, skipping pid=9682 mutator=scripts.prebuild
19:13:23 Debug: Apply pid=9682 mutator=artifacts.Build
Building python_artifact...
19:13:24 Debug: Apply pid=9682 mutator=artifacts.Build mutator=expandGlobs
19:13:24 Debug: Skipping wheel /Users/nick.senno/repos/mcp_demo/dist/mcp_demo-0.0.1-py3-none-any.whl (older than /Users/nick.senno/repos/mcp_demo/dist/mcp_demo-0.0.1.dev0-py3-none-any.whl) pid=9682 mutator=artifacts.Build mutator=expandGlobs
19:13:24 Debug: Apply pid=9682 mutator=scripts.postbuild
19:13:24 Debug: No script defined for postbuild, skipping pid=9682 mutator=scripts.postbuild
19:13:24 Debug: Apply pid=9682 mutator=ResolveVariableReferences
19:13:24 Debug: Apply pid=9682 mutator=ResolveVariableReferences(resources)
19:13:24 Info: Phase: deploy pid=9682
19:13:24 Debug: Apply pid=9682 mutator=scripts.predeploy
19:13:24 Debug: No script defined for predeploy, skipping pid=9682 mutator=scripts.predeploy
19:13:24 Debug: Apply pid=9682 mutator=lock:acquire
19:13:24 Info: Skipping; locking is disabled pid=9682 mutator=lock:acquire
19:13:24 Debug: Apply pid=9682 mutator=CheckDashboardsModifiedRemotely
19:13:24 Debug: Apply pid=9682 mutator=deploy:state-pull
19:13:24 Info: Opening remote deployment state file pid=9682 mutator=deploy:state-pull
19:13:24 Debug: OAuth callback server listening on localhost:8020 pid=9682 sdk=true
19:13:24 Debug: GET /api/2.0/workspace/get-status?path=/Workspace/Users/[email protected]/.bundle/mcp_demo/dev/state/deployment.json&return_export_info=true
< HTTP/2.0 200 OK
< {
< "created_at": 1762461477091,
< "modified_at": 1762477967621,
< "object_id": 531726511397123,
< "object_type": "FILE",
< "path": "/Workspace/Users/[email protected]/.bundle/mcp_demo/dev/state/deployment.json",
< "resource_id": "531726511397123"
< } pid=9682 mutator=deploy:state-pull sdk=true
19:13:24 Debug: OAuth callback server listening on localhost:8020 pid=9682 sdk=true
19:13:24 Debug: GET /api/2.0/workspace-files/Workspace/Users/[email protected]/.bundle/mcp_demo/dev/state/deployment.json
< HTTP/2.0 200 OK
< pid=9682 mutator=deploy:state-pull sdk=true
19:13:24 Info: Local deployment state is the same or newer, ignoring remote state pid=9682 mutator=deploy:state-pull
19:13:24 Debug: Apply pid=9682 mutator=ValidateGitDetails
19:13:24 Debug: Apply pid=9682 mutator=check-running-resources
19:13:24 Debug: Apply pid=9682 mutator=libraries.ExpandGlobReferences
19:13:24 Debug: Skipping wheel /Users/nick.senno/repos/mcp_demo/dist/mcp_demo-0.0.1-py3-none-any.whl (older than /Users/nick.senno/repos/mcp_demo/dist/mcp_demo-0.0.1.dev0-py3-none-any.whl) pid=9682 mutator=libraries.ExpandGlobReferences
19:13:24 Debug: Apply pid=9682 mutator=CheckForSameNameLibraries
19:13:24 Debug: Apply pid=9682 mutator=SwitchToPatchedWheels
19:13:24 Debug: Apply pid=9682 mutator=TransformWheelTask
19:13:24 Debug: Apply pid=9682 mutator=artifacts.CleanUp
19:13:24 Debug: OAuth callback server listening on localhost:8020 pid=9682 sdk=true
19:13:24 Debug: POST /api/2.0/workspace/delete

{
"path": "/Workspace/Users/[email protected]/.bundle/mcp_demo/dev/artifacts/.internal",
"recursive": true
}
< HTTP/2.0 200 OK
< {} pid=9682 mutator=artifacts.CleanUp sdk=true
19:13:24 Debug: OAuth callback server listening on localhost:8020 pid=9682 sdk=true
19:13:24 Debug: POST /api/2.0/workspace/mkdirs
{
"path": "/Workspace/Users/[email protected]/.bundle/mcp_demo/dev/artifacts/.internal"
}
< HTTP/2.0 200 OK
< {} pid=9682 mutator=artifacts.CleanUp sdk=true
19:13:24 Debug: Apply pid=9682 mutator=libraries.Upload
Uploading dist/mcp_demo-0.0.1.dev0-py3-none-any.whl...
19:13:24 Debug: OAuth callback server listening on localhost:8020 pid=9682 sdk=true
19:13:25 Debug: POST /api/2.0/workspace-files/import-file/Workspace/Users/[email protected]/.bundle/mcp_demo/dev/artifacts/.internal/mcp_demo-0.0.1.dev0-py3-none-any.whl?overwrite=true
PBPmcp_demo/init.pyPBP"3ָ��mcp_demo/main.... (1582 more bytes)
< HTTP/2.0 200 OK pid=9682 mutator=libraries.Upload sdk=true
19:13:25 Info: Upload succeeded pid=9682 mutator=libraries.Upload
19:13:25 Debug: Apply pid=9682 mutator=files.Upload
Uploading bundle files to /Workspace/Users/[email protected]/.bundle/mcp_demo/dev/files...
19:13:25 Debug: OAuth callback server listening on localhost:8020 pid=9682 sdk=true
19:13:25 Debug: GET /api/2.0/workspace/get-status?path=/Workspace/Users/[email protected]/.bundle/mcp_demo/dev/files
< HTTP/2.0 200 OK
< {
< "object_id": 531726511381962,
< "object_type": "DIRECTORY",
< "path": "/Workspace/Users/[email protected]/.bundle/mcp_demo/dev/files",
< "resource_id": "531726511381962"
< } pid=9682 mutator=files.Upload sdk=true
19:13:25 Debug: Path /Workspace/Users/[email protected]/.bundle/mcp_demo/dev/files has type directory (ID: 531726511381962) pid=9682 mutator=files.Upload
19:13:25 Info: Uploaded bundle files pid=9682 mutator=files.Upload
19:13:25 Debug: Apply pid=9682 mutator=deploy:state-update
19:13:25 Info: Loading deployment state from /Users/nick.senno/repos/mcp_demo/.databricks/bundle/dev/deployment.json pid=9682 mutator=deploy:state-update
19:13:25 Debug: Apply pid=9682 mutator=deploy:state-push
19:13:25 Info: Writing local deployment state file to remote state directory pid=9682 mutator=deploy:state-push
19:13:25 Debug: OAuth callback server listening on localhost:8020 pid=9682 sdk=true
19:13:25 Debug: POST /api/2.0/workspace-files/import-file/Workspace/Users/[email protected]/.bundle/mcp_demo/dev/state/deployment.json?overwrite=true
{
"cli_version": "0.276.0",
"files": [
{
"is_notebook": false,
"local_path": "fixtures/scoping_documents/proposal_034.txt"
},
{
"is_notebook": false,
"local_path": "fixtures/scoping_documents/proposal_057.txt"
},
{
"is_notebook": true,
"local_path": "src/create_vs_index.ipynb"
},
{
"is_notebook": false,
"local_path": "src/mcp_server_app/tests/test_integration_server.py"
},
{
"is_notebook": false,
"local_path": ".gitignore"
},
{
"is_notebook": false,
"local_path": "fixtures/scoping_documents/proposal_014.txt"
},
{
"is_notebook": false,
"local_path": "fixtures/scoping_documents/proposal_019.txt"
},
{
"is_notebook": false,
"local_path": "fixtures/scoping_documents/proposal_041.txt"
},
{
"is_notebook": false,
"local_path": "fixtures/scoping_documents/proposal_050.txt"
},
{
"is_notebook": false,
"local_path": "fixtures/scoping_documents/proposal_058.txt"
},
{
"is_notebook": false,
"local_path": "fixtures/scoping_documents/proposal_068.txt"
},
{
"is_notebook": true,
"local_path": "scratch/exploration.ipynb"
},
{
"is_notebook": false,
"local_path": "fixtures/scoping_documents/proposal_080.txt"
},
{
"is_notebook": false,
"local_path": "fixtures/scoping_documents/proposal_099.txt"
},
"... (120 additional elements)"
],
"id": "812de8ab-7bda-4ae2-9fe6-1be16f24ad5b",
"seq": 10,
"timestamp": "2025-11-07T01:13:25.592878Z",
"version": 1
}
< HTTP/2.0 200 OK pid=9682 mutator=deploy:state-push sdk=true
19:13:25 Debug: Apply pid=9682 mutator=ApplyWorkspaceRootPermissions
19:13:25 Debug: Apply pid=9682 mutator=trackUsedCompute
19:13:25 Debug: Apply pid=9682 mutator=deploy:resource_path_mkdir
19:13:25 Debug: Apply pid=9682 mutator=terraform.Interpolate
19:13:25 Debug: Apply pid=9682 mutator=terraform.Write
19:13:25 Debug: app normalization diagnostic: unknown field: source_code_path pid=9682 mutator=terraform.Write
19:13:25 Debug: Apply pid=9682 mutator=terraform.Plan
19:13:25 Debug: Using Terraform at /Users/nick.senno/repos/mcp_demo/.databricks/bundle/dev/bin/terraform pid=9682 mutator=terraform.Plan
19:13:25 Debug: DATABRICKS_TF_CLI_CONFIG_FILE is not defined pid=9682 mutator=terraform.Plan
19:13:25 Debug: Environment variables for Terraform: DATABRICKS_AUTH_TYPE, HOME, PATH, TMPDIR, DATABRICKS_USER_AGENT_EXTRA, DATABRICKS_HOST pid=9682 mutator=terraform.Plan
19:13:27 Debug: Planning complete and persisted at /Users/nick.senno/repos/mcp_demo/.databricks/bundle/dev/terraform/plan
pid=9682 mutator=terraform.Plan
Deploying resources...
19:13:27 Debug: Apply pid=9682 mutator=terraform.Apply
Error: terraform apply: exit status 1

Error: Provider produced inconsistent result after apply

When applying changes to databricks_app.mcp_server, provider
"provider["registry.terraform.io/databricks/databricks"]" produced an
unexpected new value: .budget_policy_id: was null, but now
cty.StringVal("6cf4da7d-40ad-3499-8a42-626115559671").

This is a bug in the provider, which should be reported in the provider's own
issue tracker.

19:13:28 Debug: Apply pid=9682 mutator=statemgmt.Push
Updating deployment state...
19:13:28 Debug: OAuth callback server listening on localhost:8020 pid=9682 sdk=true
19:13:28 Debug: POST /api/2.0/workspace-files/import-file/Workspace/Users/[email protected]/.bundle/mcp_demo/dev/state/terraform.tfstate?overwrite=true

{
"check_results": null,
"lineage": "026a01fd-4dfd-f3cf-7c79-98a8fbacfc0f",
"outputs": {},
"resources": [
{
"instances": [
{
"attributes": {
"active_deployment": null,
"app_status": {
"message": "App has status: App has not been deployed yet. Run your app by deploying source code",
"state": "UNAVAILABLE"
},
"budget_policy_id": "6cf4da7d-40ad-3499-8a42-626115559671",
"compute_size": "MEDIUM",
"compute_status": {
"message": "App compute is running.",
"state": "ACTIVE"
},
"create_time": "2025-11-07T01:06:20Z",
"creator": "[email protected]",
"default_source_code_path": "",
"description": "Custom MCP Server Application for interacting with my Migration Scoping Agent",
"effective_budget_policy_id": "6cf4da7d-40ad-3499-8a42-626115559671",
"effective_user_api_scopes": [
"iam.current-user:read",
"iam.access-control:read"
],
"id": "68aad977-7fef-48f8-bc9a-4d0bbd3fb272",
"name": "nsenno-custom-mcp-server",
"no_compute": true,
"oauth2_app_client_id": "c0d7b72d-1c73-46a6-895d-59a4b95e417d",
"oauth2_app_integration_id": "c0d7b72d-1c73-46a6-895d-59a4b95e417d",
"pending_deployment": null,
"provider_config": null,
"resources": null,
"service_principal_client_id": "68aad977-7fef-48f8-bc9a-4d0bbd3fb272",
"service_principal_id": 145053639610212,
"service_principal_name": "app-7hspbl nsenno-custom-mcp-server",
"update_time": "2025-11-07T01:13:27Z",
"updater": "[email protected]",
"url": "https://nsenno-custom-mcp-server-984752964297111.11.azure.databricksapps.com",
"user_api_scopes": null
},
"schema_version": 0,
"sensitive_attributes": null
}
],
"mode": "managed",
"name": "mcp_server",
"provider": "provider["registry.terraform.io/databricks/databricks"]",
"type": "databricks_app"
},
"... (3 additional elements)"
],
"serial": 14,
"terraform_version": "1.5.5",
"version": 4
}
< HTTP/2.0 200 OK pid=9682 mutator=statemgmt.Push sdk=true
19:13:28 Debug: Apply pid=9682 mutator=lock:release
19:13:28 Info: Skipping; locking is disabled pid=9682 mutator=lock:release
19:13:28 Debug: failed execution pid=9682 exit_code=1
19:13:28 Debug: OAuth callback server listening on localhost:8020 pid=9682 sdk=true
19:13:28 Debug: POST /telemetry-ext
{
"items": null,
"protoLogs": [
"{"frontend_log_event_id":"727a8a72-8624-4b09-949f-f744094f43fb","entry":{"databricks_cli_log":{"... (582 more bytes)"
],
"uploadTime": 1762478008494
}
< HTTP/2.0 200 OK
< {
< "errors": null,
< "numProtoSuccess": 1,
< "numRealtimeSuccess": 0,
< "numSuccess": 0
< } pid=9682 sdk=true

Important Factoids

Seems like there is some friction around if the app is removed outside of Terraform / DAB

Would you like to implement a fix?

No

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions