MCPcopy Create free account
hub / github.com/cloudnative-pg/cloudnative-pg / buildJob

Method buildJob

internal/cmd/plugin/pgbench/pgbench.go:130–176  ·  view source on GitHub ↗
(cluster *apiv1.Cluster)

Source from the content-addressed store, hash-verified

128}
129
130func (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
178func buildImagePullSecrets(cluster *apiv1.Cluster) []corev1.LocalObjectReference {
179 if len(cluster.Spec.ImagePullSecrets) == 0 {

Callers 2

executeMethod · 0.95
cmd_test.goFile · 0.80

Calls 4

getJobNameMethod · 0.95
buildEnvVariablesMethod · 0.95
buildNodeSelectorMethod · 0.95
buildImagePullSecretsFunction · 0.85

Tested by

no test coverage detected