[PSUPCLPL-10121] fix expect_pods function #198
Merged
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.
Description
Sometimes
expect:pods
considers required pods ready even if some instances of these pods are not ready. Like in PSUPCLPL-10121 where calico-node pods were considered ready when only 8 our of 13 pods were really ready.This can lead to different errors in the further work of kubemarine.
Fixes # (issue)
PSUPCLPL-10121
Solution
Looks like it happens due to the logic here: https://github.com/Netcracker/KubeMarine/blob/main/kubemarine/plugins/__init__.py#:~:text=if%20%27Running%27,is%20impossible%27)
We don't count pods in states like ContainerCreating, Init, etc (not Running and not critical states).
So it's better to change sequence of conditions like that:
How to apply
none
Test Cases
Deploy/upgrade kubernetes with plugins. There shouldn't be errors and in the log for every
expect_pods
call the list of ready pods should contain all the instances of the required pods.Checklist
Unit tests
Indicate new or changed unit tests and what they do, if any.