Skip to content

Commit 81acd0d

Browse files
committed
refactoring: use ptr.To
Signed-off-by: Yuji Ito <llamerada.jp@gmail.com>
1 parent 4236bcf commit 81acd0d

3 files changed

Lines changed: 36 additions & 67 deletions

File tree

ceph/test/cluster/rbd.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"github.com/cybozu-go/mantle/test/util"
99
corev1 "k8s.io/api/core/v1"
1010
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
11+
"k8s.io/utils/ptr"
1112
)
1213

1314
func Rbd(args ...string) ([]byte, error) {
@@ -82,7 +83,6 @@ func zeroOutVolume(namespace, pvcName string) error {
8283
zeroOutPVCName := util.GetUniqueName("zeroout-pvc-")
8384
zeroOutDeployName := util.GetUniqueName("zeroout-pod-")
8485

85-
volumeMode := corev1.PersistentVolumeBlock
8686
zeroOutPV := corev1.PersistentVolume{
8787
TypeMeta: origPV.TypeMeta,
8888
ObjectMeta: v1.ObjectMeta{
@@ -94,7 +94,7 @@ func zeroOutVolume(namespace, pvcName string) error {
9494
},
9595
Capacity: origPV.Spec.Capacity,
9696
PersistentVolumeReclaimPolicy: corev1.PersistentVolumeReclaimRetain,
97-
VolumeMode: &volumeMode,
97+
VolumeMode: ptr.To(corev1.PersistentVolumeBlock),
9898
StorageClassName: "",
9999
},
100100
}
@@ -120,20 +120,19 @@ func zeroOutVolume(namespace, pvcName string) error {
120120
return fmt.Errorf("failed to create PV: %w", err)
121121
}
122122

123-
sc := ""
124123
zeroOutPVC := corev1.PersistentVolumeClaim{
125124
TypeMeta: origPVC.TypeMeta,
126125
ObjectMeta: v1.ObjectMeta{
127126
Name: zeroOutPVCName,
128127
Namespace: namespace,
129128
},
130129
Spec: corev1.PersistentVolumeClaimSpec{
131-
StorageClassName: &sc,
130+
StorageClassName: ptr.To(""),
132131
AccessModes: []corev1.PersistentVolumeAccessMode{
133132
corev1.ReadWriteOnce,
134133
},
135134
Resources: origPVC.Spec.Resources,
136-
VolumeMode: &volumeMode,
135+
VolumeMode: ptr.To(corev1.PersistentVolumeBlock),
137136
VolumeName: zeroOutPVName,
138137
},
139138
}

internal/controller/mantlebackup_controller.go

Lines changed: 30 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import (
3232
"k8s.io/apimachinery/pkg/types"
3333
"k8s.io/client-go/util/workqueue"
3434
"k8s.io/kube-openapi/pkg/validation/strfmt"
35+
"k8s.io/utils/ptr"
3536
ctrl "sigs.k8s.io/controller-runtime"
3637
"sigs.k8s.io/controller-runtime/pkg/client"
3738
"sigs.k8s.io/controller-runtime/pkg/controller"
@@ -1217,13 +1218,12 @@ func (r *MantleBackupReconciler) handleCompletedJobsOfComponent(
12171218
continue
12181219
}
12191220

1220-
propagationPolicy := metav1.DeletePropagationBackground
12211221
if err := r.Delete(ctx, &job.job, &client.DeleteOptions{
12221222
Preconditions: &metav1.Preconditions{
12231223
UID: &job.job.UID,
12241224
ResourceVersion: &job.job.ResourceVersion,
12251225
},
1226-
PropagationPolicy: &propagationPolicy,
1226+
PropagationPolicy: ptr.To(metav1.DeletePropagationBackground),
12271227
}); err != nil {
12281228
return -1, fmt.Errorf("failed to delete Job: %s: %w", job.job.GetName(), err)
12291229
}
@@ -1592,18 +1592,13 @@ func (r *MantleBackupReconciler) createOrUpdateExportJob(
15921592
labels["app.kubernetes.io/component"] = labelComponentExportJob
15931593
job.SetLabels(labels)
15941594

1595-
var backoffLimit int32 = 65535
1596-
job.Spec.BackoffLimit = &backoffLimit
1595+
job.Spec.BackoffLimit = ptr.To(int32(65535))
15971596

1598-
var fsGroup int64 = 10000
1599-
var runAsGroup int64 = 10000
1600-
runAsNonRoot := true
1601-
var runAsUser int64 = 10000
16021597
job.Spec.Template.Spec.SecurityContext = &corev1.PodSecurityContext{
1603-
FSGroup: &fsGroup,
1604-
RunAsGroup: &runAsGroup,
1605-
RunAsNonRoot: &runAsNonRoot,
1606-
RunAsUser: &runAsUser,
1598+
FSGroup: ptr.To(int64(10000)),
1599+
RunAsGroup: ptr.To(int64(10000)),
1600+
RunAsNonRoot: ptr.To(true),
1601+
RunAsUser: ptr.To(int64(10000)),
16071602
}
16081603

16091604
job.Spec.Template.Spec.RestartPolicy = corev1.RestartPolicyOnFailure
@@ -1677,7 +1672,6 @@ func (r *MantleBackupReconciler) createOrUpdateExportJob(
16771672
},
16781673
}
16791674

1680-
fals := false
16811675
job.Spec.Template.Spec.Volumes = []corev1.Volume{
16821676
{
16831677
Name: "volume-to-store",
@@ -1692,7 +1686,7 @@ func (r *MantleBackupReconciler) createOrUpdateExportJob(
16921686
VolumeSource: corev1.VolumeSource{
16931687
Secret: &corev1.SecretVolumeSource{
16941688
SecretName: "rook-ceph-mon",
1695-
Optional: &fals,
1689+
Optional: ptr.To(false),
16961690
Items: []corev1.KeyToPath{{
16971691
Key: "ceph-secret",
16981692
Path: "secret.keyring",
@@ -1766,18 +1760,13 @@ func (r *MantleBackupReconciler) createOrUpdateUploadJobs(
17661760
labels["app.kubernetes.io/component"] = labelComponentUploadJob
17671761
job.SetLabels(labels)
17681762

1769-
var backoffLimit int32 = 65535
1770-
job.Spec.BackoffLimit = &backoffLimit
1763+
job.Spec.BackoffLimit = ptr.To(int32(65535))
17711764

1772-
var fsGroup int64 = 10000
1773-
var runAsGroup int64 = 10000
1774-
runAsNonRoot := true
1775-
var runAsUser int64 = 10000
17761765
job.Spec.Template.Spec.SecurityContext = &corev1.PodSecurityContext{
1777-
FSGroup: &fsGroup,
1778-
RunAsGroup: &runAsGroup,
1779-
RunAsNonRoot: &runAsNonRoot,
1780-
RunAsUser: &runAsUser,
1766+
FSGroup: ptr.To(int64(10000)),
1767+
RunAsGroup: ptr.To(int64(10000)),
1768+
RunAsNonRoot: ptr.To(true),
1769+
RunAsUser: ptr.To(int64(10000)),
17811770
}
17821771

17831772
job.Spec.Template.Spec.RestartPolicy = corev1.RestartPolicyOnFailure
@@ -2232,13 +2221,10 @@ func (r *MantleBackupReconciler) createOrUpdateZeroOutJob(
22322221
labels["app.kubernetes.io/component"] = labelComponentZeroOutJob
22332222
job.SetLabels(labels)
22342223

2235-
var backoffLimit int32 = 65535
2236-
job.Spec.BackoffLimit = &backoffLimit
2224+
job.Spec.BackoffLimit = ptr.To(int32(65535))
22372225

22382226
job.Spec.Template.Spec.RestartPolicy = corev1.RestartPolicyOnFailure
22392227

2240-
tru := true
2241-
var zero int64 = 0
22422228
job.Spec.Template.Spec.Containers = []corev1.Container{
22432229
{
22442230
Name: "zeroout",
@@ -2252,9 +2238,9 @@ blkdiscard -z /dev/zeroout-rbd
22522238
`,
22532239
},
22542240
SecurityContext: &corev1.SecurityContext{
2255-
Privileged: &tru,
2256-
RunAsGroup: &zero,
2257-
RunAsUser: &zero,
2241+
Privileged: ptr.To(true),
2242+
RunAsGroup: ptr.To(int64(0)),
2243+
RunAsUser: ptr.To(int64(0)),
22582244
},
22592245
VolumeDevices: []corev1.VolumeDevice{
22602246
{
@@ -2296,25 +2282,20 @@ func (r *MantleBackupReconciler) createOrUpdateVerifyJob(ctx context.Context, jo
22962282
labels["app.kubernetes.io/component"] = labelComponentVerifyJob
22972283
job.SetLabels(labels)
22982284

2299-
backoffLimit := int32(65535)
2300-
job.Spec.BackoffLimit = &backoffLimit
2301-
2302-
verifyContainerName := "verify"
2285+
job.Spec.BackoffLimit = ptr.To(int32(65535))
23032286
job.Spec.PodFailurePolicy = &batchv1.PodFailurePolicy{
23042287
Rules: []batchv1.PodFailurePolicyRule{
23052288
{
23062289
Action: "FailJob",
23072290
OnExitCodes: &batchv1.PodFailurePolicyOnExitCodesRequirement{
2308-
ContainerName: &verifyContainerName,
2291+
ContainerName: ptr.To("verify"),
23092292
Operator: batchv1.PodFailurePolicyOnExitCodesOpIn,
23102293
Values: []int32{1, 2, 3, 4, 5, 6, 7}, // File system errors
23112294
},
23122295
},
23132296
},
23142297
}
23152298

2316-
tru := true
2317-
var zero int64 = 0
23182299
job.Spec.Template.Spec.Containers = []corev1.Container{
23192300
{
23202301
Name: "verify",
@@ -2325,9 +2306,9 @@ func (r *MantleBackupReconciler) createOrUpdateVerifyJob(ctx context.Context, jo
23252306
"/dev/verify-rbd",
23262307
},
23272308
SecurityContext: &corev1.SecurityContext{
2328-
Privileged: &tru,
2329-
RunAsGroup: &zero,
2330-
RunAsUser: &zero,
2309+
Privileged: ptr.To(true),
2310+
RunAsGroup: ptr.To(int64(0)),
2311+
RunAsUser: ptr.To(int64(0)),
23312312
},
23322313
VolumeDevices: []corev1.VolumeDevice{
23332314
{
@@ -2467,16 +2448,12 @@ func (r *MantleBackupReconciler) createOrUpdateImportJob(
24672448
labels["app.kubernetes.io/component"] = labelComponentImportJob
24682449
job.SetLabels(labels)
24692450

2470-
var backoffLimit int32 = 65535
2471-
job.Spec.BackoffLimit = &backoffLimit
2451+
job.Spec.BackoffLimit = ptr.To(int32(65535))
24722452

2473-
var runAsGroup int64 = 10000
2474-
runAsNonRoot := true
2475-
var runAsUser int64 = 10000
24762453
job.Spec.Template.Spec.SecurityContext = &corev1.PodSecurityContext{
2477-
RunAsGroup: &runAsGroup,
2478-
RunAsNonRoot: &runAsNonRoot,
2479-
RunAsUser: &runAsUser,
2454+
RunAsGroup: ptr.To(int64(10000)),
2455+
RunAsNonRoot: ptr.To(true),
2456+
RunAsUser: ptr.To(int64(10000)),
24802457
}
24812458

24822459
job.Spec.Template.Spec.RestartPolicy = corev1.RestartPolicyOnFailure
@@ -2590,14 +2567,13 @@ func (r *MantleBackupReconciler) createOrUpdateImportJob(
25902567

25912568
job.Spec.Template.Spec.Containers = []corev1.Container{container}
25922569

2593-
fals := false
25942570
job.Spec.Template.Spec.Volumes = []corev1.Volume{
25952571
{
25962572
Name: "ceph-admin-secret",
25972573
VolumeSource: corev1.VolumeSource{
25982574
Secret: &corev1.SecretVolumeSource{
25992575
SecretName: "rook-ceph-mon",
2600-
Optional: &fals,
2576+
Optional: ptr.To(false),
26012577
Items: []corev1.KeyToPath{{
26022578
Key: "ceph-secret",
26032579
Path: "secret.keyring",
@@ -2728,14 +2704,12 @@ func (r *MantleBackupReconciler) deleteAllJobsOfComponent(
27282704
return fmt.Errorf("failed to get the number of the parts of the exported data: %w", err)
27292705
}
27302706

2731-
propagationPolicy := metav1.DeletePropagationBackground
2732-
27332707
for partNum := 0; partNum < numParts; partNum++ {
27342708
var job batchv1.Job
27352709
job.SetName(makeJobName(backup, partNum))
27362710
job.SetNamespace(r.managedCephClusterID)
27372711
if err := r.Delete(ctx, &job, &client.DeleteOptions{
2738-
PropagationPolicy: &propagationPolicy,
2712+
PropagationPolicy: ptr.To(metav1.DeletePropagationBackground),
27392713
}); err != nil && !aerrors.IsNotFound(err) {
27402714
return fmt.Errorf("failed to delete Job: %s/%s: %w", job.GetNamespace(), job.GetName(), err)
27412715
}
@@ -2758,14 +2732,12 @@ func (r *MantleBackupReconciler) deleteAllExportDataPVCs(ctx context.Context, ba
27582732
return fmt.Errorf("failed to get the number of the parts of the exported data: %w", err)
27592733
}
27602734

2761-
propagationPolicy := metav1.DeletePropagationBackground
2762-
27632735
for partNum := 0; partNum < numParts; partNum++ {
27642736
pvc := corev1.PersistentVolumeClaim{}
27652737
pvc.SetName(MakeExportDataPVCName(backup, partNum))
27662738
pvc.SetNamespace(r.managedCephClusterID)
27672739
if err := r.Delete(ctx, &pvc, &client.DeleteOptions{
2768-
PropagationPolicy: &propagationPolicy,
2740+
PropagationPolicy: ptr.To(metav1.DeletePropagationBackground),
27692741
}); err != nil && !aerrors.IsNotFound(err) {
27702742
return fmt.Errorf("failed to delete PVC: %s/%s: %w", pvc.GetNamespace(), pvc.GetName(), err)
27712743
}
@@ -2795,8 +2767,6 @@ func (r *MantleBackupReconciler) secondaryCleanup(
27952767
}
27962768
}
27972769

2798-
propagationPolicy := metav1.DeletePropagationBackground
2799-
28002770
if err := r.deleteAllImportJobs(ctx, target); err != nil {
28012771
return ctrl.Result{}, fmt.Errorf("failed to delete import Jobs: %w", err)
28022772
}
@@ -2805,7 +2775,7 @@ func (r *MantleBackupReconciler) secondaryCleanup(
28052775
zeroOutJob.SetName(MakeZeroOutJobName(target))
28062776
zeroOutJob.SetNamespace(r.managedCephClusterID)
28072777
if err := r.Delete(ctx, &zeroOutJob, &client.DeleteOptions{
2808-
PropagationPolicy: &propagationPolicy,
2778+
PropagationPolicy: ptr.To(metav1.DeletePropagationBackground),
28092779
}); err != nil && !aerrors.IsNotFound(err) {
28102780
return ctrl.Result{}, fmt.Errorf("failed to delete zeroout Job: %w", err)
28112781
}

internal/controller/replication_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1717
"k8s.io/apimachinery/pkg/types"
1818
"k8s.io/client-go/kubernetes/scheme"
19+
"k8s.io/utils/ptr"
1920
)
2021

2122
const (
@@ -87,7 +88,6 @@ func (test *replicationUnitTest) testCreateUpdatePVCAfterResizing() {
8788
It("calls CreateOrUpdatePVC twice with the different PVC sizes and should not update the PVC size", func() {
8889
ctx := context.Background()
8990

90-
scName := "test-sc"
9191
srcPVC := &corev1.PersistentVolumeClaim{
9292
ObjectMeta: metav1.ObjectMeta{
9393
Name: "test-pvc",
@@ -104,7 +104,7 @@ func (test *replicationUnitTest) testCreateUpdatePVCAfterResizing() {
104104
corev1.ResourceStorage: resource.MustParse("1Gi"),
105105
},
106106
},
107-
StorageClassName: &scName,
107+
StorageClassName: ptr.To("test-sc"),
108108
},
109109
}
110110

0 commit comments

Comments
 (0)