Skip to content

Rename registered models in place and follow parent renames - #7379

Draft
denik wants to merge 7 commits into
denik/schemas-removefrom
denik/models-rename
Draft

denik wants to merge 7 commits into
denik/schemas-removefrom
denik/models-rename

Conversation

@denik

@denik denik commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Changes

Changing a registered model's name now renames it in place (PATCH new_name) instead of deleting and recreating it, so the model keeps its versions. The recreate only matched Terraform, which is gone.

A model in a renamed catalog or schema (schema_name: ${resources.schemas.<s>.name}) now follows its parent the way volumes do in #7343: with IDFromState, the framework re-keys it without a request (state_only). It used to be planned as a recreate whose create failed with RESOURCE_ALREADY_EXISTS (verified on AWS), and every later deploy tried to create it again.

UC rejects an update that sets both name and new_name, so a rename leaves name out (#7408 makes the test server reject it too).

Stacked on #7343. UC secrets get the same fix in #7381.

Tests

  • New registered_models/rename (Cloud = true): rename the model, then its schema, then its catalog, then the model again together with its comment (one PATCH). created_at stays the same and the final plan is a no-op.
  • registered_models/basic (Cloud = true, AWS) and migrate/auto/registered-model-rename: a name change now renames.

This pull request and its description were written by Isaac.

@github-actions

github-actions Bot commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Commit: b0476cdfb | Workflow run

Regression test report

Selected 20 changed tests (limit=20, 24 not selected)

37 tests: regression=35 unreleased=0 coverage=2 failing=0
test branch main (77950b6) latest (v1.25.0)
TestAccept/bundle/migrate/auto/registered-model-rename/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/catalogs/rename/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/catalogs/rename/DMS=true ✅ ❌ ❌
TestAccept/bundle/resources/catalogs/rename_all_out_of_band/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/catalogs/rename_all_out_of_band/DMS=true ✅ ❌ ❌
TestAccept/bundle/resources/catalogs/rename_out_of_band/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/catalogs/rename_out_of_band/DMS=true ✅ ❌ ❌
TestAccept/bundle/resources/catalogs/rename_with_comment/DMS= ✅ ✅ ✅
TestAccept/bundle/resources/catalogs/rename_with_comment/DMS=true ✅ ✅ ✅
TestAccept/bundle/resources/registered_models/rename/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/registered_models/rename/DMS=true ✅ ❌ ❌
TestAccept/bundle/resources/schemas/recreate_interrupted/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/schemas/recreate_out_of_band/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/schemas/recreate_out_of_band/DMS=true ✅ ❌ ❌
TestAccept/bundle/resources/schemas/rename/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/schemas/rename/DMS=true ✅ ❌ ❌
TestAccept/bundle/resources/schemas/rename_case_only/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/schemas/rename_case_only/DMS=true ✅ ❌ ❌
TestAccept/bundle/resources/schemas/rename_interrupted/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/schemas/rename_out_of_band/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/schemas/rename_out_of_band/DMS=true ✅ ❌ ❌
TestAccept/bundle/resources/schemas/rename_then_change/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/schemas/rename_then_change/DMS=true ✅ ❌ ❌
TestAccept/bundle/resources/schemas/rename_with_comment/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/schemas/rename_with_comment/DMS=true ✅ ❌ ❌
TestAccept/bundle/resources/schemas/rename_with_volume/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/schemas/rename_with_volume/DMS=true ✅ ❌ ❌
TestAccept/bundle/resources/schemas/rename_with_volume_ref/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/schemas/rename_with_volume_ref/DMS=true ✅ ❌ ❌
TestAccept/bundle/resources/volumes/recreate_out_of_band/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/volumes/recreate_out_of_band/DMS=true ✅ ❌ ❌
TestAccept/bundle/resources/volumes/rename_case_only/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/volumes/rename_case_only/DMS=true ✅ ❌ ❌
TestAccept/bundle/resources/volumes/rename_catalog_and_schema/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/volumes/rename_catalog_and_schema/DMS=true ✅ ❌ ❌
TestAccept/bundle/resources/volumes/rename_out_of_band/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/volumes/rename_out_of_band/DMS=true ✅ ❌ ❌
TestAccept/bundle/migrate/auto/registered-model-rename/DMS=: branch ✅ | main (77950b6) ❌ | latest (v1.25.0) ❌

main (77950b6):

acceptance_test.go:1345: Diff:
        --- bundle/migrate/auto/registered-model-rename/output.txt
        +++ /tmp/TestAcceptbundlemigrateautoregistered-model-renameDMS=2695264742/002/output.txt
        @@ -4,15 +4,16 @@
         
         === Rename the model (an updatable id field) and deploy on direct
         >>> DATABRICKS_BUNDLE_ENGINE=direct [CLI] bundle deploy
        -Warn: migration to direct: registered_models.my_model: name differs between config ("themodel-[UNIQUE_NAME]-renamed") and terraform state ("themodel-[UNIQUE_NAME]"); this resource will be renamed.
        +Warn: migration to direct: registered_models.my_model: name differs between config ("themodel-[UNIQUE_NAME]-renamed") and terraform state ("themodel-[UNIQUE_NAME]"); this resource will be recreated.
         Notice: migrating your bundle to direct deployment engine (https://github.com/databricks/cli/issues/6765).
         Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/[UNIQUE_NAME]/files...
         Migrated 2 resources to direct deployment engine.
        -Updated registered_models.my_model
        +Recreated registered_models.my_model
         Files: 2 uploaded, 0 deleted
        -Resources: 0 created, 1 changed, 0 deleted, 1 unchanged
        +Resources: 1 created, 0 changed, 1 deleted, 1 unchanged
         
         >>> print_migration_telemetry
        +direct_migrate_recreate_planned true
         direct_migrated_via_env true
         
         === Redeploy on direct: the model now matches config, so the plan is a clean no-op

latest (v1.25.0): same output as main (77950b6)

TestAccept/bundle/resources/catalogs/rename/DMS=: branch ✅ | main (77950b6) ❌ | latest (v1.25.0) ❌

main (77950b6):

acceptance_test.go:1345: Diff:
        --- bundle/resources/catalogs/rename/output.txt
        +++ /tmp/TestAcceptbundleresourcescatalogsrenameDMS=1355536361/002/output.txt
        @@ -73,8 +73,7 @@
                 "label": "${resources.catalogs.catalog1.name}"
               }
             ],
        -    "action": "update_id",
        -    "state_only": true,
        +    "action": "recreate",
             "new_state": {
               "value": {
                 "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        @@ -93,17 +92,11 @@
             },
             "changes": {
               "catalog_name": {
        -        "action": "update_id",
        -        "reason": "parent_renamed",
        +        "action": "recreate",
        +        "reason": "id_field",
                 "old": "test_catalog_[UNIQUE_NAME]",
                 "new": "test_catalog_renamed_[UNIQUE_NAME]",
                 "remote": "test_catalog_[UNIQUE_NAME]"
        -      },
        -      "schema_id": {
        -        "action": "skip",
        -        "reason": "internal_id",
        -        "old": "[SCHEMA_ID]",
        -        "remote": "[SCHEMA_ID]"
               }
             }
           },
        @@ -118,8 +108,7 @@
                 "label": "${resources.schemas.schema1.name}"
               }
             ],
        -    "action": "update_id",
        -    "state_only": true,
        +    "action": "recreate",
             "new_state": {
               "value": {
                 "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        @@ -141,17 +130,11 @@
             },
             "changes": {
               "catalog_name": {
        -        "action": "update_id",
        -        "reason": "parent_renamed",
        +        "action": "recreate",
        +        "reason": "id_field",
                 "old": "test_catalog_[UNIQUE_NAME]",
                 "new": "test_catalog_renamed_[UNIQUE_NAME]",
                 "remote": "test_catalog_[UNIQUE_NAME]"
        -      },
        -      "volume_id": {
        -        "action": "skip",
        -        "reason": "internal_id",
        -        "old": "[VOLUME_ID]",
        -        "remote": "[VOLUME_ID]"
               }
             }
           }
        @@ -160,63 +140,21 @@
         === Deploy renames the catalog. UC moves the schema and the volume with it, so they get no request
         >>> [CLI] bundle deploy
         Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle-[UNIQUE_NAME]/default/files...
        -Updated catalogs.catalog1
        -Files: 1 uploaded, 0 deleted
        -Resources: 0 created, 1 changed, 0 deleted, 2 unchanged
         
        ->>> print_requests.py //unity-catalog
        -{
        -  "method": "PATCH",
        -  "path": "/api/2.1/unity-catalog/catalogs/test_catalog_[UNIQUE_NAME]",
        -  "body": {
        -    "comment": "",
        -    "custom_max_retention_hours": 0,
        -    "new_name": "test_catalog_renamed_[UNIQUE_NAME]"
        -  }
        -}
        +This action will result in the deletion or recreation of the following UC schemas. Any underlying data may be lost:
        +  recreate resources.schemas.schema1
         
        -=== The old catalog is gone and the schema and the volume are under the new one, with their original ids
        -old catalog is gone
        +This action will result in the deletion or recreation of the following volumes.
        +For managed volumes, the files stored in the volume are also deleted from your
        +cloud tenant within 30 days. For external volumes, the metadata about the volume
        +is removed from the catalog, but the underlying files are not deleted:
        +  recreate resources.volumes.volume1
        +Error: the deployment requires destructive actions, but the current console does not support prompting.
        +Deleting data assets such as schemas, pipelines, or volumes may cause permanent data loss and should be carefully reviewed.
        +To proceed, use --auto-approve after reviewing the plan above.
         
        ->>> [CLI] schemas get test_catalog_renamed_[UNIQUE_NAME].myschema
        -{
        -  "full_name": "test_catalog_renamed_[UNIQUE_NAME].myschema",
        -  "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        -  "schema_id": "[SCHEMA_ID]"
        -}
        +Files: 1 uploaded, 0 deleted
         
        ->>> [CLI] volumes read test_catalog_renamed_[UNIQUE_NAME].myschema.myvolume
        -{
        -  "full_name": "test_catalog_renamed_[UNIQUE_NAME].myschema.myvolume",
        -  "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        -  "volume_id": "[VOLUME_ID]"
        -}
        -
        -=== The state tracks the new paths
        ->>> [CLI] bundle summary --output json
        -{
        -  "catalogs": {
        -    "catalog1": "test_catalog_renamed_[UNIQUE_NAME]"
        -  },
        -  "schemas": {
        -    "schema1": "test_catalog_renamed_[UNIQUE_NAME].myschema"
        -  },
        -  "volumes": {
        -    "volume1": "test_catalog_renamed_[UNIQUE_NAME].myschema.myvolume"
        -  }
        -}
        -
        -=== Redeploy is a no-op
        ->>> [CLI] bundle plan
        -Plan: 0 to add, 0 to change, 0 to delete, 3 unchanged
        -
        ->>> [CLI] bundle deploy
        -Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle-[UNIQUE_NAME]/default/files...
        -Files: 0 uploaded, 0 deleted
        -Resources: 0 created, 0 changed, 0 deleted, 3 unchanged
        -
        ->>> print_requests.py //unity-catalog
        -
         >>> [CLI] bundle destroy --auto-approve
         The following resources will be deleted:
           delete resources.catalogs.catalog1
        @@ -235,3 +169,5 @@
         All files and directories at the following location will be deleted: /Workspace/Users/[USERNAME]/.bundle/test-bundle-[UNIQUE_NAME]/default
         
         Destroy: 3 deleted
        +
        +Exit code: 1
        
    acceptance_test.go:1123: 
        LOG.destroy_requests: {
        LOG.destroy_requests:   "method": "DELETE",
        LOG.destroy_requests:   "path": "/api/2.1/unity-catalog/volumes/test_catalog_27qqktfyr5cy5o36ep7vhsiu64.myschema.myvolume"
        LOG.destroy_requests: }
        LOG.destroy_requests: {
        LOG.destroy_requests:   "method": "DELETE",
        LOG.destroy_requests:   "path": "/api/2.1/unity-catalog/schemas/test_catalog_27qqktfyr5cy5o36ep7vhsiu64.myschema",
        LOG.destroy_requests:   "q": {
        LOG.destroy_requests:     "force": "true"
        LOG.destroy_requests:   }
        LOG.destroy_requests: }
        LOG.destroy_requests: {
        LOG.destroy_requests:   "method": "DELETE",
        LOG.destroy_requests:   "path": "/api/2.1/unity-catalog/catalogs/test_catalog_27qqktfyr5cy5o36ep7vhsiu64",
        LOG.destroy_requests:   "q": {
        LOG.destroy_requests:     "force": "true"
        LOG.destroy_requests:   }
        LOG.destroy_requests: }

latest (v1.25.0):

acceptance_test.go:1345: Diff:
        --- bundle/resources/catalogs/rename/output.txt
        +++ /tmp/TestAcceptbundleresourcescatalogsrenameDMS=1926070911/002/output.txt
        @@ -73,8 +73,7 @@
                 "label": "${resources.catalogs.catalog1.name}"
               }
             ],
        -    "action": "update_id",
        -    "state_only": true,
        +    "action": "recreate",
             "new_state": {
               "value": {
                 "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        @@ -93,17 +92,11 @@
             },
             "changes": {
               "catalog_name": {
        -        "action": "update_id",
        -        "reason": "parent_renamed",
        +        "action": "recreate",
        +        "reason": "id_field",
                 "old": "test_catalog_[UNIQUE_NAME]",
                 "new": "test_catalog_renamed_[UNIQUE_NAME]",
                 "remote": "test_catalog_[UNIQUE_NAME]"
        -      },
        -      "schema_id": {
        -        "action": "skip",
        -        "reason": "internal_id",
        -        "old": "[SCHEMA_ID]",
        -        "remote": "[SCHEMA_ID]"
               }
             }
           },
        @@ -118,8 +108,7 @@
                 "label": "${resources.schemas.schema1.name}"
               }
             ],
        -    "action": "update_id",
        -    "state_only": true,
        +    "action": "recreate",
             "new_state": {
               "value": {
                 "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        @@ -141,17 +130,11 @@
             },
             "changes": {
               "catalog_name": {
        -        "action": "update_id",
        -        "reason": "parent_renamed",
        +        "action": "recreate",
        +        "reason": "id_field",
                 "old": "test_catalog_[UNIQUE_NAME]",
                 "new": "test_catalog_renamed_[UNIQUE_NAME]",
                 "remote": "test_catalog_[UNIQUE_NAME]"
        -      },
        -      "volume_id": {
        -        "action": "skip",
        -        "reason": "internal_id",
        -        "old": "[VOLUME_ID]",
        -        "remote": "[VOLUME_ID]"
               }
             }
           }
        @@ -160,63 +140,21 @@
         === Deploy renames the catalog. UC moves the schema and the volume with it, so they get no request
         >>> [CLI] bundle deploy
         Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle-[UNIQUE_NAME]/default/files...
        -Updated catalogs.catalog1
        -Files: 1 uploaded, 0 deleted
        -Resources: 0 created, 1 changed, 0 deleted, 2 unchanged
         
        ->>> print_requests.py //unity-catalog
        -{
        -  "method": "PATCH",
        -  "path": "/api/2.1/unity-catalog/catalogs/test_catalog_[UNIQUE_NAME]",
        -  "body": {
        -    "comment": "",
        -    "custom_max_retention_hours": 0,
        -    "new_name": "test_catalog_renamed_[UNIQUE_NAME]"
        -  }
        -}
        +This action will result in the deletion or recreation of the following UC schemas. Any underlying data may be lost:
        +  recreate resources.schemas.schema1
         
        -=== The old catalog is gone and the schema and the volume are under the new one, with their original ids
        -old catalog is gone
        +This action will result in the deletion or recreation of the following volumes.
        +For managed volumes, the files stored in the volume are also deleted from your
        +cloud tenant within 30 days. For external volumes, the metadata about the volume
        +is removed from the catalog, but the underlying files are not deleted:
        +  recreate resources.volumes.volume1
        +Error: the deployment requires destructive actions, but the current console does not support prompting.
        +Deleting data assets such as schemas, pipelines, or volumes may cause permanent data loss and should be carefully reviewed.
        +To proceed, use --auto-approve after reviewing the plan above.
         
        ->>> [CLI] schemas get test_catalog_renamed_[UNIQUE_NAME].myschema
        -{
        -  "full_name": "test_catalog_renamed_[UNIQUE_NAME].myschema",
        -  "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        -  "schema_id": "[SCHEMA_ID]"
        -}
        +Files: 1 uploaded, 0 deleted
         
        ->>> [CLI] volumes read test_catalog_renamed_[UNIQUE_NAME].myschema.myvolume
        -{
        -  "full_name": "test_catalog_renamed_[UNIQUE_NAME].myschema.myvolume",
        -  "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        -  "volume_id": "[VOLUME_ID]"
        -}
        -
        -=== The state tracks the new paths
        ->>> [CLI] bundle summary --output json
        -{
        -  "catalogs": {
        -    "catalog1": "test_catalog_renamed_[UNIQUE_NAME]"
        -  },
        -  "schemas": {
        -    "schema1": "test_catalog_renamed_[UNIQUE_NAME].myschema"
        -  },
        -  "volumes": {
        -    "volume1": "test_catalog_renamed_[UNIQUE_NAME].myschema.myvolume"
        -  }
        -}
        -
        -=== Redeploy is a no-op
        ->>> [CLI] bundle plan
        -Plan: 0 to add, 0 to change, 0 to delete, 3 unchanged
        -
        ->>> [CLI] bundle deploy
        -Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle-[UNIQUE_NAME]/default/files...
        -Files: 0 uploaded, 0 deleted
        -Resources: 0 created, 0 changed, 0 deleted, 3 unchanged
        -
        ->>> print_requests.py //unity-catalog
        -
         >>> [CLI] bundle destroy --auto-approve
         The following resources will be deleted:
           delete resources.catalogs.catalog1
        @@ -235,3 +169,5 @@
         All files and directories at the following location will be deleted: /Workspace/Users/[USERNAME]/.bundle/test-bundle-[UNIQUE_NAME]/default
         
         Destroy: 3 deleted
        +
        +Exit code: 1
        
    acceptance_test.go:1123: 
        LOG.destroy_requests: {
        LOG.destroy_requests:   "method": "DELETE",
        LOG.destroy_requests:   "path": "/api/2.1/unity-catalog/volumes/test_catalog_hgkjxs72dnbmlnjy5v2eohz4pe.myschema.myvolume"
        LOG.destroy_requests: }
        LOG.destroy_requests: {
        LOG.destroy_requests:   "method": "DELETE",
        LOG.destroy_requests:   "path": "/api/2.1/unity-catalog/schemas/test_catalog_hgkjxs72dnbmlnjy5v2eohz4pe.myschema",
        LOG.destroy_requests:   "q": {
        LOG.destroy_requests:     "force": "true"
        LOG.destroy_requests:   }
        LOG.destroy_requests: }
        LOG.destroy_requests: {
        LOG.destroy_requests:   "method": "DELETE",
        LOG.destroy_requests:   "path": "/api/2.1/unity-catalog/catalogs/test_catalog_hgkjxs72dnbmlnjy5v2eohz4pe",
        LOG.destroy_requests:   "q": {
        LOG.destroy_requests:     "force": "true"
        LOG.destroy_requests:   }
        LOG.destroy_requests: }
TestAccept/bundle/resources/catalogs/rename/DMS=true: branch ✅ | main (77950b6) ❌ | latest (v1.25.0) ❌

main (77950b6):

acceptance_test.go:1345: Diff:
        --- bundle/resources/catalogs/rename/output.txt
        +++ /tmp/TestAcceptbundleresourcescatalogsrenameDMS=true660093237/002/output.txt
        @@ -73,8 +73,7 @@
                 "label": "${resources.catalogs.catalog1.name}"
               }
             ],
        -    "action": "update_id",
        -    "state_only": true,
        +    "action": "recreate",
             "new_state": {
               "value": {
                 "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        @@ -93,17 +92,11 @@
             },
             "changes": {
               "catalog_name": {
        -        "action": "update_id",
        -        "reason": "parent_renamed",
        +        "action": "recreate",
        +        "reason": "id_field",
                 "old": "test_catalog_[UNIQUE_NAME]",
                 "new": "test_catalog_renamed_[UNIQUE_NAME]",
                 "remote": "test_catalog_[UNIQUE_NAME]"
        -      },
        -      "schema_id": {
        -        "action": "skip",
        -        "reason": "internal_id",
        -        "old": "[SCHEMA_ID]",
        -        "remote": "[SCHEMA_ID]"
               }
             }
           },
        @@ -118,8 +108,7 @@
                 "label": "${resources.schemas.schema1.name}"
               }
             ],
        -    "action": "update_id",
        -    "state_only": true,
        +    "action": "recreate",
             "new_state": {
               "value": {
                 "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        @@ -141,17 +130,11 @@
             },
             "changes": {
               "catalog_name": {
        -        "action": "update_id",
        -        "reason": "parent_renamed",
        +        "action": "recreate",
        +        "reason": "id_field",
                 "old": "test_catalog_[UNIQUE_NAME]",
                 "new": "test_catalog_renamed_[UNIQUE_NAME]",
                 "remote": "test_catalog_[UNIQUE_NAME]"
        -      },
        -      "volume_id": {
        -        "action": "skip",
        -        "reason": "internal_id",
        -        "old": "[VOLUME_ID]",
        -        "remote": "[VOLUME_ID]"
               }
             }
           }
        @@ -160,63 +140,21 @@
         === Deploy renames the catalog. UC moves the schema and the volume with it, so they get no request
         >>> [CLI] bundle deploy
         Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle-[UNIQUE_NAME]/default/files...
        -Updated catalogs.catalog1
        -Files: 1 uploaded, 0 deleted
        -Resources: 0 created, 1 changed, 0 deleted, 2 unchanged
         
        ->>> print_requests.py //unity-catalog
        -{
        -  "method": "PATCH",
        -  "path": "/api/2.1/unity-catalog/catalogs/test_catalog_[UNIQUE_NAME]",
        -  "body": {
        -    "comment": "",
        -    "custom_max_retention_hours": 0,
        -    "new_name": "test_catalog_renamed_[UNIQUE_NAME]"
        -  }
        -}
        +This action will result in the deletion or recreation of the following UC schemas. Any underlying data may be lost:
        +  recreate resources.schemas.schema1
         
        -=== The old catalog is gone and the schema and the volume are under the new one, with their original ids
        -old catalog is gone
        +This action will result in the deletion or recreation of the following volumes.
        +For managed volumes, the files stored in the volume are also deleted from your
        +cloud tenant within 30 days. For external volumes, the metadata about the volume
        +is removed from the catalog, but the underlying files are not deleted:
        +  recreate resources.volumes.volume1
        +Error: the deployment requires destructive actions, but the current console does not support prompting.
        +Deleting data assets such as schemas, pipelines, or volumes may cause permanent data loss and should be carefully reviewed.
        +To proceed, use --auto-approve after reviewing the plan above.
         
        ->>> [CLI] schemas get test_catalog_renamed_[UNIQUE_NAME].myschema
        -{
        -  "full_name": "test_catalog_renamed_[UNIQUE_NAME].myschema",
        -  "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        -  "schema_id": "[SCHEMA_ID]"
        -}
        +Files: 1 uploaded, 0 deleted
         
        ->>> [CLI] volumes read test_catalog_renamed_[UNIQUE_NAME].myschema.myvolume
        -{
        -  "full_name": "test_catalog_renamed_[UNIQUE_NAME].myschema.myvolume",
        -  "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        -  "volume_id": "[VOLUME_ID]"
        -}
        -
        -=== The state tracks the new paths
        ->>> [CLI] bundle summary --output json
        -{
        -  "catalogs": {
        -    "catalog1": "test_catalog_renamed_[UNIQUE_NAME]"
        -  },
        -  "schemas": {
        -    "schema1": "test_catalog_renamed_[UNIQUE_NAME].myschema"
        -  },
        -  "volumes": {
        -    "volume1": "test_catalog_renamed_[UNIQUE_NAME].myschema.myvolume"
        -  }
        -}
        -
        -=== Redeploy is a no-op
        ->>> [CLI] bundle plan
        -Plan: 0 to add, 0 to change, 0 to delete, 3 unchanged
        -
        ->>> [CLI] bundle deploy
        -Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle-[UNIQUE_NAME]/default/files...
        -Files: 0 uploaded, 0 deleted
        -Resources: 0 created, 0 changed, 0 deleted, 3 unchanged
        -
        ->>> print_requests.py //unity-catalog
        -
         >>> [CLI] bundle destroy --auto-approve
         The following resources will be deleted:
           delete resources.catalogs.catalog1
        @@ -235,3 +169,5 @@
         All files and directories at the following location will be deleted: /Workspace/Users/[USERNAME]/.bundle/test-bundle-[UNIQUE_NAME]/default
         
         Destroy: 3 deleted
        +
        +Exit code: 1
        
    acceptance_test.go:1123: 
        LOG.destroy_requests: {
        LOG.destroy_requests:   "method": "DELETE",
        LOG.destroy_requests:   "path": "/api/2.1/unity-catalog/volumes/test_catalog_ejyzj2srdzhd5h3u44ljcglsom.myschema.myvolume"
        LOG.destroy_requests: }
        LOG.destroy_requests: {
        LOG.destroy_requests:   "method": "DELETE",
        LOG.destroy_requests:   "path": "/api/2.1/unity-catalog/schemas/test_catalog_ejyzj2srdzhd5h3u44ljcglsom.myschema",
        LOG.destroy_requests:   "q": {
        LOG.destroy_requests:     "force": "true"
        LOG.destroy_requests:   }
        LOG.destroy_requests: }
        LOG.destroy_requests: {
        LOG.destroy_requests:   "method": "DELETE",
        LOG.destroy_requests:   "path": "/api/2.1/unity-catalog/catalogs/test_catalog_ejyzj2srdzhd5h3u44ljcglsom",
        LOG.destroy_requests:   "q": {
        LOG.destroy_requests:     "force": "true"
        LOG.destroy_requests:   }
        LOG.destroy_requests: }

latest (v1.25.0):

acceptance_test.go:1345: Diff:
        --- bundle/resources/catalogs/rename/output.txt
        +++ /tmp/TestAcceptbundleresourcescatalogsrenameDMS=true1672629232/002/output.txt
        @@ -73,8 +73,7 @@
                 "label": "${resources.catalogs.catalog1.name}"
               }
             ],
        -    "action": "update_id",
        -    "state_only": true,
        +    "action": "recreate",
             "new_state": {
               "value": {
                 "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        @@ -93,17 +92,11 @@
             },
             "changes": {
               "catalog_name": {
        -        "action": "update_id",
        -        "reason": "parent_renamed",
        +        "action": "recreate",
        +        "reason": "id_field",
                 "old": "test_catalog_[UNIQUE_NAME]",
                 "new": "test_catalog_renamed_[UNIQUE_NAME]",
                 "remote": "test_catalog_[UNIQUE_NAME]"
        -      },
        -      "schema_id": {
        -        "action": "skip",
        -        "reason": "internal_id",
        -        "old": "[SCHEMA_ID]",
        -        "remote": "[SCHEMA_ID]"
               }
             }
           },
        @@ -118,8 +108,7 @@
                 "label": "${resources.schemas.schema1.name}"
               }
             ],
        -    "action": "update_id",
        -    "state_only": true,
        +    "action": "recreate",
             "new_state": {
               "value": {
                 "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        @@ -141,17 +130,11 @@
             },
             "changes": {
               "catalog_name": {
        -        "action": "update_id",
        -        "reason": "parent_renamed",
        +        "action": "recreate",
        +        "reason": "id_field",
                 "old": "test_catalog_[UNIQUE_NAME]",
                 "new": "test_catalog_renamed_[UNIQUE_NAME]",
                 "remote": "test_catalog_[UNIQUE_NAME]"
        -      },
        -      "volume_id": {
        -        "action": "skip",
        -        "reason": "internal_id",
        -        "old": "[VOLUME_ID]",
        -        "remote": "[VOLUME_ID]"
               }
             }
           }
        @@ -160,63 +140,21 @@
         === Deploy renames the catalog. UC moves the schema and the volume with it, so they get no request
         >>> [CLI] bundle deploy
         Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle-[UNIQUE_NAME]/default/files...
        -Updated catalogs.catalog1
        -Files: 1 uploaded, 0 deleted
        -Resources: 0 created, 1 changed, 0 deleted, 2 unchanged
         
        ->>> print_requests.py //unity-catalog
        -{
        -  "method": "PATCH",
        -  "path": "/api/2.1/unity-catalog/catalogs/test_catalog_[UNIQUE_NAME]",
        -  "body": {
        -    "comment": "",
        -    "custom_max_retention_hours": 0,
        -    "new_name": "test_catalog_renamed_[UNIQUE_NAME]"
        -  }
        -}
        +This action will result in the deletion or recreation of the following UC schemas. Any underlying data may be lost:
        +  recreate resources.schemas.schema1
         
        -=== The old catalog is gone and the schema and the volume are under the new one, with their original ids
        -old catalog is gone
        +This action will result in the deletion or recreation of the following volumes.
        +For managed volumes, the files stored in the volume are also deleted from your
        +cloud tenant within 30 days. For external volumes, the metadata about the volume
        +is removed from the catalog, but the underlying files are not deleted:
        +  recreate resources.volumes.volume1
        +Error: the deployment requires destructive actions, but the current console does not support prompting.
        +Deleting data assets such as schemas, pipelines, or volumes may cause permanent data loss and should be carefully reviewed.
        +To proceed, use --auto-approve after reviewing the plan above.
         
        ->>> [CLI] schemas get test_catalog_renamed_[UNIQUE_NAME].myschema
        -{
        -  "full_name": "test_catalog_renamed_[UNIQUE_NAME].myschema",
        -  "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        -  "schema_id": "[SCHEMA_ID]"
        -}
        +Files: 1 uploaded, 0 deleted
         
        ->>> [CLI] volumes read test_catalog_renamed_[UNIQUE_NAME].myschema.myvolume
        -{
        -  "full_name": "test_catalog_renamed_[UNIQUE_NAME].myschema.myvolume",
        -  "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        -  "volume_id": "[VOLUME_ID]"
        -}
        -
        -=== The state tracks the new paths
        ->>> [CLI] bundle summary --output json
        -{
        -  "catalogs": {
        -    "catalog1": "test_catalog_renamed_[UNIQUE_NAME]"
        -  },
        -  "schemas": {
        -    "schema1": "test_catalog_renamed_[UNIQUE_NAME].myschema"
        -  },
        -  "volumes": {
        -    "volume1": "test_catalog_renamed_[UNIQUE_NAME].myschema.myvolume"
        -  }
        -}
        -
        -=== Redeploy is a no-op
        ->>> [CLI] bundle plan
        -Plan: 0 to add, 0 to change, 0 to delete, 3 unchanged
        -
        ->>> [CLI] bundle deploy
        -Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle-[UNIQUE_NAME]/default/files...
        -Files: 0 uploaded, 0 deleted
        -Resources: 0 created, 0 changed, 0 deleted, 3 unchanged
        -
        ->>> print_requests.py //unity-catalog
        -
         >>> [CLI] bundle destroy --auto-approve
         The following resources will be deleted:
           delete resources.catalogs.catalog1
        @@ -235,3 +169,5 @@
         All files and directories at the following location will be deleted: /Workspace/Users/[USERNAME]/.bundle/test-bundle-[UNIQUE_NAME]/default
         
         Destroy: 3 deleted
        +
        +Exit code: 1
        
    acceptance_test.go:1123: 
        LOG.destroy_requests: {
        LOG.destroy_requests:   "method": "DELETE",
        LOG.destroy_requests:   "path": "/api/2.1/unity-catalog/volumes/test_catalog_6ayaqdj5vjhgxjdryaabcdtqti.myschema.myvolume"
        LOG.destroy_requests: }
        LOG.destroy_requests: {
        LOG.destroy_requests:   "method": "DELETE",
        LOG.destroy_requests:   "path": "/api/2.1/unity-catalog/schemas/test_catalog_6ayaqdj5vjhgxjdryaabcdtqti.myschema",
        LOG.destroy_requests:   "q": {
        LOG.destroy_requests:     "force": "true"
        LOG.destroy_requests:   }
        LOG.destroy_requests: }
        LOG.destroy_requests: {
        LOG.destroy_requests:   "method": "DELETE",
        LOG.destroy_requests:   "path": "/api/2.1/unity-catalog/catalogs/test_catalog_6ayaqdj5vjhgxjdryaabcdtqti",
        LOG.destroy_requests:   "q": {
        LOG.destroy_requests:     "force": "true"
        LOG.destroy_requests:   }
        LOG.destroy_requests: }
TestAccept/bundle/resources/catalogs/rename_all_out_of_band/DMS=: branch ✅ | main (77950b6) ❌ | latest (v1.25.0) ❌

main (77950b6):

acceptance_test.go:1345: Diff:
        --- bundle/resources/catalogs/rename_all_out_of_band/output.txt
        +++ /tmp/TestAcceptbundleresourcescatalogsrename_all_out_of_bandDMS=2159851346/002/output.txt
        @@ -51,56 +51,35 @@
             }
           },
           "resources.schemas.schema1": {
        -    "id": "test_catalog_renamed_[UNIQUE_NAME].myschema2",
             "depends_on": [
               {
                 "node": "resources.catalogs.catalog1",
                 "label": "${resources.catalogs.catalog1.name}"
               }
             ],
        -    "action": "update_id",
        -    "state_only": true,
        +    "action": "create",
             "new_state": {
               "value": {
                 "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
                 "name": "myschema2"
               }
             },
        -    "remote_state": {
        -      "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        -      "catalog_type": "MANAGED_CATALOG",
        -      "created_at": [UNIX_TIME_MILLIS][0],
        -      "created_by": "[USERNAME]",
        -      "full_name": "test_catalog_renamed_[UNIQUE_NAME].myschema2",
        -      "name": "myschema2",
        -      "owner": "[USERNAME]",
        -      "schema_id": "[SCHEMA_ID]"
        -    },
             "changes": {
               "catalog_name": {
        -        "action": "skip",
        -        "reason": "remote_already_set",
        +        "action": "recreate",
        +        "reason": "id_field",
                 "old": "test_catalog_[UNIQUE_NAME]",
        -        "new": "test_catalog_renamed_[UNIQUE_NAME]",
        -        "remote": "test_catalog_renamed_[UNIQUE_NAME]"
        +        "new": "test_catalog_renamed_[UNIQUE_NAME]"
               },
               "name": {
        -        "action": "skip",
        -        "reason": "remote_already_set",
        +        "action": "recreate",
        +        "reason": "id_field",
                 "old": "myschema",
        -        "new": "myschema2",
        -        "remote": "myschema2"
        -      },
        -      "schema_id": {
        -        "action": "skip",
        -        "reason": "internal_id",
        -        "old": "[SCHEMA_ID]",
        -        "remote": "[SCHEMA_ID]"
        +        "new": "myschema2"
               }
             }
           },
           "resources.volumes.volume1": {
        -    "id": "test_catalog_renamed_[UNIQUE_NAME].myschema2.myvolume2",
             "depends_on": [
               {
                 "node": "resources.catalogs.catalog1",
        @@ -111,8 +68,7 @@
                 "label": "${resources.schemas.schema1.name}"
               }
             ],
        -    "action": "update_id",
        -    "state_only": true,
        +    "action": "create",
             "new_state": {
               "value": {
                 "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        @@ -121,44 +77,24 @@
                 "volume_type": "MANAGED"
               }
             },
        -    "remote_state": {
        -      "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        -      "created_at": [UNIX_TIME_MILLIS][1],
        -      "created_by": "[USERNAME]",
        -      "full_name": "test_catalog_renamed_[UNIQUE_NAME].myschema2.myvolume2",
        -      "name": "myvolume2",
        -      "owner": "[USERNAME]",
        -      "schema_name": "myschema2",
        -      "volume_id": "[VOLUME_ID]",
        -      "volume_type": "MANAGED"
        -    },
             "changes": {
               "catalog_name": {
        -        "action": "skip",
        -        "reason": "remote_already_set",
        +        "action": "recreate",
        +        "reason": "id_field",
                 "old": "test_catalog_[UNIQUE_NAME]",
        -        "new": "test_catalog_renamed_[UNIQUE_NAME]",
        -        "remote": "test_catalog_renamed_[UNIQUE_NAME]"
        +        "new": "test_catalog_renamed_[UNIQUE_NAME]"
               },
               "name": {
        -        "action": "skip",
        -        "reason": "remote_already_set",
        +        "action": "update_id",
        +        "reason": "id_changes",
                 "old": "myvolume",
        -        "new": "myvolume2",
        -        "remote": "myvolume2"
        +        "new": "myvolume2"
               },
               "schema_name": {
        -        "action": "skip",
        -        "reason": "remote_already_set",
        +        "action": "recreate",
        +        "reason": "id_field",
                 "old": "myschema",
        -        "new": "myschema2",
        -        "remote": "myschema2"
        -      },
        -      "volume_id": {
        -        "action": "skip",
        -        "reason": "internal_id",
        -        "old": "[VOLUME_ID]",
        -        "remote": "[VOLUME_ID]"
        +        "new": "myschema2"
               }
             }
           }
        @@ -174,9 +101,9 @@
         API error_code: CATALOG_ALREADY_EXISTS
         API message: Catalog 'test_catalog_renamed_[UNIQUE_NAME]' already exists
         
        -Error: cannot update_id resources.schemas.schema1: dependency failed: resources.catalogs.catalog1
        +Error: cannot create resources.schemas.schema1: dependency failed: resources.catalogs.catalog1
         
        -Error: cannot update_id resources.volumes.volume1: dependency failed: resources.catalogs.catalog1
        +Error: cannot create resources.volumes.volume1: dependency failed: resources.catalogs.catalog1
         
         Files: 3 uploaded, 0 deleted
         
        
    acceptance_test.go:1123: 
        LOG.deploy_requests: {
        LOG.deploy_requests:   "method": "POST",
        LOG.deploy_requests:   "path": "/api/2.1/unity-catalog/catalogs",
        LOG.deploy_requests:   "body": {
        LOG.deploy_requests:     "name": "test_catalog_4zm7xw23lzbuzfyuflwh33boxy"
        LOG.deploy_requests:   }
        LOG.deploy_requests: }
        LOG.deploy_requests: {
        LOG.deploy_requests:   "method": "POST",
        LOG.deploy_requests:   "path": "/api/2.1/unity-catalog/schemas",
        LOG.deploy_requests:   "body": {
        LOG.deploy_requests:     "catalog_name": "test_catalog_4zm7xw23lzbuzfyuflwh33boxy",
        LOG.deploy_requests:     "name": "myschema"
        LOG.deploy_requests:   }
        LOG.deploy_requests: }
        LOG.deploy_requests: {
        LOG.deploy_requests:   "method": "POST",
        LOG.deploy_requests:   "path": "/api/2.1/unity-catalog/volumes",
        LOG.deploy_requests:   "body": {
        LOG.deploy_requests:     "catalog_name": "test_catalog_4zm7xw23lzbuzfyuflwh33boxy",
        LOG.deploy_requests:     "name": "myvolume",
        LOG.deploy_requests:     "schema_name": "myschema",
        LOG.deploy_requests:     "volume_type": "MANAGED"
        LOG.deploy_requests:   }
        LOG.deploy_requests: }
    acceptance_test.go:1123: 
        LOG.destroy_requests: {
        LOG.destroy_requests:   "method": "POST",
        LOG.destroy_requests:   "path": "/api/2.1/unity-catalog/catalogs",
        LOG.destroy_requests:   "body": {
        LOG.destroy_requests:     "name": "test_catalog_renamed_4zm7xw23lzbuzfyuflwh33boxy"
        LOG.destroy_requests:   }
        LOG.destroy_requests: }
        LOG.destroy_requests: {
        LOG.destroy_requests:   "method": "DELETE",
        LOG.destroy_requests:   "path": "/api/2.1/unity-catalog/catalogs/test_catalog_renamed_4zm7xw23lzbuzfyuflwh33boxy",
        LOG.destroy_requests:   "q": {
        LOG.destroy_requests:     "force": "true"
        LOG.destroy_requests:   }
        LOG.destroy_requests: }
    acceptance_test.go:1123: 
        LOG.rename_requests: {
        LOG.rename_requests:   "method": "PATCH",
        LOG.rename_requests:   "path": "/api/2.1/unity-catalog/volumes/test_catalog_4zm7xw23lzbuzfyuflwh33boxy.myschema.myvolume",
        LOG.rename_requests:   "body": {
        LOG.rename_requests:     "new_name": "myvolume2"
        LOG.rename_requests:   }
        LOG.rename_requests: }
        LOG.rename_requests: {
        LOG.rename_requests:   "method": "PATCH",
        LOG.rename_requests:   "path": "/api/2.1/unity-catalog/schemas/test_catalog_4zm7xw23lzbuzfyuflwh33boxy.myschema",
        LOG.rename_requests:   "body": {
        LOG.rename_requests:     "new_name": "myschema2"
        LOG.rename_requests:   }
        LOG.rename_requests: }
... (7 more lines truncated, raise DATABRICKS_CLI_TEST_MAX_LOG to see more)

latest (v1.25.0):

acceptance_test.go:1345: Diff:
        --- bundle/resources/catalogs/rename_all_out_of_band/output.txt
        +++ /tmp/TestAcceptbundleresourcescatalogsrename_all_out_of_bandDMS=1531254987/002/output.txt
        @@ -51,56 +51,35 @@
             }
           },
           "resources.schemas.schema1": {
        -    "id": "test_catalog_renamed_[UNIQUE_NAME].myschema2",
             "depends_on": [
               {
                 "node": "resources.catalogs.catalog1",
                 "label": "${resources.catalogs.catalog1.name}"
               }
             ],
        -    "action": "update_id",
        -    "state_only": true,
        +    "action": "create",
             "new_state": {
               "value": {
                 "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
                 "name": "myschema2"
               }
             },
        -    "remote_state": {
        -      "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        -      "catalog_type": "MANAGED_CATALOG",
        -      "created_at": [UNIX_TIME_MILLIS][0],
        -      "created_by": "[USERNAME]",
        -      "full_name": "test_catalog_renamed_[UNIQUE_NAME].myschema2",
        -      "name": "myschema2",
        -      "owner": "[USERNAME]",
        -      "schema_id": "[SCHEMA_ID]"
        -    },
             "changes": {
               "catalog_name": {
        -        "action": "skip",
        -        "reason": "remote_already_set",
        +        "action": "recreate",
        +        "reason": "id_field",
                 "old": "test_catalog_[UNIQUE_NAME]",
        -        "new": "test_catalog_renamed_[UNIQUE_NAME]",
        -        "remote": "test_catalog_renamed_[UNIQUE_NAME]"
        +        "new": "test_catalog_renamed_[UNIQUE_NAME]"
               },
               "name": {
        -        "action": "skip",
        -        "reason": "remote_already_set",
        +        "action": "recreate",
        +        "reason": "id_field",
                 "old": "myschema",
        -        "new": "myschema2",
        -        "remote": "myschema2"
        -      },
        -      "schema_id": {
        -        "action": "skip",
        -        "reason": "internal_id",
        -        "old": "[SCHEMA_ID]",
        -        "remote": "[SCHEMA_ID]"
        +        "new": "myschema2"
               }
             }
           },
           "resources.volumes.volume1": {
        -    "id": "test_catalog_renamed_[UNIQUE_NAME].myschema2.myvolume2",
             "depends_on": [
               {
                 "node": "resources.catalogs.catalog1",
        @@ -111,8 +68,7 @@
                 "label": "${resources.schemas.schema1.name}"
               }
             ],
        -    "action": "update_id",
        -    "state_only": true,
        +    "action": "create",
             "new_state": {
               "value": {
                 "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        @@ -121,44 +77,24 @@
                 "volume_type": "MANAGED"
               }
             },
        -    "remote_state": {
        -      "catalog_name": "test_catalog_renamed_[UNIQUE_NAME]",
        -      "created_at": [UNIX_TIME_MILLIS][1],
        -      "created_by": "[USERNAME]",
        -      "full_name": "test_catalog_renamed_[UNIQUE_NAME].myschema2.myvolume2",
        -      "name": "myvolume2",
        -      "owner": "[USERNAME]",
        -      "schema_name": "myschema2",
        -      "volume_id": "[VOLUME_ID]",
        -      "volume_type": "MANAGED"
        -    },
             "changes": {
               "catalog_name": {
        -        "action": "skip",
        -        "reason": "remote_already_set",
        +        "action": "recreate",
        +        "reason": "id_field",
                 "old": "test_catalog_[UNIQUE_NAME]",
        -        "new": "test_catalog_renamed_[UNIQUE_NAME]",
        -        "remote": "test_catalog_renamed_[UNIQUE_NAME]"
        +        "new": "test_catalog_renamed_[UNIQUE_NAME]"
               },
               "name": {
        -        "action": "skip",
        -        "reason": "remote_already_set",
        +        "action": "update_id",
        +        "reason": "id_changes",
                 "old": "myvolume",
        -        "new": "myvolume2",
        -        "remote": "myvolume2"
        +        "new": "myvolume2"
               },
               "schema_name": {
        -        "action": "skip",
        -        "reason": "remote_already_set",
        +        "action": "recreate",
        +        "reason": "id_field",
                 "old": "myschema",
        -        "new": "myschema2",
        -        "remote": "myschema2"
        -      },
        -      "volume_id": {
        -        "action": "skip",
        -        "reason": "internal_id",
        -        "old": "[VOLUME_ID]",
        -        "remote": "[VOLUME_ID]"
        +        "new": "myschema2"
               }
             }
           }
        @@ -174,9 +101,9 @@
         API error_code: CATALOG_ALREADY_EXISTS
         API message: Catalog 'test_catalog_renamed_[UNIQUE_NAME]' already exists
         
        -Error: cannot update_id resources.schemas.schema1: dependency failed: resources.catalogs.catalog1
        +Error: cannot create resources.schemas.schema1: dependency failed: resources.catalogs.catalog1
         
        -Error: cannot update_id resources.volumes.volume1: dependency failed: resources.catalogs.catalog1
        +Error: cannot create resources.volumes.volume1: dependency failed: resources.catalogs.catalog1
         
         Files: 3 uploaded, 0 deleted
         
        
    acceptance_test.go:1123: 
        LOG.deploy_requests: {
        LOG.deploy_requests:   "method": "POST",
        LOG.deploy_requests:   "path": "/api/2.1/unity-catalog/catalogs",
        LOG.deploy_requests:   "body": {
        LOG.deploy_requests:     "name": "test_catalog_2fw23l3ti5c43h7cle4yjztyee"
        LOG.deploy_requests:   }
        LOG.deploy_requests: }
        LOG.deploy_requests: {
        LOG.deploy_requests:   "method": "POST",
        LOG.deploy_requests:   "path": "/api/2.1/unity-catalog/schemas",
        LOG.deploy_requests:   "body": {
        LOG.deploy_requests:     "catalog_name": "test_catalog_2fw23l3ti5c43h7cle4yjztyee",
        LOG.deploy_requests:     "name": "myschema"
        LOG.deploy_requests:   }
        LOG.deploy_requests: }
        LOG.deploy_requests: {
        LOG.deploy_requests:   "method": "POST",
        LOG.deploy_requests:   "path": "/api/2.1/unity-catalog/volumes",
        LOG.deploy_requests:   "body": {
        LOG.deploy_requests:     "catalog_name": "test_catalog_2fw23l3ti5c43h7cle4yjztyee",
        LOG.deploy_requests:     "name": "myvolume",
        LOG.deploy_requests:     "schema_name": "myschema",
        LOG.deploy_requests:     "volume_type": "MANAGED"
        LOG.deploy_requests:   }
        LOG.deploy_requests: }
    acceptance_test.go:1123: 
        LOG.destroy_requests: {
        LOG.destroy_requests:   "method": "POST",
        LOG.destroy_requests:   "path": "/api/2.1/unity-catalog/catalogs",
        LOG.destroy_requests:   "body": {
        LOG.destroy_requests:     "name": "test_catalog_renamed_2fw23l3ti5c43h7cle4yjztyee"
        LOG.destroy_requests:   }
        LOG.destroy_requests: }
        LOG.destroy_requests: {
        LOG.destroy_requests:   "method": "DELETE",
        LOG.destroy_requests:   "path": "/api/2.1/unity-catalog/catalogs/test_catalog_renamed_2fw23l3ti5c43h7cle4yjztyee",
        LOG.destroy_requests:   "q": {
        LOG.destroy_requests:     "force": "true"
        LOG.destroy_requests:   }
        LOG.destroy_requests: }
    acceptance_test.go:1123: 
        LOG.rename_requests: {
        LOG.rename_requests:   "method": "PATCH",
        LOG.rename_requests:   "path": "/api/2.1/unity-catalog/volumes/test_catalog_2fw23l3ti5c43h7cle4yjztyee.myschema.myvolume",
        LOG.rename_requests:   "body": {
        LOG.rename_requests:     "new_name": "myvolume2"
        LOG.rename_requests:   }
        LOG.rename_requests: }
        LOG.rename_requests: {
        LOG.rename_requests:   "method": "PATCH",
        LOG.rename_requests:   "path": "/api/2.1/unity-catalog/schemas/test_catalog_2fw23l3ti5c43h7cle4yjztyee.myschema",
        LOG.rename_requests:   "body": {
        LOG.rename_requests:     "new_name": "myschema2"
        LOG.rename_requests:   }
        LOG.rename_requests: }
... (7 more lines truncated, raise DATABRICKS_CLI_TEST_MAX_LOG to see more)

31 more failure details omitted, see the full report in the run.

@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Nov 5, 2026 •

Copy link
Copy Markdown
Collaborator

✅ Integration test report

Commit: b0476cd

Run: 42694424760

Env ✅​pass 🙈​skip Time
✅​ aws linux-2core-8gb 349 32 8:20
✅​ aws-windows-latest-4core-16gb 351 30 10:43
✅​ azure linux-2core-8gb 348 32 8:55
✅​ azure-windows-latest-4core-16gb 350 30 11:33
✅​ gcp linux-2core-8gb 349 32 8:49
✅​ gcp-windows-latest-4core-16gb 351 30 12:08
Top 4 slowest tests (at least 2 minutes):
duration env testname
3:21 azure-windows-latest-4core-16gb TestAccept
3:12 gcp-windows-latest-4core-16gb TestAccept
3:09 aws-windows-latest-4core-16gb TestAccept
2:07 gcp linux-2core-8gb TestAccept/bundle/resources/schemas/rename_then_change/DMS=true

@denik
denik force-pushed the denik/models-rename branch from f364f17 to 18077b3 Compare November 5, 2026 15:30
@denik
denik force-pushed the denik/models-rename branch 7 times, most recently from 64af993 to 7496114 Compare November 9, 2026 13:09
@denik
denik force-pushed the denik/models-rename branch from 7496114 to 132a53d Compare November 9, 2026 14:52
@denik
denik added this pull request to stack #7411 November 9, 2026 14:54
@denik
denik force-pushed the denik/models-rename branch from 132a53d to b5f68ef Compare November 9, 2026 14:59
@github-actions github-actions Bot added the DABs DABs related issues label Nov 9, 2026
@denik
denik force-pushed the denik/models-rename branch 2 times, most recently from 2bd230b to ab90254 Compare November 9, 2026 15:43
denik and others added 7 commits November 9, 2026 21:33
A registered model's name is now an updatable ID field: a rename sends
new_name and keeps the model's versions, instead of deleting and recreating
it. A model inside a renamed catalog or schema is re-keyed without a request,
like volumes; recreating it failed with RESOURCE_ALREADY_EXISTS.

Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
After an interrupted parent rename the plan reads the model at its stale ID and
has no remote state; sync aliases against the model at its new path instead.

Co-authored-by: Isaac <no-reply@databricks.com>
…s with their schema

A model missing from its recorded ID is planned as a create again, so
DoUpdateWithID always has the plan's remote state. A forced schema or catalog
delete in the test server now also deletes the registered models in it, like UC.

Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
…; test rename with a comment change

Co-authored-by: Isaac <no-reply@databricks.com>
@denik
denik force-pushed the denik/models-rename branch from ab90254 to b0476cd Compare November 9, 2026 20:33

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DABs DABs related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants