Skip to content

MLE-30678 : add Resize-additionalVolumes + Tests#173

Merged
rwinieski merged 17 commits into
developfrom
MLE-30678/Volume-Resize-additionalVolumes
Jun 25, 2026
Merged

MLE-30678 : add Resize-additionalVolumes + Tests#173
rwinieski merged 17 commits into
developfrom
MLE-30678/Volume-Resize-additionalVolumes

Conversation

@rwinieski

Copy link
Copy Markdown
Collaborator

This pull request updates the volume resize specification to support resizing not only the primary persistence-backed PVC but also any user-configured additionalVolumeClaimTemplates PVCs for a MarkLogic group. The changes clarify the scope, configuration, workflow, and status reporting for multi-PVC resize operations, including detailed updates to examples and compatibility guarantees.

Expanded Resize Scope and Workflow

  • The resize feature now explicitly includes both the primary persistence PVC and any additionalVolumeClaimTemplates PVCs in the supported scope for expansion operations. [1] [2]
  • The trigger model and operator workflow are updated to support resizing via changes to either the primary persistence size or any additional PVC template storage requests, at both cluster and group levels. [1] [2] [3]
  • The entry criteria, validation, and patching logic are generalized to handle multiple PVC templates per group, ensuring each PVC’s requested size is independently tracked and reconciled. [1] [2] [3]

Status Reporting and Examples

  • Status fields and example objects are updated to reflect per-PVC tracking, including pvcStatuses[*].requestedSize, checkpoint state, and error reporting for both primary and additional PVCs. Example objects now show multiple PVCs per group, with accurate checkpoint, failure, and progress reporting. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

Configuration and Merge Semantics

  • The effective target set for resize now includes the primary datadir PVC (if enabled) and any additional PVC templates with explicit storage requests. Group-level templates override cluster-level by name.
  • The definition of targetSize is clarified: it is now the primary operation target, with per-PVC targets tracked separately.

Compatibility and Contract Evolution

  • Compatibility guarantees are updated to clarify that existing workloads operate normally until any requested PVC size is increased, and contract evolution language is revised to reflect the new multi-PVC scope. [1] [2]
  • Outdated recommendations about deferring support for additionalVolumeClaimTemplates are removed, as this is now in scope.

Documentation and Examples

  • All relevant examples are updated to show both primary and additional PVCs, with realistic status, checkpointing, and error scenarios. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends the operator’s volume resize workflow to support resizing not only the primary datadir PVCs but also PVCs created from additionalVolumeClaimTemplates, with corresponding updates to validation logic, status tracking, and both unit + e2e test coverage.

Changes:

  • Generalize resize target discovery/validation and StatefulSet template sync logic to operate on multiple PVC templates per group.
  • Track per-PVC requested sizes in status.volumeResizeStatus.pvcStatuses[*].requestedSize and update restart/verification flows accordingly.
  • Update e2e (cluster-scoped + Helm namespace-scoped) and unit tests to cover multi-template resize behavior; refresh documentation and examples.

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
pkg/k8sutil/volume_resize_validation.go Implements multi-template resize target resolution, per-PVC target tracking, template sync, and verification updates.
pkg/k8sutil/volume_resize_validation_test.go Adds unit tests for additional template PVC inclusion, patching, and verification stall scenarios.
test/e2e/9_volume_resize_test.go Updates e2e test to resize both datadir and an additional PVC template and validate both outcomes.
test/e2e-helm/9_volume_resize_test.go Enables and updates namespace-scoped Helm e2e resize test to validate multi-template resize across watched namespaces.
docs/spec/volume resize.md Updates the resize spec to include additional PVC templates, status semantics, and revised examples.
.gitignore Adds .DS_Store.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread pkg/k8sutil/volume_resize_validation.go Outdated
Comment thread pkg/k8sutil/volume_resize_validation.go
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 7 changed files in this pull request and generated 6 comments.

Comment thread pkg/k8sutil/volume_resize_validation.go Outdated
Comment thread pkg/k8sutil/volume_resize_validation.go Outdated
Comment thread pkg/k8sutil/volume_resize_validation.go Outdated
Comment thread pkg/k8sutil/volume_resize_validation.go Outdated
Comment thread pkg/k8sutil/volume_resize_validation.go Outdated
Comment thread pkg/k8sutil/volume_resize_validation.go Outdated
rwinieski and others added 8 commits June 24, 2026 10:37
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 7 changed files in this pull request and generated 7 comments.

Comment thread pkg/k8sutil/volume_resize_validation.go Outdated
Comment thread pkg/k8sutil/volume_resize_validation.go Outdated
Comment thread pkg/k8sutil/volume_resize_validation.go Outdated
Comment thread pkg/k8sutil/volume_resize_validation.go
Comment thread pkg/k8sutil/volume_resize_validation.go
Comment thread pkg/k8sutil/volume_resize_validation.go Outdated
Comment thread pkg/k8sutil/volume_resize_validation.go Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 7 changed files in this pull request and generated 2 comments.

Comment thread pkg/k8sutil/volume_resize_validation.go Outdated
Comment thread pkg/k8sutil/volume_resize_validation.go Outdated
rwinieski and others added 2 commits June 25, 2026 15:50
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@rwinieski rwinieski merged commit a5866ba into develop Jun 25, 2026
4 checks passed
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