CSPL-694: Avoid pod recycle while scaling for all CRs except SHC #244
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.
Changes to avoid pod recycle while scaling up/down for all CRs except SHC.
Short description:
In every reconcile, the statefulSet spec created by the operator is compared against the one stored in etcd. While comparing the two specs, for the fields represented by slices(ports, volume mounts etc..) the order of the elements is important i.e any change in order followed by an update of statefulSet will cause a change in the UpdatedRevision field in the StatefulSpec. This in turn triggers a pod recycle unnecessarily. To avoid the same, sort the slices during the statefulSet creation.
Note: During the update scenario, MergePodUpdates takes care of sorting.