Skip to content

Conversation

naemono
Copy link
Contributor

@naemono naemono commented Oct 13, 2025

In elastic/cloud-on-k8s#4467 it's noted that some users are dealing with volume expansion failure issues, and documenting how to recover from this situation would be helpful. This is the attempt to update that documentation.

After merge

  • Close the old ECK issue

Signed-off-by: Michael Montgomery <mmontg1@gmail.com>
Signed-off-by: Michael Montgomery <mmontg1@gmail.com>
@naemono naemono requested a review from a team as a code owner October 13, 2025 19:19
Copy link
Contributor

@Copilot Copilot AI left a comment

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 adds documentation to help users recover from failed Elasticsearch volume expansion operations in ECK (Elastic Cloud on Kubernetes). The change addresses user issues where volume expansion failures can leave deployments in an unrecoverable state.

  • Adds a new troubleshooting section for volume expansion failures
  • Documents the recommended recovery approach using nodeSet renaming
  • Provides specific error message and solution context

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Michael Montgomery <mmontg1@gmail.com>
Copy link

🔍 Preview links for changed docs


## If a volume expansion failed [k8s-common-problems-volume-failed-expansion]

If you attempted an expansion of an Elasticsearch volume via its [volume claim template](/deploy-manage/deploy/cloud-on-k8s/volume-claim-templates.md#k8s-volume-claim-templates-update), you may have encountered scenarios where the operation failed such as Azure not allowing volume expansion without shutting down the Virtual Machine to which it is attached. If you try to adjust the volume claim template back to the original size you will encounter a failure:
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
If you attempted an expansion of an Elasticsearch volume via its [volume claim template](/deploy-manage/deploy/cloud-on-k8s/volume-claim-templates.md#k8s-volume-claim-templates-update), you may have encountered scenarios where the operation failed such as Azure not allowing volume expansion without shutting down the Virtual Machine to which it is attached. If you try to adjust the volume claim template back to the original size you will encounter a failure:
If you attempted an expansion of an {{es}} volume via its [volume claim template](/deploy-manage/deploy/cloud-on-k8s/volume-claim-templates.md#k8s-volume-claim-templates-update), you may have encountered scenarios where the operation failed such as Azure not allowing volume expansion without shutting down the Virtual Machine to which it is attached. If you try to adjust the volume claim template back to the original size you will encounter a failure:

Failed to apply spec change: handle volume expansion: decreasing storage size is not supported: an attempt was made to decrease storage size for claim elasticsearch-data
```
In this scenario the best course of action is to rename the existing `nodeSet` to a new name while simultaneously updating the volume claim template to the original size. This operation will bring a new `StatefulSet` online while moving all existing indices to the new volumes and will delete the old `StatefulSet` and its volumes once the operation is complete.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
In this scenario the best course of action is to rename the existing `nodeSet` to a new name while simultaneously updating the volume claim template to the original size. This operation will bring a new `StatefulSet` online while moving all existing indices to the new volumes and will delete the old `StatefulSet` and its volumes once the operation is complete.
In this scenario the best course of action is to rename the existing `nodeSet` to a new name while simultaneously updating the volume claim template to the original size. This operation will bring a new `StatefulSet` online while moving all existing indices to the new volumes, and will delete the old `StatefulSet` and its volumes once the operation is complete.

Copy link
Contributor

@kilfoyle kilfoyle left a comment

Choose a reason for hiding this comment

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

LGTM! 🚢
Just two super nit-picky comments. :-)

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.

2 participants