From de837c137eb7f690240cdb032e65e3faf17bedd5 Mon Sep 17 00:00:00 2001 From: Ahmed Abdalla Date: Thu, 16 Jul 2020 15:21:20 +0200 Subject: [PATCH 1/6] Initial dirty WIP code --- .../channel_crd_metadata_test_helper.go | 2 +- test/conformance/helpers/metadata.go | 2 +- .../source_crd_metadata_test_helper.go | 5 +- .../sources/source_status_test_helper.go | 118 +++++++++++++++++ test/conformance/helpers/sources/sources.go | 82 ++++++++++++ test/conformance/main_test.go | 58 ++++++++ test/conformance/source_crd_metadata_test.go | 4 +- test/conformance/sources_conf_test.go | 125 ++++++++++++++++++ test/lib/config.go | 21 ++- test/lib/duck/resource_creators.go | 44 ++++++ test/lib/resources/constants.go | 7 + test/lib/test_runner.go | 42 ++++++ 12 files changed, 503 insertions(+), 7 deletions(-) rename test/conformance/helpers/{ => sources}/source_crd_metadata_test_helper.go (91%) create mode 100644 test/conformance/helpers/sources/source_status_test_helper.go create mode 100644 test/conformance/helpers/sources/sources.go create mode 100644 test/conformance/sources_conf_test.go diff --git a/test/conformance/helpers/channel_crd_metadata_test_helper.go b/test/conformance/helpers/channel_crd_metadata_test_helper.go index 7fadc843a00..0723716dc23 100644 --- a/test/conformance/helpers/channel_crd_metadata_test_helper.go +++ b/test/conformance/helpers/channel_crd_metadata_test_helper.go @@ -74,7 +74,7 @@ func channelCRDHasRequiredLabels(client *testlib.Client, channel metav1.TypeMeta // label of messaging.knative.dev/subscribable: "true" // label of duck.knative.dev/addressable: "true" - validateRequiredLabels(client, channel, channelLabels) + ValidateRequiredLabels(client, channel, channelLabels) } func channelCRDHasProperCategory(st *testing.T, client *testlib.Client, channel metav1.TypeMeta) { diff --git a/test/conformance/helpers/metadata.go b/test/conformance/helpers/metadata.go index f1346f1e3ba..e00e1fb1a6c 100644 --- a/test/conformance/helpers/metadata.go +++ b/test/conformance/helpers/metadata.go @@ -22,7 +22,7 @@ import ( testlib "knative.dev/eventing/test/lib" ) -func validateRequiredLabels(client *testlib.Client, object metav1.TypeMeta, labels map[string]string) { +func ValidateRequiredLabels(client *testlib.Client, object metav1.TypeMeta, labels map[string]string) { for k, v := range labels { if !objectHasRequiredLabel(client, object, k, v) { client.T.Fatalf("can't find label '%s=%s' in CRD %q", k, v, object) diff --git a/test/conformance/helpers/source_crd_metadata_test_helper.go b/test/conformance/helpers/sources/source_crd_metadata_test_helper.go similarity index 91% rename from test/conformance/helpers/source_crd_metadata_test_helper.go rename to test/conformance/helpers/sources/source_crd_metadata_test_helper.go index fa931175073..add7d120ed8 100644 --- a/test/conformance/helpers/source_crd_metadata_test_helper.go +++ b/test/conformance/helpers/sources/source_crd_metadata_test_helper.go @@ -14,9 +14,10 @@ See the License for the specific language governing permissions and limitations under the License. */ -package helpers +package sources import ( + "knative.dev/eventing/test/conformance/helpers" "testing" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -42,7 +43,7 @@ func SourceCRDMetadataTestHelperWithChannelTestRunner( // Each source MUST have the following: // label of duck.knative.dev/source: "true" t.Run("Source CRD has required label", func(t *testing.T) { - validateRequiredLabels(client, source, sourceLabels) + helpers.ValidateRequiredLabels(client, source, sourceLabels) }) }) diff --git a/test/conformance/helpers/sources/source_status_test_helper.go b/test/conformance/helpers/sources/source_status_test_helper.go new file mode 100644 index 00000000000..9ef16336af7 --- /dev/null +++ b/test/conformance/helpers/sources/source_status_test_helper.go @@ -0,0 +1,118 @@ +/* +Copyright 2020 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. +*/ + +package sources + +import ( + "knative.dev/pkg/apis" + "testing" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + testlib "knative.dev/eventing/test/lib" +) + +// SourceStatusTestHelperWithComponentsTestRunner runs the Source status conformance tests for all sources in +// the ComponentsTestRunner. This test needs an instance of the source which should be +func SourceStatusTestHelperWithComponentsTestRunner( + t *testing.T, + componentsTestRunner testlib.ComponentsTestRunner, + options ...testlib.SetupClientOption, +) { + table := [] struct { + name string + feature testlib.Feature + // Sources report success via either a Ready condition or a Succeeded condition + want apis.ConditionType + } { + { + "Long lived sources have Ready status condition", + testlib.FeatureLongLived, + apis.ConditionReady, + }, + { + "Batch sources have Succeeded status condition", + testlib.FeatureBatch, + apis.ConditionSucceeded, + }, + + } + for _, tc := range table { + componentsTestRunner.RunTestsWithComponentOptions(t, tc.feature, + func(st *testing.T, source metav1.TypeMeta, + componentOptions ...testlib.SetupClientOption) { + options = append(options, componentOptions...) + client := testlib.Setup(st, true, options...) + defer testlib.TearDown(client) + + t.Run(tc.name, func(t *testing.T) { + validateSourceStatus(st, client, source, tc.want, options...) + }) + }) + } +} + +func validateSourceStatus(st *testing.T, client *testlib.Client, source metav1.TypeMeta, successCondition apis.ConditionType, options ...testlib.SetupClientOption) { + const( + sourceName = "source-req-status" + ) + + st.Logf("Running source status conformance test with source %q", source) + + client.T.Logf("Creating source %+v-%s", source, sourceName) + //client.CreateSourceOrFail(sourceName, &source) + //client.WaitForResourceReadyOrFail(sourceName, &source) + + dtsv, err := getSourceDuckTypeSupportedVersion(sourceName, client, &source) + if err != nil { + st.Fatalf("Unable to check source duck type supported version for %q: %q", source, err) + } + + if dtsv == "" || dtsv == "v1alpha1" { + // treat missing annotation value as v1alpha1, as written in the spec + versionedSrc, err := getSourceAsV1Alpha1Source(sourceName, client, source) + if err != nil { + st.Fatalf("Unable to get source %q with v1alpha1 duck type: %q", source, err) + } + + // SPEC: Sources MUST implement conditions with a Ready condition for long lived sources, and Succeeded for batch style sources. + if ! hasCondition(versionedSrc, successCondition){ + st.Fatalf("%q does not have %q", source, successCondition) + } + + // SPEC: Sources MUST propagate the sinkUri to their status to signal to the cluster where their events are being sent. + if versionedSrc.Status.SinkURI.Host == "" { + st.Fatalf("sinkUri was not propagated for source %q", source) + } + } else if dtsv == "v1alpha2" { + versionedSrc, err := getSourceAsV1Alpha2Source(sourceName, client, source) + if err != nil { + st.Fatalf("Unable to get source %q with v1alpha2 duck type: %q", source, err) + } + // SPEC: Sources MUST implement conditions with a Ready condition for long lived sources, and Succeeded for batch style sources. + if ! hasCondition(versionedSrc, successCondition){ + st.Fatalf("%q does not have %q", source, successCondition) + } + + // SPEC: Sources MUST propagate the sinkUri to their status to signal to the cluster where their events are being sent. + if versionedSrc.Status.SinkURI.Host == "" { + st.Fatalf("sinkUri was not propagated for source %q", source) + } + + } else { + st.Fatalf("Source doesn't support v1alpha1 or v1alpha2 Source duck types: %q", source) + } +} diff --git a/test/conformance/helpers/sources/sources.go b/test/conformance/helpers/sources/sources.go new file mode 100644 index 00000000000..b3dae068ec0 --- /dev/null +++ b/test/conformance/helpers/sources/sources.go @@ -0,0 +1,82 @@ +/* +Copyright 2020 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. +*/ + +package sources + +import ( + "github.com/pkg/errors" + testlib "knative.dev/eventing/test/lib" + "knative.dev/eventing/test/lib/duck" + "knative.dev/eventing/test/lib/resources" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + eventingduckv1alpha1 "knative.dev/eventing/pkg/apis/duck/v1alpha1" + eventingduckv1beta1 "knative.dev/eventing/pkg/apis/duck/v1beta1" + + "knative.dev/eventing/pkg/apis/messaging" + duckv1beta1 "knative.dev/eventing/vendor/knative.dev/pkg/apis/duck/v1beta1" + messagingv1beta1 "knative.dev/eventing/pkg/apis/messaging/v1beta1" +) + +var ( + channelv1beta1GVK = (&messagingv1beta1.Channel{}).GetGroupVersionKind() + + channelv1beta1 = metav1.TypeMeta{ + Kind: channelv1beta1GVK.Kind, + APIVersion: channelv1beta1GVK.GroupVersion().String(), + } +) + +func getSourceDuckTypeSupportedVersion(sourceName string, client *testlib.Client, source *metav1.TypeMeta) (string, error) { + metaResource := resources.NewMetaResource(sourceName, client.Namespace, source) + obj, err := duck.GetGenericObject(client.Dynamic, metaResource, &duckv1beta1.Source{}) + if err != nil { + return "", errors.Wrapf(err, "Unable to GET the channel %v", metaResource) + } + sourceDuck, ok := obj.(*duckv1beta1.Source) + if !ok { + return "", errors.Wrapf(err, "Unable to cast the channel %v", metaResource) + } + return sourceDuck.ObjectMeta.Annotations[messaging.SubscribableDuckVersionAnnotation], nil +} + +func getChannelAsV1Beta1Channelable(channelName string, client *testlib.Client, channel metav1.TypeMeta) (*eventingduckv1beta1.Channelable, error) { + metaResource := resources.NewMetaResource(channelName, client.Namespace, &channel) + obj, err := duck.GetGenericObject(client.Dynamic, metaResource, &eventingduckv1beta1.Channelable{}) + if err != nil { + return nil, errors.Wrapf(err, "Unable to get the channel as v1beta1 Channel duck type: %q", channel) + } + channelable, ok := obj.(*eventingduckv1beta1.Channelable) + if !ok { + return nil, errors.Errorf("Unable to cast channel %q to v1beta1 duck type", channel) + } + + return channelable, nil +} + +func getChannelAsV1Alpha1Channelable(channelName string, client *testlib.Client, channel metav1.TypeMeta) (*eventingduckv1alpha1.Channelable, error) { + metaResource := resources.NewMetaResource(channelName, client.Namespace, &channel) + obj, err := duck.GetGenericObject(client.Dynamic, metaResource, &eventingduckv1alpha1.Channelable{}) + if err != nil { + return nil, errors.Wrapf(err, "Unable to get the channel as v1alpha1 Channel duck type: %q", channel) + } + channelable, ok := obj.(*eventingduckv1alpha1.Channelable) + if !ok { + return nil, errors.Errorf("Unable to cast channel %q to v1alpha1 duck type", channel) + } + + return channelable, nil +} diff --git a/test/conformance/main_test.go b/test/conformance/main_test.go index fff80a2f272..593f8748718 100644 --- a/test/conformance/main_test.go +++ b/test/conformance/main_test.go @@ -18,6 +18,12 @@ limitations under the License. package conformance import ( + rbacv1 "k8s.io/api/rbac/v1" + sourcesv1alpha2 "knative.dev/eventing/pkg/apis/sources/v1alpha2" + eventingtesting "knative.dev/eventing/pkg/reconciler/testing" + "knative.dev/eventing/test/lib/resources" + duckv1 "knative.dev/pkg/apis/duck/v1" + "fmt" "log" "os" "testing" @@ -43,12 +49,14 @@ func TestMain(m *testing.M) { ComponentsToTest: test.EventingFlags.Channels, } sourcesTestRunner = testlib.ComponentsTestRunner{ + ComponentFeatureMap: testlib.SourceFeatureMap, ComponentsToTest: test.EventingFlags.Sources, } brokerClass = test.EventingFlags.BrokerClass brokerName = test.EventingFlags.BrokerName brokerNamespace = test.EventingFlags.BrokerNamespace + addSourcesInitializers() // Any tests may SetupZipkinTracing, it will only actually be done once. This should be the ONLY // place that cleans it up. If an individual test calls this instead, then it will break other // tests that need the tracing in place. @@ -58,3 +66,53 @@ func TestMain(m *testing.M) { return m.Run() }()) } + +func addSourcesInitializers(){ + sourcesTestRunner.AddComponentSetupClientOption( + testlib.ApiServerSourceTypeMeta, func(t *testing.T, client *testlib.Client) { + const ( + baseApiServerSourceName = "conf-api-server-source" + roleName = "event-watcher-r" + serviceAccountName = "event-watcher-sa" + sinkPodName = "conf-source-sink" + ) + + // creates ServiceAccount and RoleBinding with a role for reading pods and events + r := resources.Role(roleName, + resources.WithRuleForRole(&rbacv1.PolicyRule{ + APIGroups: []string{""}, + Resources: []string{"events", "pods"}, + Verbs: []string{"get", "list", "watch"}})) + client.CreateServiceAccountOrFail(serviceAccountName) + client.CreateRoleOrFail(r) + client.CreateRoleBindingOrFail( + serviceAccountName, + testlib.RoleKind, + roleName, + fmt.Sprintf("%s-%s", serviceAccountName, roleName), + client.Namespace, + ) + + spec := sourcesv1alpha2.ApiServerSourceSpec{ + Resources: []sourcesv1alpha2.APIVersionKindSelector{{ + APIVersion: "v1", + Kind: "Event", + }}, + ServiceAccountName: serviceAccountName, + } + spec.Sink = duckv1.Destination{Ref: resources.ServiceKRef(sinkPodName)} + + apiServerSource := eventingtesting.NewApiServerSource( + baseApiServerSourceName, + client.Namespace, + eventingtesting.WithApiServerSourceSpec(spec), + ) + + client.CreateApiServerSourceOrFail(apiServerSource) + + // wait for all test resources to be ready + client.WaitForAllTestResourcesReadyOrFail() + }) + + +} diff --git a/test/conformance/source_crd_metadata_test.go b/test/conformance/source_crd_metadata_test.go index 8cab967f6b0..3a810740dfd 100644 --- a/test/conformance/source_crd_metadata_test.go +++ b/test/conformance/source_crd_metadata_test.go @@ -21,10 +21,10 @@ package conformance import ( "testing" - "knative.dev/eventing/test/conformance/helpers" + srchelpers "knative.dev/eventing/test/conformance/helpers/sources" testlib "knative.dev/eventing/test/lib" ) func TestSourceCRDMetadata(t *testing.T) { - helpers.SourceCRDMetadataTestHelperWithChannelTestRunner(t, sourcesTestRunner, testlib.SetupClientOptionNoop) + srchelpers.SourceCRDMetadataTestHelperWithChannelTestRunner(t, sourcesTestRunner, testlib.SetupClientOptionNoop) } diff --git a/test/conformance/sources_conf_test.go b/test/conformance/sources_conf_test.go new file mode 100644 index 00000000000..11e50091cd5 --- /dev/null +++ b/test/conformance/sources_conf_test.go @@ -0,0 +1,125 @@ +/* +Copyright 2020 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. +*/ + +package conformance + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + testlib "knative.dev/eventing/test/lib" + "knative.dev/pkg/apis" + "testing" +) +func SetupApiServerSource(c *testlib.Client){ + +} +func SetupPingSource(c *testlib.Client){ + +} +func SetupContainerSource(c *testing..Client){ + +} +func TestSourcesStatusConformance(t *testing.T) { + SourceStatusTestHelperWithComponentsTestRunner(t, + sourcesTestRunner, + SetupApiServerSource) +} + +func SourceStatusTestHelperWithComponentsTestRunner( + t *testing.T, + componentsTestRunner testlib.ComponentsTestRunner, + options ...testlib.SetupClientOption, +) { + table := [] struct { + name string + feature testlib.Feature + // Sources report success via either a Ready condition or a Succeeded condition + want apis.ConditionType + } { + { + "Long lived sources have Ready status condition", + testlib.FeatureLongLived, + apis.ConditionReady, + }, + { + "Batch sources have Succeeded status condition", + testlib.FeatureBatch, + apis.ConditionSucceeded, + }, + + } + for _, tc := range table { + componentsTestRunner.RunTests(t, tc.feature, func(st *testing.T, source metav1.TypeMeta) { + client := testlib.Setup(st, true, options...) + defer testlib.TearDown(client) + + t.Run(tc.name, func(t *testing.T) { + validateSourceStatus(st, client, source, tc.want, options...) + }) + }) + } +} + +func validateSourceStatus(st *testing.T, client *testlib.Client, source metav1.TypeMeta, successCondition apis.ConditionType, options ...testlib.SetupClientOption) { + const( + sourceName = "source-req-status" + ) + + st.Logf("Running source status conformance test with source %q", source) + + client.T.Logf("Creating source %+v-%s", source, sourceName) + //client.CreateSourceOrFail(sourceName, &source) + //client.WaitForResourceReadyOrFail(sourceName, &source) + + dtsv, err := getSourceDuckTypeSupportedVersion(sourceName, client, &source) + if err != nil { + st.Fatalf("Unable to check source duck type supported version for %q: %q", source, err) + } + + if dtsv == "" || dtsv == "v1alpha1" { + // treat missing annotation value as v1alpha1, as written in the spec + versionedSrc, err := getSourceAsV1Alpha1Source(sourceName, client, source) + if err != nil { + st.Fatalf("Unable to get source %q with v1alpha1 duck type: %q", source, err) + } + + // SPEC: Sources MUST implement conditions with a Ready condition for long lived sources, and Succeeded for batch style sources. + if ! hasCondition(versionedSrc, successCondition){ + st.Fatalf("%q does not have %q", source, successCondition) + } + + // SPEC: Sources MUST propagate the sinkUri to their status to signal to the cluster where their events are being sent. + if versionedSrc.Status.SinkURI.Host == "" { + st.Fatalf("sinkUri was not propagated for source %q", source) + } + } else if dtsv == "v1alpha2" { + versionedSrc, err := getSourceAsV1Alpha2Source(sourceName, client, source) + if err != nil { + st.Fatalf("Unable to get source %q with v1alpha2 duck type: %q", source, err) + } + // SPEC: Sources MUST implement conditions with a Ready condition for long lived sources, and Succeeded for batch style sources. + if ! hasCondition(versionedSrc, successCondition){ + st.Fatalf("%q does not have %q", source, successCondition) + } + + // SPEC: Sources MUST propagate the sinkUri to their status to signal to the cluster where their events are being sent. + if versionedSrc.Status.SinkURI.Host == "" { + st.Fatalf("sinkUri was not propagated for source %q", source) + } + + } else { + st.Fatalf("Source doesn't support v1alpha1 or v1alpha2 Source duck types: %q", source) + } +} diff --git a/test/lib/config.go b/test/lib/config.go index c2832206b52..98bba5c477d 100644 --- a/test/lib/config.go +++ b/test/lib/config.go @@ -46,17 +46,36 @@ var ChannelFeatureMap = map[metav1.TypeMeta][]Feature{ MessagingChannelTypeMeta: {FeatureBasic}, } +var ApiServerSourceTypeMeta = metav1.TypeMeta{ + APIVersion: resources.SourcesAPIVersion, + Kind: resources.ApiServerSourceKind, +} + +var PingSourceTypeMeta = metav1.TypeMeta{ + APIVersion: resources.SourcesAPIVersion, + Kind: resources.PingSourceKind, +} + +var SourceFeatureMap = map[metav1.TypeMeta][]Feature{ + ApiServerSourceTypeMeta: {FeatureBasic, FeatureLongLiving}, + PingSourceTypeMeta: {FeatureBasic, FeatureLongLiving}, +} + // Feature is the feature supported by the channel. type Feature string const ( - // FeatureBasic is the feature that should be supported by all channels. + // FeatureBasic is the feature that should be supported by all components. FeatureBasic Feature = "basic" // FeatureRedelivery means if downstream rejects an event, that request will be attempted again. FeatureRedelivery Feature = "redelivery" // FeaturePersistence means if channel's Pod goes down, all events already ACKed by the channel // will persist and be retransmitted when the Pod restarts. FeaturePersistence Feature = "persistence" + // A long living component + FeatureLongLiving Feature = "longliving" + // A batch style of components that run once and complete + FeatureBatch Feature = "batch" ) const ( diff --git a/test/lib/duck/resource_creators.go b/test/lib/duck/resource_creators.go index d9ee4391736..4794f7e9ee7 100644 --- a/test/lib/duck/resource_creators.go +++ b/test/lib/duck/resource_creators.go @@ -77,3 +77,47 @@ func newChannel(obj *resources.MetaResource) (*unstructured.Unstructured, error) } return u, nil } + +// CreateGenericSourceObject create a generic source object with the dynamic client and source's meta data. +func CreateGenericSourceObject(dynamicClient dynamic.Interface, +obj *resources.MetaResource, +) ( schema.GroupVersionResource, error) { + // get the resource's gvr + gvr, _ := meta.UnsafeGuessKindToResource(obj.GroupVersionKind()) + src, err := newSource(obj) + if err != nil { + return gvr, err + } + + sourceResourceInterface := dynamicClient.Resource(gvr).Namespace(obj.Namespace) + _, err = sourceResourceInterface.Create(src, metav1.CreateOptions{}) + return gvr, err +} + +// newSource returns an unstructured.Unstructured based on the ChannelTemplateSpec for a given meta resource. +func newSource(obj *resources.MetaResource) (*unstructured.Unstructured, error) { + // Set the name of the resource we're creating as well as the namespace, etc. + template := sourcesv1Alp.ChannelTemplateSpecInternal{ + TypeMeta: metav1.TypeMeta{ + Kind: obj.Kind, + APIVersion: obj.APIVersion, + }, + ObjectMeta: metav1.ObjectMeta{ + Name: obj.Name, + Namespace: obj.Namespace, + }, + Spec: messagingv1beta1.ChannelTemplateSpec{ + TypeMeta: obj.TypeMeta, + }.Spec, + } + raw, err := json.Marshal(template) + if err != nil { + return nil, err + } + u := &unstructured.Unstructured{} + err = json.Unmarshal(raw, u) + if err != nil { + return nil, err + } + return u, nil +} diff --git a/test/lib/resources/constants.go b/test/lib/resources/constants.go index fbe36905d40..44f7b2177dd 100644 --- a/test/lib/resources/constants.go +++ b/test/lib/resources/constants.go @@ -28,6 +28,7 @@ const ( MessagingAPIVersion = "messaging.knative.dev/v1beta1" FlowsAPIVersion = "flows.knative.dev/v1beta1" ServingAPIVersion = "serving.knative.dev/v1" + SourcesAPIVersion = "sources.knative.dev/v1alpha2" ) // Kind for Knative resources. @@ -76,3 +77,9 @@ const ( FlowsSequenceKind string = "Sequence" FlowsParallelKind string = "Parallel" ) + +//Kind for sources resources that exist in Eventing core +const( + ApiServerSourceKind string = "ApiServerSource" + PingSourceKind string = "PingSource" +) diff --git a/test/lib/test_runner.go b/test/lib/test_runner.go index 7fd86ed0f5d..759c2d76a78 100644 --- a/test/lib/test_runner.go +++ b/test/lib/test_runner.go @@ -49,6 +49,7 @@ const ( type ComponentsTestRunner struct { ComponentFeatureMap map[metav1.TypeMeta][]Feature ComponentsToTest []metav1.TypeMeta + componentOptions map[metav1.TypeMeta][]SetupClientOption } // RunTests will use all components that support the given feature, to run @@ -73,6 +74,47 @@ func (tr *ComponentsTestRunner) RunTests( } } +// RunTestsWithComponentOptions will use all components that support the given +// feature, to run a test for the testFunc while passing the component specific +// SetupClientOptions to testFunc. You should used this method instead of +// RunTests if you have used AddComponentSetupClientOption to add some component +// specific initialization code. +func (tr *ComponentsTestRunner) RunTestsWithComponentOptions( + t *testing.T, + feature Feature, + testFunc func(st *testing.T, component metav1.TypeMeta, options ...SetupClientOption), +) { + t.Parallel() + for _, component := range tr.ComponentsToTest { + // If a component is not present in the map, then assume it has all properties. This is so an + // unknown component (e.g. a Channel) can be specified via a dedicated flag (e.g. --channels) and have tests run. + // TODO Use a flag to specify the features of the flag based component, rather than assuming + // it supports all features. + features, present := tr.ComponentFeatureMap[component] + if !present || contains(features, feature) { + t.Run(fmt.Sprintf("%s-%s", component.Kind, component.APIVersion), func(st *testing.T) { + testFunc(st, component, tr.componentOptions[component]...) + }) + } + } +} + +// AddComponentSetupClientOption adds a SetupClientOption that should only run when +// component gets selected to run. This should be used when there's an expensive +// initialization code should take place conditionally (e.g. create an instance +// of a source or a channel) as opposed to other cheap initialization code that +// is safe to be called in all cases (e.g. installation of a CRD) +func (tr *ComponentsTestRunner) AddComponentSetupClientOption(component metav1.TypeMeta, + options ...SetupClientOption){ + if tr.componentOptions == nil { + tr.componentOptions = make(map[metav1.TypeMeta][]SetupClientOption) + } + if _, ok := tr.componentOptions[component]; !ok { + tr.componentOptions[component] = make([]SetupClientOption, 0) + } + tr.componentOptions[component] = append(tr.componentOptions[component], options...) +} + func contains(features []Feature, feature Feature) bool { for _, f := range features { if f == feature { From c5169109bc78cd49b4a36abaf0b816674035a268 Mon Sep 17 00:00:00 2001 From: Ahmed Abdalla Date: Wed, 22 Jul 2020 08:43:27 +0200 Subject: [PATCH 2/6] Add proper ApiServerSource initializer and finish status conf test Signed-off-by: Ahmed Abdalla --- .../source_crd_metadata_test_helper.go | 2 +- .../sources/source_status_test_helper.go | 116 ++++++++-------- test/conformance/helpers/sources/sources.go | 82 ------------ test/conformance/main_test.go | 69 +++------- test/conformance/source_status_test.go | 28 ++++ test/conformance/sources_conf_test.go | 125 ------------------ test/lib/duck/resource_creators.go | 44 ------ test/lib/resources/constants.go | 2 +- test/lib/setupclientoptions/sources.go | 86 ++++++++++++ test/lib/test_runner.go | 15 ++- .../k8s.io/apimachinery/pkg/api/errors/OWNERS | 25 ++++ .../k8s.io/apimachinery/pkg/api/meta/OWNERS | 23 ++++ .../apimachinery/pkg/api/resource/OWNERS | 16 +++ .../apimachinery/pkg/apis/meta/v1/OWNERS | 32 +++++ .../apimachinery/pkg/util/mergepatch/OWNERS | 7 + .../pkg/util/strategicpatch/OWNERS | 8 ++ .../third_party/forked/golang/json/OWNERS | 7 + .../pkg/apis/clientauthentication/OWNERS | 9 ++ .../plugin/pkg/client/auth/gcp/OWNERS | 8 ++ .../plugin/pkg/client/auth/oidc/OWNERS | 7 + vendor/k8s.io/client-go/rest/OWNERS | 25 ++++ vendor/k8s.io/client-go/tools/auth/OWNERS | 9 ++ vendor/k8s.io/client-go/tools/cache/OWNERS | 45 +++++++ .../client-go/tools/leaderelection/OWNERS | 14 ++ .../tools/leaderelection/leaderelection.go | 3 +- vendor/k8s.io/client-go/tools/metrics/OWNERS | 7 + vendor/k8s.io/client-go/tools/record/OWNERS | 29 ++++ vendor/k8s.io/client-go/transport/OWNERS | 9 ++ vendor/k8s.io/client-go/util/cert/OWNERS | 9 ++ vendor/k8s.io/client-go/util/keyutil/OWNERS | 7 + vendor/k8s.io/client-go/util/retry/OWNERS | 4 + vendor/k8s.io/code-generator/OWNERS | 13 ++ .../code-generator/cmd/client-gen/OWNERS | 10 ++ .../code-generator/cmd/go-to-protobuf/OWNERS | 6 + vendor/k8s.io/klog/OWNERS | 19 +++ .../kube-openapi/pkg/generators/rules/OWNERS | 4 + .../k8s.io/kube-openapi/pkg/util/proto/OWNERS | 2 + vendor/k8s.io/utils/pointer/OWNERS | 10 ++ vendor/knative.dev/pkg/apis/OWNERS | 7 + vendor/knative.dev/pkg/apis/duck/OWNERS | 7 + vendor/knative.dev/pkg/configmap/OWNERS | 4 + vendor/knative.dev/pkg/controller/OWNERS | 7 + vendor/knative.dev/pkg/hack/OWNERS | 10 ++ vendor/knative.dev/pkg/hash/OWNERS | 7 + vendor/knative.dev/pkg/injection/OWNERS | 5 + vendor/knative.dev/pkg/kflag/OWNERS | 4 + vendor/knative.dev/pkg/kmeta/OWNERS | 4 + vendor/knative.dev/pkg/logging/OWNERS | 4 + vendor/knative.dev/pkg/metrics/OWNERS | 4 + vendor/knative.dev/pkg/network/OWNERS | 5 + vendor/knative.dev/pkg/reconciler/OWNERS | 7 + vendor/knative.dev/pkg/resolver/OWNERS | 5 + vendor/knative.dev/pkg/source/OWNERS | 4 + vendor/knative.dev/pkg/test/OWNERS | 10 ++ vendor/knative.dev/pkg/test/mako/OWNERS | 5 + vendor/knative.dev/pkg/tracing/config/OWNERS | 4 + vendor/knative.dev/pkg/webhook/OWNERS | 7 + vendor/sigs.k8s.io/yaml/OWNERS | 27 ++++ 58 files changed, 705 insertions(+), 368 deletions(-) delete mode 100644 test/conformance/helpers/sources/sources.go create mode 100644 test/conformance/source_status_test.go delete mode 100644 test/conformance/sources_conf_test.go create mode 100644 test/lib/setupclientoptions/sources.go create mode 100644 vendor/k8s.io/apimachinery/pkg/api/errors/OWNERS create mode 100644 vendor/k8s.io/apimachinery/pkg/api/meta/OWNERS create mode 100644 vendor/k8s.io/apimachinery/pkg/api/resource/OWNERS create mode 100644 vendor/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS create mode 100644 vendor/k8s.io/apimachinery/pkg/util/mergepatch/OWNERS create mode 100644 vendor/k8s.io/apimachinery/pkg/util/strategicpatch/OWNERS create mode 100644 vendor/k8s.io/apimachinery/third_party/forked/golang/json/OWNERS create mode 100644 vendor/k8s.io/client-go/pkg/apis/clientauthentication/OWNERS create mode 100644 vendor/k8s.io/client-go/plugin/pkg/client/auth/gcp/OWNERS create mode 100644 vendor/k8s.io/client-go/plugin/pkg/client/auth/oidc/OWNERS create mode 100644 vendor/k8s.io/client-go/rest/OWNERS create mode 100644 vendor/k8s.io/client-go/tools/auth/OWNERS create mode 100644 vendor/k8s.io/client-go/tools/cache/OWNERS create mode 100644 vendor/k8s.io/client-go/tools/leaderelection/OWNERS create mode 100644 vendor/k8s.io/client-go/tools/metrics/OWNERS create mode 100644 vendor/k8s.io/client-go/tools/record/OWNERS create mode 100644 vendor/k8s.io/client-go/transport/OWNERS create mode 100644 vendor/k8s.io/client-go/util/cert/OWNERS create mode 100644 vendor/k8s.io/client-go/util/keyutil/OWNERS create mode 100644 vendor/k8s.io/client-go/util/retry/OWNERS create mode 100644 vendor/k8s.io/code-generator/OWNERS create mode 100644 vendor/k8s.io/code-generator/cmd/client-gen/OWNERS create mode 100644 vendor/k8s.io/code-generator/cmd/go-to-protobuf/OWNERS create mode 100644 vendor/k8s.io/klog/OWNERS create mode 100644 vendor/k8s.io/kube-openapi/pkg/generators/rules/OWNERS create mode 100644 vendor/k8s.io/kube-openapi/pkg/util/proto/OWNERS create mode 100644 vendor/k8s.io/utils/pointer/OWNERS create mode 100644 vendor/knative.dev/pkg/apis/OWNERS create mode 100644 vendor/knative.dev/pkg/apis/duck/OWNERS create mode 100644 vendor/knative.dev/pkg/configmap/OWNERS create mode 100644 vendor/knative.dev/pkg/controller/OWNERS create mode 100644 vendor/knative.dev/pkg/hack/OWNERS create mode 100644 vendor/knative.dev/pkg/hash/OWNERS create mode 100644 vendor/knative.dev/pkg/injection/OWNERS create mode 100644 vendor/knative.dev/pkg/kflag/OWNERS create mode 100644 vendor/knative.dev/pkg/kmeta/OWNERS create mode 100644 vendor/knative.dev/pkg/logging/OWNERS create mode 100644 vendor/knative.dev/pkg/metrics/OWNERS create mode 100644 vendor/knative.dev/pkg/network/OWNERS create mode 100644 vendor/knative.dev/pkg/reconciler/OWNERS create mode 100644 vendor/knative.dev/pkg/resolver/OWNERS create mode 100644 vendor/knative.dev/pkg/source/OWNERS create mode 100644 vendor/knative.dev/pkg/test/OWNERS create mode 100644 vendor/knative.dev/pkg/test/mako/OWNERS create mode 100644 vendor/knative.dev/pkg/tracing/config/OWNERS create mode 100644 vendor/knative.dev/pkg/webhook/OWNERS create mode 100644 vendor/sigs.k8s.io/yaml/OWNERS diff --git a/test/conformance/helpers/sources/source_crd_metadata_test_helper.go b/test/conformance/helpers/sources/source_crd_metadata_test_helper.go index add7d120ed8..68133f066b6 100644 --- a/test/conformance/helpers/sources/source_crd_metadata_test_helper.go +++ b/test/conformance/helpers/sources/source_crd_metadata_test_helper.go @@ -42,7 +42,7 @@ func SourceCRDMetadataTestHelperWithChannelTestRunner( // From spec: // Each source MUST have the following: // label of duck.knative.dev/source: "true" - t.Run("Source CRD has required label", func(t *testing.T) { + st.Run("Source CRD has required label", func(t *testing.T) { helpers.ValidateRequiredLabels(client, source, sourceLabels) }) diff --git a/test/conformance/helpers/sources/source_status_test_helper.go b/test/conformance/helpers/sources/source_status_test_helper.go index 9ef16336af7..e2746f62a4e 100644 --- a/test/conformance/helpers/sources/source_status_test_helper.go +++ b/test/conformance/helpers/sources/source_status_test_helper.go @@ -5,7 +5,7 @@ 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 + 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, @@ -17,7 +17,13 @@ limitations under the License. package sources import ( + "fmt" + "github.com/pkg/errors" + "knative.dev/eventing/test/lib/duck" + "knative.dev/eventing/test/lib/resources" "knative.dev/pkg/apis" + duckv1beta1 "knative.dev/pkg/apis/duck/v1beta1" + "strings" "testing" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -25,8 +31,13 @@ import ( testlib "knative.dev/eventing/test/lib" ) -// SourceStatusTestHelperWithComponentsTestRunner runs the Source status conformance tests for all sources in -// the ComponentsTestRunner. This test needs an instance of the source which should be +// SourceStatusTestHelperWithComponentsTestRunner runs the Source status +// conformance tests for all sources in the ComponentsTestRunner. This test +// needs an instance created of each source which should be initialized via +// ComponentsTestRunner.AddComponentSetupClientOption. +// +// Note: The source object name must be the lower case Kind name (e.g. +// apiserversource for the Kind: ApiServerSource source) func SourceStatusTestHelperWithComponentsTestRunner( t *testing.T, componentsTestRunner testlib.ComponentsTestRunner, @@ -39,8 +50,8 @@ func SourceStatusTestHelperWithComponentsTestRunner( want apis.ConditionType } { { - "Long lived sources have Ready status condition", - testlib.FeatureLongLived, + "Long living sources have Ready status condition", + testlib.FeatureLongLiving, apis.ConditionReady, }, { @@ -51,16 +62,19 @@ func SourceStatusTestHelperWithComponentsTestRunner( } for _, tc := range table { - componentsTestRunner.RunTestsWithComponentOptions(t, tc.feature, - func(st *testing.T, source metav1.TypeMeta, - componentOptions ...testlib.SetupClientOption) { - options = append(options, componentOptions...) - client := testlib.Setup(st, true, options...) - defer testlib.TearDown(client) - - t.Run(tc.name, func(t *testing.T) { - validateSourceStatus(st, client, source, tc.want, options...) - }) + n := tc.name + f := tc.feature + w := tc.want + t.Run(n, func(t *testing.T) { + componentsTestRunner.RunTestsWithComponentOptions(t, f, true, + func(st *testing.T, source metav1.TypeMeta, + componentOptions ...testlib.SetupClientOption) { + st.Log("About to setup client") + options = append(options, componentOptions...) + client := testlib.Setup(st, true, options...) + defer testlib.TearDown(client) + validateSourceStatus(st, client, source, w, options...) + }) }) } } @@ -72,47 +86,43 @@ func validateSourceStatus(st *testing.T, client *testlib.Client, source metav1.T st.Logf("Running source status conformance test with source %q", source) - client.T.Logf("Creating source %+v-%s", source, sourceName) - //client.CreateSourceOrFail(sourceName, &source) - //client.WaitForResourceReadyOrFail(sourceName, &source) + v1beta1Src, err := getSourceAsV1Beta1Source(client, source) + if err != nil { + st.Fatalf("unable to get source %q with v1beta1 duck type: %v", source, err) + } - dtsv, err := getSourceDuckTypeSupportedVersion(sourceName, client, &source) + // SPEC: Sources MUST implement conditions with a Ready condition for long lived sources, and Succeeded for batch style sources. + if ! hasCondition(v1beta1Src, successCondition){ + st.Fatalf("%q does not have %q", source, successCondition) + } + + // SPEC: Sources MUST propagate the sinkUri to their status to signal to the cluster where their events are being sent. + if v1beta1Src.Status.SinkURI.Host == "" { + st.Fatalf("sinkUri was not propagated for source %q", source) + } +} + +func getSourceAsV1Beta1Source(client *testlib.Client, + source metav1.TypeMeta) (*duckv1beta1.Source, error){ + srcName := strings.ToLower(fmt.Sprintf("%s", source.Kind)) + metaResource := resources.NewMetaResource(srcName, client.Namespace, + &source) + obj, err := duck.GetGenericObject(client.Dynamic, metaResource, + &duckv1beta1.Source{}) if err != nil { - st.Fatalf("Unable to check source duck type supported version for %q: %q", source, err) + return nil, errors.Wrapf(err, "unable to get the source as v1beta1 Source duck type: %q", source) } + srcObj, ok := obj.(*duckv1beta1.Source) + if !ok { + return nil, errors.Errorf("unable to cast source %q to v1beta1 Source" + + " duck type", source) + } + return srcObj, nil +} - if dtsv == "" || dtsv == "v1alpha1" { - // treat missing annotation value as v1alpha1, as written in the spec - versionedSrc, err := getSourceAsV1Alpha1Source(sourceName, client, source) - if err != nil { - st.Fatalf("Unable to get source %q with v1alpha1 duck type: %q", source, err) - } - - // SPEC: Sources MUST implement conditions with a Ready condition for long lived sources, and Succeeded for batch style sources. - if ! hasCondition(versionedSrc, successCondition){ - st.Fatalf("%q does not have %q", source, successCondition) - } - - // SPEC: Sources MUST propagate the sinkUri to their status to signal to the cluster where their events are being sent. - if versionedSrc.Status.SinkURI.Host == "" { - st.Fatalf("sinkUri was not propagated for source %q", source) - } - } else if dtsv == "v1alpha2" { - versionedSrc, err := getSourceAsV1Alpha2Source(sourceName, client, source) - if err != nil { - st.Fatalf("Unable to get source %q with v1alpha2 duck type: %q", source, err) - } - // SPEC: Sources MUST implement conditions with a Ready condition for long lived sources, and Succeeded for batch style sources. - if ! hasCondition(versionedSrc, successCondition){ - st.Fatalf("%q does not have %q", source, successCondition) - } - - // SPEC: Sources MUST propagate the sinkUri to their status to signal to the cluster where their events are being sent. - if versionedSrc.Status.SinkURI.Host == "" { - st.Fatalf("sinkUri was not propagated for source %q", source) - } - - } else { - st.Fatalf("Source doesn't support v1alpha1 or v1alpha2 Source duck types: %q", source) +func hasCondition(src *duckv1beta1.Source, t apis.ConditionType) bool{ + if src.Status.GetCondition(t) == nil{ + return false } + return true } diff --git a/test/conformance/helpers/sources/sources.go b/test/conformance/helpers/sources/sources.go deleted file mode 100644 index b3dae068ec0..00000000000 --- a/test/conformance/helpers/sources/sources.go +++ /dev/null @@ -1,82 +0,0 @@ -/* -Copyright 2020 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. -*/ - -package sources - -import ( - "github.com/pkg/errors" - testlib "knative.dev/eventing/test/lib" - "knative.dev/eventing/test/lib/duck" - "knative.dev/eventing/test/lib/resources" - - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - eventingduckv1alpha1 "knative.dev/eventing/pkg/apis/duck/v1alpha1" - eventingduckv1beta1 "knative.dev/eventing/pkg/apis/duck/v1beta1" - - "knative.dev/eventing/pkg/apis/messaging" - duckv1beta1 "knative.dev/eventing/vendor/knative.dev/pkg/apis/duck/v1beta1" - messagingv1beta1 "knative.dev/eventing/pkg/apis/messaging/v1beta1" -) - -var ( - channelv1beta1GVK = (&messagingv1beta1.Channel{}).GetGroupVersionKind() - - channelv1beta1 = metav1.TypeMeta{ - Kind: channelv1beta1GVK.Kind, - APIVersion: channelv1beta1GVK.GroupVersion().String(), - } -) - -func getSourceDuckTypeSupportedVersion(sourceName string, client *testlib.Client, source *metav1.TypeMeta) (string, error) { - metaResource := resources.NewMetaResource(sourceName, client.Namespace, source) - obj, err := duck.GetGenericObject(client.Dynamic, metaResource, &duckv1beta1.Source{}) - if err != nil { - return "", errors.Wrapf(err, "Unable to GET the channel %v", metaResource) - } - sourceDuck, ok := obj.(*duckv1beta1.Source) - if !ok { - return "", errors.Wrapf(err, "Unable to cast the channel %v", metaResource) - } - return sourceDuck.ObjectMeta.Annotations[messaging.SubscribableDuckVersionAnnotation], nil -} - -func getChannelAsV1Beta1Channelable(channelName string, client *testlib.Client, channel metav1.TypeMeta) (*eventingduckv1beta1.Channelable, error) { - metaResource := resources.NewMetaResource(channelName, client.Namespace, &channel) - obj, err := duck.GetGenericObject(client.Dynamic, metaResource, &eventingduckv1beta1.Channelable{}) - if err != nil { - return nil, errors.Wrapf(err, "Unable to get the channel as v1beta1 Channel duck type: %q", channel) - } - channelable, ok := obj.(*eventingduckv1beta1.Channelable) - if !ok { - return nil, errors.Errorf("Unable to cast channel %q to v1beta1 duck type", channel) - } - - return channelable, nil -} - -func getChannelAsV1Alpha1Channelable(channelName string, client *testlib.Client, channel metav1.TypeMeta) (*eventingduckv1alpha1.Channelable, error) { - metaResource := resources.NewMetaResource(channelName, client.Namespace, &channel) - obj, err := duck.GetGenericObject(client.Dynamic, metaResource, &eventingduckv1alpha1.Channelable{}) - if err != nil { - return nil, errors.Wrapf(err, "Unable to get the channel as v1alpha1 Channel duck type: %q", channel) - } - channelable, ok := obj.(*eventingduckv1alpha1.Channelable) - if !ok { - return nil, errors.Errorf("Unable to cast channel %q to v1alpha1 duck type", channel) - } - - return channelable, nil -} diff --git a/test/conformance/main_test.go b/test/conformance/main_test.go index 593f8748718..b12ed719016 100644 --- a/test/conformance/main_test.go +++ b/test/conformance/main_test.go @@ -18,14 +18,10 @@ limitations under the License. package conformance import ( - rbacv1 "k8s.io/api/rbac/v1" - sourcesv1alpha2 "knative.dev/eventing/pkg/apis/sources/v1alpha2" - eventingtesting "knative.dev/eventing/pkg/reconciler/testing" - "knative.dev/eventing/test/lib/resources" - duckv1 "knative.dev/pkg/apis/duck/v1" "fmt" "log" "os" + "strings" "testing" "knative.dev/pkg/test/zipkin" @@ -33,6 +29,12 @@ import ( "knative.dev/eventing/test" testlib "knative.dev/eventing/test/lib" "knative.dev/eventing/test/lib/resources" + "knative.dev/eventing/test/lib/setupclientoptions" +) +const ( + roleName = "event-watcher-r" + serviceAccountName = "event-watcher-sa" + recordEventsPodName = "api-server-source-logger-pod" ) var channelTestRunner testlib.ComponentsTestRunner @@ -50,7 +52,7 @@ func TestMain(m *testing.M) { } sourcesTestRunner = testlib.ComponentsTestRunner{ ComponentFeatureMap: testlib.SourceFeatureMap, - ComponentsToTest: test.EventingFlags.Sources, + ComponentsToTest: test.EventingFlags.Sources, } brokerClass = test.EventingFlags.BrokerClass brokerName = test.EventingFlags.BrokerName @@ -67,52 +69,13 @@ func TestMain(m *testing.M) { }()) } -func addSourcesInitializers(){ +func addSourcesInitializers() { + name := strings.ToLower(fmt.Sprintf("%s", + testlib.ApiServerSourceTypeMeta.Kind)) sourcesTestRunner.AddComponentSetupClientOption( - testlib.ApiServerSourceTypeMeta, func(t *testing.T, client *testlib.Client) { - const ( - baseApiServerSourceName = "conf-api-server-source" - roleName = "event-watcher-r" - serviceAccountName = "event-watcher-sa" - sinkPodName = "conf-source-sink" - ) - - // creates ServiceAccount and RoleBinding with a role for reading pods and events - r := resources.Role(roleName, - resources.WithRuleForRole(&rbacv1.PolicyRule{ - APIGroups: []string{""}, - Resources: []string{"events", "pods"}, - Verbs: []string{"get", "list", "watch"}})) - client.CreateServiceAccountOrFail(serviceAccountName) - client.CreateRoleOrFail(r) - client.CreateRoleBindingOrFail( - serviceAccountName, - testlib.RoleKind, - roleName, - fmt.Sprintf("%s-%s", serviceAccountName, roleName), - client.Namespace, - ) - - spec := sourcesv1alpha2.ApiServerSourceSpec{ - Resources: []sourcesv1alpha2.APIVersionKindSelector{{ - APIVersion: "v1", - Kind: "Event", - }}, - ServiceAccountName: serviceAccountName, - } - spec.Sink = duckv1.Destination{Ref: resources.ServiceKRef(sinkPodName)} - - apiServerSource := eventingtesting.NewApiServerSource( - baseApiServerSourceName, - client.Namespace, - eventingtesting.WithApiServerSourceSpec(spec), - ) - - client.CreateApiServerSourceOrFail(apiServerSource) - - // wait for all test resources to be ready - client.WaitForAllTestResourcesReadyOrFail() - }) - - + testlib.ApiServerSourceTypeMeta, + setupclientoptions.ApiServerSourceClientSetupOption(name, + "Reference", + recordEventsPodName, roleName, serviceAccountName), + ) } diff --git a/test/conformance/source_status_test.go b/test/conformance/source_status_test.go new file mode 100644 index 00000000000..d978b25f4fd --- /dev/null +++ b/test/conformance/source_status_test.go @@ -0,0 +1,28 @@ +/* +Copyright 2020 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. +*/ + +package conformance + +import ( + srchelpers "knative.dev/eventing/test/conformance/helpers/sources" + testlib "knative.dev/eventing/test/lib" + "testing" +) + +func TestSourceStatus(t *testing.T) { + srchelpers.SourceStatusTestHelperWithComponentsTestRunner(t, + sourcesTestRunner, testlib.SetupClientOptionNoop) +} diff --git a/test/conformance/sources_conf_test.go b/test/conformance/sources_conf_test.go deleted file mode 100644 index 11e50091cd5..00000000000 --- a/test/conformance/sources_conf_test.go +++ /dev/null @@ -1,125 +0,0 @@ -/* -Copyright 2020 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. -*/ - -package conformance - -import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - testlib "knative.dev/eventing/test/lib" - "knative.dev/pkg/apis" - "testing" -) -func SetupApiServerSource(c *testlib.Client){ - -} -func SetupPingSource(c *testlib.Client){ - -} -func SetupContainerSource(c *testing..Client){ - -} -func TestSourcesStatusConformance(t *testing.T) { - SourceStatusTestHelperWithComponentsTestRunner(t, - sourcesTestRunner, - SetupApiServerSource) -} - -func SourceStatusTestHelperWithComponentsTestRunner( - t *testing.T, - componentsTestRunner testlib.ComponentsTestRunner, - options ...testlib.SetupClientOption, -) { - table := [] struct { - name string - feature testlib.Feature - // Sources report success via either a Ready condition or a Succeeded condition - want apis.ConditionType - } { - { - "Long lived sources have Ready status condition", - testlib.FeatureLongLived, - apis.ConditionReady, - }, - { - "Batch sources have Succeeded status condition", - testlib.FeatureBatch, - apis.ConditionSucceeded, - }, - - } - for _, tc := range table { - componentsTestRunner.RunTests(t, tc.feature, func(st *testing.T, source metav1.TypeMeta) { - client := testlib.Setup(st, true, options...) - defer testlib.TearDown(client) - - t.Run(tc.name, func(t *testing.T) { - validateSourceStatus(st, client, source, tc.want, options...) - }) - }) - } -} - -func validateSourceStatus(st *testing.T, client *testlib.Client, source metav1.TypeMeta, successCondition apis.ConditionType, options ...testlib.SetupClientOption) { - const( - sourceName = "source-req-status" - ) - - st.Logf("Running source status conformance test with source %q", source) - - client.T.Logf("Creating source %+v-%s", source, sourceName) - //client.CreateSourceOrFail(sourceName, &source) - //client.WaitForResourceReadyOrFail(sourceName, &source) - - dtsv, err := getSourceDuckTypeSupportedVersion(sourceName, client, &source) - if err != nil { - st.Fatalf("Unable to check source duck type supported version for %q: %q", source, err) - } - - if dtsv == "" || dtsv == "v1alpha1" { - // treat missing annotation value as v1alpha1, as written in the spec - versionedSrc, err := getSourceAsV1Alpha1Source(sourceName, client, source) - if err != nil { - st.Fatalf("Unable to get source %q with v1alpha1 duck type: %q", source, err) - } - - // SPEC: Sources MUST implement conditions with a Ready condition for long lived sources, and Succeeded for batch style sources. - if ! hasCondition(versionedSrc, successCondition){ - st.Fatalf("%q does not have %q", source, successCondition) - } - - // SPEC: Sources MUST propagate the sinkUri to their status to signal to the cluster where their events are being sent. - if versionedSrc.Status.SinkURI.Host == "" { - st.Fatalf("sinkUri was not propagated for source %q", source) - } - } else if dtsv == "v1alpha2" { - versionedSrc, err := getSourceAsV1Alpha2Source(sourceName, client, source) - if err != nil { - st.Fatalf("Unable to get source %q with v1alpha2 duck type: %q", source, err) - } - // SPEC: Sources MUST implement conditions with a Ready condition for long lived sources, and Succeeded for batch style sources. - if ! hasCondition(versionedSrc, successCondition){ - st.Fatalf("%q does not have %q", source, successCondition) - } - - // SPEC: Sources MUST propagate the sinkUri to their status to signal to the cluster where their events are being sent. - if versionedSrc.Status.SinkURI.Host == "" { - st.Fatalf("sinkUri was not propagated for source %q", source) - } - - } else { - st.Fatalf("Source doesn't support v1alpha1 or v1alpha2 Source duck types: %q", source) - } -} diff --git a/test/lib/duck/resource_creators.go b/test/lib/duck/resource_creators.go index 4794f7e9ee7..d9ee4391736 100644 --- a/test/lib/duck/resource_creators.go +++ b/test/lib/duck/resource_creators.go @@ -77,47 +77,3 @@ func newChannel(obj *resources.MetaResource) (*unstructured.Unstructured, error) } return u, nil } - -// CreateGenericSourceObject create a generic source object with the dynamic client and source's meta data. -func CreateGenericSourceObject(dynamicClient dynamic.Interface, -obj *resources.MetaResource, -) ( schema.GroupVersionResource, error) { - // get the resource's gvr - gvr, _ := meta.UnsafeGuessKindToResource(obj.GroupVersionKind()) - src, err := newSource(obj) - if err != nil { - return gvr, err - } - - sourceResourceInterface := dynamicClient.Resource(gvr).Namespace(obj.Namespace) - _, err = sourceResourceInterface.Create(src, metav1.CreateOptions{}) - return gvr, err -} - -// newSource returns an unstructured.Unstructured based on the ChannelTemplateSpec for a given meta resource. -func newSource(obj *resources.MetaResource) (*unstructured.Unstructured, error) { - // Set the name of the resource we're creating as well as the namespace, etc. - template := sourcesv1Alp.ChannelTemplateSpecInternal{ - TypeMeta: metav1.TypeMeta{ - Kind: obj.Kind, - APIVersion: obj.APIVersion, - }, - ObjectMeta: metav1.ObjectMeta{ - Name: obj.Name, - Namespace: obj.Namespace, - }, - Spec: messagingv1beta1.ChannelTemplateSpec{ - TypeMeta: obj.TypeMeta, - }.Spec, - } - raw, err := json.Marshal(template) - if err != nil { - return nil, err - } - u := &unstructured.Unstructured{} - err = json.Unmarshal(raw, u) - if err != nil { - return nil, err - } - return u, nil -} diff --git a/test/lib/resources/constants.go b/test/lib/resources/constants.go index 44f7b2177dd..fd635e7893c 100644 --- a/test/lib/resources/constants.go +++ b/test/lib/resources/constants.go @@ -28,7 +28,7 @@ const ( MessagingAPIVersion = "messaging.knative.dev/v1beta1" FlowsAPIVersion = "flows.knative.dev/v1beta1" ServingAPIVersion = "serving.knative.dev/v1" - SourcesAPIVersion = "sources.knative.dev/v1alpha2" + SourcesAPIVersion = "sources.knative.dev/v1beta1" ) // Kind for Knative resources. diff --git a/test/lib/setupclientoptions/sources.go b/test/lib/setupclientoptions/sources.go new file mode 100644 index 00000000000..77226e82ad0 --- /dev/null +++ b/test/lib/setupclientoptions/sources.go @@ -0,0 +1,86 @@ +/* +Copyright 2020 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. +*/ + +package setupclientoptions + +import ( + "fmt" + rbacv1 "k8s.io/api/rbac/v1" + sourcesv1beta1 "knative.dev/eventing/pkg/apis/sources/v1beta1" + eventingtesting "knative.dev/eventing/pkg/reconciler/testing" + testlib "knative.dev/eventing/test/lib" + "knative.dev/eventing/test/lib/recordevents" + "knative.dev/eventing/test/lib/resources" + duckv1 "knative.dev/pkg/apis/duck/v1" +) + +// ApiServerSourceClientSetupOption returns a ClientSetupOption that can be used +// to create a new ApiServerSource. It creates a ServiceAccount, a Role, a +// RoleBinding, a RecordEvents pod and an ApiServerSource object with the event +// mode and RecordEvent pod as its sink. +func ApiServerSourceClientSetupOption(name string, mode string, recordEventsPodName string, + roleName string, serviceAccountName string) testlib.SetupClientOption{ + return func(client *testlib.Client) { + // create needed RBAC SA, Role & RoleBinding + createRbacObjects(client, roleName, serviceAccountName) + + // create event record + eventTracker, _ := recordevents.StartEventRecordOrFail(client, + recordEventsPodName) + defer eventTracker.Cleanup() + + spec := sourcesv1beta1.ApiServerSourceSpec{ + Resources: []sourcesv1beta1.APIVersionKindSelector{{ + APIVersion: "v1", + Kind: "Event", + }}, + EventMode: mode, + ServiceAccountName: serviceAccountName, + } + spec.Sink = duckv1.Destination{Ref: resources.ServiceKRef(recordEventsPodName)} + + apiServerSource := eventingtesting.NewApiServerSourceV1Beta1( + name, + client.Namespace, + eventingtesting.WithApiServerSourceSpecV1B1(spec), + ) + + client.CreateApiServerSourceV1Beta1OrFail(apiServerSource) + + // wait for all test resources to be ready + client.WaitForAllTestResourcesReadyOrFail() + } +} + +func createRbacObjects(client *testlib.Client, roleName string, + serviceAccountName string) { + // creates ServiceAccount and RoleBinding with a role for reading pods + // and events + r := resources.Role(roleName, + resources.WithRuleForRole(&rbacv1.PolicyRule{ + APIGroups: []string{""}, + Resources: []string{"events", "pods"}, + Verbs: []string{"get", "list", "watch"}})) + client.CreateServiceAccountOrFail(serviceAccountName) + client.CreateRoleOrFail(r) + client.CreateRoleBindingOrFail( + serviceAccountName, + testlib.RoleKind, + roleName, + fmt.Sprintf("%s-%s", serviceAccountName, roleName), + client.Namespace, + ) +} diff --git a/test/lib/test_runner.go b/test/lib/test_runner.go index 759c2d76a78..e63ef2fd0e0 100644 --- a/test/lib/test_runner.go +++ b/test/lib/test_runner.go @@ -78,20 +78,21 @@ func (tr *ComponentsTestRunner) RunTests( // feature, to run a test for the testFunc while passing the component specific // SetupClientOptions to testFunc. You should used this method instead of // RunTests if you have used AddComponentSetupClientOption to add some component -// specific initialization code. +// specific initialization code. If strict is set to true, tests will not run +// for components that don't exist in the ComponentFeatureMap. func (tr *ComponentsTestRunner) RunTestsWithComponentOptions( t *testing.T, feature Feature, - testFunc func(st *testing.T, component metav1.TypeMeta, options ...SetupClientOption), + strict bool, + testFunc func(st *testing.T, component metav1.TypeMeta, + options ...SetupClientOption), ) { t.Parallel() for _, component := range tr.ComponentsToTest { - // If a component is not present in the map, then assume it has all properties. This is so an - // unknown component (e.g. a Channel) can be specified via a dedicated flag (e.g. --channels) and have tests run. - // TODO Use a flag to specify the features of the flag based component, rather than assuming - // it supports all features. + // If in strict mode and a component is not present in the map, then + // don't run the tests features, present := tr.ComponentFeatureMap[component] - if !present || contains(features, feature) { + if !strict || ( present && contains(features, feature)) { t.Run(fmt.Sprintf("%s-%s", component.Kind, component.APIVersion), func(st *testing.T) { testFunc(st, component, tr.componentOptions[component]...) }) diff --git a/vendor/k8s.io/apimachinery/pkg/api/errors/OWNERS b/vendor/k8s.io/apimachinery/pkg/api/errors/OWNERS new file mode 100644 index 00000000000..435297a8d51 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/api/errors/OWNERS @@ -0,0 +1,25 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +reviewers: +- thockin +- lavalamp +- smarterclayton +- wojtek-t +- deads2k +- brendandburns +- derekwaynecarr +- caesarxuchao +- mikedanese +- liggitt +- nikhiljindal +- gmarek +- erictune +- saad-ali +- janetkuo +- tallclair +- eparis +- dims +- hongchaodeng +- krousey +- cjcullen +- david-mcmahon diff --git a/vendor/k8s.io/apimachinery/pkg/api/meta/OWNERS b/vendor/k8s.io/apimachinery/pkg/api/meta/OWNERS new file mode 100644 index 00000000000..96bccff1b23 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/api/meta/OWNERS @@ -0,0 +1,23 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +reviewers: +- thockin +- smarterclayton +- wojtek-t +- deads2k +- brendandburns +- derekwaynecarr +- caesarxuchao +- mikedanese +- liggitt +- nikhiljindal +- gmarek +- janetkuo +- ncdc +- eparis +- dims +- krousey +- resouer +- david-mcmahon +- mfojtik +- jianhuiz diff --git a/vendor/k8s.io/apimachinery/pkg/api/resource/OWNERS b/vendor/k8s.io/apimachinery/pkg/api/resource/OWNERS new file mode 100644 index 00000000000..dc7740190ae --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/api/resource/OWNERS @@ -0,0 +1,16 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +reviewers: +- thockin +- lavalamp +- smarterclayton +- wojtek-t +- derekwaynecarr +- mikedanese +- saad-ali +- janetkuo +- tallclair +- eparis +- xiang90 +- mbohlool +- david-mcmahon diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS new file mode 100644 index 00000000000..77cfb0c1aa3 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS @@ -0,0 +1,32 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +reviewers: +- thockin +- smarterclayton +- wojtek-t +- deads2k +- brendandburns +- caesarxuchao +- liggitt +- nikhiljindal +- gmarek +- erictune +- davidopp +- sttts +- quinton-hoole +- luxas +- janetkuo +- justinsb +- ncdc +- soltysh +- dims +- madhusudancs +- hongchaodeng +- krousey +- mml +- mbohlool +- david-mcmahon +- therc +- mqliang +- kevin-wangzefeng +- jianhuiz diff --git a/vendor/k8s.io/apimachinery/pkg/util/mergepatch/OWNERS b/vendor/k8s.io/apimachinery/pkg/util/mergepatch/OWNERS new file mode 100644 index 00000000000..3f72c69ba39 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/util/mergepatch/OWNERS @@ -0,0 +1,7 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: +- pwittrock +reviewers: +- mengqiy +- apelisse diff --git a/vendor/k8s.io/apimachinery/pkg/util/strategicpatch/OWNERS b/vendor/k8s.io/apimachinery/pkg/util/strategicpatch/OWNERS new file mode 100644 index 00000000000..cfee199fa08 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/util/strategicpatch/OWNERS @@ -0,0 +1,8 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: +- pwittrock +- mengqiy +reviewers: +- mengqiy +- apelisse diff --git a/vendor/k8s.io/apimachinery/third_party/forked/golang/json/OWNERS b/vendor/k8s.io/apimachinery/third_party/forked/golang/json/OWNERS new file mode 100644 index 00000000000..3f72c69ba39 --- /dev/null +++ b/vendor/k8s.io/apimachinery/third_party/forked/golang/json/OWNERS @@ -0,0 +1,7 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: +- pwittrock +reviewers: +- mengqiy +- apelisse diff --git a/vendor/k8s.io/client-go/pkg/apis/clientauthentication/OWNERS b/vendor/k8s.io/client-go/pkg/apis/clientauthentication/OWNERS new file mode 100644 index 00000000000..e0ec62deb2b --- /dev/null +++ b/vendor/k8s.io/client-go/pkg/apis/clientauthentication/OWNERS @@ -0,0 +1,9 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +# approval on api packages bubbles to api-approvers +reviewers: +- sig-auth-authenticators-approvers +- sig-auth-authenticators-reviewers +labels: +- sig/auth + diff --git a/vendor/k8s.io/client-go/plugin/pkg/client/auth/gcp/OWNERS b/vendor/k8s.io/client-go/plugin/pkg/client/auth/gcp/OWNERS new file mode 100644 index 00000000000..97fcd3dd302 --- /dev/null +++ b/vendor/k8s.io/client-go/plugin/pkg/client/auth/gcp/OWNERS @@ -0,0 +1,8 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: +- cjcullen +- jlowdermilk +reviewers: +- cjcullen +- jlowdermilk diff --git a/vendor/k8s.io/client-go/plugin/pkg/client/auth/oidc/OWNERS b/vendor/k8s.io/client-go/plugin/pkg/client/auth/oidc/OWNERS new file mode 100644 index 00000000000..03fb44ea24b --- /dev/null +++ b/vendor/k8s.io/client-go/plugin/pkg/client/auth/oidc/OWNERS @@ -0,0 +1,7 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: +- ericchiang +reviewers: +- ericchiang +- rithujohn191 diff --git a/vendor/k8s.io/client-go/rest/OWNERS b/vendor/k8s.io/client-go/rest/OWNERS new file mode 100644 index 00000000000..c02ec6a250f --- /dev/null +++ b/vendor/k8s.io/client-go/rest/OWNERS @@ -0,0 +1,25 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +reviewers: +- thockin +- smarterclayton +- caesarxuchao +- wojtek-t +- deads2k +- brendandburns +- liggitt +- nikhiljindal +- gmarek +- erictune +- sttts +- luxas +- dims +- errordeveloper +- hongchaodeng +- krousey +- resouer +- cjcullen +- rmmh +- asalkeld +- juanvallejo +- lojies diff --git a/vendor/k8s.io/client-go/tools/auth/OWNERS b/vendor/k8s.io/client-go/tools/auth/OWNERS new file mode 100644 index 00000000000..3e05d309be5 --- /dev/null +++ b/vendor/k8s.io/client-go/tools/auth/OWNERS @@ -0,0 +1,9 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: +- sig-auth-authenticators-approvers +reviewers: +- sig-auth-authenticators-reviewers +labels: +- sig/auth + diff --git a/vendor/k8s.io/client-go/tools/cache/OWNERS b/vendor/k8s.io/client-go/tools/cache/OWNERS new file mode 100644 index 00000000000..bd61bc76660 --- /dev/null +++ b/vendor/k8s.io/client-go/tools/cache/OWNERS @@ -0,0 +1,45 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: +- thockin +- lavalamp +- smarterclayton +- wojtek-t +- deads2k +- caesarxuchao +- liggitt +- ncdc +reviewers: +- thockin +- lavalamp +- smarterclayton +- wojtek-t +- deads2k +- brendandburns +- derekwaynecarr +- caesarxuchao +- mikedanese +- liggitt +- nikhiljindal +- erictune +- davidopp +- pmorie +- janetkuo +- justinsb +- eparis +- soltysh +- jsafrane +- dims +- madhusudancs +- hongchaodeng +- krousey +- xiang90 +- mml +- ingvagabund +- resouer +- jessfraz +- david-mcmahon +- mfojtik +- mqliang +- sdminonne +- ncdc diff --git a/vendor/k8s.io/client-go/tools/leaderelection/OWNERS b/vendor/k8s.io/client-go/tools/leaderelection/OWNERS new file mode 100644 index 00000000000..44d93f84fa3 --- /dev/null +++ b/vendor/k8s.io/client-go/tools/leaderelection/OWNERS @@ -0,0 +1,14 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: +- mikedanese +- timothysc +reviewers: +- wojtek-t +- deads2k +- mikedanese +- gmarek +- eparis +- timothysc +- ingvagabund +- resouer diff --git a/vendor/k8s.io/client-go/tools/leaderelection/leaderelection.go b/vendor/k8s.io/client-go/tools/leaderelection/leaderelection.go index aca8717902e..42fffd45ae7 100644 --- a/vendor/k8s.io/client-go/tools/leaderelection/leaderelection.go +++ b/vendor/k8s.io/client-go/tools/leaderelection/leaderelection.go @@ -301,8 +301,7 @@ func (le *LeaderElector) release() bool { return true } leaderElectionRecord := rl.LeaderElectionRecord{ - LeaderTransitions: le.observedRecord.LeaderTransitions, - LeaseDurationSeconds: le.observedRecord.LeaseDurationSeconds, + LeaderTransitions: le.observedRecord.LeaderTransitions, } if err := le.config.Lock.Update(leaderElectionRecord); err != nil { klog.Errorf("Failed to release lock: %v", err) diff --git a/vendor/k8s.io/client-go/tools/metrics/OWNERS b/vendor/k8s.io/client-go/tools/metrics/OWNERS new file mode 100644 index 00000000000..ad52d0c5cc0 --- /dev/null +++ b/vendor/k8s.io/client-go/tools/metrics/OWNERS @@ -0,0 +1,7 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +reviewers: +- wojtek-t +- eparis +- krousey +- jayunit100 diff --git a/vendor/k8s.io/client-go/tools/record/OWNERS b/vendor/k8s.io/client-go/tools/record/OWNERS new file mode 100644 index 00000000000..6ce73bb5cd3 --- /dev/null +++ b/vendor/k8s.io/client-go/tools/record/OWNERS @@ -0,0 +1,29 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +reviewers: +- lavalamp +- smarterclayton +- wojtek-t +- deads2k +- derekwaynecarr +- caesarxuchao +- vishh +- mikedanese +- liggitt +- nikhiljindal +- erictune +- pmorie +- dchen1107 +- saad-ali +- luxas +- yifan-gu +- eparis +- mwielgus +- timothysc +- jsafrane +- dims +- krousey +- a-robinson +- aveshagarwal +- resouer +- cjcullen diff --git a/vendor/k8s.io/client-go/transport/OWNERS b/vendor/k8s.io/client-go/transport/OWNERS new file mode 100644 index 00000000000..a52176903c0 --- /dev/null +++ b/vendor/k8s.io/client-go/transport/OWNERS @@ -0,0 +1,9 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +reviewers: +- smarterclayton +- wojtek-t +- deads2k +- liggitt +- krousey +- caesarxuchao diff --git a/vendor/k8s.io/client-go/util/cert/OWNERS b/vendor/k8s.io/client-go/util/cert/OWNERS new file mode 100644 index 00000000000..3cf03643835 --- /dev/null +++ b/vendor/k8s.io/client-go/util/cert/OWNERS @@ -0,0 +1,9 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: +- sig-auth-certificates-approvers +reviewers: +- sig-auth-certificates-reviewers +labels: +- sig/auth + diff --git a/vendor/k8s.io/client-go/util/keyutil/OWNERS b/vendor/k8s.io/client-go/util/keyutil/OWNERS new file mode 100644 index 00000000000..470b7a1c92d --- /dev/null +++ b/vendor/k8s.io/client-go/util/keyutil/OWNERS @@ -0,0 +1,7 @@ +approvers: +- sig-auth-certificates-approvers +reviewers: +- sig-auth-certificates-reviewers +labels: +- sig/auth + diff --git a/vendor/k8s.io/client-go/util/retry/OWNERS b/vendor/k8s.io/client-go/util/retry/OWNERS new file mode 100644 index 00000000000..dec3e88d631 --- /dev/null +++ b/vendor/k8s.io/client-go/util/retry/OWNERS @@ -0,0 +1,4 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +reviewers: +- caesarxuchao diff --git a/vendor/k8s.io/code-generator/OWNERS b/vendor/k8s.io/code-generator/OWNERS new file mode 100644 index 00000000000..6f7abe3edb1 --- /dev/null +++ b/vendor/k8s.io/code-generator/OWNERS @@ -0,0 +1,13 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: +- lavalamp +- wojtek-t +- sttts +reviewers: +- lavalamp +- wojtek-t +- sttts +labels: +- sig/api-machinery +- area/code-generation diff --git a/vendor/k8s.io/code-generator/cmd/client-gen/OWNERS b/vendor/k8s.io/code-generator/cmd/client-gen/OWNERS new file mode 100644 index 00000000000..62866d0b194 --- /dev/null +++ b/vendor/k8s.io/code-generator/cmd/client-gen/OWNERS @@ -0,0 +1,10 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: +- lavalamp +- wojtek-t +- caesarxuchao +reviewers: +- lavalamp +- wojtek-t +- caesarxuchao diff --git a/vendor/k8s.io/code-generator/cmd/go-to-protobuf/OWNERS b/vendor/k8s.io/code-generator/cmd/go-to-protobuf/OWNERS new file mode 100644 index 00000000000..613659162a9 --- /dev/null +++ b/vendor/k8s.io/code-generator/cmd/go-to-protobuf/OWNERS @@ -0,0 +1,6 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: +- smarterclayton +reviewers: +- smarterclayton diff --git a/vendor/k8s.io/klog/OWNERS b/vendor/k8s.io/klog/OWNERS new file mode 100644 index 00000000000..380e514f280 --- /dev/null +++ b/vendor/k8s.io/klog/OWNERS @@ -0,0 +1,19 @@ +# See the OWNERS docs at https://go.k8s.io/owners +reviewers: + - jayunit100 + - hoegaarden + - andyxning + - neolit123 + - pohly + - yagonobre + - vincepri + - detiber +approvers: + - dims + - thockin + - justinsb + - tallclair + - piosz + - brancz + - DirectXMan12 + - lavalamp diff --git a/vendor/k8s.io/kube-openapi/pkg/generators/rules/OWNERS b/vendor/k8s.io/kube-openapi/pkg/generators/rules/OWNERS new file mode 100644 index 00000000000..235bc545b88 --- /dev/null +++ b/vendor/k8s.io/kube-openapi/pkg/generators/rules/OWNERS @@ -0,0 +1,4 @@ +reviewers: +- roycaihw +approvers: +- roycaihw diff --git a/vendor/k8s.io/kube-openapi/pkg/util/proto/OWNERS b/vendor/k8s.io/kube-openapi/pkg/util/proto/OWNERS new file mode 100644 index 00000000000..9621a6a3a4a --- /dev/null +++ b/vendor/k8s.io/kube-openapi/pkg/util/proto/OWNERS @@ -0,0 +1,2 @@ +approvers: +- apelisse diff --git a/vendor/k8s.io/utils/pointer/OWNERS b/vendor/k8s.io/utils/pointer/OWNERS new file mode 100644 index 00000000000..0d6392752af --- /dev/null +++ b/vendor/k8s.io/utils/pointer/OWNERS @@ -0,0 +1,10 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: +- apelisse +- stewart-yu +- thockin +reviewers: +- apelisse +- stewart-yu +- thockin diff --git a/vendor/knative.dev/pkg/apis/OWNERS b/vendor/knative.dev/pkg/apis/OWNERS new file mode 100644 index 00000000000..1227b2b9e8b --- /dev/null +++ b/vendor/knative.dev/pkg/apis/OWNERS @@ -0,0 +1,7 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- apis-approvers + +reviewers: +- apis-reviewers diff --git a/vendor/knative.dev/pkg/apis/duck/OWNERS b/vendor/knative.dev/pkg/apis/duck/OWNERS new file mode 100644 index 00000000000..8df611ba004 --- /dev/null +++ b/vendor/knative.dev/pkg/apis/duck/OWNERS @@ -0,0 +1,7 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- apis-duck-approvers + +reviewers: +- apis-duck-reviewers diff --git a/vendor/knative.dev/pkg/configmap/OWNERS b/vendor/knative.dev/pkg/configmap/OWNERS new file mode 100644 index 00000000000..2480fc6d43f --- /dev/null +++ b/vendor/knative.dev/pkg/configmap/OWNERS @@ -0,0 +1,4 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- configmap-approvers diff --git a/vendor/knative.dev/pkg/controller/OWNERS b/vendor/knative.dev/pkg/controller/OWNERS new file mode 100644 index 00000000000..0b270d53af0 --- /dev/null +++ b/vendor/knative.dev/pkg/controller/OWNERS @@ -0,0 +1,7 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- controller-approvers + +reviewers: +- controller-reviewers diff --git a/vendor/knative.dev/pkg/hack/OWNERS b/vendor/knative.dev/pkg/hack/OWNERS new file mode 100644 index 00000000000..c50adc84930 --- /dev/null +++ b/vendor/knative.dev/pkg/hack/OWNERS @@ -0,0 +1,10 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- productivity-approvers + +reviewers: +- productivity-reviewers + +labels: +- area/test-and-release diff --git a/vendor/knative.dev/pkg/hash/OWNERS b/vendor/knative.dev/pkg/hash/OWNERS new file mode 100644 index 00000000000..0b270d53af0 --- /dev/null +++ b/vendor/knative.dev/pkg/hash/OWNERS @@ -0,0 +1,7 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- controller-approvers + +reviewers: +- controller-reviewers diff --git a/vendor/knative.dev/pkg/injection/OWNERS b/vendor/knative.dev/pkg/injection/OWNERS new file mode 100644 index 00000000000..dda47512a47 --- /dev/null +++ b/vendor/knative.dev/pkg/injection/OWNERS @@ -0,0 +1,5 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- mattmoor +- n3wscott diff --git a/vendor/knative.dev/pkg/kflag/OWNERS b/vendor/knative.dev/pkg/kflag/OWNERS new file mode 100644 index 00000000000..0222d3f382b --- /dev/null +++ b/vendor/knative.dev/pkg/kflag/OWNERS @@ -0,0 +1,4 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- kflag-approvers diff --git a/vendor/knative.dev/pkg/kmeta/OWNERS b/vendor/knative.dev/pkg/kmeta/OWNERS new file mode 100644 index 00000000000..29b0d9f2562 --- /dev/null +++ b/vendor/knative.dev/pkg/kmeta/OWNERS @@ -0,0 +1,4 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- kmeta-approvers diff --git a/vendor/knative.dev/pkg/logging/OWNERS b/vendor/knative.dev/pkg/logging/OWNERS new file mode 100644 index 00000000000..fa4854ba0a5 --- /dev/null +++ b/vendor/knative.dev/pkg/logging/OWNERS @@ -0,0 +1,4 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- logging-approvers diff --git a/vendor/knative.dev/pkg/metrics/OWNERS b/vendor/knative.dev/pkg/metrics/OWNERS new file mode 100644 index 00000000000..6d3966df44e --- /dev/null +++ b/vendor/knative.dev/pkg/metrics/OWNERS @@ -0,0 +1,4 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- metrics-approvers diff --git a/vendor/knative.dev/pkg/network/OWNERS b/vendor/knative.dev/pkg/network/OWNERS new file mode 100644 index 00000000000..b14ac5308ea --- /dev/null +++ b/vendor/knative.dev/pkg/network/OWNERS @@ -0,0 +1,5 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- tcnghia +- vagababov diff --git a/vendor/knative.dev/pkg/reconciler/OWNERS b/vendor/knative.dev/pkg/reconciler/OWNERS new file mode 100644 index 00000000000..0b270d53af0 --- /dev/null +++ b/vendor/knative.dev/pkg/reconciler/OWNERS @@ -0,0 +1,7 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- controller-approvers + +reviewers: +- controller-reviewers diff --git a/vendor/knative.dev/pkg/resolver/OWNERS b/vendor/knative.dev/pkg/resolver/OWNERS new file mode 100644 index 00000000000..acf2ee2c1cf --- /dev/null +++ b/vendor/knative.dev/pkg/resolver/OWNERS @@ -0,0 +1,5 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- n3wscott +- vaikas-google diff --git a/vendor/knative.dev/pkg/source/OWNERS b/vendor/knative.dev/pkg/source/OWNERS new file mode 100644 index 00000000000..8d16912160d --- /dev/null +++ b/vendor/knative.dev/pkg/source/OWNERS @@ -0,0 +1,4 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- source-approvers diff --git a/vendor/knative.dev/pkg/test/OWNERS b/vendor/knative.dev/pkg/test/OWNERS new file mode 100644 index 00000000000..c50adc84930 --- /dev/null +++ b/vendor/knative.dev/pkg/test/OWNERS @@ -0,0 +1,10 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- productivity-approvers + +reviewers: +- productivity-reviewers + +labels: +- area/test-and-release diff --git a/vendor/knative.dev/pkg/test/mako/OWNERS b/vendor/knative.dev/pkg/test/mako/OWNERS new file mode 100644 index 00000000000..e3eb2fca5de --- /dev/null +++ b/vendor/knative.dev/pkg/test/mako/OWNERS @@ -0,0 +1,5 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- vagababov + diff --git a/vendor/knative.dev/pkg/tracing/config/OWNERS b/vendor/knative.dev/pkg/tracing/config/OWNERS new file mode 100644 index 00000000000..2480fc6d43f --- /dev/null +++ b/vendor/knative.dev/pkg/tracing/config/OWNERS @@ -0,0 +1,4 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- configmap-approvers diff --git a/vendor/knative.dev/pkg/webhook/OWNERS b/vendor/knative.dev/pkg/webhook/OWNERS new file mode 100644 index 00000000000..001df221fe8 --- /dev/null +++ b/vendor/knative.dev/pkg/webhook/OWNERS @@ -0,0 +1,7 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- webhook-approvers + +reviewers: +- webhook-reviewers diff --git a/vendor/sigs.k8s.io/yaml/OWNERS b/vendor/sigs.k8s.io/yaml/OWNERS new file mode 100644 index 00000000000..325b40b0763 --- /dev/null +++ b/vendor/sigs.k8s.io/yaml/OWNERS @@ -0,0 +1,27 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: +- dims +- lavalamp +- smarterclayton +- deads2k +- sttts +- liggitt +- caesarxuchao +reviewers: +- dims +- thockin +- lavalamp +- smarterclayton +- wojtek-t +- deads2k +- derekwaynecarr +- caesarxuchao +- mikedanese +- liggitt +- gmarek +- sttts +- ncdc +- tallclair +labels: +- sig/api-machinery From faa59afe12c0f90db0b419d4dd8925f816c0037b Mon Sep 17 00:00:00 2001 From: Ahmed Abdalla Date: Wed, 22 Jul 2020 09:03:30 +0200 Subject: [PATCH 3/6] Remove an early recordevent cleanup Signed-off-by: Ahmed Abdalla --- test/lib/setupclientoptions/sources.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/lib/setupclientoptions/sources.go b/test/lib/setupclientoptions/sources.go index 77226e82ad0..9c420477866 100644 --- a/test/lib/setupclientoptions/sources.go +++ b/test/lib/setupclientoptions/sources.go @@ -38,9 +38,8 @@ func ApiServerSourceClientSetupOption(name string, mode string, recordEventsPodN createRbacObjects(client, roleName, serviceAccountName) // create event record - eventTracker, _ := recordevents.StartEventRecordOrFail(client, + recordevents.StartEventRecordOrFail(client, recordEventsPodName) - defer eventTracker.Cleanup() spec := sourcesv1beta1.ApiServerSourceSpec{ Resources: []sourcesv1beta1.APIVersionKindSelector{{ From 9e2163836999c89bc6374692226f6ac87085dce4 Mon Sep 17 00:00:00 2001 From: Ahmed Abdalla Date: Wed, 22 Jul 2020 09:49:37 +0200 Subject: [PATCH 4/6] Update deps with update-codegen.sh result --- .../k8s.io/apimachinery/pkg/api/errors/OWNERS | 25 ----------- .../k8s.io/apimachinery/pkg/api/meta/OWNERS | 23 ---------- .../apimachinery/pkg/api/resource/OWNERS | 16 ------- .../apimachinery/pkg/apis/meta/v1/OWNERS | 32 ------------- .../apimachinery/pkg/util/mergepatch/OWNERS | 7 --- .../pkg/util/strategicpatch/OWNERS | 8 ---- .../third_party/forked/golang/json/OWNERS | 7 --- .../pkg/apis/clientauthentication/OWNERS | 9 ---- .../plugin/pkg/client/auth/gcp/OWNERS | 8 ---- .../plugin/pkg/client/auth/oidc/OWNERS | 7 --- vendor/k8s.io/client-go/rest/OWNERS | 25 ----------- vendor/k8s.io/client-go/tools/auth/OWNERS | 9 ---- vendor/k8s.io/client-go/tools/cache/OWNERS | 45 ------------------- .../client-go/tools/leaderelection/OWNERS | 14 ------ .../tools/leaderelection/leaderelection.go | 3 +- vendor/k8s.io/client-go/tools/metrics/OWNERS | 7 --- vendor/k8s.io/client-go/tools/record/OWNERS | 29 ------------ vendor/k8s.io/client-go/transport/OWNERS | 9 ---- vendor/k8s.io/client-go/util/cert/OWNERS | 9 ---- vendor/k8s.io/client-go/util/keyutil/OWNERS | 7 --- vendor/k8s.io/client-go/util/retry/OWNERS | 4 -- vendor/k8s.io/code-generator/OWNERS | 13 ------ .../code-generator/cmd/client-gen/OWNERS | 10 ----- .../code-generator/cmd/go-to-protobuf/OWNERS | 6 --- vendor/k8s.io/klog/OWNERS | 19 -------- .../kube-openapi/pkg/generators/rules/OWNERS | 4 -- .../k8s.io/kube-openapi/pkg/util/proto/OWNERS | 2 - vendor/k8s.io/utils/pointer/OWNERS | 10 ----- vendor/knative.dev/pkg/apis/OWNERS | 7 --- vendor/knative.dev/pkg/apis/duck/OWNERS | 7 --- vendor/knative.dev/pkg/configmap/OWNERS | 4 -- vendor/knative.dev/pkg/controller/OWNERS | 7 --- vendor/knative.dev/pkg/hack/OWNERS | 10 ----- vendor/knative.dev/pkg/hash/OWNERS | 7 --- vendor/knative.dev/pkg/injection/OWNERS | 5 --- vendor/knative.dev/pkg/kflag/OWNERS | 4 -- vendor/knative.dev/pkg/kmeta/OWNERS | 4 -- vendor/knative.dev/pkg/logging/OWNERS | 4 -- vendor/knative.dev/pkg/metrics/OWNERS | 4 -- vendor/knative.dev/pkg/network/OWNERS | 5 --- vendor/knative.dev/pkg/reconciler/OWNERS | 7 --- vendor/knative.dev/pkg/resolver/OWNERS | 5 --- vendor/knative.dev/pkg/source/OWNERS | 4 -- vendor/knative.dev/pkg/test/OWNERS | 10 ----- vendor/knative.dev/pkg/test/mako/OWNERS | 5 --- vendor/knative.dev/pkg/tracing/config/OWNERS | 4 -- vendor/knative.dev/pkg/webhook/OWNERS | 7 --- vendor/sigs.k8s.io/yaml/OWNERS | 27 ----------- 48 files changed, 2 insertions(+), 502 deletions(-) delete mode 100644 vendor/k8s.io/apimachinery/pkg/api/errors/OWNERS delete mode 100644 vendor/k8s.io/apimachinery/pkg/api/meta/OWNERS delete mode 100644 vendor/k8s.io/apimachinery/pkg/api/resource/OWNERS delete mode 100644 vendor/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS delete mode 100644 vendor/k8s.io/apimachinery/pkg/util/mergepatch/OWNERS delete mode 100644 vendor/k8s.io/apimachinery/pkg/util/strategicpatch/OWNERS delete mode 100644 vendor/k8s.io/apimachinery/third_party/forked/golang/json/OWNERS delete mode 100644 vendor/k8s.io/client-go/pkg/apis/clientauthentication/OWNERS delete mode 100644 vendor/k8s.io/client-go/plugin/pkg/client/auth/gcp/OWNERS delete mode 100644 vendor/k8s.io/client-go/plugin/pkg/client/auth/oidc/OWNERS delete mode 100644 vendor/k8s.io/client-go/rest/OWNERS delete mode 100644 vendor/k8s.io/client-go/tools/auth/OWNERS delete mode 100644 vendor/k8s.io/client-go/tools/cache/OWNERS delete mode 100644 vendor/k8s.io/client-go/tools/leaderelection/OWNERS delete mode 100644 vendor/k8s.io/client-go/tools/metrics/OWNERS delete mode 100644 vendor/k8s.io/client-go/tools/record/OWNERS delete mode 100644 vendor/k8s.io/client-go/transport/OWNERS delete mode 100644 vendor/k8s.io/client-go/util/cert/OWNERS delete mode 100644 vendor/k8s.io/client-go/util/keyutil/OWNERS delete mode 100644 vendor/k8s.io/client-go/util/retry/OWNERS delete mode 100644 vendor/k8s.io/code-generator/OWNERS delete mode 100644 vendor/k8s.io/code-generator/cmd/client-gen/OWNERS delete mode 100644 vendor/k8s.io/code-generator/cmd/go-to-protobuf/OWNERS delete mode 100644 vendor/k8s.io/klog/OWNERS delete mode 100644 vendor/k8s.io/kube-openapi/pkg/generators/rules/OWNERS delete mode 100644 vendor/k8s.io/kube-openapi/pkg/util/proto/OWNERS delete mode 100644 vendor/k8s.io/utils/pointer/OWNERS delete mode 100644 vendor/knative.dev/pkg/apis/OWNERS delete mode 100644 vendor/knative.dev/pkg/apis/duck/OWNERS delete mode 100644 vendor/knative.dev/pkg/configmap/OWNERS delete mode 100644 vendor/knative.dev/pkg/controller/OWNERS delete mode 100644 vendor/knative.dev/pkg/hack/OWNERS delete mode 100644 vendor/knative.dev/pkg/hash/OWNERS delete mode 100644 vendor/knative.dev/pkg/injection/OWNERS delete mode 100644 vendor/knative.dev/pkg/kflag/OWNERS delete mode 100644 vendor/knative.dev/pkg/kmeta/OWNERS delete mode 100644 vendor/knative.dev/pkg/logging/OWNERS delete mode 100644 vendor/knative.dev/pkg/metrics/OWNERS delete mode 100644 vendor/knative.dev/pkg/network/OWNERS delete mode 100644 vendor/knative.dev/pkg/reconciler/OWNERS delete mode 100644 vendor/knative.dev/pkg/resolver/OWNERS delete mode 100644 vendor/knative.dev/pkg/source/OWNERS delete mode 100644 vendor/knative.dev/pkg/test/OWNERS delete mode 100644 vendor/knative.dev/pkg/test/mako/OWNERS delete mode 100644 vendor/knative.dev/pkg/tracing/config/OWNERS delete mode 100644 vendor/knative.dev/pkg/webhook/OWNERS delete mode 100644 vendor/sigs.k8s.io/yaml/OWNERS diff --git a/vendor/k8s.io/apimachinery/pkg/api/errors/OWNERS b/vendor/k8s.io/apimachinery/pkg/api/errors/OWNERS deleted file mode 100644 index 435297a8d51..00000000000 --- a/vendor/k8s.io/apimachinery/pkg/api/errors/OWNERS +++ /dev/null @@ -1,25 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -reviewers: -- thockin -- lavalamp -- smarterclayton -- wojtek-t -- deads2k -- brendandburns -- derekwaynecarr -- caesarxuchao -- mikedanese -- liggitt -- nikhiljindal -- gmarek -- erictune -- saad-ali -- janetkuo -- tallclair -- eparis -- dims -- hongchaodeng -- krousey -- cjcullen -- david-mcmahon diff --git a/vendor/k8s.io/apimachinery/pkg/api/meta/OWNERS b/vendor/k8s.io/apimachinery/pkg/api/meta/OWNERS deleted file mode 100644 index 96bccff1b23..00000000000 --- a/vendor/k8s.io/apimachinery/pkg/api/meta/OWNERS +++ /dev/null @@ -1,23 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -reviewers: -- thockin -- smarterclayton -- wojtek-t -- deads2k -- brendandburns -- derekwaynecarr -- caesarxuchao -- mikedanese -- liggitt -- nikhiljindal -- gmarek -- janetkuo -- ncdc -- eparis -- dims -- krousey -- resouer -- david-mcmahon -- mfojtik -- jianhuiz diff --git a/vendor/k8s.io/apimachinery/pkg/api/resource/OWNERS b/vendor/k8s.io/apimachinery/pkg/api/resource/OWNERS deleted file mode 100644 index dc7740190ae..00000000000 --- a/vendor/k8s.io/apimachinery/pkg/api/resource/OWNERS +++ /dev/null @@ -1,16 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -reviewers: -- thockin -- lavalamp -- smarterclayton -- wojtek-t -- derekwaynecarr -- mikedanese -- saad-ali -- janetkuo -- tallclair -- eparis -- xiang90 -- mbohlool -- david-mcmahon diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS deleted file mode 100644 index 77cfb0c1aa3..00000000000 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS +++ /dev/null @@ -1,32 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -reviewers: -- thockin -- smarterclayton -- wojtek-t -- deads2k -- brendandburns -- caesarxuchao -- liggitt -- nikhiljindal -- gmarek -- erictune -- davidopp -- sttts -- quinton-hoole -- luxas -- janetkuo -- justinsb -- ncdc -- soltysh -- dims -- madhusudancs -- hongchaodeng -- krousey -- mml -- mbohlool -- david-mcmahon -- therc -- mqliang -- kevin-wangzefeng -- jianhuiz diff --git a/vendor/k8s.io/apimachinery/pkg/util/mergepatch/OWNERS b/vendor/k8s.io/apimachinery/pkg/util/mergepatch/OWNERS deleted file mode 100644 index 3f72c69ba39..00000000000 --- a/vendor/k8s.io/apimachinery/pkg/util/mergepatch/OWNERS +++ /dev/null @@ -1,7 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: -- pwittrock -reviewers: -- mengqiy -- apelisse diff --git a/vendor/k8s.io/apimachinery/pkg/util/strategicpatch/OWNERS b/vendor/k8s.io/apimachinery/pkg/util/strategicpatch/OWNERS deleted file mode 100644 index cfee199fa08..00000000000 --- a/vendor/k8s.io/apimachinery/pkg/util/strategicpatch/OWNERS +++ /dev/null @@ -1,8 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: -- pwittrock -- mengqiy -reviewers: -- mengqiy -- apelisse diff --git a/vendor/k8s.io/apimachinery/third_party/forked/golang/json/OWNERS b/vendor/k8s.io/apimachinery/third_party/forked/golang/json/OWNERS deleted file mode 100644 index 3f72c69ba39..00000000000 --- a/vendor/k8s.io/apimachinery/third_party/forked/golang/json/OWNERS +++ /dev/null @@ -1,7 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: -- pwittrock -reviewers: -- mengqiy -- apelisse diff --git a/vendor/k8s.io/client-go/pkg/apis/clientauthentication/OWNERS b/vendor/k8s.io/client-go/pkg/apis/clientauthentication/OWNERS deleted file mode 100644 index e0ec62deb2b..00000000000 --- a/vendor/k8s.io/client-go/pkg/apis/clientauthentication/OWNERS +++ /dev/null @@ -1,9 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -# approval on api packages bubbles to api-approvers -reviewers: -- sig-auth-authenticators-approvers -- sig-auth-authenticators-reviewers -labels: -- sig/auth - diff --git a/vendor/k8s.io/client-go/plugin/pkg/client/auth/gcp/OWNERS b/vendor/k8s.io/client-go/plugin/pkg/client/auth/gcp/OWNERS deleted file mode 100644 index 97fcd3dd302..00000000000 --- a/vendor/k8s.io/client-go/plugin/pkg/client/auth/gcp/OWNERS +++ /dev/null @@ -1,8 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: -- cjcullen -- jlowdermilk -reviewers: -- cjcullen -- jlowdermilk diff --git a/vendor/k8s.io/client-go/plugin/pkg/client/auth/oidc/OWNERS b/vendor/k8s.io/client-go/plugin/pkg/client/auth/oidc/OWNERS deleted file mode 100644 index 03fb44ea24b..00000000000 --- a/vendor/k8s.io/client-go/plugin/pkg/client/auth/oidc/OWNERS +++ /dev/null @@ -1,7 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: -- ericchiang -reviewers: -- ericchiang -- rithujohn191 diff --git a/vendor/k8s.io/client-go/rest/OWNERS b/vendor/k8s.io/client-go/rest/OWNERS deleted file mode 100644 index c02ec6a250f..00000000000 --- a/vendor/k8s.io/client-go/rest/OWNERS +++ /dev/null @@ -1,25 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -reviewers: -- thockin -- smarterclayton -- caesarxuchao -- wojtek-t -- deads2k -- brendandburns -- liggitt -- nikhiljindal -- gmarek -- erictune -- sttts -- luxas -- dims -- errordeveloper -- hongchaodeng -- krousey -- resouer -- cjcullen -- rmmh -- asalkeld -- juanvallejo -- lojies diff --git a/vendor/k8s.io/client-go/tools/auth/OWNERS b/vendor/k8s.io/client-go/tools/auth/OWNERS deleted file mode 100644 index 3e05d309be5..00000000000 --- a/vendor/k8s.io/client-go/tools/auth/OWNERS +++ /dev/null @@ -1,9 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: -- sig-auth-authenticators-approvers -reviewers: -- sig-auth-authenticators-reviewers -labels: -- sig/auth - diff --git a/vendor/k8s.io/client-go/tools/cache/OWNERS b/vendor/k8s.io/client-go/tools/cache/OWNERS deleted file mode 100644 index bd61bc76660..00000000000 --- a/vendor/k8s.io/client-go/tools/cache/OWNERS +++ /dev/null @@ -1,45 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: -- thockin -- lavalamp -- smarterclayton -- wojtek-t -- deads2k -- caesarxuchao -- liggitt -- ncdc -reviewers: -- thockin -- lavalamp -- smarterclayton -- wojtek-t -- deads2k -- brendandburns -- derekwaynecarr -- caesarxuchao -- mikedanese -- liggitt -- nikhiljindal -- erictune -- davidopp -- pmorie -- janetkuo -- justinsb -- eparis -- soltysh -- jsafrane -- dims -- madhusudancs -- hongchaodeng -- krousey -- xiang90 -- mml -- ingvagabund -- resouer -- jessfraz -- david-mcmahon -- mfojtik -- mqliang -- sdminonne -- ncdc diff --git a/vendor/k8s.io/client-go/tools/leaderelection/OWNERS b/vendor/k8s.io/client-go/tools/leaderelection/OWNERS deleted file mode 100644 index 44d93f84fa3..00000000000 --- a/vendor/k8s.io/client-go/tools/leaderelection/OWNERS +++ /dev/null @@ -1,14 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: -- mikedanese -- timothysc -reviewers: -- wojtek-t -- deads2k -- mikedanese -- gmarek -- eparis -- timothysc -- ingvagabund -- resouer diff --git a/vendor/k8s.io/client-go/tools/leaderelection/leaderelection.go b/vendor/k8s.io/client-go/tools/leaderelection/leaderelection.go index 42fffd45ae7..aca8717902e 100644 --- a/vendor/k8s.io/client-go/tools/leaderelection/leaderelection.go +++ b/vendor/k8s.io/client-go/tools/leaderelection/leaderelection.go @@ -301,7 +301,8 @@ func (le *LeaderElector) release() bool { return true } leaderElectionRecord := rl.LeaderElectionRecord{ - LeaderTransitions: le.observedRecord.LeaderTransitions, + LeaderTransitions: le.observedRecord.LeaderTransitions, + LeaseDurationSeconds: le.observedRecord.LeaseDurationSeconds, } if err := le.config.Lock.Update(leaderElectionRecord); err != nil { klog.Errorf("Failed to release lock: %v", err) diff --git a/vendor/k8s.io/client-go/tools/metrics/OWNERS b/vendor/k8s.io/client-go/tools/metrics/OWNERS deleted file mode 100644 index ad52d0c5cc0..00000000000 --- a/vendor/k8s.io/client-go/tools/metrics/OWNERS +++ /dev/null @@ -1,7 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -reviewers: -- wojtek-t -- eparis -- krousey -- jayunit100 diff --git a/vendor/k8s.io/client-go/tools/record/OWNERS b/vendor/k8s.io/client-go/tools/record/OWNERS deleted file mode 100644 index 6ce73bb5cd3..00000000000 --- a/vendor/k8s.io/client-go/tools/record/OWNERS +++ /dev/null @@ -1,29 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -reviewers: -- lavalamp -- smarterclayton -- wojtek-t -- deads2k -- derekwaynecarr -- caesarxuchao -- vishh -- mikedanese -- liggitt -- nikhiljindal -- erictune -- pmorie -- dchen1107 -- saad-ali -- luxas -- yifan-gu -- eparis -- mwielgus -- timothysc -- jsafrane -- dims -- krousey -- a-robinson -- aveshagarwal -- resouer -- cjcullen diff --git a/vendor/k8s.io/client-go/transport/OWNERS b/vendor/k8s.io/client-go/transport/OWNERS deleted file mode 100644 index a52176903c0..00000000000 --- a/vendor/k8s.io/client-go/transport/OWNERS +++ /dev/null @@ -1,9 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -reviewers: -- smarterclayton -- wojtek-t -- deads2k -- liggitt -- krousey -- caesarxuchao diff --git a/vendor/k8s.io/client-go/util/cert/OWNERS b/vendor/k8s.io/client-go/util/cert/OWNERS deleted file mode 100644 index 3cf03643835..00000000000 --- a/vendor/k8s.io/client-go/util/cert/OWNERS +++ /dev/null @@ -1,9 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: -- sig-auth-certificates-approvers -reviewers: -- sig-auth-certificates-reviewers -labels: -- sig/auth - diff --git a/vendor/k8s.io/client-go/util/keyutil/OWNERS b/vendor/k8s.io/client-go/util/keyutil/OWNERS deleted file mode 100644 index 470b7a1c92d..00000000000 --- a/vendor/k8s.io/client-go/util/keyutil/OWNERS +++ /dev/null @@ -1,7 +0,0 @@ -approvers: -- sig-auth-certificates-approvers -reviewers: -- sig-auth-certificates-reviewers -labels: -- sig/auth - diff --git a/vendor/k8s.io/client-go/util/retry/OWNERS b/vendor/k8s.io/client-go/util/retry/OWNERS deleted file mode 100644 index dec3e88d631..00000000000 --- a/vendor/k8s.io/client-go/util/retry/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -reviewers: -- caesarxuchao diff --git a/vendor/k8s.io/code-generator/OWNERS b/vendor/k8s.io/code-generator/OWNERS deleted file mode 100644 index 6f7abe3edb1..00000000000 --- a/vendor/k8s.io/code-generator/OWNERS +++ /dev/null @@ -1,13 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: -- lavalamp -- wojtek-t -- sttts -reviewers: -- lavalamp -- wojtek-t -- sttts -labels: -- sig/api-machinery -- area/code-generation diff --git a/vendor/k8s.io/code-generator/cmd/client-gen/OWNERS b/vendor/k8s.io/code-generator/cmd/client-gen/OWNERS deleted file mode 100644 index 62866d0b194..00000000000 --- a/vendor/k8s.io/code-generator/cmd/client-gen/OWNERS +++ /dev/null @@ -1,10 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: -- lavalamp -- wojtek-t -- caesarxuchao -reviewers: -- lavalamp -- wojtek-t -- caesarxuchao diff --git a/vendor/k8s.io/code-generator/cmd/go-to-protobuf/OWNERS b/vendor/k8s.io/code-generator/cmd/go-to-protobuf/OWNERS deleted file mode 100644 index 613659162a9..00000000000 --- a/vendor/k8s.io/code-generator/cmd/go-to-protobuf/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: -- smarterclayton -reviewers: -- smarterclayton diff --git a/vendor/k8s.io/klog/OWNERS b/vendor/k8s.io/klog/OWNERS deleted file mode 100644 index 380e514f280..00000000000 --- a/vendor/k8s.io/klog/OWNERS +++ /dev/null @@ -1,19 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners -reviewers: - - jayunit100 - - hoegaarden - - andyxning - - neolit123 - - pohly - - yagonobre - - vincepri - - detiber -approvers: - - dims - - thockin - - justinsb - - tallclair - - piosz - - brancz - - DirectXMan12 - - lavalamp diff --git a/vendor/k8s.io/kube-openapi/pkg/generators/rules/OWNERS b/vendor/k8s.io/kube-openapi/pkg/generators/rules/OWNERS deleted file mode 100644 index 235bc545b88..00000000000 --- a/vendor/k8s.io/kube-openapi/pkg/generators/rules/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -reviewers: -- roycaihw -approvers: -- roycaihw diff --git a/vendor/k8s.io/kube-openapi/pkg/util/proto/OWNERS b/vendor/k8s.io/kube-openapi/pkg/util/proto/OWNERS deleted file mode 100644 index 9621a6a3a4a..00000000000 --- a/vendor/k8s.io/kube-openapi/pkg/util/proto/OWNERS +++ /dev/null @@ -1,2 +0,0 @@ -approvers: -- apelisse diff --git a/vendor/k8s.io/utils/pointer/OWNERS b/vendor/k8s.io/utils/pointer/OWNERS deleted file mode 100644 index 0d6392752af..00000000000 --- a/vendor/k8s.io/utils/pointer/OWNERS +++ /dev/null @@ -1,10 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: -- apelisse -- stewart-yu -- thockin -reviewers: -- apelisse -- stewart-yu -- thockin diff --git a/vendor/knative.dev/pkg/apis/OWNERS b/vendor/knative.dev/pkg/apis/OWNERS deleted file mode 100644 index 1227b2b9e8b..00000000000 --- a/vendor/knative.dev/pkg/apis/OWNERS +++ /dev/null @@ -1,7 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- apis-approvers - -reviewers: -- apis-reviewers diff --git a/vendor/knative.dev/pkg/apis/duck/OWNERS b/vendor/knative.dev/pkg/apis/duck/OWNERS deleted file mode 100644 index 8df611ba004..00000000000 --- a/vendor/knative.dev/pkg/apis/duck/OWNERS +++ /dev/null @@ -1,7 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- apis-duck-approvers - -reviewers: -- apis-duck-reviewers diff --git a/vendor/knative.dev/pkg/configmap/OWNERS b/vendor/knative.dev/pkg/configmap/OWNERS deleted file mode 100644 index 2480fc6d43f..00000000000 --- a/vendor/knative.dev/pkg/configmap/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- configmap-approvers diff --git a/vendor/knative.dev/pkg/controller/OWNERS b/vendor/knative.dev/pkg/controller/OWNERS deleted file mode 100644 index 0b270d53af0..00000000000 --- a/vendor/knative.dev/pkg/controller/OWNERS +++ /dev/null @@ -1,7 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- controller-approvers - -reviewers: -- controller-reviewers diff --git a/vendor/knative.dev/pkg/hack/OWNERS b/vendor/knative.dev/pkg/hack/OWNERS deleted file mode 100644 index c50adc84930..00000000000 --- a/vendor/knative.dev/pkg/hack/OWNERS +++ /dev/null @@ -1,10 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- productivity-approvers - -reviewers: -- productivity-reviewers - -labels: -- area/test-and-release diff --git a/vendor/knative.dev/pkg/hash/OWNERS b/vendor/knative.dev/pkg/hash/OWNERS deleted file mode 100644 index 0b270d53af0..00000000000 --- a/vendor/knative.dev/pkg/hash/OWNERS +++ /dev/null @@ -1,7 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- controller-approvers - -reviewers: -- controller-reviewers diff --git a/vendor/knative.dev/pkg/injection/OWNERS b/vendor/knative.dev/pkg/injection/OWNERS deleted file mode 100644 index dda47512a47..00000000000 --- a/vendor/knative.dev/pkg/injection/OWNERS +++ /dev/null @@ -1,5 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- mattmoor -- n3wscott diff --git a/vendor/knative.dev/pkg/kflag/OWNERS b/vendor/knative.dev/pkg/kflag/OWNERS deleted file mode 100644 index 0222d3f382b..00000000000 --- a/vendor/knative.dev/pkg/kflag/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- kflag-approvers diff --git a/vendor/knative.dev/pkg/kmeta/OWNERS b/vendor/knative.dev/pkg/kmeta/OWNERS deleted file mode 100644 index 29b0d9f2562..00000000000 --- a/vendor/knative.dev/pkg/kmeta/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- kmeta-approvers diff --git a/vendor/knative.dev/pkg/logging/OWNERS b/vendor/knative.dev/pkg/logging/OWNERS deleted file mode 100644 index fa4854ba0a5..00000000000 --- a/vendor/knative.dev/pkg/logging/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- logging-approvers diff --git a/vendor/knative.dev/pkg/metrics/OWNERS b/vendor/knative.dev/pkg/metrics/OWNERS deleted file mode 100644 index 6d3966df44e..00000000000 --- a/vendor/knative.dev/pkg/metrics/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- metrics-approvers diff --git a/vendor/knative.dev/pkg/network/OWNERS b/vendor/knative.dev/pkg/network/OWNERS deleted file mode 100644 index b14ac5308ea..00000000000 --- a/vendor/knative.dev/pkg/network/OWNERS +++ /dev/null @@ -1,5 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- tcnghia -- vagababov diff --git a/vendor/knative.dev/pkg/reconciler/OWNERS b/vendor/knative.dev/pkg/reconciler/OWNERS deleted file mode 100644 index 0b270d53af0..00000000000 --- a/vendor/knative.dev/pkg/reconciler/OWNERS +++ /dev/null @@ -1,7 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- controller-approvers - -reviewers: -- controller-reviewers diff --git a/vendor/knative.dev/pkg/resolver/OWNERS b/vendor/knative.dev/pkg/resolver/OWNERS deleted file mode 100644 index acf2ee2c1cf..00000000000 --- a/vendor/knative.dev/pkg/resolver/OWNERS +++ /dev/null @@ -1,5 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- n3wscott -- vaikas-google diff --git a/vendor/knative.dev/pkg/source/OWNERS b/vendor/knative.dev/pkg/source/OWNERS deleted file mode 100644 index 8d16912160d..00000000000 --- a/vendor/knative.dev/pkg/source/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- source-approvers diff --git a/vendor/knative.dev/pkg/test/OWNERS b/vendor/knative.dev/pkg/test/OWNERS deleted file mode 100644 index c50adc84930..00000000000 --- a/vendor/knative.dev/pkg/test/OWNERS +++ /dev/null @@ -1,10 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- productivity-approvers - -reviewers: -- productivity-reviewers - -labels: -- area/test-and-release diff --git a/vendor/knative.dev/pkg/test/mako/OWNERS b/vendor/knative.dev/pkg/test/mako/OWNERS deleted file mode 100644 index e3eb2fca5de..00000000000 --- a/vendor/knative.dev/pkg/test/mako/OWNERS +++ /dev/null @@ -1,5 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- vagababov - diff --git a/vendor/knative.dev/pkg/tracing/config/OWNERS b/vendor/knative.dev/pkg/tracing/config/OWNERS deleted file mode 100644 index 2480fc6d43f..00000000000 --- a/vendor/knative.dev/pkg/tracing/config/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- configmap-approvers diff --git a/vendor/knative.dev/pkg/webhook/OWNERS b/vendor/knative.dev/pkg/webhook/OWNERS deleted file mode 100644 index 001df221fe8..00000000000 --- a/vendor/knative.dev/pkg/webhook/OWNERS +++ /dev/null @@ -1,7 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- webhook-approvers - -reviewers: -- webhook-reviewers diff --git a/vendor/sigs.k8s.io/yaml/OWNERS b/vendor/sigs.k8s.io/yaml/OWNERS deleted file mode 100644 index 325b40b0763..00000000000 --- a/vendor/sigs.k8s.io/yaml/OWNERS +++ /dev/null @@ -1,27 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: -- dims -- lavalamp -- smarterclayton -- deads2k -- sttts -- liggitt -- caesarxuchao -reviewers: -- dims -- thockin -- lavalamp -- smarterclayton -- wojtek-t -- deads2k -- derekwaynecarr -- caesarxuchao -- mikedanese -- liggitt -- gmarek -- sttts -- ncdc -- tallclair -labels: -- sig/api-machinery From 37e16e66989846e9f05c76ff9353584c226a6a12 Mon Sep 17 00:00:00 2001 From: Ahmed Abdalla Date: Wed, 22 Jul 2020 12:08:07 +0200 Subject: [PATCH 5/6] Run e2e-tests and conformance against v1beta1 ApiServerSource Signed-off-by: Ahmed Abdalla --- test/e2e-tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/e2e-tests.sh b/test/e2e-tests.sh index a3eb49b1aa8..80eeabd222e 100755 --- a/test/e2e-tests.sh +++ b/test/e2e-tests.sh @@ -39,6 +39,6 @@ install_sugar || fail_test "Could not install Sugar Controller" unleash_duck || fail_test "Could not unleash the chaos duck" echo "Running tests with Multi Tenant Channel Based Broker" -go_test_e2e -timeout=30m -parallel=12 ./test/e2e ./test/conformance -brokerclass=MTChannelBasedBroker -channels=messaging.knative.dev/v1beta1:Channel,messaging.knative.dev/v1beta1:InMemoryChannel,messaging.knative.dev/v1:Channel,messaging.knative.dev/v1:InMemoryChannel -sources=sources.knative.dev/v1alpha2:ApiServerSource,sources.knative.dev/v1alpha2:ContainerSource,sources.knative.dev/v1alpha2:PingSource || fail_test +go_test_e2e -timeout=30m -parallel=12 ./test/e2e ./test/conformance -brokerclass=MTChannelBasedBroker -channels=messaging.knative.dev/v1beta1:Channel,messaging.knative.dev/v1beta1:InMemoryChannel,messaging.knative.dev/v1:Channel,messaging.knative.dev/v1:InMemoryChannel -sources=sources.knative.dev/v1beta1:ApiServerSource,sources.knative.dev/v1alpha2:ContainerSource,sources.knative.dev/v1alpha2:PingSource || fail_test success From 22128cc7d0c4e54f745252335df64365190ed7b3 Mon Sep 17 00:00:00 2001 From: Ahmed Abdalla Date: Fri, 24 Jul 2020 16:39:14 +0200 Subject: [PATCH 6/6] Add missing e2e build tag --- test/conformance/source_status_test.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/conformance/source_status_test.go b/test/conformance/source_status_test.go index d978b25f4fd..2fb34d0ed59 100644 --- a/test/conformance/source_status_test.go +++ b/test/conformance/source_status_test.go @@ -1,3 +1,5 @@ +// +build e2e + /* Copyright 2020 The Knative Authors