mirror of https://github.com/knative/caching.git
Auto-update dependencies (#144)
Produced via: `dep ensure -update knative.dev/test-infra knative.dev/pkg` /assign n3wscott
This commit is contained in:
parent
3feb9f69e8
commit
4f108c7677
|
|
@ -933,7 +933,7 @@
|
||||||
|
|
||||||
[[projects]]
|
[[projects]]
|
||||||
branch = "master"
|
branch = "master"
|
||||||
digest = "1:02bb033254628cebfbb92810a742f7a60e51ec685c7e2987c04ff4b97e1de058"
|
digest = "1:09a00f21eaeeae387d973fd3f82cf06a8627f88566b4e6811ba97003dd207eac"
|
||||||
name = "knative.dev/pkg"
|
name = "knative.dev/pkg"
|
||||||
packages = [
|
packages = [
|
||||||
"apis",
|
"apis",
|
||||||
|
|
@ -952,7 +952,7 @@
|
||||||
"metrics/metricskey",
|
"metrics/metricskey",
|
||||||
]
|
]
|
||||||
pruneopts = "T"
|
pruneopts = "T"
|
||||||
revision = "06d6b25dd6e10d1c02f31ecb7d953d98481715cf"
|
revision = "944655d6cc17ceb861b0764046c56a465fe5bb75"
|
||||||
|
|
||||||
[[projects]]
|
[[projects]]
|
||||||
branch = "master"
|
branch = "master"
|
||||||
|
|
|
||||||
|
|
@ -1303,7 +1303,7 @@
|
||||||
"tools/dep-collector",
|
"tools/dep-collector",
|
||||||
]
|
]
|
||||||
pruneopts = "UT"
|
pruneopts = "UT"
|
||||||
revision = "fad831028edbe066665977ea7bf366c3d5c0a2d1"
|
revision = "2c4cd9df33c648a86d95bdd4119386cba04cde56"
|
||||||
|
|
||||||
[[projects]]
|
[[projects]]
|
||||||
digest = "1:8730e0150dfb2b7e173890c8b9868e7a273082ef8e39f4940e3506a481cf895c"
|
digest = "1:8730e0150dfb2b7e173890c8b9868e7a273082ef8e39f4940e3506a481cf895c"
|
||||||
|
|
|
||||||
|
|
@ -109,3 +109,20 @@ func (u *URL) URL() *url.URL {
|
||||||
url := url.URL(*u)
|
url := url.URL(*u)
|
||||||
return &url
|
return &url
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ResolveReference calls the underlying ResolveReference method
|
||||||
|
// and returns an apis.URL
|
||||||
|
func (u *URL) ResolveReference(ref *URL) *URL {
|
||||||
|
if ref == nil {
|
||||||
|
return u
|
||||||
|
}
|
||||||
|
// Turn both u / ref to url.URL
|
||||||
|
uRef := url.URL(*ref)
|
||||||
|
uu := url.URL(*u)
|
||||||
|
|
||||||
|
newU := uu.ResolveReference(&uRef)
|
||||||
|
|
||||||
|
// Turn new back to apis.URL
|
||||||
|
ret := URL(*newU)
|
||||||
|
return &ret
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
/*
|
||||||
|
Copyright 2019 The Knative 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by injection-gen. DO NOT EDIT.
|
||||||
|
|
||||||
|
package client
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
/*
|
||||||
|
Copyright 2019 The Knative 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by injection-gen. DO NOT EDIT.
|
||||||
|
|
||||||
|
package fake
|
||||||
19
vendor/knative.dev/pkg/client/injection/informers/factory/factory.go
generated
vendored
Normal file
19
vendor/knative.dev/pkg/client/injection/informers/factory/factory.go
generated
vendored
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
/*
|
||||||
|
Copyright 2019 The Knative 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by injection-gen. DO NOT EDIT.
|
||||||
|
|
||||||
|
package factory
|
||||||
19
vendor/knative.dev/pkg/client/injection/informers/factory/fake/fake.go
generated
vendored
Normal file
19
vendor/knative.dev/pkg/client/injection/informers/factory/fake/fake.go
generated
vendored
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
/*
|
||||||
|
Copyright 2019 The Knative 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by injection-gen. DO NOT EDIT.
|
||||||
|
|
||||||
|
package fake
|
||||||
|
|
@ -92,13 +92,30 @@ type TableRow struct {
|
||||||
|
|
||||||
// PostConditions allows custom assertions to be made after reconciliation
|
// PostConditions allows custom assertions to be made after reconciliation
|
||||||
PostConditions []func(*testing.T, *TableRow)
|
PostConditions []func(*testing.T, *TableRow)
|
||||||
|
|
||||||
|
// Reconciler holds the controller.Reconciler that was used to evaluate this row.
|
||||||
|
// It is populated here to make it accessible to PostConditions.
|
||||||
|
Reconciler controller.Reconciler
|
||||||
}
|
}
|
||||||
|
|
||||||
func objKey(o runtime.Object) string {
|
func objKey(o runtime.Object) string {
|
||||||
on := o.(kmeta.Accessor)
|
on := o.(kmeta.Accessor)
|
||||||
|
|
||||||
|
var typeOf string
|
||||||
|
if gvk := on.GroupVersionKind(); gvk.Group != "" {
|
||||||
|
// This must be populated if we're dealing with unstructured.Unstructured.
|
||||||
|
typeOf = gvk.String()
|
||||||
|
} else if or, ok := on.(kmeta.OwnerRefable); ok {
|
||||||
|
// This is typically implemented by Knative resources.
|
||||||
|
typeOf = or.GetGroupVersionKind().String()
|
||||||
|
} else {
|
||||||
|
// Worst case, fallback on a non-GVK string.
|
||||||
|
typeOf = reflect.TypeOf(o).String()
|
||||||
|
}
|
||||||
|
|
||||||
// namespace + name is not unique, and the tests don't populate k8s kind
|
// namespace + name is not unique, and the tests don't populate k8s kind
|
||||||
// information, so use GoLang's type name as part of the key.
|
// information, so use GoLang's type name as part of the key.
|
||||||
return path.Join(reflect.TypeOf(o).String(), on.GetNamespace(), on.GetName())
|
return path.Join(typeOf, on.GetNamespace(), on.GetName())
|
||||||
}
|
}
|
||||||
|
|
||||||
// Factory returns a Reconciler.Interface to perform reconciliation in table test,
|
// Factory returns a Reconciler.Interface to perform reconciliation in table test,
|
||||||
|
|
@ -111,6 +128,9 @@ func (r *TableRow) Test(t *testing.T, factory Factory) {
|
||||||
t.Helper()
|
t.Helper()
|
||||||
c, recorderList, eventList, statsReporter := factory(t, r)
|
c, recorderList, eventList, statsReporter := factory(t, r)
|
||||||
|
|
||||||
|
// Set the Reconciler for PostConditions to access it post-Reconcile()
|
||||||
|
r.Reconciler = c
|
||||||
|
|
||||||
// Set context to not be nil.
|
// Set context to not be nil.
|
||||||
ctx := r.Ctx
|
ctx := r.Ctx
|
||||||
if ctx == nil {
|
if ctx == nil {
|
||||||
|
|
|
||||||
|
|
@ -61,9 +61,7 @@ func NewURIResolver(ctx context.Context, callback func(types.NamespacedName)) *U
|
||||||
// URIFromDestination resolves a v1beta1.Destination into a URI string.
|
// URIFromDestination resolves a v1beta1.Destination into a URI string.
|
||||||
func (r *URIResolver) URIFromDestination(dest duckv1beta1.Destination, parent interface{}) (string, error) {
|
func (r *URIResolver) URIFromDestination(dest duckv1beta1.Destination, parent interface{}) (string, error) {
|
||||||
var deprecatedObjectReference *corev1.ObjectReference
|
var deprecatedObjectReference *corev1.ObjectReference
|
||||||
if dest.DeprecatedAPIVersion == "" && dest.DeprecatedKind == "" && dest.DeprecatedName == "" && dest.DeprecatedNamespace == "" {
|
if !(dest.DeprecatedAPIVersion == "" && dest.DeprecatedKind == "" && dest.DeprecatedName == "" && dest.DeprecatedNamespace == "") {
|
||||||
deprecatedObjectReference = nil
|
|
||||||
} else {
|
|
||||||
deprecatedObjectReference = &corev1.ObjectReference{
|
deprecatedObjectReference = &corev1.ObjectReference{
|
||||||
Kind: dest.DeprecatedKind,
|
Kind: dest.DeprecatedKind,
|
||||||
APIVersion: dest.DeprecatedAPIVersion,
|
APIVersion: dest.DeprecatedAPIVersion,
|
||||||
|
|
@ -89,7 +87,7 @@ func (r *URIResolver) URIFromDestination(dest duckv1beta1.Destination, parent in
|
||||||
if dest.URI.URL().IsAbs() {
|
if dest.URI.URL().IsAbs() {
|
||||||
return "", errors.New("absolute URI is not allowed when Ref or [apiVersion, kind, name] exists")
|
return "", errors.New("absolute URI is not allowed when Ref or [apiVersion, kind, name] exists")
|
||||||
}
|
}
|
||||||
return url.URL().ResolveReference(dest.URI.URL()).String(), nil
|
return url.ResolveReference(dest.URI).String(), nil
|
||||||
}
|
}
|
||||||
return url.URL().String(), nil
|
return url.URL().String(), nil
|
||||||
}
|
}
|
||||||
|
|
@ -97,7 +95,7 @@ func (r *URIResolver) URIFromDestination(dest duckv1beta1.Destination, parent in
|
||||||
if dest.URI != nil {
|
if dest.URI != nil {
|
||||||
// IsAbs check whether the URL has a non-empty scheme. Besides the non non-empty scheme, we also require dest.URI has a non-empty host
|
// IsAbs check whether the URL has a non-empty scheme. Besides the non non-empty scheme, we also require dest.URI has a non-empty host
|
||||||
if !dest.URI.URL().IsAbs() || dest.URI.Host == "" {
|
if !dest.URI.URL().IsAbs() || dest.URI.Host == "" {
|
||||||
return "", fmt.Errorf("URI is not absolute(both scheme and host should be non-empty): %v", dest.URI.String())
|
return "", fmt.Errorf("URI is not absolute (both scheme and host should be non-empty): %q", dest.URI.String())
|
||||||
}
|
}
|
||||||
return dest.URI.String(), nil
|
return dest.URI.String(), nil
|
||||||
}
|
}
|
||||||
|
|
@ -105,31 +103,31 @@ func (r *URIResolver) URIFromDestination(dest duckv1beta1.Destination, parent in
|
||||||
return "", errors.New("destination missing Ref, [apiVersion, kind, name] and URI, expected at least one")
|
return "", errors.New("destination missing Ref, [apiVersion, kind, name] and URI, expected at least one")
|
||||||
}
|
}
|
||||||
|
|
||||||
// URIFromDestinationV1 resolves a v1.Destination into a URI string.
|
// URIFromDestinationV1 resolves a v1.Destination into a URL.
|
||||||
func (r *URIResolver) URIFromDestinationV1(dest duckv1.Destination, parent interface{}) (string, error) {
|
func (r *URIResolver) URIFromDestinationV1(dest duckv1.Destination, parent interface{}) (*apis.URL, error) {
|
||||||
if dest.Ref != nil {
|
if dest.Ref != nil {
|
||||||
url, err := r.URIFromObjectReference(dest.Ref, parent)
|
url, err := r.URIFromObjectReference(dest.Ref, parent)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return nil, err
|
||||||
}
|
}
|
||||||
if dest.URI != nil {
|
if dest.URI != nil {
|
||||||
if dest.URI.URL().IsAbs() {
|
if dest.URI.URL().IsAbs() {
|
||||||
return "", errors.New("absolute URI is not allowed when Ref or [apiVersion, kind, name] exists")
|
return nil, errors.New("absolute URI is not allowed when Ref or [apiVersion, kind, name] exists")
|
||||||
}
|
}
|
||||||
return url.URL().ResolveReference(dest.URI.URL()).String(), nil
|
return url.ResolveReference(dest.URI), nil
|
||||||
}
|
}
|
||||||
return url.URL().String(), nil
|
return url, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if dest.URI != nil {
|
if dest.URI != nil {
|
||||||
// IsAbs check whether the URL has a non-empty scheme. Besides the non non-empty scheme, we also require dest.URI has a non-empty host
|
// IsAbs check whether the URL has a non-empty scheme. Besides the non non-empty scheme, we also require dest.URI has a non-empty host
|
||||||
if !dest.URI.URL().IsAbs() || dest.URI.Host == "" {
|
if !dest.URI.URL().IsAbs() || dest.URI.Host == "" {
|
||||||
return "", fmt.Errorf("URI is not absolute(both scheme and host should be non-empty): %v", dest.URI.String())
|
return nil, fmt.Errorf("URI is not absolute(both scheme and host should be non-empty): %q", dest.URI.String())
|
||||||
}
|
}
|
||||||
return dest.URI.String(), nil
|
return dest.URI, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
return "", errors.New("destination missing Ref and URI, expected at least one")
|
return nil, errors.New("destination missing Ref and URI, expected at least one")
|
||||||
}
|
}
|
||||||
|
|
||||||
// URIFromObjectReference resolves an ObjectReference to a URI string.
|
// URIFromObjectReference resolves an ObjectReference to a URI string.
|
||||||
|
|
@ -167,7 +165,7 @@ func (r *URIResolver) URIFromObjectReference(ref *corev1.ObjectReference, parent
|
||||||
|
|
||||||
addressable, ok := obj.(*duckv1.AddressableType)
|
addressable, ok := obj.(*duckv1.AddressableType)
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, fmt.Errorf("%+v is not an AddressableType", ref)
|
return nil, fmt.Errorf("%+v (%T) is not an AddressableType", ref, ref)
|
||||||
}
|
}
|
||||||
if addressable.Status.Address == nil {
|
if addressable.Status.Address == nil {
|
||||||
return nil, fmt.Errorf("address not set for %+v", ref)
|
return nil, fmt.Errorf("address not set for %+v", ref)
|
||||||
|
|
|
||||||
|
|
@ -75,6 +75,52 @@ func WaitForPodListState(client *KubeClient, inState func(p *corev1.PodList) (bo
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WaitForPodState polls the status of the specified Pod
|
||||||
|
// from client every interval until inState returns `true` indicating it
|
||||||
|
// is done, returns an error or timeout. desc will be used to name the metric
|
||||||
|
// that is emitted to track how long it took to get into the state checked by inState.
|
||||||
|
func WaitForPodState(client *KubeClient, inState func(p *corev1.Pod) (bool, error), name string, namespace string) error {
|
||||||
|
p := client.Kube.CoreV1().Pods(namespace)
|
||||||
|
span := logging.GetEmitableSpan(context.Background(), "WaitForPodState/"+name)
|
||||||
|
defer span.End()
|
||||||
|
|
||||||
|
return wait.PollImmediate(interval, podTimeout, func() (bool, error) {
|
||||||
|
p, err := p.Get(name, metav1.GetOptions{})
|
||||||
|
if err != nil {
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
return inState(p)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// WaitForServiceHasAtLeastOneEndpoint polls the status of the specified Service
|
||||||
|
// from client every interval until number of service endpoints = numOfEndpoints
|
||||||
|
func WaitForServiceEndpoints(client *KubeClient, svcName string, svcNamespace string, numOfEndpoints int) error {
|
||||||
|
endpointsService := client.Kube.CoreV1().Endpoints(svcNamespace)
|
||||||
|
span := logging.GetEmitableSpan(context.Background(), "WaitForServiceHasAtLeastOneEndpoint/"+svcName)
|
||||||
|
defer span.End()
|
||||||
|
|
||||||
|
return wait.PollImmediate(interval, podTimeout, func() (bool, error) {
|
||||||
|
endpoint, err := endpointsService.Get(svcName, metav1.GetOptions{})
|
||||||
|
if err != nil {
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return countEndpointsNum(endpoint) == numOfEndpoints, nil
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
func countEndpointsNum(e *corev1.Endpoints) int {
|
||||||
|
if e == nil || e.Subsets == nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
num := 0
|
||||||
|
for _, sub := range e.Subsets {
|
||||||
|
num += len(sub.Addresses)
|
||||||
|
}
|
||||||
|
return num
|
||||||
|
}
|
||||||
|
|
||||||
// GetConfigMap gets the configmaps for a given namespace
|
// GetConfigMap gets the configmaps for a given namespace
|
||||||
func GetConfigMap(client *KubeClient, namespace string) k8styped.ConfigMapInterface {
|
func GetConfigMap(client *KubeClient, namespace string) k8styped.ConfigMapInterface {
|
||||||
return client.Kube.CoreV1().ConfigMaps(namespace)
|
return client.Kube.CoreV1().ConfigMaps(namespace)
|
||||||
|
|
|
||||||
|
|
@ -32,12 +32,14 @@ import (
|
||||||
fakeistioclientset "knative.dev/pkg/client/istio/clientset/versioned/fake"
|
fakeistioclientset "knative.dev/pkg/client/istio/clientset/versioned/fake"
|
||||||
istiolisters "knative.dev/pkg/client/istio/listers/networking/v1alpha3"
|
istiolisters "knative.dev/pkg/client/istio/listers/networking/v1alpha3"
|
||||||
"knative.dev/pkg/reconciler/testing"
|
"knative.dev/pkg/reconciler/testing"
|
||||||
|
pkgtesting "knative.dev/pkg/testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
var clientSetSchemes = []func(*runtime.Scheme) error{
|
var clientSetSchemes = []func(*runtime.Scheme) error{
|
||||||
fakekubeclientset.AddToScheme,
|
fakekubeclientset.AddToScheme,
|
||||||
fakeistioclientset.AddToScheme,
|
fakeistioclientset.AddToScheme,
|
||||||
autoscalingv2beta1.AddToScheme,
|
autoscalingv2beta1.AddToScheme,
|
||||||
|
pkgtesting.AddToScheme,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Listers is used to synthesize informer-style Listers from fixed lists of resources in tests.
|
// Listers is used to synthesize informer-style Listers from fixed lists of resources in tests.
|
||||||
|
|
@ -88,6 +90,11 @@ func (l *Listers) GetIstioObjects() []runtime.Object {
|
||||||
return l.sorter.ObjectsForSchemeFunc(fakeistioclientset.AddToScheme)
|
return l.sorter.ObjectsForSchemeFunc(fakeistioclientset.AddToScheme)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetTestObjects filters the Lister's initial list of objects to types defined in knative/pkg/testing
|
||||||
|
func (l *Listers) GetTestObjects() []runtime.Object {
|
||||||
|
return l.sorter.ObjectsForSchemeFunc(pkgtesting.AddToScheme)
|
||||||
|
}
|
||||||
|
|
||||||
// GetHorizontalPodAutoscalerLister gets lister for HorizontalPodAutoscaler resources.
|
// GetHorizontalPodAutoscalerLister gets lister for HorizontalPodAutoscaler resources.
|
||||||
func (l *Listers) GetHorizontalPodAutoscalerLister() autoscalingv2beta1listers.HorizontalPodAutoscalerLister {
|
func (l *Listers) GetHorizontalPodAutoscalerLister() autoscalingv2beta1listers.HorizontalPodAutoscalerLister {
|
||||||
return autoscalingv2beta1listers.NewHorizontalPodAutoscalerLister(l.IndexerFor(&autoscalingv2beta1.HorizontalPodAutoscaler{}))
|
return autoscalingv2beta1listers.NewHorizontalPodAutoscalerLister(l.IndexerFor(&autoscalingv2beta1.HorizontalPodAutoscaler{}))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue