completionMode property
completionMode specifies how Pod completions are tracked. It can be NonIndexed
(default) or Indexed
.
NonIndexed
means that the Job is considered complete when there have been .spec.completions successfully completed Pods. Each Pod completion is homologous to each other.
Indexed
means that the Pods of a Job get an associated completion index from 0 to (.spec.completions - 1), available in the annotation batch.kubernetes.io/job-completion-index. The Job is considered complete when there is one successfully completed Pod for each index. When value is Indexed
, .spec.completions must be specified and .spec.parallelism
must be less than or equal to 10^5. In addition, The Pod name takes the form $(job-name)-$(index)-$(random-string)
, the Pod hostname takes the form $(job-name)-$(index)
.
More completion modes can be added in the future. If the Job controller observes a mode that it doesn't recognize, which is possible during upgrades due to version skew, the controller skips updates for the Job.
Implementation
final String? completionMode;