Skip to content

Commit 49918d9

Browse files
authoredMar 16, 2022
Merge pull request #51 from aws/fixup/etcd-affinity-managment-npe
ETCD Catch NPE and ETCD Owner
2 parents 3815094 + 5a5f8cc commit 49918d9

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed
 

‎controllers/utils/utils.go

+9-1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ func getMachineSetFromCAPIMachine(
3838
) (*capiv1.MachineSet, error) {
3939

4040
ref := GetManagementOwnerRef(capiMachine)
41+
if ref == nil {
42+
return nil, errors.New("management owner not found")
43+
}
4144
gv, err := schema.ParseGroupVersion(ref.APIVersion)
4245
if err != nil {
4346
return nil, errors.WithStack(err)
@@ -66,6 +69,9 @@ func getKubeadmControlPlaneFromCAPIMachine(
6669
) (*controlplanev1.KubeadmControlPlane, error) {
6770

6871
ref := GetManagementOwnerRef(capiMachine)
72+
if ref == nil {
73+
return nil, errors.New("management owner not found")
74+
}
6975
gv, err := schema.ParseGroupVersion(ref.APIVersion)
7076
if err != nil {
7177
return nil, errors.WithStack(err)
@@ -122,6 +128,8 @@ func fetchOwnerRef(refList []meta.OwnerReference, kind string) *meta.OwnerRefere
122128
func GetManagementOwnerRef(capiMachine *capiv1.Machine) *meta.OwnerReference {
123129
if util.IsControlPlaneMachine(capiMachine) {
124130
return fetchOwnerRef(capiMachine.OwnerReferences, "KubeadmControlPlane")
131+
} else if ref := fetchOwnerRef(capiMachine.OwnerReferences, "MachineSet"); ref != nil {
132+
return ref
125133
}
126-
return fetchOwnerRef(capiMachine.OwnerReferences, "MachineSet")
134+
return fetchOwnerRef(capiMachine.OwnerReferences, "EtcdadmCluster")
127135
}

0 commit comments

Comments
 (0)