From 69bc561698df511e6125eba61e3fb000d3fc6a09 Mon Sep 17 00:00:00 2001 From: Scott Andrews Date: Wed, 24 Oct 2018 19:23:14 -0400 Subject: [PATCH 1/3] Rename ClusterProvisioner -> ClusterChannelProvisioner --- cmd/webhook/main.go | 8 +- config/300-clusterprovisioner.yaml | 8 +- .../provisioners/in-memory-channel/README.md | 8 +- .../in-memory-channel/in-memory-channel.yaml | 8 +- pkg/apis/eventing/logkey/constants.go | 4 +- ...> cluster_channel_provisioner_defaults.go} | 6 +- ...ster_channel_provisioner_defaults_test.go} | 4 +- ...o => cluster_channel_provisioner_types.go} | 62 ++++---- ...cluster_channel_provisioner_types_test.go} | 28 ++-- ...cluster_channel_provisioner_validation.go} | 10 +- ...er_channel_provisioner_validation_test.go} | 25 +-- pkg/apis/eventing/v1alpha1/implements_test.go | 4 +- pkg/apis/eventing/v1alpha1/register.go | 4 +- .../v1alpha1/zz_generated.deepcopy.go | 38 ++--- .../v1alpha1/clusterchannelprovisioner.go | 147 ++++++++++++++++++ .../eventing/v1alpha1/clusterprovisioner.go | 147 ------------------ .../eventing/v1alpha1/eventing_client.go | 6 +- .../fake/fake_clusterchannelprovisioner.go | 120 ++++++++++++++ .../v1alpha1/fake/fake_clusterprovisioner.go | 120 -------------- .../v1alpha1/fake/fake_eventing_client.go | 4 +- .../eventing/v1alpha1/generated_expansion.go | 2 +- ...sioner.go => clusterchannelprovisioner.go} | 38 ++--- .../eventing/v1alpha1/interface.go | 10 +- .../informers/externalversions/generic.go | 4 +- .../v1alpha1/clusterchannelprovisioner.go | 65 ++++++++ .../eventing/v1alpha1/clusterprovisioner.go | 65 -------- .../eventing/v1alpha1/expansion_generated.go | 6 +- .../eventing/inmemory/channel/reconcile.go | 6 +- .../inmemory/channel/reconcile_test.go | 12 +- .../controller.go | 14 +- .../reconcile.go | 84 +++++----- .../reconcile_test.go | 86 +++++----- .../eventing/inmemory/controller/main.go | 12 +- pkg/controller/owner_references.go | 4 +- 34 files changed, 585 insertions(+), 584 deletions(-) rename pkg/apis/eventing/v1alpha1/{cluster_provisioner_defaults.go => cluster_channel_provisioner_defaults.go} (79%) rename pkg/apis/eventing/v1alpha1/{cluster_provisioner_defaults_test.go => cluster_channel_provisioner_defaults_test.go} (87%) rename pkg/apis/eventing/v1alpha1/{cluster_provisioner_types.go => cluster_channel_provisioner_types.go} (55%) rename pkg/apis/eventing/v1alpha1/{cluster_provisioner_types_test.go => cluster_channel_provisioner_types_test.go} (79%) rename pkg/apis/eventing/v1alpha1/{cluster_provisioner_validation.go => cluster_channel_provisioner_validation.go} (75%) rename pkg/apis/eventing/v1alpha1/{cluster_provisioner_validation_test.go => cluster_channel_provisioner_validation_test.go} (80%) create mode 100644 pkg/client/clientset/versioned/typed/eventing/v1alpha1/clusterchannelprovisioner.go delete mode 100644 pkg/client/clientset/versioned/typed/eventing/v1alpha1/clusterprovisioner.go create mode 100644 pkg/client/clientset/versioned/typed/eventing/v1alpha1/fake/fake_clusterchannelprovisioner.go delete mode 100644 pkg/client/clientset/versioned/typed/eventing/v1alpha1/fake/fake_clusterprovisioner.go rename pkg/client/informers/externalversions/eventing/v1alpha1/{clusterprovisioner.go => clusterchannelprovisioner.go} (53%) create mode 100644 pkg/client/listers/eventing/v1alpha1/clusterchannelprovisioner.go delete mode 100644 pkg/client/listers/eventing/v1alpha1/clusterprovisioner.go rename pkg/controller/eventing/inmemory/{clusterprovisioner => clusterchannelprovisioner}/controller.go (79%) rename pkg/controller/eventing/inmemory/{clusterprovisioner => clusterchannelprovisioner}/reconcile.go (60%) rename pkg/controller/eventing/inmemory/{clusterprovisioner => clusterchannelprovisioner}/reconcile_test.go (79%) diff --git a/cmd/webhook/main.go b/cmd/webhook/main.go index 8388bb45502..8a9a2510930 100644 --- a/cmd/webhook/main.go +++ b/cmd/webhook/main.go @@ -90,10 +90,10 @@ func main() { Options: options, Handlers: map[schema.GroupVersionKind]webhook.GenericCRD{ // For group eventing.knative.dev, - eventingv1alpha1.SchemeGroupVersion.WithKind("Channel"): &eventingv1alpha1.Channel{}, - eventingv1alpha1.SchemeGroupVersion.WithKind("ClusterProvisioner"): &eventingv1alpha1.ClusterProvisioner{}, - eventingv1alpha1.SchemeGroupVersion.WithKind("Source"): &eventingv1alpha1.Source{}, - eventingv1alpha1.SchemeGroupVersion.WithKind("Subscription"): &eventingv1alpha1.Subscription{}, + eventingv1alpha1.SchemeGroupVersion.WithKind("Channel"): &eventingv1alpha1.Channel{}, + eventingv1alpha1.SchemeGroupVersion.WithKind("ClusterChannelProvisioner"): &eventingv1alpha1.ClusterChannelProvisioner{}, + eventingv1alpha1.SchemeGroupVersion.WithKind("Source"): &eventingv1alpha1.Source{}, + eventingv1alpha1.SchemeGroupVersion.WithKind("Subscription"): &eventingv1alpha1.Subscription{}, // For group channels.knative.dev, channelsv1alpha1.SchemeGroupVersion.WithKind("Bus"): &channelsv1alpha1.Bus{}, diff --git a/config/300-clusterprovisioner.yaml b/config/300-clusterprovisioner.yaml index e8e75547c3f..cb2361f52b8 100644 --- a/config/300-clusterprovisioner.yaml +++ b/config/300-clusterprovisioner.yaml @@ -14,14 +14,14 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: - name: clusterprovisioners.eventing.knative.dev + name: clusterchannelprovisioners.eventing.knative.dev spec: group: eventing.knative.dev version: v1alpha1 names: - kind: ClusterProvisioner - plural: clusterprovisioners - singular: clusterprovisioner + kind: ClusterChannelProvisioner + plural: clusterchannelprovisioners + singular: clusterchannelprovisioner categories: - all - knative diff --git a/config/provisioners/in-memory-channel/README.md b/config/provisioners/in-memory-channel/README.md index d895f9b32c4..81b065f61f1 100644 --- a/config/provisioners/in-memory-channel/README.md +++ b/config/provisioners/in-memory-channel/README.md @@ -18,7 +18,7 @@ They differ from most Channels in that they have: ### Deployment steps: 1. Setup [Knative Eventing](../../../DEVELOPMENT.md). -1. Apply the 'in-memory-channel' ClusterProvisioner, Controller, and Dispatcher. +1. Apply the 'in-memory-channel' ClusterChannelProvisioner, Controller, and Dispatcher. ```shell ko apply -f config/providers/in-memory-channel/in-memory-channel.yaml ```` @@ -33,19 +33,19 @@ They differ from most Channels in that they have: provisioner: ref: apiVersion: eventing.knative.dev/v1alpha1 - kind: ClusterProvisioner + kind: ClusterChannelProvisioner name: in-memory-channel ``` ### Components The major components are: -* ClusterProvisioner Controller +* ClusterChannelProvisioner Controller * Channel Controller * Channel Dispatcher * Channel Dispatcher Config Map. -The ClusterProvisioner Controller and the Channel Controller are colocated in one Pod. +The ClusterChannelProvisioner Controller and the Channel Controller are colocated in one Pod. ```shell kubectl get deployment -n knative-eventing in-memory-channel-controller ``` diff --git a/config/provisioners/in-memory-channel/in-memory-channel.yaml b/config/provisioners/in-memory-channel/in-memory-channel.yaml index 44a15c66175..547dbb3ebc9 100644 --- a/config/provisioners/in-memory-channel/in-memory-channel.yaml +++ b/config/provisioners/in-memory-channel/in-memory-channel.yaml @@ -13,7 +13,7 @@ # limitations under the License. apiVersion: eventing.knative.dev/v1alpha1 -kind: ClusterProvisioner +kind: ClusterChannelProvisioner metadata: name: in-memory-channel spec: @@ -40,7 +40,7 @@ rules: - eventing.knative.dev resources: - channels - - clusterprovisioners + - clusterchannelprovisioners verbs: - get - list @@ -101,7 +101,7 @@ spec: replicas: 1 selector: matchLabels: &labels - clusterProvisioner: in-memory-channel + clusterChannelProvisioner: in-memory-channel role: controller template: metadata: @@ -164,7 +164,7 @@ spec: replicas: 1 selector: matchLabels: &labels - clusterProvisioner: in-memory-channel + clusterChannelProvisioner: in-memory-channel role: dispatcher template: metadata: diff --git a/pkg/apis/eventing/logkey/constants.go b/pkg/apis/eventing/logkey/constants.go index e83233cc9a5..d9d383b18b5 100644 --- a/pkg/apis/eventing/logkey/constants.go +++ b/pkg/apis/eventing/logkey/constants.go @@ -19,6 +19,6 @@ package logkey const ( kNative = "knative.dev/" - // ClusterProvisioner is the key used for cluster provisioner names in structured logs - ClusterProvisioner = kNative + "clusterprovisioner" + // ClusterChannelProvisioner is the key used for cluster provisioner names in structured logs + ClusterChannelProvisioner = kNative + "clusterchannelprovisioner" ) diff --git a/pkg/apis/eventing/v1alpha1/cluster_provisioner_defaults.go b/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_defaults.go similarity index 79% rename from pkg/apis/eventing/v1alpha1/cluster_provisioner_defaults.go rename to pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_defaults.go index c5b74ae0da6..59a8089676f 100644 --- a/pkg/apis/eventing/v1alpha1/cluster_provisioner_defaults.go +++ b/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_defaults.go @@ -17,11 +17,11 @@ limitations under the License. package v1alpha1 // SetDefaults defaults -func (p *ClusterProvisioner) SetDefaults() { +func (p *ClusterChannelProvisioner) SetDefaults() { p.Spec.SetDefaults() } -// SetDefaults defaults the ClusterProvisioner spec. -func (ps *ClusterProvisionerSpec) SetDefaults() { +// SetDefaults defaults the ClusterChannelProvisioner spec. +func (ps *ClusterChannelProvisionerSpec) SetDefaults() { // no defaults } diff --git a/pkg/apis/eventing/v1alpha1/cluster_provisioner_defaults_test.go b/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_defaults_test.go similarity index 87% rename from pkg/apis/eventing/v1alpha1/cluster_provisioner_defaults_test.go rename to pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_defaults_test.go index f193167fa2b..565b2b4a91f 100644 --- a/pkg/apis/eventing/v1alpha1/cluster_provisioner_defaults_test.go +++ b/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_defaults_test.go @@ -19,7 +19,7 @@ package v1alpha1 import "testing" // No-op test because method does nothing. -func TestClusterProvisionerSetDefaults(t *testing.T) { - p := ClusterProvisioner{} +func TestClusterChannelProvisionerSetDefaults(t *testing.T) { + p := ClusterChannelProvisioner{} p.SetDefaults() } diff --git a/pkg/apis/eventing/v1alpha1/cluster_provisioner_types.go b/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_types.go similarity index 55% rename from pkg/apis/eventing/v1alpha1/cluster_provisioner_types.go rename to pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_types.go index 6a0a32ecb0b..d8327b784d4 100644 --- a/pkg/apis/eventing/v1alpha1/cluster_provisioner_types.go +++ b/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_types.go @@ -30,29 +30,29 @@ import ( // +genclient:nonNamespaced // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object -// ClusterProvisioner encapsulates a provisioning strategy for the backing -// resources required to realize a particular resource type. -type ClusterProvisioner struct { +// ClusterChannelProvisioner encapsulates a provisioning strategy for the +// backing resources required to realize a particular resource type. +type ClusterChannelProvisioner struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Spec defines the Types provisioned by this Provisioner. - Spec ClusterProvisionerSpec `json:"spec"` + Spec ClusterChannelProvisionerSpec `json:"spec"` // Status is the current status of the Provisioner. // +optional - Status ClusterProvisionerStatus `json:"status,omitempty"` + Status ClusterChannelProvisionerStatus `json:"status,omitempty"` } -// Check that ClusterProvisioner can be validated and can be defaulted. -var _ apis.Validatable = (*ClusterProvisioner)(nil) -var _ apis.Defaultable = (*ClusterProvisioner)(nil) -var _ runtime.Object = (*ClusterProvisioner)(nil) -var _ webhook.GenericCRD = (*ClusterProvisioner)(nil) +// Check that ClusterChannelProvisioner can be validated and can be defaulted. +var _ apis.Validatable = (*ClusterChannelProvisioner)(nil) +var _ apis.Defaultable = (*ClusterChannelProvisioner)(nil) +var _ runtime.Object = (*ClusterChannelProvisioner)(nil) +var _ webhook.GenericCRD = (*ClusterChannelProvisioner)(nil) -// ClusterProvisionerSpec is the spec for a ClusterProvisioner resource. -type ClusterProvisionerSpec struct { +// ClusterChannelProvisionerSpec is the spec for a ClusterChannelProvisioner resource. +type ClusterChannelProvisionerSpec struct { // TODO: Generation does not work correctly with CRD. They are scrubbed // by the APIserver (https://github.com/kubernetes/kubernetes/issues/58778) // So, we add Generation here. Once that gets fixed, remove this and use @@ -66,57 +66,57 @@ type ClusterProvisionerSpec struct { Reconciles metav1.GroupKind `json:"reconciles"` } -var cProvCondSet = duckv1alpha1.NewLivingConditionSet() +var ccProvCondSet = duckv1alpha1.NewLivingConditionSet() -// ClusterProvisionerStatus is the status for a ClusterProvisioner resource -type ClusterProvisionerStatus struct { +// ClusterChannelProvisionerStatus is the status for a ClusterChannelProvisioner resource +type ClusterChannelProvisionerStatus struct { // Conditions holds the state of a cluster provisioner at a point in time. // +optional // +patchMergeKey=type // +patchStrategy=merge Conditions duckv1alpha1.Conditions `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` - // ObservedGeneration is the 'Generation' of the ClusterProvisioner that + // ObservedGeneration is the 'Generation' of the ClusterChannelProvisioner that // was last reconciled by the controller. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` } const ( - // ClusterProvisionerConditionReady has status True when the Controller reconciling objects + // ClusterChannelProvisionerConditionReady has status True when the Controller reconciling objects // controlled by it is ready to control them. - ClusterProvisionerConditionReady = duckv1alpha1.ConditionReady + ClusterChannelProvisionerConditionReady = duckv1alpha1.ConditionReady ) // GetCondition returns the condition currently associated with the given type, or nil. -func (ps *ClusterProvisionerStatus) GetCondition(t duckv1alpha1.ConditionType) *duckv1alpha1.Condition { - return cProvCondSet.Manage(ps).GetCondition(t) +func (ps *ClusterChannelProvisionerStatus) GetCondition(t duckv1alpha1.ConditionType) *duckv1alpha1.Condition { + return ccProvCondSet.Manage(ps).GetCondition(t) } // IsReady returns true if the resource is ready overall. -func (ps *ClusterProvisionerStatus) IsReady() bool { - return cProvCondSet.Manage(ps).IsHappy() +func (ps *ClusterChannelProvisionerStatus) IsReady() bool { + return ccProvCondSet.Manage(ps).IsHappy() } // InitializeConditions sets relevant unset conditions to Unknown state. -func (ps *ClusterProvisionerStatus) InitializeConditions() { - cProvCondSet.Manage(ps).InitializeConditions() +func (ps *ClusterChannelProvisionerStatus) InitializeConditions() { + ccProvCondSet.Manage(ps).InitializeConditions() } -// MarkReady marks this ClusterProvisioner as Ready=true. +// MarkReady marks this ClusterChannelProvisioner as Ready=true. // // Note that this is not the normal pattern for duck conditions, but because there is (currently) -// no other condition on ClusterProvisioners, the normal IsReady() logic doesn't work well. -func (ps *ClusterProvisionerStatus) MarkReady() { - cProvCondSet.Manage(ps).MarkTrue(ClusterProvisionerConditionReady) +// no other condition on ClusterChannelProvisioners, the normal IsReady() logic doesn't work well. +func (ps *ClusterChannelProvisionerStatus) MarkReady() { + ccProvCondSet.Manage(ps).MarkTrue(ClusterChannelProvisionerConditionReady) } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object -// ClusterProvisionerList is a list of ClusterProvisioner resources -type ClusterProvisionerList struct { +// ClusterChannelProvisionerList is a list of ClusterChannelProvisioner resources +type ClusterChannelProvisionerList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` - Items []ClusterProvisioner `json:"items"` + Items []ClusterChannelProvisioner `json:"items"` } diff --git a/pkg/apis/eventing/v1alpha1/cluster_provisioner_types_test.go b/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_types_test.go similarity index 79% rename from pkg/apis/eventing/v1alpha1/cluster_provisioner_types_test.go rename to pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_types_test.go index afb7e8a0ff9..ac2fa9ae915 100644 --- a/pkg/apis/eventing/v1alpha1/cluster_provisioner_types_test.go +++ b/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_types_test.go @@ -24,26 +24,26 @@ import ( corev1 "k8s.io/api/core/v1" ) -func TestClusterProvisionerStatusIsReady(t *testing.T) { +func TestClusterChannelProvisionerStatusIsReady(t *testing.T) { tests := []struct { name string - ps *ClusterProvisionerStatus + ps *ClusterChannelProvisionerStatus want bool }{{ name: "uninitialized", - ps: &ClusterProvisionerStatus{}, + ps: &ClusterChannelProvisionerStatus{}, want: false, }, { name: "initialized", - ps: func() *ClusterProvisionerStatus { - ps := &ClusterProvisionerStatus{} + ps: func() *ClusterChannelProvisionerStatus { + ps := &ClusterChannelProvisionerStatus{} ps.InitializeConditions() return ps }(), want: false, }, { name: "ready true condition", - ps: &ClusterProvisionerStatus{ + ps: &ClusterChannelProvisionerStatus{ Conditions: []duckv1alpha1.Condition{{ Type: ChannelConditionReady, Status: corev1.ConditionTrue, @@ -52,7 +52,7 @@ func TestClusterProvisionerStatusIsReady(t *testing.T) { want: true, }, { name: "ready false condition", - ps: &ClusterProvisionerStatus{ + ps: &ClusterChannelProvisionerStatus{ Conditions: []duckv1alpha1.Condition{{ Type: ChannelConditionReady, Status: corev1.ConditionFalse, @@ -61,7 +61,7 @@ func TestClusterProvisionerStatusIsReady(t *testing.T) { want: false, }, { name: "unknown condition", - ps: &ClusterProvisionerStatus{ + ps: &ClusterChannelProvisionerStatus{ Conditions: []duckv1alpha1.Condition{{ Type: "foo", Status: corev1.ConditionTrue, @@ -80,15 +80,15 @@ func TestClusterProvisionerStatusIsReady(t *testing.T) { } } -func TestClusterProvisionerStatusGetCondition(t *testing.T) { +func TestClusterChannelProvisionerStatusGetCondition(t *testing.T) { tests := []struct { name string - ps *ClusterProvisionerStatus + ps *ClusterChannelProvisionerStatus condQuery duckv1alpha1.ConditionType want *duckv1alpha1.Condition }{{ name: "single condition", - ps: &ClusterProvisionerStatus{ + ps: &ClusterChannelProvisionerStatus{ Conditions: []duckv1alpha1.Condition{ condReady, }, @@ -97,7 +97,7 @@ func TestClusterProvisionerStatusGetCondition(t *testing.T) { want: &condReady, }, { name: "unknown condition", - ps: &ClusterProvisionerStatus{ + ps: &ClusterChannelProvisionerStatus{ Conditions: []duckv1alpha1.Condition{ condReady, condUnprovisioned, @@ -117,8 +117,8 @@ func TestClusterProvisionerStatusGetCondition(t *testing.T) { } } -func TestClusterProvisionerStatus_MarkReady(t *testing.T) { - ps := ClusterProvisionerStatus{} +func TestClusterChannelProvisionerStatus_MarkReady(t *testing.T) { + ps := ClusterChannelProvisionerStatus{} ps.InitializeConditions() if ps.IsReady() { t.Errorf("Should not be ready when initialized.") diff --git a/pkg/apis/eventing/v1alpha1/cluster_provisioner_validation.go b/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_validation.go similarity index 75% rename from pkg/apis/eventing/v1alpha1/cluster_provisioner_validation.go rename to pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_validation.go index c46e166819f..662d9a85b33 100644 --- a/pkg/apis/eventing/v1alpha1/cluster_provisioner_validation.go +++ b/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_validation.go @@ -21,14 +21,14 @@ import ( "k8s.io/apimachinery/pkg/api/equality" ) -// Validate validates the ClusterProvisioner resource. -func (p *ClusterProvisioner) Validate() *apis.FieldError { +// Validate validates the ClusterChannelProvisioner resource. +func (p *ClusterChannelProvisioner) Validate() *apis.FieldError { return p.Spec.Validate().ViaField("spec") } -// Validate validates the ClusterProvisioner spec -func (ps *ClusterProvisionerSpec) Validate() *apis.FieldError { - if equality.Semantic.DeepEqual(ps, &ClusterProvisionerSpec{}) { +// Validate validates the ClusterChannelProvisioner spec +func (ps *ClusterChannelProvisionerSpec) Validate() *apis.FieldError { + if equality.Semantic.DeepEqual(ps, &ClusterChannelProvisionerSpec{}) { return apis.ErrMissingField("reconciles") } var errs *apis.FieldError diff --git a/pkg/apis/eventing/v1alpha1/cluster_provisioner_validation_test.go b/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_validation_test.go similarity index 80% rename from pkg/apis/eventing/v1alpha1/cluster_provisioner_validation_test.go rename to pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_validation_test.go index 7d77e4a6d8c..6c5b18ac565 100644 --- a/pkg/apis/eventing/v1alpha1/cluster_provisioner_validation_test.go +++ b/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_validation_test.go @@ -17,21 +17,22 @@ limitations under the License. package v1alpha1 import ( + "testing" + "github.com/google/go-cmp/cmp" "github.com/knative/pkg/apis" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "testing" ) -func TestClusterProvisionerValidate(t *testing.T) { +func TestClusterChannelProvisionerValidate(t *testing.T) { tests := []struct { name string - p *ClusterProvisioner + p *ClusterChannelProvisioner want *apis.FieldError }{{ name: "valid", - p: &ClusterProvisioner{ - Spec: ClusterProvisionerSpec{ + p: &ClusterChannelProvisioner{ + Spec: ClusterChannelProvisionerSpec{ Reconciles: metav1.GroupKind{ Group: "knative.dev", Kind: "Channel", @@ -40,16 +41,16 @@ func TestClusterProvisionerValidate(t *testing.T) { }, }, { name: "invalid cluster provisioner, empty reconciles", - p: &ClusterProvisioner{ - Spec: ClusterProvisionerSpec{ + p: &ClusterChannelProvisioner{ + Spec: ClusterChannelProvisionerSpec{ Reconciles: metav1.GroupKind{}, }, }, want: apis.ErrMissingField("spec.reconciles"), }, { name: "invalid cluster provisioner, empty kind", - p: &ClusterProvisioner{ - Spec: ClusterProvisionerSpec{ + p: &ClusterChannelProvisioner{ + Spec: ClusterChannelProvisionerSpec{ Reconciles: metav1.GroupKind{ Group: "eventing.knative.test", }, @@ -58,8 +59,8 @@ func TestClusterProvisionerValidate(t *testing.T) { want: apis.ErrMissingField("spec.reconciles.kind"), }, { name: "invalid cluster provisioner", - p: &ClusterProvisioner{ - Spec: ClusterProvisionerSpec{ + p: &ClusterChannelProvisioner{ + Spec: ClusterChannelProvisionerSpec{ Reconciles: metav1.GroupKind{ Kind: "Channel", }, @@ -68,7 +69,7 @@ func TestClusterProvisionerValidate(t *testing.T) { want: apis.ErrMissingField("spec.reconciles.group"), }, { name: "empty", - p: &ClusterProvisioner{}, + p: &ClusterChannelProvisioner{}, want: apis.ErrMissingField("spec.reconciles"), }} diff --git a/pkg/apis/eventing/v1alpha1/implements_test.go b/pkg/apis/eventing/v1alpha1/implements_test.go index 7b40b2d9af3..e760b9070cc 100644 --- a/pkg/apis/eventing/v1alpha1/implements_test.go +++ b/pkg/apis/eventing/v1alpha1/implements_test.go @@ -30,8 +30,8 @@ func TestTypesImplements(t *testing.T) { {instance: &Channel{}, iface: &duckv1alpha1.Channelable{}}, {instance: &Channel{}, iface: &duckv1alpha1.Subscribable{}}, {instance: &Channel{}, iface: &duckv1alpha1.Sinkable{}}, - // ClusterProvisioner - {instance: &ClusterProvisioner{}, iface: &duckv1alpha1.Conditions{}}, + // ClusterChannelProvisioner + {instance: &ClusterChannelProvisioner{}, iface: &duckv1alpha1.Conditions{}}, // Subscription {instance: &Subscription{}, iface: &duckv1alpha1.Conditions{}}, {instance: &Subscription{}, iface: &emptyGen}, diff --git a/pkg/apis/eventing/v1alpha1/register.go b/pkg/apis/eventing/v1alpha1/register.go index e3fb19db05d..df6338f66c1 100644 --- a/pkg/apis/eventing/v1alpha1/register.go +++ b/pkg/apis/eventing/v1alpha1/register.go @@ -47,8 +47,8 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &Channel{}, &ChannelList{}, - &ClusterProvisioner{}, - &ClusterProvisionerList{}, + &ClusterChannelProvisioner{}, + &ClusterChannelProvisionerList{}, &Subscription{}, &SubscriptionList{}, ) diff --git a/pkg/apis/eventing/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/eventing/v1alpha1/zz_generated.deepcopy.go index ddde0c1d91b..35403ddf6f9 100644 --- a/pkg/apis/eventing/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/eventing/v1alpha1/zz_generated.deepcopy.go @@ -156,7 +156,7 @@ func (in *ChannelStatus) DeepCopy() *ChannelStatus { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ClusterProvisioner) DeepCopyInto(out *ClusterProvisioner) { +func (in *ClusterChannelProvisioner) DeepCopyInto(out *ClusterChannelProvisioner) { *out = *in out.TypeMeta = in.TypeMeta in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) @@ -165,18 +165,18 @@ func (in *ClusterProvisioner) DeepCopyInto(out *ClusterProvisioner) { return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProvisioner. -func (in *ClusterProvisioner) DeepCopy() *ClusterProvisioner { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterChannelProvisioner. +func (in *ClusterChannelProvisioner) DeepCopy() *ClusterChannelProvisioner { if in == nil { return nil } - out := new(ClusterProvisioner) + out := new(ClusterChannelProvisioner) in.DeepCopyInto(out) return out } // DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *ClusterProvisioner) DeepCopyObject() runtime.Object { +func (in *ClusterChannelProvisioner) DeepCopyObject() runtime.Object { if c := in.DeepCopy(); c != nil { return c } @@ -184,13 +184,13 @@ func (in *ClusterProvisioner) DeepCopyObject() runtime.Object { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ClusterProvisionerList) DeepCopyInto(out *ClusterProvisionerList) { +func (in *ClusterChannelProvisionerList) DeepCopyInto(out *ClusterChannelProvisionerList) { *out = *in out.TypeMeta = in.TypeMeta out.ListMeta = in.ListMeta if in.Items != nil { in, out := &in.Items, &out.Items - *out = make([]ClusterProvisioner, len(*in)) + *out = make([]ClusterChannelProvisioner, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -198,18 +198,18 @@ func (in *ClusterProvisionerList) DeepCopyInto(out *ClusterProvisionerList) { return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProvisionerList. -func (in *ClusterProvisionerList) DeepCopy() *ClusterProvisionerList { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterChannelProvisionerList. +func (in *ClusterChannelProvisionerList) DeepCopy() *ClusterChannelProvisionerList { if in == nil { return nil } - out := new(ClusterProvisionerList) + out := new(ClusterChannelProvisionerList) in.DeepCopyInto(out) return out } // DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *ClusterProvisionerList) DeepCopyObject() runtime.Object { +func (in *ClusterChannelProvisionerList) DeepCopyObject() runtime.Object { if c := in.DeepCopy(); c != nil { return c } @@ -217,24 +217,24 @@ func (in *ClusterProvisionerList) DeepCopyObject() runtime.Object { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ClusterProvisionerSpec) DeepCopyInto(out *ClusterProvisionerSpec) { +func (in *ClusterChannelProvisionerSpec) DeepCopyInto(out *ClusterChannelProvisionerSpec) { *out = *in out.Reconciles = in.Reconciles return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProvisionerSpec. -func (in *ClusterProvisionerSpec) DeepCopy() *ClusterProvisionerSpec { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterChannelProvisionerSpec. +func (in *ClusterChannelProvisionerSpec) DeepCopy() *ClusterChannelProvisionerSpec { if in == nil { return nil } - out := new(ClusterProvisionerSpec) + out := new(ClusterChannelProvisionerSpec) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ClusterProvisionerStatus) DeepCopyInto(out *ClusterProvisionerStatus) { +func (in *ClusterChannelProvisionerStatus) DeepCopyInto(out *ClusterChannelProvisionerStatus) { *out = *in if in.Conditions != nil { in, out := &in.Conditions, &out.Conditions @@ -246,12 +246,12 @@ func (in *ClusterProvisionerStatus) DeepCopyInto(out *ClusterProvisionerStatus) return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProvisionerStatus. -func (in *ClusterProvisionerStatus) DeepCopy() *ClusterProvisionerStatus { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterChannelProvisionerStatus. +func (in *ClusterChannelProvisionerStatus) DeepCopy() *ClusterChannelProvisionerStatus { if in == nil { return nil } - out := new(ClusterProvisionerStatus) + out := new(ClusterChannelProvisionerStatus) in.DeepCopyInto(out) return out } diff --git a/pkg/client/clientset/versioned/typed/eventing/v1alpha1/clusterchannelprovisioner.go b/pkg/client/clientset/versioned/typed/eventing/v1alpha1/clusterchannelprovisioner.go new file mode 100644 index 00000000000..951b0f919eb --- /dev/null +++ b/pkg/client/clientset/versioned/typed/eventing/v1alpha1/clusterchannelprovisioner.go @@ -0,0 +1,147 @@ +/* +Copyright 2018 The Knative Authors + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + v1alpha1 "github.com/knative/eventing/pkg/apis/eventing/v1alpha1" + scheme "github.com/knative/eventing/pkg/client/clientset/versioned/scheme" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// ClusterChannelProvisionersGetter has a method to return a ClusterChannelProvisionerInterface. +// A group's client should implement this interface. +type ClusterChannelProvisionersGetter interface { + ClusterChannelProvisioners() ClusterChannelProvisionerInterface +} + +// ClusterChannelProvisionerInterface has methods to work with ClusterChannelProvisioner resources. +type ClusterChannelProvisionerInterface interface { + Create(*v1alpha1.ClusterChannelProvisioner) (*v1alpha1.ClusterChannelProvisioner, error) + Update(*v1alpha1.ClusterChannelProvisioner) (*v1alpha1.ClusterChannelProvisioner, error) + Delete(name string, options *v1.DeleteOptions) error + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1alpha1.ClusterChannelProvisioner, error) + List(opts v1.ListOptions) (*v1alpha1.ClusterChannelProvisionerList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ClusterChannelProvisioner, err error) + ClusterChannelProvisionerExpansion +} + +// clusterChannelProvisioners implements ClusterChannelProvisionerInterface +type clusterChannelProvisioners struct { + client rest.Interface +} + +// newClusterChannelProvisioners returns a ClusterChannelProvisioners +func newClusterChannelProvisioners(c *EventingV1alpha1Client) *clusterChannelProvisioners { + return &clusterChannelProvisioners{ + client: c.RESTClient(), + } +} + +// Get takes name of the clusterChannelProvisioner, and returns the corresponding clusterChannelProvisioner object, and an error if there is any. +func (c *clusterChannelProvisioners) Get(name string, options v1.GetOptions) (result *v1alpha1.ClusterChannelProvisioner, err error) { + result = &v1alpha1.ClusterChannelProvisioner{} + err = c.client.Get(). + Resource("clusterchannelprovisioners"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of ClusterChannelProvisioners that match those selectors. +func (c *clusterChannelProvisioners) List(opts v1.ListOptions) (result *v1alpha1.ClusterChannelProvisionerList, err error) { + result = &v1alpha1.ClusterChannelProvisionerList{} + err = c.client.Get(). + Resource("clusterchannelprovisioners"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested clusterChannelProvisioners. +func (c *clusterChannelProvisioners) Watch(opts v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("clusterchannelprovisioners"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a clusterChannelProvisioner and creates it. Returns the server's representation of the clusterChannelProvisioner, and an error, if there is any. +func (c *clusterChannelProvisioners) Create(clusterChannelProvisioner *v1alpha1.ClusterChannelProvisioner) (result *v1alpha1.ClusterChannelProvisioner, err error) { + result = &v1alpha1.ClusterChannelProvisioner{} + err = c.client.Post(). + Resource("clusterchannelprovisioners"). + Body(clusterChannelProvisioner). + Do(). + Into(result) + return +} + +// Update takes the representation of a clusterChannelProvisioner and updates it. Returns the server's representation of the clusterChannelProvisioner, and an error, if there is any. +func (c *clusterChannelProvisioners) Update(clusterChannelProvisioner *v1alpha1.ClusterChannelProvisioner) (result *v1alpha1.ClusterChannelProvisioner, err error) { + result = &v1alpha1.ClusterChannelProvisioner{} + err = c.client.Put(). + Resource("clusterchannelprovisioners"). + Name(clusterChannelProvisioner.Name). + Body(clusterChannelProvisioner). + Do(). + Into(result) + return +} + +// Delete takes name of the clusterChannelProvisioner and deletes it. Returns an error if one occurs. +func (c *clusterChannelProvisioners) Delete(name string, options *v1.DeleteOptions) error { + return c.client.Delete(). + Resource("clusterchannelprovisioners"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *clusterChannelProvisioners) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + return c.client.Delete(). + Resource("clusterchannelprovisioners"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched clusterChannelProvisioner. +func (c *clusterChannelProvisioners) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ClusterChannelProvisioner, err error) { + result = &v1alpha1.ClusterChannelProvisioner{} + err = c.client.Patch(pt). + Resource("clusterchannelprovisioners"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/pkg/client/clientset/versioned/typed/eventing/v1alpha1/clusterprovisioner.go b/pkg/client/clientset/versioned/typed/eventing/v1alpha1/clusterprovisioner.go deleted file mode 100644 index 9b61e6c9073..00000000000 --- a/pkg/client/clientset/versioned/typed/eventing/v1alpha1/clusterprovisioner.go +++ /dev/null @@ -1,147 +0,0 @@ -/* -Copyright 2018 The Knative Authors - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -package v1alpha1 - -import ( - v1alpha1 "github.com/knative/eventing/pkg/apis/eventing/v1alpha1" - scheme "github.com/knative/eventing/pkg/client/clientset/versioned/scheme" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - types "k8s.io/apimachinery/pkg/types" - watch "k8s.io/apimachinery/pkg/watch" - rest "k8s.io/client-go/rest" -) - -// ClusterProvisionersGetter has a method to return a ClusterProvisionerInterface. -// A group's client should implement this interface. -type ClusterProvisionersGetter interface { - ClusterProvisioners() ClusterProvisionerInterface -} - -// ClusterProvisionerInterface has methods to work with ClusterProvisioner resources. -type ClusterProvisionerInterface interface { - Create(*v1alpha1.ClusterProvisioner) (*v1alpha1.ClusterProvisioner, error) - Update(*v1alpha1.ClusterProvisioner) (*v1alpha1.ClusterProvisioner, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error - Get(name string, options v1.GetOptions) (*v1alpha1.ClusterProvisioner, error) - List(opts v1.ListOptions) (*v1alpha1.ClusterProvisionerList, error) - Watch(opts v1.ListOptions) (watch.Interface, error) - Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ClusterProvisioner, err error) - ClusterProvisionerExpansion -} - -// clusterProvisioners implements ClusterProvisionerInterface -type clusterProvisioners struct { - client rest.Interface -} - -// newClusterProvisioners returns a ClusterProvisioners -func newClusterProvisioners(c *EventingV1alpha1Client) *clusterProvisioners { - return &clusterProvisioners{ - client: c.RESTClient(), - } -} - -// Get takes name of the clusterProvisioner, and returns the corresponding clusterProvisioner object, and an error if there is any. -func (c *clusterProvisioners) Get(name string, options v1.GetOptions) (result *v1alpha1.ClusterProvisioner, err error) { - result = &v1alpha1.ClusterProvisioner{} - err = c.client.Get(). - Resource("clusterprovisioners"). - Name(name). - VersionedParams(&options, scheme.ParameterCodec). - Do(). - Into(result) - return -} - -// List takes label and field selectors, and returns the list of ClusterProvisioners that match those selectors. -func (c *clusterProvisioners) List(opts v1.ListOptions) (result *v1alpha1.ClusterProvisionerList, err error) { - result = &v1alpha1.ClusterProvisionerList{} - err = c.client.Get(). - Resource("clusterprovisioners"). - VersionedParams(&opts, scheme.ParameterCodec). - Do(). - Into(result) - return -} - -// Watch returns a watch.Interface that watches the requested clusterProvisioners. -func (c *clusterProvisioners) Watch(opts v1.ListOptions) (watch.Interface, error) { - opts.Watch = true - return c.client.Get(). - Resource("clusterprovisioners"). - VersionedParams(&opts, scheme.ParameterCodec). - Watch() -} - -// Create takes the representation of a clusterProvisioner and creates it. Returns the server's representation of the clusterProvisioner, and an error, if there is any. -func (c *clusterProvisioners) Create(clusterProvisioner *v1alpha1.ClusterProvisioner) (result *v1alpha1.ClusterProvisioner, err error) { - result = &v1alpha1.ClusterProvisioner{} - err = c.client.Post(). - Resource("clusterprovisioners"). - Body(clusterProvisioner). - Do(). - Into(result) - return -} - -// Update takes the representation of a clusterProvisioner and updates it. Returns the server's representation of the clusterProvisioner, and an error, if there is any. -func (c *clusterProvisioners) Update(clusterProvisioner *v1alpha1.ClusterProvisioner) (result *v1alpha1.ClusterProvisioner, err error) { - result = &v1alpha1.ClusterProvisioner{} - err = c.client.Put(). - Resource("clusterprovisioners"). - Name(clusterProvisioner.Name). - Body(clusterProvisioner). - Do(). - Into(result) - return -} - -// Delete takes name of the clusterProvisioner and deletes it. Returns an error if one occurs. -func (c *clusterProvisioners) Delete(name string, options *v1.DeleteOptions) error { - return c.client.Delete(). - Resource("clusterprovisioners"). - Name(name). - Body(options). - Do(). - Error() -} - -// DeleteCollection deletes a collection of objects. -func (c *clusterProvisioners) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { - return c.client.Delete(). - Resource("clusterprovisioners"). - VersionedParams(&listOptions, scheme.ParameterCodec). - Body(options). - Do(). - Error() -} - -// Patch applies the patch and returns the patched clusterProvisioner. -func (c *clusterProvisioners) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ClusterProvisioner, err error) { - result = &v1alpha1.ClusterProvisioner{} - err = c.client.Patch(pt). - Resource("clusterprovisioners"). - SubResource(subresources...). - Name(name). - Body(data). - Do(). - Into(result) - return -} diff --git a/pkg/client/clientset/versioned/typed/eventing/v1alpha1/eventing_client.go b/pkg/client/clientset/versioned/typed/eventing/v1alpha1/eventing_client.go index c9474ed0042..9b1ba5a56a9 100644 --- a/pkg/client/clientset/versioned/typed/eventing/v1alpha1/eventing_client.go +++ b/pkg/client/clientset/versioned/typed/eventing/v1alpha1/eventing_client.go @@ -28,7 +28,7 @@ import ( type EventingV1alpha1Interface interface { RESTClient() rest.Interface ChannelsGetter - ClusterProvisionersGetter + ClusterChannelProvisionersGetter SourcesGetter SubscriptionsGetter } @@ -42,8 +42,8 @@ func (c *EventingV1alpha1Client) Channels(namespace string) ChannelInterface { return newChannels(c, namespace) } -func (c *EventingV1alpha1Client) ClusterProvisioners() ClusterProvisionerInterface { - return newClusterProvisioners(c) +func (c *EventingV1alpha1Client) ClusterChannelProvisioners() ClusterChannelProvisionerInterface { + return newClusterChannelProvisioners(c) } func (c *EventingV1alpha1Client) Sources(namespace string) SourceInterface { diff --git a/pkg/client/clientset/versioned/typed/eventing/v1alpha1/fake/fake_clusterchannelprovisioner.go b/pkg/client/clientset/versioned/typed/eventing/v1alpha1/fake/fake_clusterchannelprovisioner.go new file mode 100644 index 00000000000..785d0af0b42 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/eventing/v1alpha1/fake/fake_clusterchannelprovisioner.go @@ -0,0 +1,120 @@ +/* +Copyright 2018 The Knative Authors + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1alpha1 "github.com/knative/eventing/pkg/apis/eventing/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeClusterChannelProvisioners implements ClusterChannelProvisionerInterface +type FakeClusterChannelProvisioners struct { + Fake *FakeEventingV1alpha1 +} + +var clusterchannelprovisionersResource = schema.GroupVersionResource{Group: "eventing.knative.dev", Version: "v1alpha1", Resource: "clusterchannelprovisioners"} + +var clusterchannelprovisionersKind = schema.GroupVersionKind{Group: "eventing.knative.dev", Version: "v1alpha1", Kind: "ClusterChannelProvisioner"} + +// Get takes name of the clusterChannelProvisioner, and returns the corresponding clusterChannelProvisioner object, and an error if there is any. +func (c *FakeClusterChannelProvisioners) Get(name string, options v1.GetOptions) (result *v1alpha1.ClusterChannelProvisioner, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(clusterchannelprovisionersResource, name), &v1alpha1.ClusterChannelProvisioner{}) + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.ClusterChannelProvisioner), err +} + +// List takes label and field selectors, and returns the list of ClusterChannelProvisioners that match those selectors. +func (c *FakeClusterChannelProvisioners) List(opts v1.ListOptions) (result *v1alpha1.ClusterChannelProvisionerList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(clusterchannelprovisionersResource, clusterchannelprovisionersKind, opts), &v1alpha1.ClusterChannelProvisionerList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1alpha1.ClusterChannelProvisionerList{ListMeta: obj.(*v1alpha1.ClusterChannelProvisionerList).ListMeta} + for _, item := range obj.(*v1alpha1.ClusterChannelProvisionerList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested clusterChannelProvisioners. +func (c *FakeClusterChannelProvisioners) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(clusterchannelprovisionersResource, opts)) +} + +// Create takes the representation of a clusterChannelProvisioner and creates it. Returns the server's representation of the clusterChannelProvisioner, and an error, if there is any. +func (c *FakeClusterChannelProvisioners) Create(clusterChannelProvisioner *v1alpha1.ClusterChannelProvisioner) (result *v1alpha1.ClusterChannelProvisioner, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(clusterchannelprovisionersResource, clusterChannelProvisioner), &v1alpha1.ClusterChannelProvisioner{}) + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.ClusterChannelProvisioner), err +} + +// Update takes the representation of a clusterChannelProvisioner and updates it. Returns the server's representation of the clusterChannelProvisioner, and an error, if there is any. +func (c *FakeClusterChannelProvisioners) Update(clusterChannelProvisioner *v1alpha1.ClusterChannelProvisioner) (result *v1alpha1.ClusterChannelProvisioner, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(clusterchannelprovisionersResource, clusterChannelProvisioner), &v1alpha1.ClusterChannelProvisioner{}) + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.ClusterChannelProvisioner), err +} + +// Delete takes name of the clusterChannelProvisioner and deletes it. Returns an error if one occurs. +func (c *FakeClusterChannelProvisioners) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(clusterchannelprovisionersResource, name), &v1alpha1.ClusterChannelProvisioner{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeClusterChannelProvisioners) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(clusterchannelprovisionersResource, listOptions) + + _, err := c.Fake.Invokes(action, &v1alpha1.ClusterChannelProvisionerList{}) + return err +} + +// Patch applies the patch and returns the patched clusterChannelProvisioner. +func (c *FakeClusterChannelProvisioners) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ClusterChannelProvisioner, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(clusterchannelprovisionersResource, name, data, subresources...), &v1alpha1.ClusterChannelProvisioner{}) + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.ClusterChannelProvisioner), err +} diff --git a/pkg/client/clientset/versioned/typed/eventing/v1alpha1/fake/fake_clusterprovisioner.go b/pkg/client/clientset/versioned/typed/eventing/v1alpha1/fake/fake_clusterprovisioner.go deleted file mode 100644 index ce5b93f76ce..00000000000 --- a/pkg/client/clientset/versioned/typed/eventing/v1alpha1/fake/fake_clusterprovisioner.go +++ /dev/null @@ -1,120 +0,0 @@ -/* -Copyright 2018 The Knative Authors - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -package fake - -import ( - v1alpha1 "github.com/knative/eventing/pkg/apis/eventing/v1alpha1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - labels "k8s.io/apimachinery/pkg/labels" - schema "k8s.io/apimachinery/pkg/runtime/schema" - types "k8s.io/apimachinery/pkg/types" - watch "k8s.io/apimachinery/pkg/watch" - testing "k8s.io/client-go/testing" -) - -// FakeClusterProvisioners implements ClusterProvisionerInterface -type FakeClusterProvisioners struct { - Fake *FakeEventingV1alpha1 -} - -var clusterprovisionersResource = schema.GroupVersionResource{Group: "eventing.knative.dev", Version: "v1alpha1", Resource: "clusterprovisioners"} - -var clusterprovisionersKind = schema.GroupVersionKind{Group: "eventing.knative.dev", Version: "v1alpha1", Kind: "ClusterProvisioner"} - -// Get takes name of the clusterProvisioner, and returns the corresponding clusterProvisioner object, and an error if there is any. -func (c *FakeClusterProvisioners) Get(name string, options v1.GetOptions) (result *v1alpha1.ClusterProvisioner, err error) { - obj, err := c.Fake. - Invokes(testing.NewRootGetAction(clusterprovisionersResource, name), &v1alpha1.ClusterProvisioner{}) - if obj == nil { - return nil, err - } - return obj.(*v1alpha1.ClusterProvisioner), err -} - -// List takes label and field selectors, and returns the list of ClusterProvisioners that match those selectors. -func (c *FakeClusterProvisioners) List(opts v1.ListOptions) (result *v1alpha1.ClusterProvisionerList, err error) { - obj, err := c.Fake. - Invokes(testing.NewRootListAction(clusterprovisionersResource, clusterprovisionersKind, opts), &v1alpha1.ClusterProvisionerList{}) - if obj == nil { - return nil, err - } - - label, _, _ := testing.ExtractFromListOptions(opts) - if label == nil { - label = labels.Everything() - } - list := &v1alpha1.ClusterProvisionerList{ListMeta: obj.(*v1alpha1.ClusterProvisionerList).ListMeta} - for _, item := range obj.(*v1alpha1.ClusterProvisionerList).Items { - if label.Matches(labels.Set(item.Labels)) { - list.Items = append(list.Items, item) - } - } - return list, err -} - -// Watch returns a watch.Interface that watches the requested clusterProvisioners. -func (c *FakeClusterProvisioners) Watch(opts v1.ListOptions) (watch.Interface, error) { - return c.Fake. - InvokesWatch(testing.NewRootWatchAction(clusterprovisionersResource, opts)) -} - -// Create takes the representation of a clusterProvisioner and creates it. Returns the server's representation of the clusterProvisioner, and an error, if there is any. -func (c *FakeClusterProvisioners) Create(clusterProvisioner *v1alpha1.ClusterProvisioner) (result *v1alpha1.ClusterProvisioner, err error) { - obj, err := c.Fake. - Invokes(testing.NewRootCreateAction(clusterprovisionersResource, clusterProvisioner), &v1alpha1.ClusterProvisioner{}) - if obj == nil { - return nil, err - } - return obj.(*v1alpha1.ClusterProvisioner), err -} - -// Update takes the representation of a clusterProvisioner and updates it. Returns the server's representation of the clusterProvisioner, and an error, if there is any. -func (c *FakeClusterProvisioners) Update(clusterProvisioner *v1alpha1.ClusterProvisioner) (result *v1alpha1.ClusterProvisioner, err error) { - obj, err := c.Fake. - Invokes(testing.NewRootUpdateAction(clusterprovisionersResource, clusterProvisioner), &v1alpha1.ClusterProvisioner{}) - if obj == nil { - return nil, err - } - return obj.(*v1alpha1.ClusterProvisioner), err -} - -// Delete takes name of the clusterProvisioner and deletes it. Returns an error if one occurs. -func (c *FakeClusterProvisioners) Delete(name string, options *v1.DeleteOptions) error { - _, err := c.Fake. - Invokes(testing.NewRootDeleteAction(clusterprovisionersResource, name), &v1alpha1.ClusterProvisioner{}) - return err -} - -// DeleteCollection deletes a collection of objects. -func (c *FakeClusterProvisioners) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { - action := testing.NewRootDeleteCollectionAction(clusterprovisionersResource, listOptions) - - _, err := c.Fake.Invokes(action, &v1alpha1.ClusterProvisionerList{}) - return err -} - -// Patch applies the patch and returns the patched clusterProvisioner. -func (c *FakeClusterProvisioners) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ClusterProvisioner, err error) { - obj, err := c.Fake. - Invokes(testing.NewRootPatchSubresourceAction(clusterprovisionersResource, name, data, subresources...), &v1alpha1.ClusterProvisioner{}) - if obj == nil { - return nil, err - } - return obj.(*v1alpha1.ClusterProvisioner), err -} diff --git a/pkg/client/clientset/versioned/typed/eventing/v1alpha1/fake/fake_eventing_client.go b/pkg/client/clientset/versioned/typed/eventing/v1alpha1/fake/fake_eventing_client.go index dfd67eea8b1..55d4e66b253 100644 --- a/pkg/client/clientset/versioned/typed/eventing/v1alpha1/fake/fake_eventing_client.go +++ b/pkg/client/clientset/versioned/typed/eventing/v1alpha1/fake/fake_eventing_client.go @@ -32,8 +32,8 @@ func (c *FakeEventingV1alpha1) Channels(namespace string) v1alpha1.ChannelInterf return &FakeChannels{c, namespace} } -func (c *FakeEventingV1alpha1) ClusterProvisioners() v1alpha1.ClusterProvisionerInterface { - return &FakeClusterProvisioners{c} +func (c *FakeEventingV1alpha1) ClusterChannelProvisioners() v1alpha1.ClusterChannelProvisionerInterface { + return &FakeClusterChannelProvisioners{c} } func (c *FakeEventingV1alpha1) Sources(namespace string) v1alpha1.SourceInterface { diff --git a/pkg/client/clientset/versioned/typed/eventing/v1alpha1/generated_expansion.go b/pkg/client/clientset/versioned/typed/eventing/v1alpha1/generated_expansion.go index 121200ef9f9..545af652990 100644 --- a/pkg/client/clientset/versioned/typed/eventing/v1alpha1/generated_expansion.go +++ b/pkg/client/clientset/versioned/typed/eventing/v1alpha1/generated_expansion.go @@ -20,7 +20,7 @@ package v1alpha1 type ChannelExpansion interface{} -type ClusterProvisionerExpansion interface{} +type ClusterChannelProvisionerExpansion interface{} type SourceExpansion interface{} diff --git a/pkg/client/informers/externalversions/eventing/v1alpha1/clusterprovisioner.go b/pkg/client/informers/externalversions/eventing/v1alpha1/clusterchannelprovisioner.go similarity index 53% rename from pkg/client/informers/externalversions/eventing/v1alpha1/clusterprovisioner.go rename to pkg/client/informers/externalversions/eventing/v1alpha1/clusterchannelprovisioner.go index fabfa09b5a5..fb0aae439aa 100644 --- a/pkg/client/informers/externalversions/eventing/v1alpha1/clusterprovisioner.go +++ b/pkg/client/informers/externalversions/eventing/v1alpha1/clusterchannelprovisioner.go @@ -31,58 +31,58 @@ import ( cache "k8s.io/client-go/tools/cache" ) -// ClusterProvisionerInformer provides access to a shared informer and lister for -// ClusterProvisioners. -type ClusterProvisionerInformer interface { +// ClusterChannelProvisionerInformer provides access to a shared informer and lister for +// ClusterChannelProvisioners. +type ClusterChannelProvisionerInformer interface { Informer() cache.SharedIndexInformer - Lister() v1alpha1.ClusterProvisionerLister + Lister() v1alpha1.ClusterChannelProvisionerLister } -type clusterProvisionerInformer struct { +type clusterChannelProvisionerInformer struct { factory internalinterfaces.SharedInformerFactory tweakListOptions internalinterfaces.TweakListOptionsFunc } -// NewClusterProvisionerInformer constructs a new informer for ClusterProvisioner type. +// NewClusterChannelProvisionerInformer constructs a new informer for ClusterChannelProvisioner type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. -func NewClusterProvisionerInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredClusterProvisionerInformer(client, resyncPeriod, indexers, nil) +func NewClusterChannelProvisionerInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredClusterChannelProvisionerInformer(client, resyncPeriod, indexers, nil) } -// NewFilteredClusterProvisionerInformer constructs a new informer for ClusterProvisioner type. +// NewFilteredClusterChannelProvisionerInformer constructs a new informer for ClusterChannelProvisioner type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. -func NewFilteredClusterProvisionerInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { +func NewFilteredClusterChannelProvisionerInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( &cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) } - return client.EventingV1alpha1().ClusterProvisioners().List(options) + return client.EventingV1alpha1().ClusterChannelProvisioners().List(options) }, WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { tweakListOptions(&options) } - return client.EventingV1alpha1().ClusterProvisioners().Watch(options) + return client.EventingV1alpha1().ClusterChannelProvisioners().Watch(options) }, }, - &eventing_v1alpha1.ClusterProvisioner{}, + &eventing_v1alpha1.ClusterChannelProvisioner{}, resyncPeriod, indexers, ) } -func (f *clusterProvisionerInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredClusterProvisionerInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +func (f *clusterChannelProvisionerInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredClusterChannelProvisionerInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) } -func (f *clusterProvisionerInformer) Informer() cache.SharedIndexInformer { - return f.factory.InformerFor(&eventing_v1alpha1.ClusterProvisioner{}, f.defaultInformer) +func (f *clusterChannelProvisionerInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&eventing_v1alpha1.ClusterChannelProvisioner{}, f.defaultInformer) } -func (f *clusterProvisionerInformer) Lister() v1alpha1.ClusterProvisionerLister { - return v1alpha1.NewClusterProvisionerLister(f.Informer().GetIndexer()) +func (f *clusterChannelProvisionerInformer) Lister() v1alpha1.ClusterChannelProvisionerLister { + return v1alpha1.NewClusterChannelProvisionerLister(f.Informer().GetIndexer()) } diff --git a/pkg/client/informers/externalversions/eventing/v1alpha1/interface.go b/pkg/client/informers/externalversions/eventing/v1alpha1/interface.go index 2a44cf0f052..d114c1e43be 100644 --- a/pkg/client/informers/externalversions/eventing/v1alpha1/interface.go +++ b/pkg/client/informers/externalversions/eventing/v1alpha1/interface.go @@ -26,8 +26,8 @@ import ( type Interface interface { // Channels returns a ChannelInformer. Channels() ChannelInformer - // ClusterProvisioners returns a ClusterProvisionerInformer. - ClusterProvisioners() ClusterProvisionerInformer + // ClusterChannelProvisioners returns a ClusterChannelProvisionerInformer. + ClusterChannelProvisioners() ClusterChannelProvisionerInformer // Sources returns a SourceInformer. Sources() SourceInformer // Subscriptions returns a SubscriptionInformer. @@ -50,9 +50,9 @@ func (v *version) Channels() ChannelInformer { return &channelInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} } -// ClusterProvisioners returns a ClusterProvisionerInformer. -func (v *version) ClusterProvisioners() ClusterProvisionerInformer { - return &clusterProvisionerInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +// ClusterChannelProvisioners returns a ClusterChannelProvisionerInformer. +func (v *version) ClusterChannelProvisioners() ClusterChannelProvisionerInformer { + return &clusterChannelProvisionerInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} } // Sources returns a SourceInformer. diff --git a/pkg/client/informers/externalversions/generic.go b/pkg/client/informers/externalversions/generic.go index 64978278fda..b213ce76de0 100644 --- a/pkg/client/informers/externalversions/generic.go +++ b/pkg/client/informers/externalversions/generic.go @@ -68,8 +68,8 @@ func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource // Group=eventing.knative.dev, Version=v1alpha1 case eventing_v1alpha1.SchemeGroupVersion.WithResource("channels"): return &genericInformer{resource: resource.GroupResource(), informer: f.Eventing().V1alpha1().Channels().Informer()}, nil - case eventing_v1alpha1.SchemeGroupVersion.WithResource("clusterprovisioners"): - return &genericInformer{resource: resource.GroupResource(), informer: f.Eventing().V1alpha1().ClusterProvisioners().Informer()}, nil + case eventing_v1alpha1.SchemeGroupVersion.WithResource("clusterchannelprovisioners"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Eventing().V1alpha1().ClusterChannelProvisioners().Informer()}, nil case eventing_v1alpha1.SchemeGroupVersion.WithResource("sources"): return &genericInformer{resource: resource.GroupResource(), informer: f.Eventing().V1alpha1().Sources().Informer()}, nil case eventing_v1alpha1.SchemeGroupVersion.WithResource("subscriptions"): diff --git a/pkg/client/listers/eventing/v1alpha1/clusterchannelprovisioner.go b/pkg/client/listers/eventing/v1alpha1/clusterchannelprovisioner.go new file mode 100644 index 00000000000..daa65a79b81 --- /dev/null +++ b/pkg/client/listers/eventing/v1alpha1/clusterchannelprovisioner.go @@ -0,0 +1,65 @@ +/* +Copyright 2018 The Knative Authors + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by lister-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + v1alpha1 "github.com/knative/eventing/pkg/apis/eventing/v1alpha1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// ClusterChannelProvisionerLister helps list ClusterChannelProvisioners. +type ClusterChannelProvisionerLister interface { + // List lists all ClusterChannelProvisioners in the indexer. + List(selector labels.Selector) (ret []*v1alpha1.ClusterChannelProvisioner, err error) + // Get retrieves the ClusterChannelProvisioner from the index for a given name. + Get(name string) (*v1alpha1.ClusterChannelProvisioner, error) + ClusterChannelProvisionerListerExpansion +} + +// clusterChannelProvisionerLister implements the ClusterChannelProvisionerLister interface. +type clusterChannelProvisionerLister struct { + indexer cache.Indexer +} + +// NewClusterChannelProvisionerLister returns a new ClusterChannelProvisionerLister. +func NewClusterChannelProvisionerLister(indexer cache.Indexer) ClusterChannelProvisionerLister { + return &clusterChannelProvisionerLister{indexer: indexer} +} + +// List lists all ClusterChannelProvisioners in the indexer. +func (s *clusterChannelProvisionerLister) List(selector labels.Selector) (ret []*v1alpha1.ClusterChannelProvisioner, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1alpha1.ClusterChannelProvisioner)) + }) + return ret, err +} + +// Get retrieves the ClusterChannelProvisioner from the index for a given name. +func (s *clusterChannelProvisionerLister) Get(name string) (*v1alpha1.ClusterChannelProvisioner, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1alpha1.Resource("clusterchannelprovisioner"), name) + } + return obj.(*v1alpha1.ClusterChannelProvisioner), nil +} diff --git a/pkg/client/listers/eventing/v1alpha1/clusterprovisioner.go b/pkg/client/listers/eventing/v1alpha1/clusterprovisioner.go deleted file mode 100644 index f380ac06d1b..00000000000 --- a/pkg/client/listers/eventing/v1alpha1/clusterprovisioner.go +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright 2018 The Knative Authors - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by lister-gen. DO NOT EDIT. - -package v1alpha1 - -import ( - v1alpha1 "github.com/knative/eventing/pkg/apis/eventing/v1alpha1" - "k8s.io/apimachinery/pkg/api/errors" - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" -) - -// ClusterProvisionerLister helps list ClusterProvisioners. -type ClusterProvisionerLister interface { - // List lists all ClusterProvisioners in the indexer. - List(selector labels.Selector) (ret []*v1alpha1.ClusterProvisioner, err error) - // Get retrieves the ClusterProvisioner from the index for a given name. - Get(name string) (*v1alpha1.ClusterProvisioner, error) - ClusterProvisionerListerExpansion -} - -// clusterProvisionerLister implements the ClusterProvisionerLister interface. -type clusterProvisionerLister struct { - indexer cache.Indexer -} - -// NewClusterProvisionerLister returns a new ClusterProvisionerLister. -func NewClusterProvisionerLister(indexer cache.Indexer) ClusterProvisionerLister { - return &clusterProvisionerLister{indexer: indexer} -} - -// List lists all ClusterProvisioners in the indexer. -func (s *clusterProvisionerLister) List(selector labels.Selector) (ret []*v1alpha1.ClusterProvisioner, err error) { - err = cache.ListAll(s.indexer, selector, func(m interface{}) { - ret = append(ret, m.(*v1alpha1.ClusterProvisioner)) - }) - return ret, err -} - -// Get retrieves the ClusterProvisioner from the index for a given name. -func (s *clusterProvisionerLister) Get(name string) (*v1alpha1.ClusterProvisioner, error) { - obj, exists, err := s.indexer.GetByKey(name) - if err != nil { - return nil, err - } - if !exists { - return nil, errors.NewNotFound(v1alpha1.Resource("clusterprovisioner"), name) - } - return obj.(*v1alpha1.ClusterProvisioner), nil -} diff --git a/pkg/client/listers/eventing/v1alpha1/expansion_generated.go b/pkg/client/listers/eventing/v1alpha1/expansion_generated.go index f3854a6804d..f4efce4b544 100644 --- a/pkg/client/listers/eventing/v1alpha1/expansion_generated.go +++ b/pkg/client/listers/eventing/v1alpha1/expansion_generated.go @@ -26,9 +26,9 @@ type ChannelListerExpansion interface{} // ChannelNamespaceLister. type ChannelNamespaceListerExpansion interface{} -// ClusterProvisionerListerExpansion allows custom methods to be added to -// ClusterProvisionerLister. -type ClusterProvisionerListerExpansion interface{} +// ClusterChannelProvisionerListerExpansion allows custom methods to be added to +// ClusterChannelProvisionerLister. +type ClusterChannelProvisionerListerExpansion interface{} // SourceListerExpansion allows custom methods to be added to // SourceLister. diff --git a/pkg/controller/eventing/inmemory/channel/reconcile.go b/pkg/controller/eventing/inmemory/channel/reconcile.go index 439361e8978..098c164024c 100644 --- a/pkg/controller/eventing/inmemory/channel/reconcile.go +++ b/pkg/controller/eventing/inmemory/channel/reconcile.go @@ -21,7 +21,7 @@ import ( eventingv1alpha1 "github.com/knative/eventing/pkg/apis/eventing/v1alpha1" "github.com/knative/eventing/pkg/controller" - cpcontroller "github.com/knative/eventing/pkg/controller/eventing/inmemory/clusterprovisioner" + ccpcontroller "github.com/knative/eventing/pkg/controller/eventing/inmemory/clusterchannelprovisioner" "github.com/knative/eventing/pkg/sidecar/configmap" "github.com/knative/eventing/pkg/sidecar/fanout" "github.com/knative/eventing/pkg/sidecar/multichannelfanout" @@ -109,10 +109,10 @@ func (r *reconciler) Reconcile(request reconcile.Request) (reconcile.Result, err } // shouldReconcile determines if this Controller should control (and therefore reconcile) a given -// ClusterProvisioner. This Controller only handles in-memory channels. +// ClusterChannelProvisioner. This Controller only handles in-memory channels. func (r *reconciler) shouldReconcile(c *eventingv1alpha1.Channel) bool { if c.Spec.Provisioner != nil { - return cpcontroller.IsControlled(c.Spec.Provisioner, cpcontroller.Channel) + return ccpcontroller.IsControlled(c.Spec.Provisioner, ccpcontroller.Channel) } return false } diff --git a/pkg/controller/eventing/inmemory/channel/reconcile_test.go b/pkg/controller/eventing/inmemory/channel/reconcile_test.go index 13466bad4ae..f825a7c42d5 100644 --- a/pkg/controller/eventing/inmemory/channel/reconcile_test.go +++ b/pkg/controller/eventing/inmemory/channel/reconcile_test.go @@ -43,7 +43,7 @@ import ( ) const ( - cpName = "in-memory-channel" + ccpName = "in-memory-channel" cNamespace = "test-namespace" cName = "test-channel" @@ -113,7 +113,7 @@ var ( Spec: eventingv1alpha1.ChannelSpec{ Provisioner: &eventingv1alpha1.ProvisionerReference{ Ref: &corev1.ObjectReference{ - Name: cpName, + Name: ccpName, }, }, Channelable: &duckv1alpha1.Channelable{ @@ -166,7 +166,7 @@ var ( Spec: eventingv1alpha1.ChannelSpec{ Provisioner: &eventingv1alpha1.ProvisionerReference{ Ref: &corev1.ObjectReference{ - Name: cpName, + Name: ccpName, }, }, Channelable: &duckv1alpha1.Channelable{ @@ -474,7 +474,7 @@ func makeChannel() *eventingv1alpha1.Channel { Spec: eventingv1alpha1.ChannelSpec{ Provisioner: &eventingv1alpha1.ProvisionerReference{ Ref: &corev1.ObjectReference{ - Name: cpName, + Name: ccpName, }, }, }, @@ -575,7 +575,7 @@ func makeK8sService() *corev1.Service { Namespace: cNamespace, Labels: map[string]string{ "channel": cName, - "provisioner": cpName, + "provisioner": ccpName, }, OwnerReferences: []metav1.OwnerReference{ { @@ -616,7 +616,7 @@ func makeVirtualService() *istiov1alpha3.VirtualService { Namespace: cNamespace, Labels: map[string]string{ "channel": cName, - "provisioner": cpName, + "provisioner": ccpName, }, OwnerReferences: []metav1.OwnerReference{ { diff --git a/pkg/controller/eventing/inmemory/clusterprovisioner/controller.go b/pkg/controller/eventing/inmemory/clusterchannelprovisioner/controller.go similarity index 79% rename from pkg/controller/eventing/inmemory/clusterprovisioner/controller.go rename to pkg/controller/eventing/inmemory/clusterchannelprovisioner/controller.go index 3296a144733..3518b86939c 100644 --- a/pkg/controller/eventing/inmemory/clusterprovisioner/controller.go +++ b/pkg/controller/eventing/inmemory/clusterchannelprovisioner/controller.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package clusterprovisioner +package clusterchannelprovisioner import ( eventingv1alpha1 "github.com/knative/eventing/pkg/apis/eventing/v1alpha1" @@ -36,7 +36,7 @@ const ( func ProvideController(mgr manager.Manager, logger *zap.Logger) (controller.Controller, error) { logger = logger.With(zap.String("controller", controllerAgentName)) - // Setup a new controller to Reconcile ClusterProvisioners that are in-memory channels. + // Setup a new controller to Reconcile ClusterChannelProvisioners that are in-memory channels. r := &reconciler{ recorder: mgr.GetRecorder(controllerAgentName), logger: logger, @@ -49,19 +49,19 @@ func ProvideController(mgr manager.Manager, logger *zap.Logger) (controller.Cont return nil, err } - // Watch ClusterProvisioners. + // Watch ClusterChannelProvisioners. err = c.Watch(&source.Kind{ - Type: &eventingv1alpha1.ClusterProvisioner{}, + Type: &eventingv1alpha1.ClusterChannelProvisioner{}, }, &handler.EnqueueRequestForObject{}) if err != nil { - logger.Error("Unable to watch ClusterProvisioners.", zap.Error(err), zap.Any("type", &eventingv1alpha1.ClusterProvisioner{})) + logger.Error("Unable to watch ClusterChannelProvisioners.", zap.Error(err), zap.Any("type", &eventingv1alpha1.ClusterChannelProvisioner{})) return nil, err } - // Watch the K8s Services that are owned by ClusterProvisioners. + // Watch the K8s Services that are owned by ClusterChannelProvisioners. err = c.Watch(&source.Kind{ Type: &corev1.Service{}, - }, &handler.EnqueueRequestForOwner{OwnerType: &eventingv1alpha1.ClusterProvisioner{}, IsController: true}) + }, &handler.EnqueueRequestForOwner{OwnerType: &eventingv1alpha1.ClusterChannelProvisioner{}, IsController: true}) if err != nil { logger.Error("Unable to watch K8s Services.", zap.Error(err)) return nil, err diff --git a/pkg/controller/eventing/inmemory/clusterprovisioner/reconcile.go b/pkg/controller/eventing/inmemory/clusterchannelprovisioner/reconcile.go similarity index 60% rename from pkg/controller/eventing/inmemory/clusterprovisioner/reconcile.go rename to pkg/controller/eventing/inmemory/clusterchannelprovisioner/reconcile.go index a11cb53ca2f..bc09b627e2b 100644 --- a/pkg/controller/eventing/inmemory/clusterprovisioner/reconcile.go +++ b/pkg/controller/eventing/inmemory/clusterchannelprovisioner/reconcile.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package clusterprovisioner +package clusterchannelprovisioner import ( "context" @@ -36,7 +36,7 @@ import ( ) const ( - // Name is the name of the in-memory channel ClusterProvisioner. + // Name is the name of the in-memory channel ClusterChannelProvisioner. Name = "in-memory-channel" // Channel is the name of the Channel resource in eventing.knative.dev/v1alpha1. @@ -62,41 +62,41 @@ func (r *reconciler) Reconcile(request reconcile.Request) (reconcile.Result, err ctx := context.TODO() logger := r.logger.With(zap.Any("request", request)) - cp := &eventingv1alpha1.ClusterProvisioner{} - err := r.client.Get(ctx, request.NamespacedName, cp) + ccp := &eventingv1alpha1.ClusterChannelProvisioner{} + err := r.client.Get(ctx, request.NamespacedName, ccp) - // The ClusterProvisioner may have been deleted since it was added to the workqueue. If so, + // The ClusterChannelProvisioner may have been deleted since it was added to the workqueue. If so, // there is nothing to be done. if errors.IsNotFound(err) { - logger.Info("Could not find ClusterProvisioner", zap.Error(err)) + logger.Info("Could not find ClusterChannelProvisioner", zap.Error(err)) return reconcile.Result{}, nil } // Any other error should be retried in another reconciliation. if err != nil { - logger.Error("Unable to Get ClusterProvisioner", zap.Error(err)) + logger.Error("Unable to Get ClusterChannelProvisioner", zap.Error(err)) return reconcile.Result{}, err } - // Does this Controller control this ClusterProvisioner? - if !shouldReconcile(cp.Namespace, cp.Name, cp.Spec.Reconciles.Kind) { - logger.Info("Not reconciling ClusterProvisioner, it is not controlled by this Controller", zap.String("APIVersion", cp.APIVersion), zap.String("Kind", cp.Kind), zap.String("Namespace", cp.Namespace), zap.String("name", cp.Name)) + // Does this Controller control this ClusterChannelProvisioner? + if !shouldReconcile(ccp.Namespace, ccp.Name, ccp.Spec.Reconciles.Kind) { + logger.Info("Not reconciling ClusterChannelProvisioner, it is not controlled by this Controller", zap.String("APIVersion", ccp.APIVersion), zap.String("Kind", ccp.Kind), zap.String("Namespace", ccp.Namespace), zap.String("name", ccp.Name)) return reconcile.Result{}, nil } - logger.Info("Reconciling ClusterProvisioner.") + logger.Info("Reconciling ClusterChannelProvisioner.") // Modify a copy of this object, rather than the original. - cp = cp.DeepCopy() + ccp = ccp.DeepCopy() - err = r.reconcile(ctx, cp) + err = r.reconcile(ctx, ccp) if err != nil { - logger.Info("Error reconciling ClusterProvisioner", zap.Error(err)) + logger.Info("Error reconciling ClusterChannelProvisioner", zap.Error(err)) // Note that we do not return the error here, because we want to update the Status // regardless of the error. } - if updateStatusErr := r.updateClusterProvisionerStatus(ctx, cp); updateStatusErr != nil { - logger.Info("Error updating ClusterProvisioner Status", zap.Error(updateStatusErr)) + if updateStatusErr := r.updateClusterChannelProvisionerStatus(ctx, ccp); updateStatusErr != nil { + logger.Info("Error updating ClusterChannelProvisioner Status", zap.Error(updateStatusErr)) return reconcile.Result{}, updateStatusErr } @@ -104,7 +104,7 @@ func (r *reconciler) Reconcile(request reconcile.Request) (reconcile.Result, err } // IsControlled determines if the in-memory Channel Controller should control (and therefore -// reconcile) a given object, based on that object's ClusterProvisioner reference. kind is the kind +// reconcile) a given object, based on that object's ClusterChannelProvisioner reference. kind is the kind // of that object. func IsControlled(ref *eventingv1alpha1.ProvisionerReference, kind string) bool { if ref != nil && ref.Ref != nil { @@ -114,35 +114,35 @@ func IsControlled(ref *eventingv1alpha1.ProvisionerReference, kind string) bool } // shouldReconcile determines if this Controller should control (and therefore reconcile) a given -// ClusterProvisioner. This Controller only handles in-memory channels. +// ClusterChannelProvisioner. This Controller only handles in-memory channels. func shouldReconcile(namespace, name, kind string) bool { return namespace == "" && name == Name && kind == Channel } -func (r *reconciler) reconcile(ctx context.Context, cp *eventingv1alpha1.ClusterProvisioner) error { - logger := r.logger.With(zap.Any("clusterProvisioner", cp)) +func (r *reconciler) reconcile(ctx context.Context, ccp *eventingv1alpha1.ClusterChannelProvisioner) error { + logger := r.logger.With(zap.Any("clusterChannelProvisioner", ccp)) // We are syncing one thing. // 1. The K8s Service to talk to all in-memory Channels. // - There is a single K8s Service for all requests going any in-memory Channel. - if cp.DeletionTimestamp != nil { - // K8s garbage collection will delete the dispatcher service, once this ClusterProvisioner + if ccp.DeletionTimestamp != nil { + // K8s garbage collection will delete the dispatcher service, once this ClusterChannelProvisioner // is deleted, so we don't need to do anything. return nil } - if err := r.createDispatcherService(ctx, cp); err != nil { - logger.Info("Error creating the ClusterProvisioner's K8s Service", zap.Error(err)) + if err := r.createDispatcherService(ctx, ccp); err != nil { + logger.Info("Error creating the ClusterChannelProvisioner's K8s Service", zap.Error(err)) return err } - cp.Status.MarkReady() + ccp.Status.MarkReady() return nil } -func (r *reconciler) createDispatcherService(ctx context.Context, cp *eventingv1alpha1.ClusterProvisioner) error { - svcName := controller.ClusterBusDispatcherServiceName(cp.Name) +func (r *reconciler) createDispatcherService(ctx context.Context, ccp *eventingv1alpha1.ClusterChannelProvisioner) error { + svcName := controller.ClusterBusDispatcherServiceName(ccp.Name) svcKey := types.NamespacedName{ Namespace: system.Namespace, Name: svcName, @@ -151,7 +151,7 @@ func (r *reconciler) createDispatcherService(ctx context.Context, cp *eventingv1 err := r.client.Get(ctx, svcKey, svc) if errors.IsNotFound(err) { - svc = newDispatcherService(cp) + svc = newDispatcherService(ccp) err = r.client.Create(ctx, svc) } @@ -160,17 +160,17 @@ func (r *reconciler) createDispatcherService(ctx context.Context, cp *eventingv1 return err } - // Check if this ClusterProvisioner is the owner of the K8s service. - if !metav1.IsControlledBy(svc, cp) { - r.logger.Warn("ClusterProvisioner's K8s Service is not owned by the ClusterProvisioner", zap.Any("clusterProvisioner", cp), zap.Any("service", svc)) + // Check if this ClusterChannelProvisioner is the owner of the K8s service. + if !metav1.IsControlledBy(svc, ccp) { + r.logger.Warn("ClusterChannelProvisioner's K8s Service is not owned by the ClusterChannelProvisioner", zap.Any("clusterChannelProvisioner", ccp), zap.Any("service", svc)) } return nil } -func (r *reconciler) updateClusterProvisionerStatus(ctx context.Context, u *eventingv1alpha1.ClusterProvisioner) error { - o := &eventingv1alpha1.ClusterProvisioner{} +func (r *reconciler) updateClusterChannelProvisionerStatus(ctx context.Context, u *eventingv1alpha1.ClusterChannelProvisioner) error { + o := &eventingv1alpha1.ClusterChannelProvisioner{} if err := r.client.Get(ctx, client.ObjectKey{Namespace: u.Namespace, Name: u.Name}, o); err != nil { - r.logger.Info("Error getting ClusterProvisioner for status update", zap.Error(err), zap.Any("updatedClusterProvisioner", u)) + r.logger.Info("Error getting ClusterChannelProvisioner for status update", zap.Error(err), zap.Any("updatedClusterChannelProvisioner", u)) return err } @@ -184,18 +184,18 @@ func (r *reconciler) updateClusterProvisionerStatus(ctx context.Context, u *even // newDispatcherService creates a new Service for a ClusterBus resource. It also sets // the appropriate OwnerReferences on the resource so handleObject can discover // the ClusterBus resource that 'owns' it. -func newDispatcherService(cp *eventingv1alpha1.ClusterProvisioner) *corev1.Service { - labels := dispatcherLabels(cp.Name) +func newDispatcherService(ccp *eventingv1alpha1.ClusterChannelProvisioner) *corev1.Service { + labels := dispatcherLabels(ccp.Name) return &corev1.Service{ ObjectMeta: metav1.ObjectMeta{ - Name: controller.ClusterBusDispatcherServiceName(cp.Name), + Name: controller.ClusterBusDispatcherServiceName(ccp.Name), Namespace: system.Namespace, Labels: labels, OwnerReferences: []metav1.OwnerReference{ - *metav1.NewControllerRef(cp, schema.GroupVersionKind{ + *metav1.NewControllerRef(ccp, schema.GroupVersionKind{ Group: eventingv1alpha1.SchemeGroupVersion.Group, Version: eventingv1alpha1.SchemeGroupVersion.Version, - Kind: "ClusterProvisioner", + Kind: "ClusterChannelProvisioner", }), }, }, @@ -212,9 +212,9 @@ func newDispatcherService(cp *eventingv1alpha1.ClusterProvisioner) *corev1.Servi } } -func dispatcherLabels(cpName string) map[string]string { +func dispatcherLabels(ccpName string) map[string]string { return map[string]string{ - "clusterProvisioner": cpName, - "role": "dispatcher", + "clusterChannelProvisioner": ccpName, + "role": "dispatcher", } } diff --git a/pkg/controller/eventing/inmemory/clusterprovisioner/reconcile_test.go b/pkg/controller/eventing/inmemory/clusterchannelprovisioner/reconcile_test.go similarity index 79% rename from pkg/controller/eventing/inmemory/clusterprovisioner/reconcile_test.go rename to pkg/controller/eventing/inmemory/clusterchannelprovisioner/reconcile_test.go index f0bd62dbdce..eb07ae013e9 100644 --- a/pkg/controller/eventing/inmemory/clusterprovisioner/reconcile_test.go +++ b/pkg/controller/eventing/inmemory/clusterchannelprovisioner/reconcile_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package clusterprovisioner +package clusterchannelprovisioner import ( "context" @@ -39,7 +39,7 @@ import ( ) const ( - cpUid = "test-uid" + ccpUid = "test-uid" testErrorMessage = "test-induced-error" ) @@ -142,13 +142,13 @@ func TestIsControlled(t *testing.T) { func TestReconcile(t *testing.T) { testCases := []controllertesting.TestCase{ { - Name: "CP not found", + Name: "CCP not found", }, { - Name: "Unable to get CP", + Name: "Unable to get CCP", Mocks: controllertesting.Mocks{ MockGets: []controllertesting.MockGet{ - errorGettingClusterProvisioner(), + errorGettingClusterChannelProvisioner(), }, }, WantErrMsg: testErrorMessage, @@ -156,7 +156,7 @@ func TestReconcile(t *testing.T) { { Name: "Should not reconcile - namespace", InitialState: []runtime.Object{ - &eventingv1alpha1.ClusterProvisioner{ + &eventingv1alpha1.ClusterChannelProvisioner{ ObjectMeta: metav1.ObjectMeta{ Namespace: "not empty string", Name: Name, @@ -167,7 +167,7 @@ func TestReconcile(t *testing.T) { { Name: "Should not reconcile - name", InitialState: []runtime.Object{ - &eventingv1alpha1.ClusterProvisioner{ + &eventingv1alpha1.ClusterChannelProvisioner{ ObjectMeta: metav1.ObjectMeta{ Name: "wrong-name", }, @@ -179,13 +179,13 @@ func TestReconcile(t *testing.T) { Name: "Delete succeeds", // Deleting does nothing. InitialState: []runtime.Object{ - makeDeletingClusterProvisioner(), + makeDeletingClusterChannelProvisioner(), }, }, { Name: "Create dispatcher fails", InitialState: []runtime.Object{ - makeClusterProvisioner(), + makeClusterChannelProvisioner(), }, Mocks: controllertesting.Mocks{ MockGets: []controllertesting.MockGet{ @@ -197,50 +197,50 @@ func TestReconcile(t *testing.T) { { Name: "Create dispatcher - already exists", InitialState: []runtime.Object{ - makeClusterProvisioner(), + makeClusterChannelProvisioner(), makeK8sService(), }, WantPresent: []runtime.Object{ - makeReadyClusterProvisioner(), + makeReadyClusterChannelProvisioner(), }, }, { - Name: "Create dispatcher - not owned by CP", + Name: "Create dispatcher - not owned by CCP", InitialState: []runtime.Object{ - makeClusterProvisioner(), - makeK8sServiceNotOwnedByClusterProvisioner(), + makeClusterChannelProvisioner(), + makeK8sServiceNotOwnedByClusterChannelProvisioner(), }, WantPresent: []runtime.Object{ - makeReadyClusterProvisioner(), + makeReadyClusterChannelProvisioner(), }, }, { Name: "Create dispatcher succeeds", InitialState: []runtime.Object{ - makeClusterProvisioner(), + makeClusterChannelProvisioner(), }, WantPresent: []runtime.Object{ - makeReadyClusterProvisioner(), + makeReadyClusterChannelProvisioner(), makeK8sService(), }, }, { - Name: "Error getting CP for updating Status", - // Nothing to create or update other than the status of CP itself. + Name: "Error getting CCP for updating Status", + // Nothing to create or update other than the status of CCP itself. InitialState: []runtime.Object{ - makeClusterProvisioner(), + makeClusterChannelProvisioner(), makeK8sService(), }, Mocks: controllertesting.Mocks{ - MockGets: oneSuccessfulClusterProvisionerGet(), + MockGets: oneSuccessfulClusterChannelProvisionerGet(), }, WantErrMsg: testErrorMessage, }, { Name: "Error updating Status", - // Nothing to create or update other than the status of CP itself. + // Nothing to create or update other than the status of CCP itself. InitialState: []runtime.Object{ - makeClusterProvisioner(), + makeClusterChannelProvisioner(), makeK8sService(), }, Mocks: controllertesting.Mocks{ @@ -267,17 +267,17 @@ func TestReconcile(t *testing.T) { } } -func makeClusterProvisioner() *eventingv1alpha1.ClusterProvisioner { - return &eventingv1alpha1.ClusterProvisioner{ +func makeClusterChannelProvisioner() *eventingv1alpha1.ClusterChannelProvisioner { + return &eventingv1alpha1.ClusterChannelProvisioner{ TypeMeta: metav1.TypeMeta{ APIVersion: eventingv1alpha1.SchemeGroupVersion.String(), - Kind: "ClusterProvisioner", + Kind: "ClusterChannelProvisioner", }, ObjectMeta: metav1.ObjectMeta{ Name: Name, - UID: cpUid, + UID: ccpUid, }, - Spec: eventingv1alpha1.ClusterProvisionerSpec{ + Spec: eventingv1alpha1.ClusterChannelProvisionerSpec{ Reconciles: metav1.GroupKind{ Group: "eventing.knative.dev/v1alpha1", Kind: "Channel", @@ -286,21 +286,21 @@ func makeClusterProvisioner() *eventingv1alpha1.ClusterProvisioner { } } -func makeReadyClusterProvisioner() *eventingv1alpha1.ClusterProvisioner { - cp := makeClusterProvisioner() - cp.Status.Conditions = []duckv1alpha1.Condition{ +func makeReadyClusterChannelProvisioner() *eventingv1alpha1.ClusterChannelProvisioner { + ccp := makeClusterChannelProvisioner() + ccp.Status.Conditions = []duckv1alpha1.Condition{ { Type: duckv1alpha1.ConditionReady, Status: corev1.ConditionTrue, }, } - return cp + return ccp } -func makeDeletingClusterProvisioner() *eventingv1alpha1.ClusterProvisioner { - cp := makeClusterProvisioner() - cp.DeletionTimestamp = &deletionTime - return cp +func makeDeletingClusterChannelProvisioner() *eventingv1alpha1.ClusterChannelProvisioner { + ccp := makeClusterChannelProvisioner() + ccp.DeletionTimestamp = &deletionTime + return ccp } func makeK8sService() *corev1.Service { @@ -315,9 +315,9 @@ func makeK8sService() *corev1.Service { OwnerReferences: []metav1.OwnerReference{ { APIVersion: eventingv1alpha1.SchemeGroupVersion.String(), - Kind: "ClusterProvisioner", + Kind: "ClusterChannelProvisioner", Name: Name, - UID: cpUid, + UID: ccpUid, Controller: &truePointer, BlockOwnerDeletion: &truePointer, }, @@ -337,13 +337,13 @@ func makeK8sService() *corev1.Service { } } -func makeK8sServiceNotOwnedByClusterProvisioner() *corev1.Service { +func makeK8sServiceNotOwnedByClusterChannelProvisioner() *corev1.Service { svc := makeK8sService() svc.OwnerReferences = nil return svc } -func errorGettingClusterProvisioner() controllertesting.MockGet { +func errorGettingClusterChannelProvisioner() controllertesting.MockGet { return func(client.Client, context.Context, client.ObjectKey, runtime.Object) (controllertesting.MockHandled, error) { return controllertesting.Handled, errors.New(testErrorMessage) } @@ -358,16 +358,16 @@ func errorGettingK8sService() controllertesting.MockGet { } } -func oneSuccessfulClusterProvisionerGet() []controllertesting.MockGet { +func oneSuccessfulClusterChannelProvisionerGet() []controllertesting.MockGet { return []controllertesting.MockGet{ // The first one is a pass through. func(innerClient client.Client, ctx context.Context, key client.ObjectKey, obj runtime.Object) (controllertesting.MockHandled, error) { err := innerClient.Get(ctx, key, obj) return controllertesting.Handled, err }, - // All subsequent ClusterProvisioner Gets fail. + // All subsequent ClusterChannelProvisioner Gets fail. func(_ client.Client, _ context.Context, _ client.ObjectKey, obj runtime.Object) (controllertesting.MockHandled, error) { - if _, ok := obj.(*eventingv1alpha1.ClusterProvisioner); ok { + if _, ok := obj.(*eventingv1alpha1.ClusterChannelProvisioner); ok { return controllertesting.Handled, errors.New(testErrorMessage) } return controllertesting.Unhandled, nil diff --git a/pkg/controller/eventing/inmemory/controller/main.go b/pkg/controller/eventing/inmemory/controller/main.go index c5485a9e719..bb0a680a72b 100644 --- a/pkg/controller/eventing/inmemory/controller/main.go +++ b/pkg/controller/eventing/inmemory/controller/main.go @@ -22,7 +22,7 @@ import ( eventingv1alpha1 "github.com/knative/eventing/pkg/apis/eventing/v1alpha1" "github.com/knative/eventing/pkg/buses" "github.com/knative/eventing/pkg/controller/eventing/inmemory/channel" - "github.com/knative/eventing/pkg/controller/eventing/inmemory/clusterprovisioner" + "github.com/knative/eventing/pkg/controller/eventing/inmemory/clusterchannelprovisioner" istiov1alpha3 "github.com/knative/pkg/apis/istio/v1alpha3" "github.com/knative/pkg/signals" "go.uber.org/zap" @@ -35,8 +35,8 @@ func main() { logger := buses.NewBusLoggerFromConfig(logConfig) defer logger.Sync() logger = logger.With( - zap.String("eventing.knative.dev/clusterProvisioner", clusterprovisioner.Name), - zap.String("eventing.knative.dev/clusterProvisionerComponent", "Controller"), + zap.String("eventing.knative.dev/clusterChannelProvisioner", clusterchannelprovisioner.Name), + zap.String("eventing.knative.dev/clusterChannelProvisionerComponent", "Controller"), ) flag.Parse() @@ -49,9 +49,9 @@ func main() { eventingv1alpha1.AddToScheme(mgr.GetScheme()) istiov1alpha3.AddToScheme(mgr.GetScheme()) - // The controllers for both the ClusterProvisioner and the Channels created by that - // ClusterProvisioner run in this process. - _, err = clusterprovisioner.ProvideController(mgr, logger.Desugar()) + // The controllers for both the ClusterChannelProvisioner and the Channels created by that + // ClusterChannelProvisioner run in this process. + _, err = clusterchannelprovisioner.ProvideController(mgr, logger.Desugar()) if err != nil { logger.Fatal("Unable to create Provisioner controller", zap.Error(err)) } diff --git a/pkg/controller/owner_references.go b/pkg/controller/owner_references.go index 5780dca9af9..db6d8746a50 100644 --- a/pkg/controller/owner_references.go +++ b/pkg/controller/owner_references.go @@ -57,8 +57,8 @@ func kind(obj metav1.Object) schema.GroupVersionKind { return eventingv1alpha.SchemeGroupVersion.WithKind("Source") case *eventingv1alpha.Channel: return eventingv1alpha.SchemeGroupVersion.WithKind("Channel") - case *eventingv1alpha.ClusterProvisioner: - return eventingv1alpha.SchemeGroupVersion.WithKind("ClusterProvisioner") + case *eventingv1alpha.ClusterChannelProvisioner: + return eventingv1alpha.SchemeGroupVersion.WithKind("ClusterChannelProvisioner") case *eventingv1alpha.Subscription: return eventingv1alpha.SchemeGroupVersion.WithKind("Subscription") From 2b74352b2f7be97ad053e26797dbd732e5434acd Mon Sep 17 00:00:00 2001 From: Scott Andrews Date: Wed, 24 Oct 2018 19:47:17 -0400 Subject: [PATCH 2/3] Remove ClusterChannelProvisioner Reconciles field --- .../cluster_channel_provisioner_types.go | 5 --- .../cluster_channel_provisioner_validation.go | 10 ----- ...ter_channel_provisioner_validation_test.go | 37 +------------------ .../v1alpha1/zz_generated.deepcopy.go | 1 - .../eventing/inmemory/channel/reconcile.go | 2 +- .../clusterchannelprovisioner/reconcile.go | 10 ++--- .../reconcile_test.go | 24 +----------- 7 files changed, 9 insertions(+), 80 deletions(-) diff --git a/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_types.go b/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_types.go index d8327b784d4..657bd67bab3 100644 --- a/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_types.go +++ b/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_types.go @@ -59,11 +59,6 @@ type ClusterChannelProvisionerSpec struct { // ObjectMeta.Generation instead. // +optional Generation int64 `json:"generation,omitempty"` - - // Reconciles is the kind of the resource the provisioner controller watches to - // produce required backing resources. - // +required - Reconciles metav1.GroupKind `json:"reconciles"` } var ccProvCondSet = duckv1alpha1.NewLivingConditionSet() diff --git a/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_validation.go b/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_validation.go index 662d9a85b33..748786777af 100644 --- a/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_validation.go +++ b/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_validation.go @@ -18,7 +18,6 @@ package v1alpha1 import ( "github.com/knative/pkg/apis" - "k8s.io/apimachinery/pkg/api/equality" ) // Validate validates the ClusterChannelProvisioner resource. @@ -28,16 +27,7 @@ func (p *ClusterChannelProvisioner) Validate() *apis.FieldError { // Validate validates the ClusterChannelProvisioner spec func (ps *ClusterChannelProvisionerSpec) Validate() *apis.FieldError { - if equality.Semantic.DeepEqual(ps, &ClusterChannelProvisionerSpec{}) { - return apis.ErrMissingField("reconciles") - } var errs *apis.FieldError - if ps.Reconciles.Kind == "" { - errs = errs.Also(apis.ErrMissingField("kind").ViaField("reconciles")) - } - if ps.Reconciles.Group == "" { - errs = errs.Also(apis.ErrMissingField("group").ViaField("reconciles")) - } return errs } diff --git a/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_validation_test.go b/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_validation_test.go index 6c5b18ac565..8a6639512c1 100644 --- a/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_validation_test.go +++ b/pkg/apis/eventing/v1alpha1/cluster_channel_provisioner_validation_test.go @@ -21,7 +21,6 @@ import ( "github.com/google/go-cmp/cmp" "github.com/knative/pkg/apis" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) func TestClusterChannelProvisionerValidate(t *testing.T) { @@ -32,45 +31,11 @@ func TestClusterChannelProvisionerValidate(t *testing.T) { }{{ name: "valid", p: &ClusterChannelProvisioner{ - Spec: ClusterChannelProvisionerSpec{ - Reconciles: metav1.GroupKind{ - Group: "knative.dev", - Kind: "Channel", - }, - }, + Spec: ClusterChannelProvisionerSpec{}, }, - }, { - name: "invalid cluster provisioner, empty reconciles", - p: &ClusterChannelProvisioner{ - Spec: ClusterChannelProvisionerSpec{ - Reconciles: metav1.GroupKind{}, - }, - }, - want: apis.ErrMissingField("spec.reconciles"), - }, { - name: "invalid cluster provisioner, empty kind", - p: &ClusterChannelProvisioner{ - Spec: ClusterChannelProvisionerSpec{ - Reconciles: metav1.GroupKind{ - Group: "eventing.knative.test", - }, - }, - }, - want: apis.ErrMissingField("spec.reconciles.kind"), - }, { - name: "invalid cluster provisioner", - p: &ClusterChannelProvisioner{ - Spec: ClusterChannelProvisionerSpec{ - Reconciles: metav1.GroupKind{ - Kind: "Channel", - }, - }, - }, - want: apis.ErrMissingField("spec.reconciles.group"), }, { name: "empty", p: &ClusterChannelProvisioner{}, - want: apis.ErrMissingField("spec.reconciles"), }} for _, test := range tests { diff --git a/pkg/apis/eventing/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/eventing/v1alpha1/zz_generated.deepcopy.go index 35403ddf6f9..3d95a86c9cb 100644 --- a/pkg/apis/eventing/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/eventing/v1alpha1/zz_generated.deepcopy.go @@ -219,7 +219,6 @@ func (in *ClusterChannelProvisionerList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClusterChannelProvisionerSpec) DeepCopyInto(out *ClusterChannelProvisionerSpec) { *out = *in - out.Reconciles = in.Reconciles return } diff --git a/pkg/controller/eventing/inmemory/channel/reconcile.go b/pkg/controller/eventing/inmemory/channel/reconcile.go index 098c164024c..bd7927a9f47 100644 --- a/pkg/controller/eventing/inmemory/channel/reconcile.go +++ b/pkg/controller/eventing/inmemory/channel/reconcile.go @@ -112,7 +112,7 @@ func (r *reconciler) Reconcile(request reconcile.Request) (reconcile.Result, err // ClusterChannelProvisioner. This Controller only handles in-memory channels. func (r *reconciler) shouldReconcile(c *eventingv1alpha1.Channel) bool { if c.Spec.Provisioner != nil { - return ccpcontroller.IsControlled(c.Spec.Provisioner, ccpcontroller.Channel) + return ccpcontroller.IsControlled(c.Spec.Provisioner) } return false } diff --git a/pkg/controller/eventing/inmemory/clusterchannelprovisioner/reconcile.go b/pkg/controller/eventing/inmemory/clusterchannelprovisioner/reconcile.go index bc09b627e2b..7c078fca43f 100644 --- a/pkg/controller/eventing/inmemory/clusterchannelprovisioner/reconcile.go +++ b/pkg/controller/eventing/inmemory/clusterchannelprovisioner/reconcile.go @@ -79,7 +79,7 @@ func (r *reconciler) Reconcile(request reconcile.Request) (reconcile.Result, err } // Does this Controller control this ClusterChannelProvisioner? - if !shouldReconcile(ccp.Namespace, ccp.Name, ccp.Spec.Reconciles.Kind) { + if !shouldReconcile(ccp.Namespace, ccp.Name) { logger.Info("Not reconciling ClusterChannelProvisioner, it is not controlled by this Controller", zap.String("APIVersion", ccp.APIVersion), zap.String("Kind", ccp.Kind), zap.String("Namespace", ccp.Namespace), zap.String("name", ccp.Name)) return reconcile.Result{}, nil } @@ -106,17 +106,17 @@ func (r *reconciler) Reconcile(request reconcile.Request) (reconcile.Result, err // IsControlled determines if the in-memory Channel Controller should control (and therefore // reconcile) a given object, based on that object's ClusterChannelProvisioner reference. kind is the kind // of that object. -func IsControlled(ref *eventingv1alpha1.ProvisionerReference, kind string) bool { +func IsControlled(ref *eventingv1alpha1.ProvisionerReference) bool { if ref != nil && ref.Ref != nil { - return shouldReconcile(ref.Ref.Namespace, ref.Ref.Name, kind) + return shouldReconcile(ref.Ref.Namespace, ref.Ref.Name) } return false } // shouldReconcile determines if this Controller should control (and therefore reconcile) a given // ClusterChannelProvisioner. This Controller only handles in-memory channels. -func shouldReconcile(namespace, name, kind string) bool { - return namespace == "" && name == Name && kind == Channel +func shouldReconcile(namespace, name string) bool { + return namespace == "" && name == Name } func (r *reconciler) reconcile(ctx context.Context, ccp *eventingv1alpha1.ClusterChannelProvisioner) error { diff --git a/pkg/controller/eventing/inmemory/clusterchannelprovisioner/reconcile_test.go b/pkg/controller/eventing/inmemory/clusterchannelprovisioner/reconcile_test.go index eb07ae013e9..3d857ec83ff 100644 --- a/pkg/controller/eventing/inmemory/clusterchannelprovisioner/reconcile_test.go +++ b/pkg/controller/eventing/inmemory/clusterchannelprovisioner/reconcile_test.go @@ -76,19 +76,16 @@ func TestInjectClient(t *testing.T) { func TestIsControlled(t *testing.T) { testCases := map[string]struct { ref *eventingv1alpha1.ProvisionerReference - kind string isControlled bool }{ "nil": { ref: nil, - kind: "Channel", isControlled: false, }, "ref nil": { ref: &eventingv1alpha1.ProvisionerReference{ Ref: nil, }, - kind: "Channel", isControlled: false, }, "wrong namespace": { @@ -98,7 +95,6 @@ func TestIsControlled(t *testing.T) { Name: Name, }, }, - kind: "Channel", isControlled: false, }, "wrong name": { @@ -107,16 +103,6 @@ func TestIsControlled(t *testing.T) { Name: "other-name", }, }, - kind: "Channel", - isControlled: false, - }, - "wrong kind": { - ref: &eventingv1alpha1.ProvisionerReference{ - Ref: &corev1.ObjectReference{ - Name: Name, - }, - }, - kind: "Source", isControlled: false, }, "is controlled": { @@ -125,13 +111,12 @@ func TestIsControlled(t *testing.T) { Name: Name, }, }, - kind: "Channel", isControlled: true, }, } for n, tc := range testCases { t.Run(n, func(t *testing.T) { - isControlled := IsControlled(tc.ref, tc.kind) + isControlled := IsControlled(tc.ref) if isControlled != tc.isControlled { t.Errorf("Expected: %v. Actual: %v", tc.isControlled, isControlled) } @@ -277,12 +262,7 @@ func makeClusterChannelProvisioner() *eventingv1alpha1.ClusterChannelProvisioner Name: Name, UID: ccpUid, }, - Spec: eventingv1alpha1.ClusterChannelProvisionerSpec{ - Reconciles: metav1.GroupKind{ - Group: "eventing.knative.dev/v1alpha1", - Kind: "Channel", - }, - }, + Spec: eventingv1alpha1.ClusterChannelProvisionerSpec{}, } } From 532b178888f65fd6ae830c461c66d6b5f8a16a63 Mon Sep 17 00:00:00 2001 From: Scott Andrews Date: Thu, 25 Oct 2018 22:35:04 -0400 Subject: [PATCH 3/3] review feedback --- .../eventing/inmemory/clusterchannelprovisioner/reconcile.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkg/controller/eventing/inmemory/clusterchannelprovisioner/reconcile.go b/pkg/controller/eventing/inmemory/clusterchannelprovisioner/reconcile.go index 7c078fca43f..2fc32debef5 100644 --- a/pkg/controller/eventing/inmemory/clusterchannelprovisioner/reconcile.go +++ b/pkg/controller/eventing/inmemory/clusterchannelprovisioner/reconcile.go @@ -104,8 +104,7 @@ func (r *reconciler) Reconcile(request reconcile.Request) (reconcile.Result, err } // IsControlled determines if the in-memory Channel Controller should control (and therefore -// reconcile) a given object, based on that object's ClusterChannelProvisioner reference. kind is the kind -// of that object. +// reconcile) a given object, based on that object's ClusterChannelProvisioner reference. func IsControlled(ref *eventingv1alpha1.ProvisionerReference) bool { if ref != nil && ref.Ref != nil { return shouldReconcile(ref.Ref.Namespace, ref.Ref.Name)