From 032e136e381c05a1f6d702c1d69c33b6ac04434d Mon Sep 17 00:00:00 2001 From: David Eads Date: Fri, 10 Nov 2017 10:57:52 -0500 Subject: [PATCH] add type assertions to admission plugins --- plugin/pkg/admission/defaulttolerationseconds/admission.go | 2 ++ plugin/pkg/admission/initialresources/admission.go | 2 ++ plugin/pkg/admission/namespace/autoprovision/admission.go | 1 + plugin/pkg/admission/persistentvolume/label/admission.go | 1 + plugin/pkg/admission/podpreset/admission.go | 1 + plugin/pkg/admission/podtolerationrestriction/admission.go | 2 ++ plugin/pkg/admission/storageclass/setdefault/admission.go | 1 + 7 files changed, 10 insertions(+) diff --git a/plugin/pkg/admission/defaulttolerationseconds/admission.go b/plugin/pkg/admission/defaulttolerationseconds/admission.go index a65be392b1f..05e170a96b4 100644 --- a/plugin/pkg/admission/defaulttolerationseconds/admission.go +++ b/plugin/pkg/admission/defaulttolerationseconds/admission.go @@ -55,6 +55,8 @@ type Plugin struct { *admission.Handler } +var _ admission.MutationInterface = &Plugin{} + // NewDefaultTolerationSeconds creates a new instance of the DefaultTolerationSeconds admission controller func NewDefaultTolerationSeconds() *Plugin { return &Plugin{ diff --git a/plugin/pkg/admission/initialresources/admission.go b/plugin/pkg/admission/initialresources/admission.go index 138d3e68be2..360885091aa 100644 --- a/plugin/pkg/admission/initialresources/admission.go +++ b/plugin/pkg/admission/initialresources/admission.go @@ -64,6 +64,8 @@ type InitialResources struct { nsOnly bool } +var _ admission.MutationInterface = &InitialResources{} + func newInitialResources(source dataSource, percentile int64, nsOnly bool) *InitialResources { return &InitialResources{ Handler: admission.NewHandler(admission.Create), diff --git a/plugin/pkg/admission/namespace/autoprovision/admission.go b/plugin/pkg/admission/namespace/autoprovision/admission.go index b2153d43dfe..51e113af00e 100644 --- a/plugin/pkg/admission/namespace/autoprovision/admission.go +++ b/plugin/pkg/admission/namespace/autoprovision/admission.go @@ -46,6 +46,7 @@ type Provision struct { namespaceLister corelisters.NamespaceLister } +var _ admission.MutationInterface = &Provision{} var _ = kubeapiserveradmission.WantsInternalKubeInformerFactory(&Provision{}) var _ = kubeapiserveradmission.WantsInternalKubeClientSet(&Provision{}) diff --git a/plugin/pkg/admission/persistentvolume/label/admission.go b/plugin/pkg/admission/persistentvolume/label/admission.go index 76780cff0a1..86e1921fcd9 100644 --- a/plugin/pkg/admission/persistentvolume/label/admission.go +++ b/plugin/pkg/admission/persistentvolume/label/admission.go @@ -52,6 +52,7 @@ type persistentVolumeLabel struct { gceCloudProvider *gce.GCECloud } +var _ admission.MutationInterface = &persistentVolumeLabel{} var _ kubeapiserveradmission.WantsCloudConfig = &persistentVolumeLabel{} // NewPersistentVolumeLabel returns an admission.Interface implementation which adds labels to PersistentVolume CREATE requests, diff --git a/plugin/pkg/admission/podpreset/admission.go b/plugin/pkg/admission/podpreset/admission.go index d5c2ae2fcb2..30752a2666c 100644 --- a/plugin/pkg/admission/podpreset/admission.go +++ b/plugin/pkg/admission/podpreset/admission.go @@ -59,6 +59,7 @@ type podPresetPlugin struct { lister settingslisters.PodPresetLister } +var _ admission.MutationInterface = &podPresetPlugin{} var _ = kubeapiserveradmission.WantsInternalKubeInformerFactory(&podPresetPlugin{}) var _ = kubeapiserveradmission.WantsInternalKubeClientSet(&podPresetPlugin{}) diff --git a/plugin/pkg/admission/podtolerationrestriction/admission.go b/plugin/pkg/admission/podtolerationrestriction/admission.go index 4fc101aad1e..14ff93f221e 100644 --- a/plugin/pkg/admission/podtolerationrestriction/admission.go +++ b/plugin/pkg/admission/podtolerationrestriction/admission.go @@ -57,6 +57,8 @@ const ( NSWLTolerations string = "scheduler.alpha.kubernetes.io/tolerationsWhitelist" ) +var _ admission.MutationInterface = &podTolerationsPlugin{} +var _ admission.ValidationInterface = &podTolerationsPlugin{} var _ = kubeapiserveradmission.WantsInternalKubeInformerFactory(&podTolerationsPlugin{}) type podTolerationsPlugin struct { diff --git a/plugin/pkg/admission/storageclass/setdefault/admission.go b/plugin/pkg/admission/storageclass/setdefault/admission.go index 5d44492edb1..6a9fe197a08 100644 --- a/plugin/pkg/admission/storageclass/setdefault/admission.go +++ b/plugin/pkg/admission/storageclass/setdefault/admission.go @@ -54,6 +54,7 @@ type claimDefaulterPlugin struct { } var _ admission.Interface = &claimDefaulterPlugin{} +var _ admission.MutationInterface = &claimDefaulterPlugin{} var _ = kubeapiserveradmission.WantsInternalKubeInformerFactory(&claimDefaulterPlugin{}) // newPlugin creates a new admission plugin.