This is a...
Problem:
In the section _Staging an Update_ the partition value was 3 and web-2 is not modified because:
the ordinal of the Pod is less than the
partitionspecified by theupdateStrategy.
I guess the sentence from the _Rolling Out a Canary_ section is somehow wrong:
When you changed the
partition, the StatefulSet controller automatically updated theweb-2Pod because the Pod鈥檚 ordinal was less than or equal to thepartition.
I think it should be "greater than or equal to the partition." because in this case partition value is 2 and web-2 ordinal is 2 (equal) but it doesn't change the other pods (web-0 and web-1).
Proposed Solution:
Change the "less than" by "greater than":
When you changed the
partition, the StatefulSet controller automatically updated theweb-2Pod because the Pod鈥檚 ordinal was greater than or equal to thepartition.
Page to Update:
http://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/
Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.2", GitCommit:"5fa2db2bd46ac79e5e00a4e6ed24191080aa463b", GitTreeState:"clean", BuildDate:"2018-01-18T21:12:46Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.0", GitCommit:"0b9efaeb34a2fc51ff8e4d34ad9bc6375459c4a4", GitTreeState:"clean", BuildDate:"2017-11-29T22:43:34Z", GoVersion:"go1.9.1", Compiler:"gc", Platform:"linux/amd64"}
I can open a PR to fix it if you confirm me that I'm not mistaken.
Regards
@janetkuo 馃憢 Can you please verify the proposed change?
@rgo thank you, the solution you proposed is correct. All Pods with an ordinal that is greater than or equal to partition (if specified) will be updated when the StatefulSet鈥檚 pod template is updated.
@rgo :wave:
I can open a PR to fix it if you confirm me that I'm not mistaken.
Go for it!
This is fixed by #7123
Most helpful comment
@rgo thank you, the solution you proposed is correct. All Pods with an ordinal that is greater than or equal to
partition(if specified) will be updated when the StatefulSet鈥檚 pod template is updated.