(cluster *apiv1.Cluster)
| 128 | } |
| 129 | |
| 130 | func (cmd *pgBenchRun) buildJob(cluster *apiv1.Cluster) *batchv1.Job { |
| 131 | labels := map[string]string{ |
| 132 | "pgBenchJob": cluster.Name, |
| 133 | } |
| 134 | |
| 135 | result := &batchv1.Job{ |
| 136 | // To ensure we have manifest with Kind and API in --dry-run |
| 137 | TypeMeta: metav1.TypeMeta{ |
| 138 | APIVersion: "batch/v1", |
| 139 | Kind: "Job", |
| 140 | }, |
| 141 | ObjectMeta: metav1.ObjectMeta{ |
| 142 | Name: cmd.getJobName(), |
| 143 | Namespace: cluster.Namespace, |
| 144 | Labels: labels, |
| 145 | }, |
| 146 | Spec: batchv1.JobSpec{ |
| 147 | Template: corev1.PodTemplateSpec{ |
| 148 | ObjectMeta: metav1.ObjectMeta{ |
| 149 | Labels: labels, |
| 150 | }, |
| 151 | Spec: corev1.PodSpec{ |
| 152 | RestartPolicy: corev1.RestartPolicyNever, |
| 153 | SchedulerName: cluster.Spec.SchedulerName, |
| 154 | Containers: []corev1.Container{ |
| 155 | { |
| 156 | Name: "pgbench", |
| 157 | Image: cluster.Status.Image, |
| 158 | ImagePullPolicy: corev1.PullAlways, |
| 159 | Env: cmd.buildEnvVariables(), |
| 160 | Command: []string{pgBenchKeyWord}, |
| 161 | Args: cmd.pgBenchCommandArgs, |
| 162 | }, |
| 163 | }, |
| 164 | NodeSelector: cmd.buildNodeSelector(), |
| 165 | ImagePullSecrets: buildImagePullSecrets(cluster), |
| 166 | }, |
| 167 | }, |
| 168 | }, |
| 169 | } |
| 170 | |
| 171 | if cmd.ttlSecondsAfterFinished != 0 { |
| 172 | result.Spec.TTLSecondsAfterFinished = &cmd.ttlSecondsAfterFinished |
| 173 | } |
| 174 | |
| 175 | return result |
| 176 | } |
| 177 | |
| 178 | func buildImagePullSecrets(cluster *apiv1.Cluster) []corev1.LocalObjectReference { |
| 179 | if len(cluster.Spec.ImagePullSecrets) == 0 { |
no test coverage detected