// NewTestJob returns a Job which does one of several testing behaviors. notTerminate starts a Job that will run // effectively forever. fail starts a Job that will fail immediately. succeed starts a Job that will succeed // immediately. randomlySucceedOrFail starts a Job that will succeed or fail randomly. failOnce fails the Job the // first time it is run and succeeds subsequently. name is the Name of the Job. RestartPolicy indicates the restart // policy of the containers in which the Pod is running. Parallelism is the Job's parallelism, and completions is the // Job's required number of completions. func NewTestJob(behavior, name string, rPol v1.RestartPolicy, parallelism, completions int32, activeDeadlineSeconds *int64, backoffLimit int32) *batchv1.Job { … } // NewTestJobOnNode is similar to NewTestJob but supports specifying a Node on which the Job's Pods will run. // Empty nodeName means no node selection constraints. func NewTestJobOnNode(behavior, name string, rPol v1.RestartPolicy, parallelism, completions int32, activeDeadlineSeconds *int64, backoffLimit int32, nodeName string) *batchv1.Job { … } // setup host path directory to pass information between pod restarts func setupHostPathDirectory(job *batchv1.Job) { … }