Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

StatefulSet currentRevision and currentReplicas mismatch after rolling update with Elasticsearch manifest changes #8295

Closed
abellosovic opened this issue Dec 5, 2024 · 1 comment
Labels

Comments

@abellosovic
Copy link

When performing a rolling update to an existing kind: Elasticsearch StatefulSet in Kubernetes, the StatefulSet's status does not reflect the expected values after the rotation is completed.

Steps to Reproduce:

  • Deploy a running StatefulSet for Elasticsearch in Kubernetes.
  • Make a change to the manifest (e.g., updating environment variables or resource requests/limits).
  • Observe the rolling update process initiated by the change.
  • Once the rotation is complete, check the status of the StatefulSet.

Observed Behavior:

  • The currentRevision value remains set to the original version, while updateRevision reflects the updated version.
  • The currentReplicas field is missing, even though all replicas are successfully updated and running.

Expected Behavior:
According to the Kubernetes StatefulSet specification:

  • After the rolling update completes, currentRevision should match updateRevision.
  • The currentReplicas field should equal the replicas field if all pods are up-to-date and running as expected.

Environment:

Kubernetes version: 1.29.9
ECK: 2.8.0

Additional Notes:
This behavior seems inconsistent with the Kubernetes StatefulSet specification. It may lead to confusion or potential issues with tooling that relies on the status fields to determine the health and current state of the StatefulSet.

@botelastic botelastic bot added the triage label Dec 5, 2024
@pebrc
Copy link
Collaborator

pebrc commented Dec 5, 2024

ECK does not have its own StatefulSet implementation. We are using the built-in Kubernetes StatefulSets. What you are observing is just Kubernetes behaviour.

@pebrc pebrc closed this as completed Dec 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants