Skip to content

Commit ca1c4e5

Browse files
committed
Change all *metav1.Time fields to metav1.Time
Signed-off-by: Stefan Büringer buringerst@vmware.com
1 parent 12e6357 commit ca1c4e5

File tree

69 files changed

+495
-315
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+495
-315
lines changed

.golangci-kal.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,10 @@ linters:
163163
text: "optionalfields: field (Status|Initialization) is optional and should (be a pointer|have the omitempty tag)"
164164
linters:
165165
- kubeapilinter
166+
- path: "api/.*"
167+
text: "optionalfields: field (LastAppliedTime|Expires|After|LastUpdated|CertificatesExpiryDate|NodeDrainStartTime|WaitForNodeVolumeDetachStartTime) is optional and should (be a pointer|have the omitempty tag)"
168+
linters:
169+
- kubeapilinter
166170
- path: "api/bootstrap/kubeadm/v1beta2"
167171
text: "optionalfields: field (Spec|NodeRegistration|LocalAPIEndpoint|Etcd|APIServer|ControllerManager|Scheduler|DNS|Discovery|ObjectMeta) is optional and should (be a pointer|have the omitempty tag)"
168172
linters:

api/addons/v1beta1/conversion.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121

2222
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2323
apimachineryconversion "k8s.io/apimachinery/pkg/conversion"
24+
"k8s.io/utils/ptr"
2425
"sigs.k8s.io/controller-runtime/pkg/conversion"
2526

2627
addonsv1 "sigs.k8s.io/cluster-api/api/addons/v1beta2"
@@ -122,6 +123,24 @@ func Convert_v1beta2_ResourceSetBinding_To_Pointer_v1beta1_ResourceSetBinding(in
122123
return autoConvert_v1beta2_ResourceSetBinding_To_v1beta1_ResourceSetBinding(in, *out, s)
123124
}
124125

126+
func Convert_v1beta1_ResourceBinding_To_v1beta2_ResourceBinding(in *ResourceBinding, out *addonsv1.ResourceBinding, s apimachineryconversion.Scope) error {
127+
if err := autoConvert_v1beta1_ResourceBinding_To_v1beta2_ResourceBinding(in, out, s); err != nil {
128+
return err
129+
}
130+
if in.LastAppliedTime != nil && !reflect.DeepEqual(in.LastAppliedTime, &metav1.Time{}) {
131+
out.LastAppliedTime = *in.LastAppliedTime
132+
}
133+
return nil
134+
}
135+
136+
func Convert_v1beta2_ResourceBinding_To_v1beta1_ResourceBinding(in *addonsv1.ResourceBinding, out *ResourceBinding, s apimachineryconversion.Scope) error {
137+
if err := autoConvert_v1beta2_ResourceBinding_To_v1beta1_ResourceBinding(in, out, s); err != nil {
138+
return err
139+
}
140+
out.LastAppliedTime = ptr.To(in.LastAppliedTime)
141+
return nil
142+
}
143+
125144
// Implement local conversion func because conversion-gen is not aware of conversion func in other packages (see https://github.com/kubernetes/code-generator/issues/94)
126145

127146
func Convert_v1_Condition_To_v1beta1_Condition(in *metav1.Condition, out *clusterv1beta1.Condition, s apimachineryconversion.Scope) error {

api/addons/v1beta1/zz_generated.conversion.go

Lines changed: 34 additions & 24 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/addons/v1beta2/clusterresourcesetbinding_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ type ResourceBinding struct {
3838

3939
// lastAppliedTime identifies when this resource was last applied to the cluster.
4040
// +optional
41-
LastAppliedTime *metav1.Time `json:"lastAppliedTime,omitempty"`
41+
LastAppliedTime metav1.Time `json:"lastAppliedTime,omitempty,omitzero"`
4242

4343
// applied is to track if a resource is applied to the cluster or not.
4444
// +required

api/addons/v1beta2/clusterresourcesetbinding_types_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,13 @@ func TestIsResourceApplied(t *testing.T) {
4545
ResourceRef: resourceRefApplySucceeded,
4646
Applied: true,
4747
Hash: "xyz",
48-
LastAppliedTime: &metav1.Time{Time: time.Now().UTC()},
48+
LastAppliedTime: metav1.Time{Time: time.Now().UTC()},
4949
},
5050
{
5151
ResourceRef: resourceRefApplyFailed,
5252
Applied: false,
5353
Hash: "",
54-
LastAppliedTime: &metav1.Time{Time: time.Now().UTC()},
54+
LastAppliedTime: metav1.Time{Time: time.Now().UTC()},
5555
},
5656
},
5757
}
@@ -108,7 +108,7 @@ func TestResourceSetBindingGetResourceBinding(t *testing.T) {
108108
ResourceRef: resourceRefApplyFailed,
109109
Applied: false,
110110
Hash: "",
111-
LastAppliedTime: &metav1.Time{Time: time.Now().UTC()},
111+
LastAppliedTime: metav1.Time{Time: time.Now().UTC()},
112112
}
113113
crsBinding := &ResourceSetBinding{
114114
ClusterResourceSetName: "test-clusterResourceSet",
@@ -117,7 +117,7 @@ func TestResourceSetBindingGetResourceBinding(t *testing.T) {
117117
ResourceRef: resourceRefApplySucceeded,
118118
Applied: true,
119119
Hash: "xyz",
120-
LastAppliedTime: &metav1.Time{Time: time.Now().UTC()},
120+
LastAppliedTime: metav1.Time{Time: time.Now().UTC()},
121121
},
122122
resourceRefApplyFailedBinding,
123123
},
@@ -163,15 +163,15 @@ func TestSetResourceBinding(t *testing.T) {
163163
ResourceRef: resourceRefApplyFailed,
164164
Applied: false,
165165
Hash: "",
166-
LastAppliedTime: &metav1.Time{Time: time.Now().UTC()},
166+
LastAppliedTime: metav1.Time{Time: time.Now().UTC()},
167167
},
168168
},
169169
}
170170
updateFailedResourceBinding := ResourceBinding{
171171
ResourceRef: resourceRefApplyFailed,
172172
Applied: true,
173173
Hash: "xyz",
174-
LastAppliedTime: &metav1.Time{Time: time.Now().UTC()},
174+
LastAppliedTime: metav1.Time{Time: time.Now().UTC()},
175175
}
176176

177177
newResourceBinding := ResourceBinding{
@@ -181,7 +181,7 @@ func TestSetResourceBinding(t *testing.T) {
181181
},
182182
Applied: false,
183183
Hash: "xyz",
184-
LastAppliedTime: &metav1.Time{Time: time.Now().UTC()},
184+
LastAppliedTime: metav1.Time{Time: time.Now().UTC()},
185185
}
186186

187187
tests := []struct {

api/addons/v1beta2/zz_generated.deepcopy.go

Lines changed: 1 addition & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/bootstrap/kubeadm/v1beta1/conversion.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -431,6 +431,7 @@ func Convert_v1beta2_BootstrapToken_To_v1beta1_BootstrapToken(in *bootstrapv1.Bo
431431
return err
432432
}
433433
out.TTL = clusterv1.ConvertFromSeconds(in.TTLSeconds)
434+
out.Expires = ptr.To(in.Expires)
434435
return nil
435436
}
436437

@@ -535,6 +536,9 @@ func Convert_v1beta1_BootstrapToken_To_v1beta2_BootstrapToken(in *BootstrapToken
535536
return err
536537
}
537538
out.TTLSeconds = clusterv1.ConvertToSeconds(in.TTL)
539+
if in.Expires != nil && !reflect.DeepEqual(in.Expires, &metav1.Time{}) {
540+
out.Expires = *in.Expires
541+
}
538542
return nil
539543
}
540544

api/bootstrap/kubeadm/v1beta1/zz_generated.conversion.go

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/bootstrap/kubeadm/v1beta2/kubeadm_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@ type BootstrapToken struct {
410410
// expires specifies the timestamp when this token expires. Defaults to being set
411411
// dynamically at runtime based on the ttlSeconds. Expires and ttlSeconds are mutually exclusive.
412412
// +optional
413-
Expires *metav1.Time `json:"expires,omitempty"`
413+
Expires metav1.Time `json:"expires,omitempty,omitzero"`
414414

415415
// usages describes the ways in which this token can be used. Can by default be used
416416
// for establishing bidirectional trust, but that can be changed here.

api/bootstrap/kubeadm/v1beta2/zz_generated.deepcopy.go

Lines changed: 1 addition & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)