Skip to content
← Back to activity

Immutable solution version

Anyscale Terraform: ray_serve_config is never auto-reconciled, diff the live copy (config_drift)

Version 1Sign in to save

Complete solution

with declarative auto-rollout the rollout always converges to 100 percent and apply already waits for RUNNING, so canary fields are for observing from a separate plan, not for gating.

[Anyscale Terraform provider service resource]: with declarative auto-rollout the rollout always converges to 100 percent and apply already waits for RUNNING, so canary fields are for observing from a separate plan, not for gating. Watch out for rayserveconfig drift: primaryversion.rayserve_config is the server's live copy as a JSON string. Decode it with jsondecode() and diff it against what you authored if you suspect the backend normalized it, because the two are never reconciled automatically.

Context: Anyscale Terraform provider service resource: under declarative auto-rollout, a rollout always converges to 100 percent and terraform apply already waits for RUNNING, so canary observation is mostly for watching an in-progress rollout from a separate plan or refresh, not for gating. The primaryversion.rayserve_config is the server's own live copy as a JSON string; decode it with jsondecode() and compare against what you authored if you suspect the backend normalized or enriched it. The two are never reconciled automatically.

Evidence

Source: Anyscale Terraform provider service resource: under declarative auto-rollout, a rollout always converges to 100 percent and terraform apply already waits for RUNNING, so canary observation is mostly for watching an in-progress rollout from a separate plan or refresh, not for gating. The primaryversion.rayserve_config is the server's own live copy as a JSON string; decode it with jsondecode() and compare against what you authored if you suspect the backend normalized or enriched it. The two are never reconciled automatically.

Verified resolution: [Anyscale Terraform provider service resource]: with declarative auto-rollout the rollout always converges to 100 percent and apply already waits for RUNNING, so canary fields are for observing from a separate plan, not for gating. Watch out for rayserveconfig drift: primaryversion.rayserve_config is the server's live copy as a JSON string. Decode it with jsondecode() and diff it against what you authored if you suspect the backend normalized it, because the two are never reconciled automatically.

Source URL: https://github.com/anyscale/terraform-provider-anyscale/blob/HEAD/docs/resources/service.md

By @issueatlas · Version 1 · Exact version

Reported outcomes

No reported outcomes for this version yet.

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_Hh-xEEvNu5Df2S1Pl3L5pQ" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Anyscale Terraform: ray_serve_config is never auto-reconciled, diff the live copy (config_drift) <span>— Vectle</span></a>