mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 20:53:33 +00:00
Merge pull request #111628 from thockin/master
Remove some unused functions
This commit is contained in:
commit
6ce72e1198
@ -27,7 +27,6 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/conversion"
|
"k8s.io/apimachinery/pkg/conversion"
|
||||||
"k8s.io/apimachinery/pkg/fields"
|
"k8s.io/apimachinery/pkg/fields"
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
"k8s.io/apimachinery/pkg/selection"
|
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
"k8s.io/apimachinery/pkg/util/validation"
|
"k8s.io/apimachinery/pkg/util/validation"
|
||||||
"k8s.io/kubernetes/pkg/apis/core"
|
"k8s.io/kubernetes/pkg/apis/core"
|
||||||
@ -361,72 +360,6 @@ func ContainsAccessMode(modes []core.PersistentVolumeAccessMode, mode core.Persi
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
// NodeSelectorRequirementsAsSelector converts the []NodeSelectorRequirement core type into a struct that implements
|
|
||||||
// labels.Selector.
|
|
||||||
func NodeSelectorRequirementsAsSelector(nsm []core.NodeSelectorRequirement) (labels.Selector, error) {
|
|
||||||
if len(nsm) == 0 {
|
|
||||||
return labels.Nothing(), nil
|
|
||||||
}
|
|
||||||
selector := labels.NewSelector()
|
|
||||||
for _, expr := range nsm {
|
|
||||||
var op selection.Operator
|
|
||||||
switch expr.Operator {
|
|
||||||
case core.NodeSelectorOpIn:
|
|
||||||
op = selection.In
|
|
||||||
case core.NodeSelectorOpNotIn:
|
|
||||||
op = selection.NotIn
|
|
||||||
case core.NodeSelectorOpExists:
|
|
||||||
op = selection.Exists
|
|
||||||
case core.NodeSelectorOpDoesNotExist:
|
|
||||||
op = selection.DoesNotExist
|
|
||||||
case core.NodeSelectorOpGt:
|
|
||||||
op = selection.GreaterThan
|
|
||||||
case core.NodeSelectorOpLt:
|
|
||||||
op = selection.LessThan
|
|
||||||
default:
|
|
||||||
return nil, fmt.Errorf("%q is not a valid node selector operator", expr.Operator)
|
|
||||||
}
|
|
||||||
r, err := labels.NewRequirement(expr.Key, op, expr.Values)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
selector = selector.Add(*r)
|
|
||||||
}
|
|
||||||
return selector, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// NodeSelectorRequirementsAsFieldSelector converts the []NodeSelectorRequirement core type into a struct that implements
|
|
||||||
// fields.Selector.
|
|
||||||
func NodeSelectorRequirementsAsFieldSelector(nsm []core.NodeSelectorRequirement) (fields.Selector, error) {
|
|
||||||
if len(nsm) == 0 {
|
|
||||||
return fields.Nothing(), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
selectors := []fields.Selector{}
|
|
||||||
for _, expr := range nsm {
|
|
||||||
switch expr.Operator {
|
|
||||||
case core.NodeSelectorOpIn:
|
|
||||||
if len(expr.Values) != 1 {
|
|
||||||
return nil, fmt.Errorf("unexpected number of value (%d) for node field selector operator %q",
|
|
||||||
len(expr.Values), expr.Operator)
|
|
||||||
}
|
|
||||||
selectors = append(selectors, fields.OneTermEqualSelector(expr.Key, expr.Values[0]))
|
|
||||||
|
|
||||||
case core.NodeSelectorOpNotIn:
|
|
||||||
if len(expr.Values) != 1 {
|
|
||||||
return nil, fmt.Errorf("unexpected number of value (%d) for node field selector operator %q",
|
|
||||||
len(expr.Values), expr.Operator)
|
|
||||||
}
|
|
||||||
selectors = append(selectors, fields.OneTermNotEqualSelector(expr.Key, expr.Values[0]))
|
|
||||||
|
|
||||||
default:
|
|
||||||
return nil, fmt.Errorf("%q is not a valid node field selector operator", expr.Operator)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return fields.AndSelectors(selectors...), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetTolerationsFromPodAnnotations gets the json serialized tolerations data from Pod.Annotations
|
// GetTolerationsFromPodAnnotations gets the json serialized tolerations data from Pod.Annotations
|
||||||
// and converts it to the []Toleration type in core.
|
// and converts it to the []Toleration type in core.
|
||||||
func GetTolerationsFromPodAnnotations(annotations map[string]string) ([]core.Toleration, error) {
|
func GetTolerationsFromPodAnnotations(annotations map[string]string) ([]core.Toleration, error) {
|
||||||
|
@ -17,11 +17,9 @@ limitations under the License.
|
|||||||
package helper
|
package helper
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"reflect"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"k8s.io/apimachinery/pkg/api/resource"
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/core"
|
"k8s.io/kubernetes/pkg/apis/core"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -135,70 +133,6 @@ func TestRemoveDuplicateAccessModes(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestNodeSelectorRequirementsAsSelector(t *testing.T) {
|
|
||||||
matchExpressions := []core.NodeSelectorRequirement{{
|
|
||||||
Key: "foo",
|
|
||||||
Operator: core.NodeSelectorOpIn,
|
|
||||||
Values: []string{"bar", "baz"},
|
|
||||||
}}
|
|
||||||
mustParse := func(s string) labels.Selector {
|
|
||||||
out, e := labels.Parse(s)
|
|
||||||
if e != nil {
|
|
||||||
panic(e)
|
|
||||||
}
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
tc := []struct {
|
|
||||||
in []core.NodeSelectorRequirement
|
|
||||||
out labels.Selector
|
|
||||||
expectErr bool
|
|
||||||
}{
|
|
||||||
{in: nil, out: labels.Nothing()},
|
|
||||||
{in: []core.NodeSelectorRequirement{}, out: labels.Nothing()},
|
|
||||||
{
|
|
||||||
in: matchExpressions,
|
|
||||||
out: mustParse("foo in (baz,bar)"),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
in: []core.NodeSelectorRequirement{{
|
|
||||||
Key: "foo",
|
|
||||||
Operator: core.NodeSelectorOpExists,
|
|
||||||
Values: []string{"bar", "baz"},
|
|
||||||
}},
|
|
||||||
expectErr: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
in: []core.NodeSelectorRequirement{{
|
|
||||||
Key: "foo",
|
|
||||||
Operator: core.NodeSelectorOpGt,
|
|
||||||
Values: []string{"1"},
|
|
||||||
}},
|
|
||||||
out: mustParse("foo>1"),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
in: []core.NodeSelectorRequirement{{
|
|
||||||
Key: "bar",
|
|
||||||
Operator: core.NodeSelectorOpLt,
|
|
||||||
Values: []string{"7"},
|
|
||||||
}},
|
|
||||||
out: mustParse("bar<7"),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
for i, tc := range tc {
|
|
||||||
out, err := NodeSelectorRequirementsAsSelector(tc.in)
|
|
||||||
if err == nil && tc.expectErr {
|
|
||||||
t.Errorf("[%v]expected error but got none.", i)
|
|
||||||
}
|
|
||||||
if err != nil && !tc.expectErr {
|
|
||||||
t.Errorf("[%v]did not expect error but got: %v", i, err)
|
|
||||||
}
|
|
||||||
if !reflect.DeepEqual(out, tc.out) {
|
|
||||||
t.Errorf("[%v]expected:\n\t%+v\nbut got:\n\t%+v", i, tc.out, out)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestIsHugePageResourceName(t *testing.T) {
|
func TestIsHugePageResourceName(t *testing.T) {
|
||||||
testCases := []struct {
|
testCases := []struct {
|
||||||
name core.ResourceName
|
name core.ResourceName
|
||||||
|
Loading…
Reference in New Issue
Block a user