fix: Rework object store configs - #253
Merged
Merged
Conversation
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Upgraded v1 deployments never carried force-path-style into the v2 object-store connection, so Bufstream rendered force_path_style: false against S3-compatible endpoints (MinIO/SeaweedFS) and failed on virtual-hosted DNS lookups. - Derive it at three layers sharing one rule (any custom endpoint except CoreWeave): the v1 bucket-annotation drain, the canonical connection-secret writer, and Bufstream's reader fallback - Honor explicit ?forcePathStyle=/?tls=/?region= overrides that v1 configs carried in bucket.name/bucket.path - Add ObjectStoreConnection.Path and wire v1 bucket.path through the drain, the canonical url, and Bufstream's storage URI - Fix Bufstream GCS/Azure storage URIs (gs:// scheme, blob host derived from the storage account) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Upgraded v1 installs never had their legacy -bc deployments removed: cleanupLegacyV1Deployments gates on every desired application reporting ready, and the five Service-bearing apps never converged. Two write loops kept them churning: - The Application CRD schema defaults serviceTemplate.ports[].protocol, so the un-normalized template reconcileApplications rebuilt each pass never compared equal to the stored spec and the Application was Updated (generation bumped) on every reconcile. - reconcileService copied raw template values over the live Service, clobbering API-server-defaulted fields (protocol, targetPort, sessionAffinity, type, internalTrafficPolicy) and empty annotations, so the update gate from #247 never engaged and each write re-queued the Application via the Owns(Service) watch. Normalize ServiceTemplate ports at construction, preserve server-defaulted/allocated Service fields the template leaves unset, and log which apps block legacy cleanup instead of skipping silently. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The v1->v2 upgrade never deleted the legacy -bc deployments because the cleanup gate read status.wandb.applications, a snapshot that froze at the last convergence-driven reconcile: the parent's Owns(Application) watch never fired (Applications carry plain owner refs, and Owns only enqueues for a controller owner), and the terminal reconcile result carries no requeue, so nothing refreshed the map after cutover. Apps that were still mid-rollout at that moment stayed ready:false forever. - Gate cleanupLegacyV1Deployments on live Deployment readiness (observedGeneration current, ReadyReplicas==Replicas>0) instead of the copied status map, and log which Deployments block cleanup - Watch Applications with MatchEveryOwner so status changes enqueue the parent through the existing plain owner refs (controller refs would break namespaces hosting multiple CRs) and the status map stays fresh Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.