@@ -28,7 +28,6 @@ import (
28
28
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
29
29
30
30
"github.com/apache/cloudstack-go/v2/cloudstack"
31
- "github.com/hashicorp/go-multierror"
32
31
"github.com/pkg/errors"
33
32
corev1 "k8s.io/api/core/v1"
34
33
infrav1 "sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta3"
@@ -91,27 +90,27 @@ func (c *client) ResolveServiceOffering(csMachine *infrav1.CloudStackMachine, zo
91
90
csOffering , count , err := c .cs .ServiceOffering .GetServiceOfferingByID (csMachine .Spec .Offering .ID , cloudstack .WithProject (c .user .Project .ID ))
92
91
if err != nil {
93
92
c .customMetrics .EvaluateErrorAndIncrementAcsReconciliationErrorCounter (err )
94
- return cloudstack.ServiceOffering {}, multierror . Append ( retErr , errors .Wrapf (
95
- err , "could not get Service Offering by ID %s" , csMachine .Spec .Offering .ID ))
93
+ return cloudstack.ServiceOffering {}, errors .Wrapf (
94
+ err , "could not get Service Offering by ID %s" , csMachine .Spec .Offering .ID )
96
95
} else if count != 1 {
97
- return * csOffering , multierror . Append ( retErr , errors .Errorf (
98
- "expected 1 Service Offering with UUID %s, but got %d" , csMachine .Spec .Offering .ID , count ))
96
+ return * csOffering , errors .Errorf (
97
+ "expected 1 Service Offering with UUID %s, but got %d" , csMachine .Spec .Offering .ID , count )
99
98
}
100
99
101
100
if len (csMachine .Spec .Offering .Name ) > 0 && csMachine .Spec .Offering .Name != csOffering .Name {
102
- return * csOffering , multierror . Append ( retErr , errors .Errorf (
103
- "offering name %s does not match name %s returned using UUID %s" , csMachine .Spec .Offering .Name , csOffering .Name , csMachine .Spec .Offering .ID ))
101
+ return * csOffering , errors .Errorf (
102
+ "offering name %s does not match name %s returned using UUID %s" , csMachine .Spec .Offering .Name , csOffering .Name , csMachine .Spec .Offering .ID )
104
103
}
105
104
return * csOffering , nil
106
105
}
107
106
csOffering , count , err := c .cs .ServiceOffering .GetServiceOfferingByName (csMachine .Spec .Offering .Name , cloudstack .WithZone (zoneID ), cloudstack .WithProject (c .user .Project .ID ))
108
107
if err != nil {
109
108
c .customMetrics .EvaluateErrorAndIncrementAcsReconciliationErrorCounter (err )
110
- return cloudstack.ServiceOffering {}, multierror . Append ( retErr , errors .Wrapf (
111
- err , "could not get Service Offering ID from %s in zone %s" , csMachine .Spec .Offering .Name , zoneID ))
109
+ return cloudstack.ServiceOffering {}, errors .Wrapf (
110
+ err , "could not get Service Offering ID from %s in zone %s" , csMachine .Spec .Offering .Name , zoneID )
112
111
} else if count != 1 {
113
- return * csOffering , multierror . Append ( retErr , errors .Errorf (
114
- "expected 1 Service Offering with name %s in zone %s, but got %d" , csMachine .Spec .Offering .Name , zoneID , count ))
112
+ return * csOffering , errors .Errorf (
113
+ "expected 1 Service Offering with name %s in zone %s, but got %d" , csMachine .Spec .Offering .Name , zoneID , count )
115
114
}
116
115
return * csOffering , nil
117
116
}
@@ -124,27 +123,25 @@ func (c *client) ResolveTemplate(
124
123
csTemplate , count , err := c .cs .Template .GetTemplateByID (csMachine .Spec .Template .ID , "executable" , cloudstack .WithProject (c .user .Project .ID ))
125
124
if err != nil {
126
125
c .customMetrics .EvaluateErrorAndIncrementAcsReconciliationErrorCounter (err )
127
- return "" , multierror .Append (retErr , errors .Wrapf (
128
- err , "could not get Template by ID %s" , csMachine .Spec .Template .ID ))
126
+ return "" , errors .Wrapf (err , "could not get Template by ID %s" , csMachine .Spec .Template .ID )
129
127
} else if count != 1 {
130
- return "" , multierror . Append ( retErr , errors .Errorf (
131
- "expected 1 Template with UUID %s, but got %d" , csMachine .Spec .Template .ID , count ))
128
+ return "" , errors .Errorf (
129
+ "expected 1 Template with UUID %s, but got %d" , csMachine .Spec .Template .ID , count )
132
130
}
133
131
134
132
if len (csMachine .Spec .Template .Name ) > 0 && csMachine .Spec .Template .Name != csTemplate .Name {
135
- return "" , multierror . Append ( retErr , errors .Errorf (
136
- "template name %s does not match name %s returned using UUID %s" , csMachine .Spec .Template .Name , csTemplate .Name , csMachine .Spec .Template .ID ))
133
+ return "" , errors .Errorf (
134
+ "template name %s does not match name %s returned using UUID %s" , csMachine .Spec .Template .Name , csTemplate .Name , csMachine .Spec .Template .ID )
137
135
}
138
136
return csMachine .Spec .Template .ID , nil
139
137
}
140
138
templateID , count , err := c .cs .Template .GetTemplateID (csMachine .Spec .Template .Name , "executable" , zoneID , cloudstack .WithProject (c .user .Project .ID ))
141
139
if err != nil {
142
140
c .customMetrics .EvaluateErrorAndIncrementAcsReconciliationErrorCounter (err )
143
- return "" , multierror .Append (retErr , errors .Wrapf (
144
- err , "could not get Template ID from %s" , csMachine .Spec .Template .Name ))
141
+ return "" , errors .Wrapf (err , "could not get Template ID from %s" , csMachine .Spec .Template .Name )
145
142
} else if count != 1 {
146
- return "" , multierror . Append ( retErr , errors .Errorf (
147
- "expected 1 Template with name %s, but got %d" , csMachine .Spec .Template .Name , count ))
143
+ return "" , errors .Errorf (
144
+ "expected 1 Template with name %s, but got %d" , csMachine .Spec .Template .Name , count )
148
145
}
149
146
return templateID , nil
150
147
}
@@ -158,50 +155,48 @@ func (c *client) ResolveDiskOffering(csMachine *infrav1.CloudStackMachine, zoneI
158
155
diskID , count , err := c .cs .DiskOffering .GetDiskOfferingID (csMachine .Spec .DiskOffering .Name , cloudstack .WithZone (zoneID ), cloudstack .WithProject (c .user .Project .ID ))
159
156
if err != nil {
160
157
c .customMetrics .EvaluateErrorAndIncrementAcsReconciliationErrorCounter (err )
161
- return "" , multierror .Append (retErr , errors .Wrapf (
162
- err , "could not get DiskOffering ID from %s" , csMachine .Spec .DiskOffering .Name ))
158
+ return "" , errors .Wrapf (err , "could not get DiskOffering ID from %s" , csMachine .Spec .DiskOffering .Name )
163
159
} else if count != 1 {
164
- return "" , multierror . Append ( retErr , errors .Errorf (
165
- "expected 1 DiskOffering with name %s in zone %s, but got %d" , csMachine .Spec .DiskOffering .Name , zoneID , count ))
160
+ return "" , errors .Errorf (
161
+ "expected 1 DiskOffering with name %s in zone %s, but got %d" , csMachine .Spec .DiskOffering .Name , zoneID , count )
166
162
} else if len (csMachine .Spec .DiskOffering .ID ) > 0 && diskID != csMachine .Spec .DiskOffering .ID {
167
- return "" , multierror . Append ( retErr , errors .Errorf (
163
+ return "" , errors .Errorf (
168
164
"diskOffering ID %s does not match ID %s returned using name %s in zone %s" ,
169
- csMachine .Spec .DiskOffering .ID , diskID , csMachine .Spec .DiskOffering .Name , zoneID ))
165
+ csMachine .Spec .DiskOffering .ID , diskID , csMachine .Spec .DiskOffering .Name , zoneID )
170
166
} else if len (diskID ) == 0 {
171
- return "" , multierror . Append ( retErr , errors .Errorf (
167
+ return "" , errors .Errorf (
172
168
"empty diskOffering ID %s returned using name %s in zone %s" ,
173
- diskID , csMachine .Spec .DiskOffering .Name , zoneID ))
169
+ diskID , csMachine .Spec .DiskOffering .Name , zoneID )
174
170
}
175
171
diskOfferingID = diskID
176
172
}
177
173
if len (diskOfferingID ) == 0 {
178
174
return "" , nil
179
175
}
180
176
181
- return verifyDiskoffering (csMachine , c , diskOfferingID , retErr )
177
+ return verifyDiskoffering (csMachine , c , diskOfferingID )
182
178
}
183
179
184
- func verifyDiskoffering (csMachine * infrav1.CloudStackMachine , c * client , diskOfferingID string , retErr error ) (string , error ) {
180
+ func verifyDiskoffering (csMachine * infrav1.CloudStackMachine , c * client , diskOfferingID string ) (string , error ) {
185
181
csDiskOffering , count , err := c .cs .DiskOffering .GetDiskOfferingByID (diskOfferingID , cloudstack .WithProject (c .user .Project .ID ))
186
182
if err != nil {
187
183
c .customMetrics .EvaluateErrorAndIncrementAcsReconciliationErrorCounter (err )
188
- return "" , multierror .Append (retErr , errors .Wrapf (
189
- err , "could not get DiskOffering by ID %s" , diskOfferingID ))
184
+ return "" , errors .Wrapf (err , "could not get DiskOffering by ID %s" , diskOfferingID )
190
185
} else if count != 1 {
191
- return "" , multierror . Append ( retErr , errors .Errorf (
192
- "expected 1 DiskOffering with UUID %s, but got %d" , diskOfferingID , count ))
186
+ return "" , errors .Errorf (
187
+ "expected 1 DiskOffering with UUID %s, but got %d" , diskOfferingID , count )
193
188
}
194
189
195
190
if csDiskOffering .Iscustomized && csMachine .Spec .DiskOffering .CustomSize == 0 {
196
- return "" , multierror . Append ( retErr , errors .Errorf (
191
+ return "" , errors .Errorf (
197
192
"diskOffering with UUID %s is customized, disk size can not be 0 GB" ,
198
- diskOfferingID ))
193
+ diskOfferingID )
199
194
}
200
195
201
196
if ! csDiskOffering .Iscustomized && csMachine .Spec .DiskOffering .CustomSize > 0 {
202
- return "" , multierror . Append ( retErr , errors .Errorf (
197
+ return "" , errors .Errorf (
203
198
"diskOffering with UUID %s is not customized, disk size can not be specified" ,
204
- diskOfferingID ))
199
+ diskOfferingID )
205
200
}
206
201
return diskOfferingID , nil
207
202
}
0 commit comments