Skip to content

Commit cf5e5cb

Browse files
authored
Merge pull request #1003 from Nordix/standardize-networking-metrics
🏃 Standardize metrics in networking package
2 parents 6aa7494 + f752362 commit cf5e5cb

File tree

2 files changed

+73
-23
lines changed

2 files changed

+73
-23
lines changed

pkg/cloud/services/networking/client.go

Lines changed: 72 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,12 @@ func (c networkClient) RemoveRouterInterface(id string, opts routers.RemoveInter
108108
}
109109

110110
func (c networkClient) ReplaceAllAttributesTags(resourceType string, resourceID string, opts attributestags.ReplaceAllOptsBuilder) ([]string, error) {
111-
return attributestags.ReplaceAll(c.serviceClient, resourceType, resourceID, opts).Extract()
111+
mc := metrics.NewMetricPrometheusContext("attributes_tags", "replace_all")
112+
tags, err := attributestags.ReplaceAll(c.serviceClient, resourceType, resourceID, opts).Extract()
113+
if mc.ObserveRequest(err) != nil {
114+
return nil, err
115+
}
116+
return tags, nil
112117
}
113118

114119
func (c networkClient) ListRouter(opts routers.ListOpts) ([]routers.Router, error) {
@@ -140,13 +145,13 @@ func (c networkClient) CreateFloatingIP(opts floatingips.CreateOptsBuilder) (*fl
140145

141146
func (c networkClient) DeleteFloatingIP(id string) error {
142147
mc := metrics.NewMetricPrometheusContext("floating_ip", "delete")
143-
return mc.ObserveRequest(floatingips.Delete(c.serviceClient, id).ExtractErr())
148+
return mc.ObserveRequestIgnoreNotFound(floatingips.Delete(c.serviceClient, id).ExtractErr())
144149
}
145150

146151
func (c networkClient) GetFloatingIP(id string) (*floatingips.FloatingIP, error) {
147152
mc := metrics.NewMetricPrometheusContext("floating_ip", "list")
148153
fip, err := floatingips.Get(c.serviceClient, id).Extract()
149-
if mc.ObserveRequest(err) != nil {
154+
if mc.ObserveRequestIgnoreNotFound(err) != nil {
150155
return nil, err
151156
}
152157
return fip, nil
@@ -181,7 +186,7 @@ func (c networkClient) CreatePort(opts ports.CreateOptsBuilder) (*ports.Port, er
181186

182187
func (c networkClient) DeletePort(id string) error {
183188
mc := metrics.NewMetricPrometheusContext("port", "delete")
184-
return mc.ObserveRequest(ports.Delete(c.serviceClient, id).ExtractErr())
189+
return mc.ObserveRequestIgnoreNotFound(ports.Delete(c.serviceClient, id).ExtractErr())
185190
}
186191

187192
func (c networkClient) GetPort(id string) (*ports.Port, error) {
@@ -194,7 +199,12 @@ func (c networkClient) GetPort(id string) (*ports.Port, error) {
194199
}
195200

196201
func (c networkClient) UpdatePort(id string, opts ports.UpdateOptsBuilder) (*ports.Port, error) {
197-
return ports.Update(c.serviceClient, id, opts).Extract()
202+
mc := metrics.NewMetricPrometheusContext("port", "update")
203+
port, err := ports.Update(c.serviceClient, id, opts).Extract()
204+
if mc.ObserveRequest(err) != nil {
205+
return nil, err
206+
}
207+
return port, nil
198208
}
199209

200210
func (c networkClient) CreateTrunk(opts trunks.CreateOptsBuilder) (*trunks.Trunk, error) {
@@ -208,7 +218,7 @@ func (c networkClient) CreateTrunk(opts trunks.CreateOptsBuilder) (*trunks.Trunk
208218

209219
func (c networkClient) DeleteTrunk(id string) error {
210220
mc := metrics.NewMetricPrometheusContext("trunk", "delete")
211-
return mc.ObserveRequest(trunks.Delete(c.serviceClient, id).ExtractErr())
221+
return mc.ObserveRequestIgnoreNotFound(trunks.Delete(c.serviceClient, id).ExtractErr())
212222
}
213223

214224
func (c networkClient) ListTrunk(opts trunks.ListOptsBuilder) ([]trunks.Trunk, error) {
@@ -231,11 +241,16 @@ func (c networkClient) CreateRouter(opts routers.CreateOptsBuilder) (*routers.Ro
231241

232242
func (c networkClient) DeleteRouter(id string) error {
233243
mc := metrics.NewMetricPrometheusContext("router", "delete")
234-
return mc.ObserveRequest(routers.Delete(c.serviceClient, id).ExtractErr())
244+
return mc.ObserveRequestIgnoreNotFound(routers.Delete(c.serviceClient, id).ExtractErr())
235245
}
236246

237247
func (c networkClient) GetRouter(id string) (*routers.Router, error) {
238-
return routers.Get(c.serviceClient, id).Extract()
248+
mc := metrics.NewMetricPrometheusContext("router", "get")
249+
router, err := routers.Get(c.serviceClient, id).Extract()
250+
if mc.ObserveRequestIgnoreNotFound(err) != nil {
251+
return nil, err
252+
}
253+
return router, nil
239254
}
240255

241256
func (c networkClient) UpdateRouter(id string, opts routers.UpdateOptsBuilder) (*routers.Router, error) {
@@ -267,20 +282,31 @@ func (c networkClient) CreateSecGroup(opts groups.CreateOptsBuilder) (*groups.Se
267282

268283
func (c networkClient) DeleteSecGroup(id string) error {
269284
mc := metrics.NewMetricPrometheusContext("security_group", "delete")
270-
return mc.ObserveRequest(groups.Delete(c.serviceClient, id).ExtractErr())
285+
return mc.ObserveRequestIgnoreNotFound(groups.Delete(c.serviceClient, id).ExtractErr())
271286
}
272287

273288
func (c networkClient) GetSecGroup(id string) (*groups.SecGroup, error) {
274-
return groups.Get(c.serviceClient, id).Extract()
289+
mc := metrics.NewMetricPrometheusContext("security_group", "get")
290+
group, err := groups.Get(c.serviceClient, id).Extract()
291+
if mc.ObserveRequestIgnoreNotFound(err) != nil {
292+
return nil, err
293+
}
294+
return group, nil
275295
}
276296

277297
func (c networkClient) UpdateSecGroup(id string, opts groups.UpdateOptsBuilder) (*groups.SecGroup, error) {
278-
return groups.Update(c.serviceClient, id, opts).Extract()
298+
mc := metrics.NewMetricPrometheusContext("security_group", "update")
299+
group, err := groups.Update(c.serviceClient, id, opts).Extract()
300+
if mc.ObserveRequest(err) != nil {
301+
return nil, err
302+
}
303+
return group, nil
279304
}
280305

281306
func (c networkClient) ListSecGroupRule(opts rules.ListOpts) ([]rules.SecGroupRule, error) {
307+
mc := metrics.NewMetricPrometheusContext("security_group_rule", "list")
282308
allPages, err := rules.List(c.serviceClient, opts).AllPages()
283-
if err != nil {
309+
if mc.ObserveRequest(err) != nil {
284310
return nil, err
285311
}
286312
return rules.ExtractRules(allPages)
@@ -297,11 +323,16 @@ func (c networkClient) CreateSecGroupRule(opts rules.CreateOptsBuilder) (*rules.
297323

298324
func (c networkClient) DeleteSecGroupRule(id string) error {
299325
mc := metrics.NewMetricPrometheusContext("security_group_rule", "delete")
300-
return mc.ObserveRequest(rules.Delete(c.serviceClient, id).ExtractErr())
326+
return mc.ObserveRequestIgnoreNotFound(rules.Delete(c.serviceClient, id).ExtractErr())
301327
}
302328

303329
func (c networkClient) GetSecGroupRule(id string) (*rules.SecGroupRule, error) {
304-
return rules.Get(c.serviceClient, id).Extract()
330+
mc := metrics.NewMetricPrometheusContext("security_group_rule", "get")
331+
rule, err := rules.Get(c.serviceClient, id).Extract()
332+
if mc.ObserveRequestIgnoreNotFound(err) != nil {
333+
return nil, err
334+
}
335+
return rule, nil
305336
}
306337

307338
func (c networkClient) ListNetwork(opts networks.ListOptsBuilder) ([]networks.Network, error) {
@@ -324,15 +355,25 @@ func (c networkClient) CreateNetwork(opts networks.CreateOptsBuilder) (*networks
324355

325356
func (c networkClient) DeleteNetwork(id string) error {
326357
mc := metrics.NewMetricPrometheusContext("network", "delete")
327-
return mc.ObserveRequest(networks.Delete(c.serviceClient, id).ExtractErr())
358+
return mc.ObserveRequestIgnoreNotFound(networks.Delete(c.serviceClient, id).ExtractErr())
328359
}
329360

330361
func (c networkClient) GetNetwork(id string) (*networks.Network, error) {
331-
return networks.Get(c.serviceClient, id).Extract()
362+
mc := metrics.NewMetricPrometheusContext("network", "get")
363+
net, err := networks.Get(c.serviceClient, id).Extract()
364+
if mc.ObserveRequestIgnoreNotFound(err) != nil {
365+
return nil, err
366+
}
367+
return net, nil
332368
}
333369

334370
func (c networkClient) UpdateNetwork(id string, opts networks.UpdateOptsBuilder) (*networks.Network, error) {
335-
return networks.Update(c.serviceClient, id, opts).Extract()
371+
mc := metrics.NewMetricPrometheusContext("network", "update")
372+
net, err := networks.Update(c.serviceClient, id, opts).Extract()
373+
if mc.ObserveRequest(err) != nil {
374+
return nil, err
375+
}
376+
return net, nil
336377
}
337378

338379
func (c networkClient) ListSubnet(opts subnets.ListOptsBuilder) ([]subnets.Subnet, error) {
@@ -354,15 +395,26 @@ func (c networkClient) CreateSubnet(opts subnets.CreateOptsBuilder) (*subnets.Su
354395
}
355396

356397
func (c networkClient) DeleteSubnet(id string) error {
357-
return subnets.Delete(c.serviceClient, id).ExtractErr()
398+
mc := metrics.NewMetricPrometheusContext("subnet", "delete")
399+
return mc.ObserveRequestIgnoreNotFound(subnets.Delete(c.serviceClient, id).ExtractErr())
358400
}
359401

360402
func (c networkClient) GetSubnet(id string) (*subnets.Subnet, error) {
361-
return subnets.Get(c.serviceClient, id).Extract()
403+
mc := metrics.NewMetricPrometheusContext("subnet", "get")
404+
subnet, err := subnets.Get(c.serviceClient, id).Extract()
405+
if mc.ObserveRequestIgnoreNotFound(err) != nil {
406+
return nil, err
407+
}
408+
return subnet, nil
362409
}
363410

364411
func (c networkClient) UpdateSubnet(id string, opts subnets.UpdateOptsBuilder) (*subnets.Subnet, error) {
365-
return subnets.Update(c.serviceClient, id, opts).Extract()
412+
mc := metrics.NewMetricPrometheusContext("subnet", "update")
413+
subnet, err := subnets.Update(c.serviceClient, id, opts).Extract()
414+
if mc.ObserveRequest(err) != nil {
415+
return nil, err
416+
}
417+
return subnet, nil
366418
}
367419

368420
func (c networkClient) ListExtensions() ([]extensions.Extension, error) {

pkg/cloud/services/networking/trunk.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import (
2525
"k8s.io/apimachinery/pkg/runtime"
2626
"sigs.k8s.io/cluster-api/util"
2727

28-
"sigs.k8s.io/cluster-api-provider-openstack/pkg/metrics"
2928
"sigs.k8s.io/cluster-api-provider-openstack/pkg/record"
3029
capoerrors "sigs.k8s.io/cluster-api-provider-openstack/pkg/utils/errors"
3130
"sigs.k8s.io/cluster-api-provider-openstack/pkg/utils/names"
@@ -80,11 +79,10 @@ func (s *Service) getOrCreateTrunk(eventObject runtime.Object, clusterName, trun
8079
}
8180

8281
func (s *Service) replaceAllAttributesTags(eventObject runtime.Object, trunkID string, tags []string) error {
83-
mc := metrics.NewMetricPrometheusContext("trunk", "update")
8482
_, err := s.client.ReplaceAllAttributesTags("trunks", trunkID, attributestags.ReplaceAllOpts{
8583
Tags: tags,
8684
})
87-
if mc.ObserveRequest(err) != nil {
85+
if err != nil {
8886
record.Warnf(eventObject, "FailedReplaceAllAttributesTags", "Failed to replace all attributestags, trunk %s: %v", trunkID, err)
8987
return err
9088
}

0 commit comments

Comments
 (0)