Skip to content

Commit e9af9f3

Browse files
committed
Revert "utils prometheusmetrics: convert gauges to counters (#3093)"
This reverts commit d57c443.
1 parent afb39ab commit e9af9f3

File tree

6 files changed

+35
-230
lines changed

6 files changed

+35
-230
lines changed

go.mod

-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,6 @@ require (
105105
github.com/josharian/intern v1.0.0 // indirect
106106
github.com/json-iterator/go v1.1.12 // indirect
107107
github.com/klauspost/compress v1.17.9 // indirect
108-
github.com/kylelemons/godebug v1.1.0 // indirect
109108
github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 // indirect
110109
github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 // indirect
111110
github.com/lib/pq v1.10.9 // indirect

pkg/awsutils/awsutils_test.go

-30
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,13 @@ import (
2626
"github.com/aws/aws-sdk-go/aws/request"
2727
"github.com/aws/aws-sdk-go/service/ec2"
2828
"github.com/golang/mock/gomock"
29-
"github.com/prometheus/client_golang/prometheus"
30-
"github.com/prometheus/client_golang/prometheus/testutil"
3129
"github.com/stretchr/testify/assert"
3230

3331
"github.com/aws/aws-sdk-go/aws"
3432
"github.com/aws/aws-sdk-go/aws/awserr"
3533

3634
mock_ec2wrapper "github.com/aws/amazon-vpc-cni-k8s/pkg/ec2wrapper/mocks"
3735
"github.com/aws/amazon-vpc-cni-k8s/pkg/utils/eventrecorder"
38-
"github.com/aws/amazon-vpc-cni-k8s/utils/prometheusmetrics"
3936
v1 "k8s.io/api/core/v1"
4037
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
4138
)
@@ -803,33 +800,6 @@ func TestFreeENIRetry(t *testing.T) {
803800
assert.NoError(t, err)
804801
}
805802

806-
func TestAwsAPIErrInc(t *testing.T) {
807-
// Reset metrics before test
808-
prometheusmetrics.AwsAPIErr.Reset()
809-
810-
// Test case 1: AWS error
811-
awsErr := awserr.New("InvalidParameterException", "The parameter is invalid", nil)
812-
awsAPIErrInc("CreateNetworkInterface", awsErr)
813-
814-
// Verify metric was incremented with correct labels
815-
count := testutil.ToFloat64(prometheusmetrics.AwsAPIErr.With(prometheus.Labels{
816-
"api": "CreateNetworkInterface",
817-
"error": "InvalidParameterException",
818-
}))
819-
assert.Equal(t, float64(1), count)
820-
821-
// Test case 2: Non-AWS error
822-
regularErr := errors.New("some other error")
823-
awsAPIErrInc("CreateNetworkInterface", regularErr)
824-
825-
// Verify metric was not incremented for non-AWS error
826-
count = testutil.ToFloat64(prometheusmetrics.AwsAPIErr.With(prometheus.Labels{
827-
"api": "CreateNetworkInterface",
828-
"error": "InvalidParameterException",
829-
}))
830-
assert.Equal(t, float64(1), count)
831-
}
832-
833803
func TestFreeENIRetryMax(t *testing.T) {
834804
ctrl, mockEC2 := setup(t)
835805
defer ctrl.Finish()

pkg/ipamd/datastore/data_store_test.go

-73
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import (
2222

2323
mock_netlinkwrapper "github.com/aws/amazon-vpc-cni-k8s/pkg/netlinkwrapper/mocks"
2424
"github.com/aws/amazon-vpc-cni-k8s/pkg/networkutils"
25-
"github.com/aws/amazon-vpc-cni-k8s/utils/prometheusmetrics"
2625
"github.com/golang/mock/gomock"
2726
"github.com/vishvananda/netlink"
2827
"golang.org/x/sys/unix"
@@ -32,8 +31,6 @@ import (
3231

3332
"github.com/aws/amazon-vpc-cni-k8s/pkg/utils/logger"
3433

35-
"github.com/prometheus/client_golang/prometheus"
36-
"github.com/prometheus/client_golang/prometheus/testutil"
3734
"github.com/stretchr/testify/assert"
3835
)
3936

@@ -1545,73 +1542,3 @@ func TestDataStore_validateAllocationByPodVethExistence(t *testing.T) {
15451542
})
15461543
}
15471544
}
1548-
1549-
func TestForceRemovalMetrics(t *testing.T) {
1550-
// Reset metrics by creating new counters
1551-
prometheusmetrics.ForceRemovedENIs = prometheus.NewCounter(prometheus.CounterOpts{
1552-
Name: "awscni_force_removed_enis_total",
1553-
Help: "The total number of ENIs force removed",
1554-
})
1555-
prometheusmetrics.ForceRemovedIPs = prometheus.NewCounter(prometheus.CounterOpts{
1556-
Name: "awscni_force_removed_ips_total",
1557-
Help: "The total number of IPs force removed",
1558-
})
1559-
1560-
ds := NewDataStore(Testlog, NullCheckpoint{}, false)
1561-
1562-
// Add an ENI and IP
1563-
err := ds.AddENI("eni-1", 1, true, false, false)
1564-
assert.NoError(t, err)
1565-
1566-
ipv4Addr := net.IPNet{IP: net.ParseIP("1.1.1.1"), Mask: net.IPv4Mask(255, 255, 255, 255)}
1567-
err = ds.AddIPv4CidrToStore("eni-1", ipv4Addr, false)
1568-
assert.NoError(t, err)
1569-
1570-
// Assign IP to a pod
1571-
key := IPAMKey{"net0", "sandbox-1", "eth0"}
1572-
ip, device, err := ds.AssignPodIPv4Address(key, IPAMMetadata{K8SPodNamespace: "default", K8SPodName: "sample-pod-1"})
1573-
assert.NoError(t, err)
1574-
assert.Equal(t, "1.1.1.1", ip)
1575-
assert.Equal(t, 1, device)
1576-
1577-
// Test force removal of IP
1578-
err = ds.DelIPv4CidrFromStore("eni-1", ipv4Addr, false)
1579-
assert.Error(t, err) // Should fail without force
1580-
assert.Contains(t, err.Error(), "IP is used and can not be deleted")
1581-
1582-
ipCount := testutil.ToFloat64(prometheusmetrics.ForceRemovedIPs)
1583-
assert.Equal(t, float64(0), ipCount)
1584-
1585-
// Force remove the IP
1586-
err = ds.DelIPv4CidrFromStore("eni-1", ipv4Addr, true)
1587-
assert.NoError(t, err) // Should succeed with force
1588-
1589-
ipCount = testutil.ToFloat64(prometheusmetrics.ForceRemovedIPs)
1590-
assert.Equal(t, float64(1), ipCount)
1591-
1592-
// Add another IP and assign to pod for ENI removal test
1593-
ipv4Addr2 := net.IPNet{IP: net.ParseIP("1.1.1.2"), Mask: net.IPv4Mask(255, 255, 255, 255)}
1594-
err = ds.AddIPv4CidrToStore("eni-1", ipv4Addr2, false)
1595-
assert.NoError(t, err)
1596-
1597-
key2 := IPAMKey{"net0", "sandbox-2", "eth0"}
1598-
ip, device, err = ds.AssignPodIPv4Address(key2, IPAMMetadata{K8SPodNamespace: "default", K8SPodName: "sample-pod-2"})
1599-
assert.NoError(t, err)
1600-
assert.Equal(t, "1.1.1.2", ip)
1601-
assert.Equal(t, 1, device)
1602-
1603-
// Test force removal of ENI
1604-
err = ds.RemoveENIFromDataStore("eni-1", false)
1605-
assert.Error(t, err) // Should fail without force
1606-
assert.Contains(t, err.Error(), "datastore: ENI is used and can not be deleted") // Updated error message
1607-
1608-
eniCount := testutil.ToFloat64(prometheusmetrics.ForceRemovedENIs)
1609-
assert.Equal(t, float64(0), eniCount)
1610-
1611-
// Force remove the ENI
1612-
err = ds.RemoveENIFromDataStore("eni-1", true)
1613-
assert.NoError(t, err) // Should succeed with force
1614-
1615-
eniCount = testutil.ToFloat64(prometheusmetrics.ForceRemovedENIs)
1616-
assert.Equal(t, float64(1), eniCount)
1617-
}

0 commit comments

Comments
 (0)