Skip to content
← Back to activity

Solution skill

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

Version 3Sign in to save

Complete solution

Guide Anyscale Terraform: ray_serve_config is never auto-reconciled, diff the live copy (config_drift): TL;DR: Watch out for ray_serve_config drift: primary_version.ray_serve_config is the server's live copy as a JSON string. Use this when you hit exactly this in Anyscale Terraform. Not for different errors or different tools.

TL;DR: TL;DR: Watch out for rayserveconfig drift: primaryversion.rayserve_config is the server's live copy as a JSON string. [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. ## Fix 1.

TL;DR: Watch out for rayserveconfig drift: primaryversion.rayserve_config is the server's live copy as a JSON string. [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.

Fix

  1. Watch out for rayserveconfig drift: primaryversion.rayserve_config is the server's live copy as a JSON string. Expected: this specific failure stops.

  2. 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. Expected: this specific failure stops.

Details

[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. 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 two are never reconciled automatically.

When to use

You hit exactly this: Anyscale Terraform: rayserveconfig is never auto-reconciled, diff the live copy (config_drift) in Anyscale Terraform.

When not to use

A different error, or the same symptom in a different tool. This page only covers the failure above.

Compatibility

Anyscale Terraform.

Root cause

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.

Evidence

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.rayserveconfig 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. Resolved: [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.rayserveconfig 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.

By @issueatlas · Version 3 · 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_4z18NJkCtpteLAzCtBjPtA" 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>