diff --git a/controllers/datadogslo/slo.go b/controllers/datadogslo/slo.go index feb8aa7c0..fc69ad980 100644 --- a/controllers/datadogslo/slo.go +++ b/controllers/datadogslo/slo.go @@ -10,6 +10,7 @@ import ( "errors" "fmt" "net/url" + "strconv" datadogapi "github.com/DataDog/datadog-api-client-go/v2/api/datadog" "github.com/DataDog/datadog-api-client-go/v2/api/datadogV1" @@ -73,12 +74,13 @@ func buildThreshold(sloSpec v1alpha1.DatadogSLOSpec) []datadogV1.SLOThreshold { var warningThreshold *float64 if sloSpec.WarningThreshold != nil { - approxFloat := sloSpec.WarningThreshold.AsApproximateFloat64() - warningThreshold = &approxFloat + convertedFloat, _ := strconv.ParseFloat(sloSpec.WarningThreshold.AsDec().String(), 64) + warningThreshold = &convertedFloat } + convertedFloat, _ := strconv.ParseFloat(sloSpec.TargetThreshold.AsDec().String(), 64) threshold := datadogV1.SLOThreshold{ - Target: sloSpec.TargetThreshold.AsApproximateFloat64(), + Target: convertedFloat, Timeframe: *timeframe, Warning: warningThreshold, } diff --git a/controllers/datadogslo/slo_test.go b/controllers/datadogslo/slo_test.go index bdc64c7ee..57c99c553 100644 --- a/controllers/datadogslo/slo_test.go +++ b/controllers/datadogslo/slo_test.go @@ -27,11 +27,11 @@ func Test_buildThreshold(t *testing.T) { mockSpec: v1alpha1.DatadogSLOSpec{ Name: "test", Timeframe: "7d", - TargetThreshold: resource.MustParse("99.9"), + TargetThreshold: resource.MustParse("99990m"), }, expectedResult: []datadogV1.SLOThreshold{ { - Target: 99.9, + Target: 99.99, Timeframe: datadogV1.SLOTimeframe("7d"), }, }, @@ -41,14 +41,14 @@ func Test_buildThreshold(t *testing.T) { mockSpec: v1alpha1.DatadogSLOSpec{ Name: "test", Timeframe: "30d", - TargetThreshold: resource.MustParse("99.9"), - WarningThreshold: ptrResourceQuantity(resource.MustParse("95.9")), + TargetThreshold: resource.MustParse("99.999"), + WarningThreshold: ptrResourceQuantity(resource.MustParse("95.010001")), }, expectedResult: []datadogV1.SLOThreshold{ { - Target: 99.9, + Target: 99.999, Timeframe: datadogV1.SLOTimeframe("30d"), - Warning: float64Ptr(95.9), + Warning: float64Ptr(95.010001), }, }, },