Updating Errors, and adding license

This commit is contained in:
John Delivuk 2019-02-22 10:04:10 -05:00
parent 8ef8c8a291
commit 980bc01d67
No known key found for this signature in database
GPG key ID: 8597474A0655625E
3 changed files with 27 additions and 15 deletions

View file

@ -3,19 +3,19 @@ package provider
import "errors" import "errors"
var ( var (
// ErrNewOperatorNotSupportedByPrometheus creates an error that represents the fact that we were requested to service a query that // ErrUnsupportedOperator creates an error that represents the fact that we were requested to service a query that
// Prometheus would be unable to support. // Prometheus would be unable to support.
ErrNewOperatorNotSupportedByPrometheus = errors.New("operator not supported by prometheus") ErrUnsupportedOperator = errors.New("operator not supported by prometheus")
// ErrNewOperatorRequiresValues creates an error that represents the fact that we were requested to service a query // ErrMalformedQuery creates an error that represents the fact that we were requested to service a query
// that was malformed in its operator/value combination. // that was malformed in its operator/value combination.
ErrNewOperatorRequiresValues = errors.New("operator requires values") ErrMalformedQuery = errors.New("operator requires values")
// ErrNewOperatorDoesNotSupportValues creates an error that represents the fact that we were requested to service a query // ErrQueryUnsupportedValues creates an error that represents an unsupported return value from the
// that was malformed in its operator/value combination. // specified query.
ErrNewOperatorDoesNotSupportValues = errors.New("operator does not support values") ErrQueryUnsupportedValues = errors.New("operator does not support values")
// ErrNewLabelNotSpecified creates an error that represents the fact that we were requested to service a query // ErrLabelNotSpecified creates an error that represents the fact that we were requested to service a query
// that was malformed in its label specification. // that was malformed in its label specification.
ErrNewLabelNotSpecified = errors.New("label not specified") ErrLabelNotSpecified = errors.New("label not specified")
) )

View file

@ -1,3 +1,16 @@
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package provider package provider
import ( import (
@ -21,7 +34,6 @@ import (
"github.com/directxman12/k8s-prometheus-adapter/pkg/naming" "github.com/directxman12/k8s-prometheus-adapter/pkg/naming"
) )
// TODO: Make sure everything has the proper licensing disclosure at the top.
type externalPrometheusProvider struct { type externalPrometheusProvider struct {
promClient prom.Client promClient prom.Client
metricConverter MetricConverter metricConverter MetricConverter

View file

@ -92,11 +92,11 @@ func (n *queryBuilder) processQueryParts(queryParts []queryPart) ([]string, map[
// We obviously can't generate label filters for these cases. // We obviously can't generate label filters for these cases.
fmt.Println("This is queryPart", qPart.labelName, qPart.operator, qPart.values) fmt.Println("This is queryPart", qPart.labelName, qPart.operator, qPart.values)
if qPart.labelName == "" { if qPart.labelName == "" {
return nil, nil, ErrNewLabelNotSpecified return nil, nil, ErrLabelNotSpecified
} }
if !n.operatorIsSupported(qPart.operator) { if !n.operatorIsSupported(qPart.operator) {
return nil, nil, ErrNewOperatorNotSupportedByPrometheus return nil, nil, ErrUnsupportedOperator
} }
matcher, err := n.selectMatcher(qPart.operator, qPart.values) matcher, err := n.selectMatcher(qPart.operator, qPart.values)
@ -128,7 +128,7 @@ func (n *queryBuilder) selectMatcher(operator selection.Operator, values []strin
case selection.DoesNotExist: case selection.DoesNotExist:
return prom.LabelEq, nil return prom.LabelEq, nil
case selection.Equals, selection.DoubleEquals, selection.NotEquals, selection.In, selection.NotIn: case selection.Equals, selection.DoubleEquals, selection.NotEquals, selection.In, selection.NotIn:
return nil, ErrNewOperatorRequiresValues return nil, ErrMalformedQuery
} }
} else if numValues == 1 { } else if numValues == 1 {
switch operator { switch operator {
@ -168,7 +168,7 @@ func (n *queryBuilder) selectTargetValue(operator selection.Operator, values []s
// whose value is NOT "". // whose value is NOT "".
return "", nil return "", nil
case selection.Equals, selection.DoubleEquals, selection.NotEquals, selection.In, selection.NotIn: case selection.Equals, selection.DoubleEquals, selection.NotEquals, selection.In, selection.NotIn:
return "", ErrNewOperatorRequiresValues return "", ErrMalformedQuery
} }
} else if numValues == 1 { } else if numValues == 1 {
switch operator { switch operator {
@ -194,7 +194,7 @@ func (n *queryBuilder) selectTargetValue(operator selection.Operator, values []s
// for their label selector. // for their label selector.
return strings.Join(values, "|"), nil return strings.Join(values, "|"), nil
case selection.Exists, selection.DoesNotExist: case selection.Exists, selection.DoesNotExist:
return "", ErrNewOperatorDoesNotSupportValues return "", ErrQueryUnsupportedValues
} }
} }