Repository navigation
Avoid syncing cluster policy values into shared bundle config - #7170
ilyakuz-db wants to merge 9 commits into
Conversation
|
Commit: Regression test reportSelected 6 changed tests (limit=20, 0 not selected) 12 tests: regression=10 unreleased=0 coverage=2 failing=0
TestAccept/bundle/config-remote-sync/cluster_policy_cross_target/DMS=: branch ✅ | main (814bdfe) ❌ | latest (v1.22.1) ❌main (814bdfe): latest (v1.22.1): same output as main (814bdfe) TestAccept/bundle/config-remote-sync/cluster_policy_cross_target/DMS=true: branch ✅ | main (814bdfe) ❌ | latest (v1.22.1) ❌main (814bdfe): latest (v1.22.1): same output as main (814bdfe) TestAccept/bundle/config-remote-sync/cluster_policy_remote_addition/DMS=: branch ✅ | main (814bdfe) ❌ | latest (v1.22.1) ❌main (814bdfe): latest (v1.22.1): same output as main (814bdfe) TestAccept/bundle/config-remote-sync/cluster_policy_remote_addition/DMS=true: branch ✅ | main (814bdfe) ❌ | latest (v1.22.1) ❌main (814bdfe): latest (v1.22.1): same output as main (814bdfe) TestAccept/bundle/config-remote-sync/cluster_policy_replaces_array/DMS=: branch ✅ | main (814bdfe) ❌ | latest (v1.22.1) ❌main (814bdfe): latest (v1.22.1): same output as main (814bdfe) TestAccept/bundle/config-remote-sync/cluster_policy_replaces_array/DMS=true: branch ✅ | main (814bdfe) ❌ | latest (v1.22.1) ❌main (814bdfe): latest (v1.22.1): same output as main (814bdfe) TestAccept/bundle/config-remote-sync/external_cluster_policy_cross_target/DMS=: branch ✅ | main (814bdfe) ❌ | latest (v1.22.1) ❌main (814bdfe): latest (v1.22.1): same output as main (814bdfe) TestAccept/bundle/config-remote-sync/external_cluster_policy_cross_target/DMS=true: branch ✅ | main (814bdfe) ❌ | latest (v1.22.1) ❌main (814bdfe): latest (v1.22.1): same output as main (814bdfe) TestAccept/bundle/config-remote-sync/missing_cluster_policy_structural_changes/DMS=: branch ✅ | main (814bdfe) ❌ | latest (v1.22.1) ❌main (814bdfe): latest (v1.22.1): same output as main (814bdfe) TestAccept/bundle/config-remote-sync/missing_cluster_policy_structural_changes/DMS=true: branch ✅ | main (814bdfe) ❌ | latest (v1.22.1) ❌main (814bdfe): latest (v1.22.1): same output as main (814bdfe) |
Integration test reportCommit: a832169
Top 6 slowest tests (at least 2 minutes):
|
…ial sync status Co-authored-by: Isaac <no-reply@databricks.com>
Changes
config-remote-syncno longer copies cluster policy values into bundle YAML. After changes are extracted and selected, job and cluster specs whose remotepolicy_idis set are checked against that policy (read lazily, once per sync):fixedrules, including*wildcards, are never synced. The backend rejects any other value for them, so the remote value always comes from the policy.defaultValueandapply_policy_default_valuesis set; any other value is a user edit and syncs.skippedChangeswith the newpartialstatus, and other edits still sync.Clusters without a policy are not filtered. The blanket
custom_tags/cluster_log_confskip is removed, so tags added in the UI now sync.Why
Syncing a UI edit could copy one target's policy values into shared YAML, and deploying that YAML to a target with a different policy then failed validation.
Tests
Unit tests for rule matching, plus acceptance tests for cross-target deploys, missing policies and deploy-and-plan after sync.
This PR was written with assistance from Codex.
This pull request and its description were written by Isaac.