@@ -3,7 +3,7 @@ package v1alpha1
33import (
44 "k8s.io/utils/pointer"
55
6- "github.com/openshift-kni/performance-addon-operators/api/v1"
6+ v1 "github.com/openshift-kni/performance-addon-operators/api/v1"
77 conditionsv1 "github.com/openshift/custom-resource-status/conditions/v1"
88
99 "sigs.k8s.io/controller-runtime/pkg/conversion"
@@ -17,8 +17,9 @@ func (curr *PerformanceProfile) ConvertTo(dstRaw conversion.Hub) error {
1717 dst .ObjectMeta = curr .ObjectMeta
1818
1919 // Spec
20- dst .Spec .CPU = new (v1.CPU )
2120 if curr .Spec .CPU != nil {
21+ dst .Spec .CPU = new (v1.CPU )
22+
2223 if curr .Spec .CPU .Reserved != nil {
2324 reserved := v1 .CPUSet (* curr .Spec .CPU .Reserved )
2425 dst .Spec .CPU .Reserved = & reserved
@@ -32,58 +33,75 @@ func (curr *PerformanceProfile) ConvertTo(dstRaw conversion.Hub) error {
3233 }
3334 }
3435
35- dst .Spec .HugePages = new (v1.HugePages )
3636 if curr .Spec .HugePages != nil {
37+ dst .Spec .HugePages = new (v1.HugePages )
38+
3739 if curr .Spec .HugePages .DefaultHugePagesSize != nil {
3840 defaultHugePagesSize := v1 .HugePageSize (* curr .Spec .HugePages .DefaultHugePagesSize )
3941 dst .Spec .HugePages .DefaultHugePagesSize = & defaultHugePagesSize
4042 }
41- dst .Spec .HugePages .Pages = make ([]v1.HugePage , len (curr .Spec .HugePages .Pages ))
42- for i , p := range curr .Spec .HugePages .Pages {
43- dst .Spec .HugePages .Pages [i ] = v1.HugePage {
44- Size : v1 .HugePageSize (p .Size ), Count : p .Count ,
45- }
46- if p .Node != nil {
47- dst .Spec .HugePages .Pages [i ].Node = pointer .Int32Ptr (* p .Node )
43+
44+ if curr .Spec .HugePages .Pages != nil {
45+ dst .Spec .HugePages .Pages = make ([]v1.HugePage , len (curr .Spec .HugePages .Pages ))
46+
47+ for i , p := range curr .Spec .HugePages .Pages {
48+ dst .Spec .HugePages .Pages [i ] = v1.HugePage {
49+ Size : v1 .HugePageSize (p .Size ), Count : p .Count ,
50+ }
51+ if p .Node != nil {
52+ dst .Spec .HugePages .Pages [i ].Node = pointer .Int32Ptr (* p .Node )
53+ }
4854 }
4955 }
5056 }
5157
52- dst .Spec .MachineConfigLabel = make (map [string ]string )
53- for k , v := range curr .Spec .MachineConfigLabel {
54- dst .Spec .MachineConfigLabel [k ] = v
58+ if curr .Spec .MachineConfigLabel != nil {
59+ dst .Spec .MachineConfigLabel = make (map [string ]string )
60+ for k , v := range curr .Spec .MachineConfigLabel {
61+ dst .Spec .MachineConfigLabel [k ] = v
62+ }
5563 }
5664
57- dst .Spec .MachineConfigPoolSelector = make (map [string ]string )
58- for k , v := range curr .Spec .MachineConfigPoolSelector {
59- dst .Spec .MachineConfigPoolSelector [k ] = v
65+ if curr .Spec .MachineConfigPoolSelector != nil {
66+ dst .Spec .MachineConfigPoolSelector = make (map [string ]string )
67+ for k , v := range curr .Spec .MachineConfigPoolSelector {
68+ dst .Spec .MachineConfigPoolSelector [k ] = v
69+ }
6070 }
6171
62- dst .Spec .NodeSelector = make (map [string ]string )
63- for k , v := range curr .Spec .NodeSelector {
64- dst .Spec .NodeSelector [k ] = v
72+ if curr .Spec .NodeSelector != nil {
73+ dst .Spec .NodeSelector = make (map [string ]string )
74+ for k , v := range curr .Spec .NodeSelector {
75+ dst .Spec .NodeSelector [k ] = v
76+ }
6577 }
6678
67- dst .Spec .RealTimeKernel = new (v1.RealTimeKernel )
6879 if curr .Spec .RealTimeKernel != nil {
80+ dst .Spec .RealTimeKernel = new (v1.RealTimeKernel )
81+
6982 if curr .Spec .RealTimeKernel .Enabled != nil {
7083 dst .Spec .RealTimeKernel .Enabled = pointer .BoolPtr (* curr .Spec .RealTimeKernel .Enabled )
7184 }
7285 }
7386
74- dst .Spec .AdditionalKernelArgs = make ([]string , len (curr .Spec .AdditionalKernelArgs ))
75- copy (dst .Spec .AdditionalKernelArgs , curr .Spec .AdditionalKernelArgs )
87+ if curr .Spec .AdditionalKernelArgs != nil {
88+ dst .Spec .AdditionalKernelArgs = make ([]string , len (curr .Spec .AdditionalKernelArgs ))
89+ copy (dst .Spec .AdditionalKernelArgs , curr .Spec .AdditionalKernelArgs )
90+ }
7691
77- dst .Spec .NUMA = new (v1.NUMA )
7892 if curr .Spec .NUMA != nil {
93+ dst .Spec .NUMA = new (v1.NUMA )
94+
7995 if curr .Spec .NUMA .TopologyPolicy != nil {
8096 dst .Spec .NUMA .TopologyPolicy = pointer .StringPtr (* curr .Spec .NUMA .TopologyPolicy )
8197 }
8298 }
8399
84100 // Status
85- dst .Status .Conditions = make ([]conditionsv1.Condition , len (curr .Status .Conditions ))
86- copy (dst .Status .Conditions , curr .Status .Conditions )
101+ if curr .Status .Conditions != nil {
102+ dst .Status .Conditions = make ([]conditionsv1.Condition , len (curr .Status .Conditions ))
103+ copy (dst .Status .Conditions , curr .Status .Conditions )
104+ }
87105
88106 if curr .Status .Tuned != nil {
89107 dst .Status .Tuned = pointer .StringPtr (* curr .Status .Tuned )
@@ -105,8 +123,9 @@ func (curr *PerformanceProfile) ConvertFrom(srcRaw conversion.Hub) error {
105123 curr .ObjectMeta = src .ObjectMeta
106124
107125 // Spec
108- curr .Spec .CPU = new (CPU )
109126 if src .Spec .CPU != nil {
127+ curr .Spec .CPU = new (CPU )
128+
110129 if src .Spec .CPU .Reserved != nil {
111130 reserved := CPUSet (* src .Spec .CPU .Reserved )
112131 curr .Spec .CPU .Reserved = & reserved
@@ -120,58 +139,74 @@ func (curr *PerformanceProfile) ConvertFrom(srcRaw conversion.Hub) error {
120139 }
121140 }
122141
123- curr .Spec .HugePages = new (HugePages )
124142 if src .Spec .HugePages != nil {
143+ curr .Spec .HugePages = new (HugePages )
144+
125145 if src .Spec .HugePages .DefaultHugePagesSize != nil {
126146 defaultHugePagesSize := HugePageSize (* src .Spec .HugePages .DefaultHugePagesSize )
127147 curr .Spec .HugePages .DefaultHugePagesSize = & defaultHugePagesSize
128148 }
129- curr .Spec .HugePages .Pages = make ([]HugePage , len (src .Spec .HugePages .Pages ))
130- for i , p := range src .Spec .HugePages .Pages {
131- curr .Spec .HugePages .Pages [i ] = HugePage {
132- Size : HugePageSize (p .Size ), Count : p .Count ,
133- }
134- if p .Node != nil {
135- curr .Spec .HugePages .Pages [i ].Node = pointer .Int32Ptr (* p .Node )
149+
150+ if src .Spec .HugePages .Pages != nil {
151+ curr .Spec .HugePages .Pages = make ([]HugePage , len (src .Spec .HugePages .Pages ))
152+ for i , p := range src .Spec .HugePages .Pages {
153+ curr .Spec .HugePages .Pages [i ] = HugePage {
154+ Size : HugePageSize (p .Size ), Count : p .Count ,
155+ }
156+ if p .Node != nil {
157+ curr .Spec .HugePages .Pages [i ].Node = pointer .Int32Ptr (* p .Node )
158+ }
136159 }
137160 }
138161 }
139162
140- curr .Spec .MachineConfigLabel = make (map [string ]string )
141- for k , v := range src .Spec .MachineConfigLabel {
142- curr .Spec .MachineConfigLabel [k ] = v
163+ if src .Spec .MachineConfigLabel != nil {
164+ curr .Spec .MachineConfigLabel = make (map [string ]string )
165+ for k , v := range src .Spec .MachineConfigLabel {
166+ curr .Spec .MachineConfigLabel [k ] = v
167+ }
143168 }
144169
145- curr .Spec .MachineConfigPoolSelector = make (map [string ]string )
146- for k , v := range src .Spec .MachineConfigPoolSelector {
147- curr .Spec .MachineConfigPoolSelector [k ] = v
170+ if src .Spec .MachineConfigPoolSelector != nil {
171+ curr .Spec .MachineConfigPoolSelector = make (map [string ]string )
172+ for k , v := range src .Spec .MachineConfigPoolSelector {
173+ curr .Spec .MachineConfigPoolSelector [k ] = v
174+ }
148175 }
149176
150- curr .Spec .NodeSelector = make (map [string ]string )
151- for k , v := range src .Spec .NodeSelector {
152- curr .Spec .NodeSelector [k ] = v
177+ if src .Spec .NodeSelector != nil {
178+ curr .Spec .NodeSelector = make (map [string ]string )
179+ for k , v := range src .Spec .NodeSelector {
180+ curr .Spec .NodeSelector [k ] = v
181+ }
153182 }
154183
155- curr .Spec .RealTimeKernel = new (RealTimeKernel )
156184 if src .Spec .RealTimeKernel != nil {
185+ curr .Spec .RealTimeKernel = new (RealTimeKernel )
186+
157187 if src .Spec .RealTimeKernel .Enabled != nil {
158188 curr .Spec .RealTimeKernel .Enabled = pointer .BoolPtr (* src .Spec .RealTimeKernel .Enabled )
159189 }
160190 }
161191
162- curr .Spec .AdditionalKernelArgs = make ([]string , len (src .Spec .AdditionalKernelArgs ))
163- copy (curr .Spec .AdditionalKernelArgs , src .Spec .AdditionalKernelArgs )
192+ if src .Spec .AdditionalKernelArgs != nil {
193+ curr .Spec .AdditionalKernelArgs = make ([]string , len (src .Spec .AdditionalKernelArgs ))
194+ copy (curr .Spec .AdditionalKernelArgs , src .Spec .AdditionalKernelArgs )
195+ }
164196
165- curr .Spec .NUMA = new (NUMA )
166197 if src .Spec .NUMA != nil {
198+ curr .Spec .NUMA = new (NUMA )
199+
167200 if src .Spec .NUMA .TopologyPolicy != nil {
168201 curr .Spec .NUMA .TopologyPolicy = pointer .StringPtr (* src .Spec .NUMA .TopologyPolicy )
169202 }
170203 }
171204
172205 // Status
173- curr .Status .Conditions = make ([]conditionsv1.Condition , len (src .Status .Conditions ))
174- copy (curr .Status .Conditions , src .Status .Conditions )
206+ if src .Status .Conditions != nil {
207+ curr .Status .Conditions = make ([]conditionsv1.Condition , len (src .Status .Conditions ))
208+ copy (curr .Status .Conditions , src .Status .Conditions )
209+ }
175210
176211 if src .Status .Tuned != nil {
177212 curr .Status .Tuned = pointer .StringPtr (* src .Status .Tuned )
0 commit comments