Skip to content

bundle: rename use_deployment_metadata_service to experimental.record_deployment_history#5397

Merged
shreyas-goenka merged 1 commit into
mainfrom
shreyas-goenka/cli-dms-experimental
Jun 1, 2026
Merged

bundle: rename use_deployment_metadata_service to experimental.record_deployment_history#5397
shreyas-goenka merged 1 commit into
mainfrom
shreyas-goenka/cli-dms-experimental

Conversation

@shreyas-goenka
Copy link
Copy Markdown
Contributor

Renames the experimental.use_deployment_metadata_service config field to experimental.record_deployment_history.

Changes:

  • bundle/config/experimental.go: Go field UseDeploymentMetadataServiceRecordDeploymentHistory, JSON tag updated
  • bundle/internal/schema/annotations.yml: key and description updated
  • bundle/schema/jsonschema.json: regenerated

@shreyas-goenka shreyas-goenka requested a review from denik June 1, 2026 14:54
@shreyas-goenka shreyas-goenka marked this pull request as ready for review June 1, 2026 14:54
…_deployment_history

Co-authored-by: Shreyas Goenka <shreyas.goenka@databricks.com>
@shreyas-goenka shreyas-goenka force-pushed the shreyas-goenka/cli-dms-experimental branch from 87f3999 to b0a39ef Compare June 1, 2026 15:05
shreyas-goenka added a commit that referenced this pull request Jun 1, 2026
…record_deployment_history

When experimental.record_deployment_history is set in databricks.yml,
NewDeploymentLock creates a metadataServiceLock alongside the workspace-
filesystem lock. Acquire calls DMS CreateVersion after acquiring the file
lock; Release calls DMS CompleteVersion before releasing it.

Adds the experimental.record_deployment_history config field (matching #5397),
its schema annotation, and regenerates jsonschema.json.

Co-authored-by: Shreyas Goenka <shreyas.goenka@databricks.com>
@shreyas-goenka shreyas-goenka merged commit 33a489c into main Jun 1, 2026
22 checks passed
@shreyas-goenka shreyas-goenka deleted the shreyas-goenka/cli-dms-experimental branch June 1, 2026 15:13
shreyas-goenka added a commit that referenced this pull request Jun 1, 2026
…record_deployment_history

When experimental.record_deployment_history is set in databricks.yml,
NewDeploymentLock creates a metadataServiceLock alongside the workspace-
filesystem lock. Acquire calls DMS CreateVersion after acquiring the file
lock; Release calls DMS CompleteVersion before releasing it.

Adds the experimental.record_deployment_history config field (matching #5397),
its schema annotation, and regenerates jsonschema.json.

Co-authored-by: Shreyas Goenka <shreyas.goenka@databricks.com>
shreyas-goenka added a commit that referenced this pull request Jun 1, 2026
…tal.record_deployment_history

Adds a deploymentVersionRecorder that records each deploy/destroy as a version
with the Deployment Metadata Service (DMS), running alongside the existing
workspace-filesystem lock inside DeploymentLock.Acquire / Release. Gated by the
experimental.record_deployment_history config field (already on main, #5397).

The deployment ID is the state lineage read from resources.json, so a bundle
deployment maps one-to-one to a DMS deployment record:

- Acquire: after the file lock, GetDeployment(lineage); CreateDeployment only
  when it does not exist yet; then create the next version (server validates
  version_id == last_version_id + 1). A heartbeat goroutine keeps the version's
  lease alive. dstate.GetOrInitLineage generates and stores a lineage on the
  first deploy so the deploy persists the same value.
- Release: complete the version (success/failure); on destroy + success, delete
  the deployment record.

bind/unbind and --force are not supported with DMS. Uses w.Bundle from the
Databricks Go SDK directly.

Co-authored-by: Shreyas Goenka <shreyas.goenka@databricks.com>
@eng-dev-ecosystem-bot
Copy link
Copy Markdown
Collaborator

Commit: 33a489c

Run: 26763888490

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants