Skip to content

Commit 4f04dff

Browse files
authored
Merge pull request kubernetes#124826 from mjudeikis/mjudeikis/plugins.move.to.generics
Move to generics for sets in kubeapiserver plugins
2 parents 59ba132 + b14936f commit 4f04dff

File tree

3 files changed

+15
-15
lines changed

3 files changed

+15
-15
lines changed

pkg/kubeapiserver/options/plugins.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,8 @@ func RegisterAllAdmissionPlugins(plugins *admission.Plugins) {
141141
}
142142

143143
// DefaultOffAdmissionPlugins get admission plugins off by default for kube-apiserver.
144-
func DefaultOffAdmissionPlugins() sets.String {
145-
defaultOnPlugins := sets.NewString(
144+
func DefaultOffAdmissionPlugins() sets.Set[string] {
145+
defaultOnPlugins := sets.New(
146146
lifecycle.PluginName, // NamespaceLifecycle
147147
limitranger.PluginName, // LimitRanger
148148
serviceaccount.PluginName, // ServiceAccount
@@ -165,5 +165,5 @@ func DefaultOffAdmissionPlugins() sets.String {
165165
validatingadmissionpolicy.PluginName, // ValidatingAdmissionPolicy, only active when feature gate ValidatingAdmissionPolicy is enabled
166166
)
167167

168-
return sets.NewString(AllOrderedPlugins...).Difference(defaultOnPlugins)
168+
return sets.New(AllOrderedPlugins...).Difference(defaultOnPlugins)
169169
}

staging/src/k8s.io/apiserver/pkg/server/options/admission.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ type AdmissionOptions struct {
5959
// RecommendedPluginOrder holds an ordered list of plugin names we recommend to use by default
6060
RecommendedPluginOrder []string
6161
// DefaultOffPlugins is a set of plugin names that is disabled by default
62-
DefaultOffPlugins sets.String
62+
DefaultOffPlugins sets.Set[string]
6363

6464
// EnablePlugins indicates plugins to be enabled passed through `--enable-admission-plugins`.
6565
EnablePlugins []string
@@ -91,7 +91,7 @@ func NewAdmissionOptions() *AdmissionOptions {
9191
// after all the mutating ones, so their relative order in this list
9292
// doesn't matter.
9393
RecommendedPluginOrder: []string{lifecycle.PluginName, mutatingwebhook.PluginName, validatingadmissionpolicy.PluginName, validatingwebhook.PluginName},
94-
DefaultOffPlugins: sets.NewString(),
94+
DefaultOffPlugins: sets.Set[string]{},
9595
}
9696
server.RegisterAllAdmissionPlugins(options.Plugins)
9797
return options
@@ -226,7 +226,7 @@ func (a *AdmissionOptions) Validate() []error {
226226
// EnablePlugins, DisablePlugins fields
227227
// to prepare a list of ordered plugin names that are enabled.
228228
func (a *AdmissionOptions) enabledPluginNames() []string {
229-
allOffPlugins := append(a.DefaultOffPlugins.List(), a.DisablePlugins...)
229+
allOffPlugins := append(sets.List[string](a.DefaultOffPlugins), a.DisablePlugins...)
230230
disabledPlugins := sets.NewString(allOffPlugins...)
231231
enabledPlugins := sets.NewString(a.EnablePlugins...)
232232
disabledPlugins = disabledPlugins.Difference(enabledPlugins)

staging/src/k8s.io/apiserver/pkg/server/options/admission_test.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import (
2828
func TestEnabledPluginNames(t *testing.T) {
2929
scenarios := []struct {
3030
expectedPluginNames []string
31-
setDefaultOffPlugins sets.String
31+
setDefaultOffPlugins sets.Set[string]
3232
setRecommendedPluginOrder []string
3333
setEnablePlugins []string
3434
setDisablePlugins []string
@@ -43,37 +43,37 @@ func TestEnabledPluginNames(t *testing.T) {
4343
{
4444
expectedPluginNames: []string{"pluginB"},
4545
setRecommendedPluginOrder: []string{"pluginA", "pluginB", "pluginC", "pluginD"},
46-
setDefaultOffPlugins: sets.NewString("pluginA", "pluginC", "pluginD"),
46+
setDefaultOffPlugins: sets.New("pluginA", "pluginC", "pluginD"),
4747
},
4848

4949
// scenario 2: use default off plugins and with RecommendedPluginOrder
5050
{
5151
expectedPluginNames: []string{"pluginA", "pluginB", "pluginC", "pluginD"},
5252
setRecommendedPluginOrder: []string{"pluginA", "pluginB", "pluginC", "pluginD"},
53-
setDefaultOffPlugins: sets.NewString(),
53+
setDefaultOffPlugins: sets.Set[string]{},
5454
},
5555

5656
// scenario 3: use default off plugins and specified by enable-admission-plugins with RecommendedPluginOrder
5757
{
5858
expectedPluginNames: []string{"pluginA", "pluginB", "pluginC", "pluginD"},
5959
setRecommendedPluginOrder: []string{"pluginA", "pluginB", "pluginC", "pluginD"},
60-
setDefaultOffPlugins: sets.NewString("pluginC", "pluginD"),
60+
setDefaultOffPlugins: sets.New("pluginC", "pluginD"),
6161
setEnablePlugins: []string{"pluginD", "pluginC"},
6262
},
6363

6464
// scenario 4: use default off plugins and specified by disable-admission-plugins with RecommendedPluginOrder
6565
{
6666
expectedPluginNames: []string{"pluginB"},
6767
setRecommendedPluginOrder: []string{"pluginA", "pluginB", "pluginC", "pluginD"},
68-
setDefaultOffPlugins: sets.NewString("pluginC", "pluginD"),
68+
setDefaultOffPlugins: sets.New("pluginC", "pluginD"),
6969
setDisablePlugins: []string{"pluginA"},
7070
},
7171

7272
// scenario 5: use default off plugins and specified by enable-admission-plugins and disable-admission-plugins with RecommendedPluginOrder
7373
{
7474
expectedPluginNames: []string{"pluginA", "pluginC"},
7575
setRecommendedPluginOrder: []string{"pluginA", "pluginB", "pluginC", "pluginD"},
76-
setDefaultOffPlugins: sets.NewString("pluginC", "pluginD"),
76+
setDefaultOffPlugins: sets.New("pluginC", "pluginD"),
7777
setEnablePlugins: []string{"pluginC"},
7878
setDisablePlugins: []string{"pluginB"},
7979
},
@@ -82,15 +82,15 @@ func TestEnabledPluginNames(t *testing.T) {
8282
{
8383
expectedPluginNames: []string{"pluginA", "pluginB", "pluginC"},
8484
setRecommendedPluginOrder: []string{"pluginA", "pluginB", "pluginC", "pluginD"},
85-
setDefaultOffPlugins: sets.NewString("pluginD"),
85+
setDefaultOffPlugins: sets.New("pluginD"),
8686
setAdmissionControl: []string{"pluginA", "pluginB"},
8787
},
8888

8989
// scenario 7: use default off plugins and specified by admission-control with RecommendedPluginOrder
9090
{
9191
expectedPluginNames: []string{"pluginA", "pluginB", "pluginC"},
9292
setRecommendedPluginOrder: []string{"pluginA", "pluginB", "pluginC", "pluginD"},
93-
setDefaultOffPlugins: sets.NewString("pluginC", "pluginD"),
93+
setDefaultOffPlugins: sets.New("pluginC", "pluginD"),
9494
setAdmissionControl: []string{"pluginA", "pluginB", "pluginC"},
9595
},
9696
}
@@ -208,7 +208,7 @@ func TestValidate(t *testing.T) {
208208
for index, scenario := range scenarios {
209209
t.Run(fmt.Sprintf("scenario %d", index), func(t *testing.T) {
210210
options := NewAdmissionOptions()
211-
options.DefaultOffPlugins = sets.NewString("pluginC", "pluginD")
211+
options.DefaultOffPlugins = sets.New("pluginC", "pluginD")
212212
options.RecommendedPluginOrder = []string{"pluginA", "pluginB", "pluginC", "pluginD"}
213213
options.Plugins = &admission.Plugins{}
214214
for _, plugin := range options.RecommendedPluginOrder {

0 commit comments

Comments
 (0)