Skip to content

Commit 84fe38a

Browse files
authored
switch to batch API v1 for Jobs (zalando#2066)
1 parent 2aa5209 commit 84fe38a

File tree

5 files changed

+19
-20
lines changed

5 files changed

+19
-20
lines changed

e2e/tests/k8s_api.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def __init__(self):
2323

2424
self.core_v1 = client.CoreV1Api()
2525
self.apps_v1 = client.AppsV1Api()
26-
self.batch_v1_beta1 = client.BatchV1beta1Api()
26+
self.batch_v1 = client.BatchV1Api()
2727
self.custom_objects_api = client.CustomObjectsApi()
2828
self.policy_v1 = client.PolicyV1Api()
2929
self.storage_v1_api = client.StorageV1Api()
@@ -217,7 +217,7 @@ def wait_for_namespace_creation(self, namespace='default'):
217217
time.sleep(self.RETRY_TIMEOUT_SEC)
218218

219219
def get_logical_backup_job(self, namespace='default'):
220-
return self.api.batch_v1_beta1.list_namespaced_cron_job(namespace, label_selector="application=spilo")
220+
return self.api.batch_v1.list_namespaced_cron_job(namespace, label_selector="application=spilo")
221221

222222
def wait_for_logical_backup_job(self, expected_num_of_jobs):
223223
while (len(self.get_logical_backup_job().items) != expected_num_of_jobs):
@@ -499,7 +499,7 @@ def wait_for_pod_failover(self, failover_targets, labels, namespace='default'):
499499
time.sleep(self.RETRY_TIMEOUT_SEC)
500500

501501
def get_logical_backup_job(self, namespace='default'):
502-
return self.api.batch_v1_beta1.list_namespaced_cron_job(namespace, label_selector="application=spilo")
502+
return self.api.batch_v1.list_namespaced_cron_job(namespace, label_selector="application=spilo")
503503

504504
def wait_for_logical_backup_job(self, expected_num_of_jobs):
505505
while (len(self.get_logical_backup_job().items) != expected_num_of_jobs):

pkg/cluster/k8sres.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import (
2929
"github.com/zalando/postgres-operator/pkg/util/patroni"
3030
"github.com/zalando/postgres-operator/pkg/util/retryutil"
3131
batchv1 "k8s.io/api/batch/v1"
32-
batchv1beta1 "k8s.io/api/batch/v1beta1"
3332
"k8s.io/apimachinery/pkg/labels"
3433
)
3534

@@ -2017,7 +2016,7 @@ func (c *Cluster) getClusterServiceConnectionParameters(clusterName string) (hos
20172016
return
20182017
}
20192018

2020-
func (c *Cluster) generateLogicalBackupJob() (*batchv1beta1.CronJob, error) {
2019+
func (c *Cluster) generateLogicalBackupJob() (*batchv1.CronJob, error) {
20212020

20222021
var (
20232022
err error
@@ -2108,7 +2107,7 @@ func (c *Cluster) generateLogicalBackupJob() (*batchv1beta1.CronJob, error) {
21082107

21092108
// configure a cron job
21102109

2111-
jobTemplateSpec := batchv1beta1.JobTemplateSpec{
2110+
jobTemplateSpec := batchv1.JobTemplateSpec{
21122111
Spec: jobSpec,
21132112
}
21142113

@@ -2117,17 +2116,17 @@ func (c *Cluster) generateLogicalBackupJob() (*batchv1beta1.CronJob, error) {
21172116
schedule = c.OpConfig.LogicalBackupSchedule
21182117
}
21192118

2120-
cronJob := &batchv1beta1.CronJob{
2119+
cronJob := &batchv1.CronJob{
21212120
ObjectMeta: metav1.ObjectMeta{
21222121
Name: c.getLogicalBackupJobName(),
21232122
Namespace: c.Namespace,
21242123
Labels: c.labelsSet(true),
21252124
Annotations: c.annotationsSet(nil),
21262125
},
2127-
Spec: batchv1beta1.CronJobSpec{
2126+
Spec: batchv1.CronJobSpec{
21282127
Schedule: schedule,
21292128
JobTemplate: jobTemplateSpec,
2130-
ConcurrencyPolicy: batchv1beta1.ForbidConcurrent,
2129+
ConcurrencyPolicy: batchv1.ForbidConcurrent,
21312130
},
21322131
}
21332132

pkg/cluster/resources.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"strings"
88

99
appsv1 "k8s.io/api/apps/v1"
10-
batchv1beta1 "k8s.io/api/batch/v1beta1"
10+
batchv1 "k8s.io/api/batch/v1"
1111
v1 "k8s.io/api/core/v1"
1212
policyv1 "k8s.io/api/policy/v1"
1313
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -546,7 +546,7 @@ func (c *Cluster) createLogicalBackupJob() (err error) {
546546
return nil
547547
}
548548

549-
func (c *Cluster) patchLogicalBackupJob(newJob *batchv1beta1.CronJob) error {
549+
func (c *Cluster) patchLogicalBackupJob(newJob *batchv1.CronJob) error {
550550
c.setProcessName("patching logical backup job")
551551

552552
patchData, err := specPatch(newJob.Spec)

pkg/cluster/sync.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import (
1515
"github.com/zalando/postgres-operator/pkg/util"
1616
"github.com/zalando/postgres-operator/pkg/util/constants"
1717
"github.com/zalando/postgres-operator/pkg/util/k8sutil"
18-
batchv1beta1 "k8s.io/api/batch/v1beta1"
18+
batchv1 "k8s.io/api/batch/v1"
1919
v1 "k8s.io/api/core/v1"
2020
policyv1 "k8s.io/api/policy/v1"
2121
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -1145,8 +1145,8 @@ func (c *Cluster) syncExtensions(extensions map[string]string) error {
11451145

11461146
func (c *Cluster) syncLogicalBackupJob() error {
11471147
var (
1148-
job *batchv1beta1.CronJob
1149-
desiredJob *batchv1beta1.CronJob
1148+
job *batchv1.CronJob
1149+
desiredJob *batchv1.CronJob
11501150
err error
11511151
)
11521152
c.setProcessName("syncing the logical backup job")

pkg/util/k8sutil/k8sutil.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import (
88
b64 "encoding/base64"
99
"encoding/json"
1010

11-
batchv1beta1 "k8s.io/api/batch/v1beta1"
12-
clientbatchv1beta1 "k8s.io/client-go/kubernetes/typed/batch/v1beta1"
11+
batchv1 "k8s.io/api/batch/v1"
12+
clientbatchv1 "k8s.io/client-go/kubernetes/typed/batch/v1"
1313

1414
apiacidv1 "github.com/zalando/postgres-operator/pkg/apis/acid.zalan.do/v1"
1515
zalandoclient "github.com/zalando/postgres-operator/pkg/generated/clientset/versioned"
@@ -63,7 +63,7 @@ type KubernetesClient struct {
6363
rbacv1.RoleBindingsGetter
6464
policyv1.PodDisruptionBudgetsGetter
6565
apiextv1.CustomResourceDefinitionsGetter
66-
clientbatchv1beta1.CronJobsGetter
66+
clientbatchv1.CronJobsGetter
6767
acidv1.OperatorConfigurationsGetter
6868
acidv1.PostgresTeamsGetter
6969
acidv1.PostgresqlsGetter
@@ -159,7 +159,7 @@ func NewFromConfig(cfg *rest.Config) (KubernetesClient, error) {
159159
kubeClient.PodDisruptionBudgetsGetter = client.PolicyV1()
160160
kubeClient.RESTClient = client.CoreV1().RESTClient()
161161
kubeClient.RoleBindingsGetter = client.RbacV1()
162-
kubeClient.CronJobsGetter = client.BatchV1beta1()
162+
kubeClient.CronJobsGetter = client.BatchV1()
163163
kubeClient.EventsGetter = client.CoreV1()
164164

165165
apiextClient, err := apiextclient.NewForConfig(cfg)
@@ -224,12 +224,12 @@ func SamePDB(cur, new *apipolicyv1.PodDisruptionBudget) (match bool, reason stri
224224
return
225225
}
226226

227-
func getJobImage(cronJob *batchv1beta1.CronJob) string {
227+
func getJobImage(cronJob *batchv1.CronJob) string {
228228
return cronJob.Spec.JobTemplate.Spec.Template.Spec.Containers[0].Image
229229
}
230230

231231
// SameLogicalBackupJob compares Specs of logical backup cron jobs
232-
func SameLogicalBackupJob(cur, new *batchv1beta1.CronJob) (match bool, reason string) {
232+
func SameLogicalBackupJob(cur, new *batchv1.CronJob) (match bool, reason string) {
233233

234234
if cur.Spec.Schedule != new.Spec.Schedule {
235235
return false, fmt.Sprintf("new job's schedule %q does not match the current one %q",

0 commit comments

Comments
 (0)