Skip to content

Commit b5ea0f1

Browse files
committed
Migrate apis and controller to controller-runtime
1 parent 4cbdc59 commit b5ea0f1

File tree

110 files changed

+1136
-228
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

110 files changed

+1136
-228
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
/_output/
44
/_artifacts/
55
/build/kube-scheduler
6+
bin
7+
testbin/*
8+
hack/tools/bin/*
69

710
# used for the code generators only
811
/vendor/

PROJECT

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
domain: scheduling.sigs.k8s.io
2+
layout:
3+
- go.kubebuilder.io/v3
4+
multigroup: true
5+
projectName: scheduler-plugins
6+
repo: github.com/kubernetes-sigs/scheduler-plugins
7+
resources:
8+
- api:
9+
crdVersion: v1
10+
controller: true
11+
domain: scheduling.sigs.k8s.io
12+
group: scheduling
13+
kind: PodGroup
14+
path: sigs.k8s.io/scheduler-plugins/apis/scheduling/v1alpha1
15+
version: v1alpha1
16+
- api:
17+
crdVersion: v1
18+
controller: true
19+
domain: scheduling.sigs.k8s.io
20+
group: scheduling
21+
kind: ElasticQuota
22+
path: sigs.k8s.io/scheduler-plugins/apis/scheduling/v1alpha1
23+
version: v1alpha1
24+
version: "3"

pkg/apis/config/doc.go apis/config/doc.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,5 @@ limitations under the License.
1717
// +k8s:deepcopy-gen=package
1818
// +groupName=kubescheduler.config.k8s.io
1919

20-
package config // import "sigs.k8s.io/scheduler-plugins/pkg/apis/config"
20+
// Package config of the API.
21+
package config // import "sigs.k8s.io/scheduler-plugins/apis/config"

pkg/apis/config/register.go apis/config/register.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,8 @@ import (
2222
schedconfig "k8s.io/kubernetes/pkg/scheduler/apis/config"
2323
)
2424

25-
// GroupName is the group name used in this package
26-
const GroupName = "kubescheduler.config.k8s.io"
27-
2825
// SchemeGroupVersion is group version used to register these objects
29-
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
26+
var SchemeGroupVersion = schema.GroupVersion{Group: schedconfig.GroupName, Version: runtime.APIVersionInternal}
3027

3128
var (
3229
localSchemeBuilder = &schedconfig.SchemeBuilder

pkg/apis/config/scheme/scheme.go apis/config/scheme/scheme.go

+5-6
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ import (
2222
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
2323
kubeschedulerscheme "k8s.io/kubernetes/pkg/scheduler/apis/config/scheme"
2424

25-
"sigs.k8s.io/scheduler-plugins/pkg/apis/config"
26-
configv1beta2 "sigs.k8s.io/scheduler-plugins/pkg/apis/config/v1beta2"
27-
configv1beta3 "sigs.k8s.io/scheduler-plugins/pkg/apis/config/v1beta3"
25+
"sigs.k8s.io/scheduler-plugins/apis/config"
26+
"sigs.k8s.io/scheduler-plugins/apis/config/v1beta2"
27+
"sigs.k8s.io/scheduler-plugins/apis/config/v1beta3"
2828
)
2929

3030
var (
@@ -42,7 +42,6 @@ func init() {
4242
// AddToScheme builds the kubescheduler scheme using all known versions of the kubescheduler api.
4343
func AddToScheme(scheme *runtime.Scheme) {
4444
utilruntime.Must(config.AddToScheme(scheme))
45-
utilruntime.Must(configv1beta3.AddToScheme(scheme))
46-
utilruntime.Must(configv1beta2.AddToScheme(scheme))
47-
// utilruntime.Must(scheme.SetVersionPriority(configv1beta3.SchemeGroupVersion, configv1beta2.SchemeGroupVersion))
45+
utilruntime.Must(v1beta2.AddToScheme(scheme))
46+
utilruntime.Must(v1beta3.AddToScheme(scheme))
4847
}

pkg/apis/config/scheme/scheme_test.go apis/config/scheme/scheme_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ import (
2828
schedconfig "k8s.io/kubernetes/pkg/scheduler/apis/config"
2929
"k8s.io/kubernetes/pkg/scheduler/apis/config/testing/defaults"
3030

31-
"sigs.k8s.io/scheduler-plugins/pkg/apis/config"
32-
"sigs.k8s.io/scheduler-plugins/pkg/apis/config/v1beta2"
31+
"sigs.k8s.io/scheduler-plugins/apis/config"
32+
"sigs.k8s.io/scheduler-plugins/apis/config/v1beta2"
3333
"sigs.k8s.io/scheduler-plugins/pkg/coscheduling"
3434
"sigs.k8s.io/scheduler-plugins/pkg/noderesources"
3535
"sigs.k8s.io/scheduler-plugins/pkg/preemptiontoleration"
File renamed without changes.

pkg/apis/config/v1beta2/defaults.go apis/config/v1beta2/defaults.go

+12-14
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ See the License for the specific language governing permissions and
1414
limitations under the License.
1515
*/
1616

17-
// +k8s:defaulter-gen=true
18-
1917
package v1beta2
2018

2119
import (
@@ -75,8 +73,8 @@ var (
7573
}
7674
)
7775

78-
// SetDefaultsCoschedulingArgs sets the default parameters for Coscheduling plugin.
79-
func SetDefaultsCoschedulingArgs(obj *CoschedulingArgs) {
76+
// SetDefaults_CoschedulingArgs sets the default parameters for Coscheduling plugin.
77+
func SetDefaults_CoschedulingArgs(obj *CoschedulingArgs) {
8078
if obj.PermitWaitingTimeSeconds == nil {
8179
obj.PermitWaitingTimeSeconds = &defaultPermitWaitingTimeSeconds
8280
}
@@ -85,8 +83,8 @@ func SetDefaultsCoschedulingArgs(obj *CoschedulingArgs) {
8583
}
8684
}
8785

88-
// SetDefaultsNodeResourcesAllocatableArgs sets the defaults parameters for NodeResourceAllocatable.
89-
func SetDefaultsNodeResourcesAllocatableArgs(obj *NodeResourcesAllocatableArgs) {
86+
// SetDefaults_NodeResourcesAllocatableArgs sets the defaults parameters for NodeResourceAllocatable.
87+
func SetDefaults_NodeResourcesAllocatableArgs(obj *NodeResourcesAllocatableArgs) {
9088
if len(obj.Resources) == 0 {
9189
obj.Resources = defaultNodeResourcesAllocatableResourcesToWeightMap
9290
}
@@ -96,8 +94,8 @@ func SetDefaultsNodeResourcesAllocatableArgs(obj *NodeResourcesAllocatableArgs)
9694
}
9795
}
9896

99-
// SetDefaultTargetLoadPackingArgs sets the default parameters for TargetLoadPacking plugin
100-
func SetDefaultTargetLoadPackingArgs(args *TargetLoadPackingArgs) {
97+
// SetDefaults_TargetLoadPackingArgs sets the default parameters for TargetLoadPacking plugin
98+
func SetDefaults_TargetLoadPackingArgs(args *TargetLoadPackingArgs) {
10199
if args.DefaultRequests == nil {
102100
args.DefaultRequests = v1.ResourceList{v1.ResourceCPU: resource.MustParse(
103101
strconv.FormatInt(DefaultRequestsMilliCores, 10) + "m")}
@@ -116,8 +114,8 @@ func SetDefaultTargetLoadPackingArgs(args *TargetLoadPackingArgs) {
116114
}
117115
}
118116

119-
// SetDefaultLoadVariationRiskBalancingArgs sets the default parameters for LoadVariationRiskBalancing plugin
120-
func SetDefaultLoadVariationRiskBalancingArgs(args *LoadVariationRiskBalancingArgs) {
117+
// SetDefaults_LoadVariationRiskBalancingArgs sets the default parameters for LoadVariationRiskBalancing plugin
118+
func SetDefaults_LoadVariationRiskBalancingArgs(args *LoadVariationRiskBalancingArgs) {
121119
if args.WatcherAddress == nil && args.MetricProvider.Type == "" {
122120
args.MetricProvider.Type = MetricProviderType(DefaultMetricProviderType)
123121
}
@@ -132,8 +130,8 @@ func SetDefaultLoadVariationRiskBalancingArgs(args *LoadVariationRiskBalancingAr
132130
}
133131
}
134132

135-
// SetDefaultsNodeResourceTopologyMatchArgs sets the default parameters for NodeResourceTopologyMatch plugin.
136-
func SetDefaultsNodeResourceTopologyMatchArgs(obj *NodeResourceTopologyMatchArgs) {
133+
// SetDefaults_NodeResourceTopologyMatchArgs sets the default parameters for NodeResourceTopologyMatch plugin.
134+
func SetDefaults_NodeResourceTopologyMatchArgs(obj *NodeResourceTopologyMatchArgs) {
137135
if obj.ScoringStrategy == nil {
138136
obj.ScoringStrategy = &ScoringStrategy{
139137
Type: LeastAllocated,
@@ -153,7 +151,7 @@ func SetDefaultsNodeResourceTopologyMatchArgs(obj *NodeResourceTopologyMatchArgs
153151
}
154152
}
155153

156-
// PreemptionTolerationArgs reuses SetDefaults_DefaultPreemptionArgs
157-
func SetDefaultsPreemptionTolerationArgs(obj *PreemptionTolerationArgs) {
154+
// SetDefaults_PreemptionTolerationArgs reuses SetDefaults_DefaultPreemptionArgs
155+
func SetDefaults_PreemptionTolerationArgs(obj *PreemptionTolerationArgs) {
158156
k8sschedulerconfigv1beta2.SetDefaults_DefaultPreemptionArgs((*schedulerconfigv1beta2.DefaultPreemptionArgs)(obj))
159157
}
File renamed without changes.

pkg/apis/config/v1beta2/doc.go apis/config/v1beta2/doc.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@ limitations under the License.
1515
*/
1616

1717
// +k8s:deepcopy-gen=package
18-
// +k8s:conversion-gen=sigs.k8s.io/scheduler-plugins/pkg/apis/config
18+
// +k8s:conversion-gen=sigs.k8s.io/scheduler-plugins/apis/config
1919
// +k8s:defaulter-gen=TypeMeta
20+
// +k8s:defaulter-gen-input=sigs.k8s.io/scheduler-plugins/apis/config/v1beta2
2021
// +groupName=kubescheduler.config.k8s.io
2122

2223
// Package v1beta2 is the v1beta2 version of the API.
23-
package v1beta2 // import "sigs.k8s.io/scheduler-plugins/pkg/apis/config/v1beta2"
24+
package v1beta2 // import "sigs.k8s.io/scheduler-plugins/apis/config/v1beta2"

pkg/apis/config/v1beta2/register.go apis/config/v1beta2/register.go

+3-4
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,14 @@ import (
2020
"k8s.io/apimachinery/pkg/runtime"
2121
"k8s.io/apimachinery/pkg/runtime/schema"
2222
schedschemev1beta2 "k8s.io/kube-scheduler/config/v1beta2"
23+
schedconfig "k8s.io/kubernetes/pkg/scheduler/apis/config"
2324
)
2425

25-
// GroupName is the group name used in this package
26-
const GroupName = "kubescheduler.config.k8s.io"
27-
2826
// SchemeGroupVersion is group version used to register these objects
29-
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta2"}
27+
var SchemeGroupVersion = schema.GroupVersion{Group: schedconfig.GroupName, Version: "v1beta2"}
3028

3129
var (
30+
// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
3231
localSchemeBuilder = &schedschemev1beta2.SchemeBuilder
3332
// AddToScheme is a global function that registers this API group & version to a scheme
3433
AddToScheme = localSchemeBuilder.AddToScheme

pkg/apis/config/v1beta2/types.go apis/config/v1beta2/types.go

-4
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ type MetricProviderSpec struct {
8383
}
8484

8585
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
86-
// +k8s:defaulter-gen=true
8786

8887
// TargetLoadPackingArgs holds arguments used to configure TargetLoadPacking plugin.
8988
type TargetLoadPackingArgs struct {
@@ -102,7 +101,6 @@ type TargetLoadPackingArgs struct {
102101
}
103102

104103
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
105-
// +k8s:defaulter-gen=true
106104

107105
// LoadVariationRiskBalancingArgs holds arguments used to configure LoadVariationRiskBalancing plugin.
108106
type LoadVariationRiskBalancingArgs struct {
@@ -136,7 +134,6 @@ type ScoringStrategy struct {
136134
}
137135

138136
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
139-
// +k8s:defaulter-gen=true
140137

141138
// NodeResourceTopologyMatchArgs holds arguments used to configure the NodeResourceTopologyMatch plugin
142139
type NodeResourceTopologyMatchArgs struct {
@@ -146,7 +143,6 @@ type NodeResourceTopologyMatchArgs struct {
146143
}
147144

148145
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
149-
// +k8s:defaulter-gen=true
150146

151147
// PreemptionTolerationArgs reuses DefaultPluginArgs.
152148
type PreemptionTolerationArgs schedulerconfigv1beta2.DefaultPreemptionArgs

pkg/apis/config/v1beta2/zz_generated.conversion.go apis/config/v1beta2/zz_generated.conversion.go

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/apis/config/v1beta2/zz_generated.defaults.go apis/config/v1beta2/zz_generated.defaults.go

+19-23
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/apis/config/v1beta3/defaults.go apis/config/v1beta3/defaults.go

+12-14
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ See the License for the specific language governing permissions and
1414
limitations under the License.
1515
*/
1616

17-
// +k8s:defaulter-gen=true
18-
1917
package v1beta3
2018

2119
import (
@@ -75,8 +73,8 @@ var (
7573
}
7674
)
7775

78-
// SetDefaultsCoschedulingArgs sets the default parameters for Coscheduling plugin.
79-
func SetDefaultsCoschedulingArgs(obj *CoschedulingArgs) {
76+
// SetDefaults_CoschedulingArgs sets the default parameters for Coscheduling plugin.
77+
func SetDefaults_CoschedulingArgs(obj *CoschedulingArgs) {
8078
if obj.PermitWaitingTimeSeconds == nil {
8179
obj.PermitWaitingTimeSeconds = &defaultPermitWaitingTimeSeconds
8280
}
@@ -85,8 +83,8 @@ func SetDefaultsCoschedulingArgs(obj *CoschedulingArgs) {
8583
}
8684
}
8785

88-
// SetDefaultsNodeResourcesAllocatableArgs sets the defaults parameters for NodeResourceAllocatable.
89-
func SetDefaultsNodeResourcesAllocatableArgs(obj *NodeResourcesAllocatableArgs) {
86+
// SetDefaults_NodeResourcesAllocatableArgs sets the defaults parameters for NodeResourceAllocatable.
87+
func SetDefaults_NodeResourcesAllocatableArgs(obj *NodeResourcesAllocatableArgs) {
9088
if len(obj.Resources) == 0 {
9189
obj.Resources = defaultNodeResourcesAllocatableResourcesToWeightMap
9290
}
@@ -96,8 +94,8 @@ func SetDefaultsNodeResourcesAllocatableArgs(obj *NodeResourcesAllocatableArgs)
9694
}
9795
}
9896

99-
// SetDefaultTargetLoadPackingArgs sets the default parameters for TargetLoadPacking plugin
100-
func SetDefaultTargetLoadPackingArgs(args *TargetLoadPackingArgs) {
97+
// SetDefaults_TargetLoadPackingArgs sets the default parameters for TargetLoadPacking plugin
98+
func SetDefaults_TargetLoadPackingArgs(args *TargetLoadPackingArgs) {
10199
if args.DefaultRequests == nil {
102100
args.DefaultRequests = v1.ResourceList{v1.ResourceCPU: resource.MustParse(
103101
strconv.FormatInt(DefaultRequestsMilliCores, 10) + "m")}
@@ -116,8 +114,8 @@ func SetDefaultTargetLoadPackingArgs(args *TargetLoadPackingArgs) {
116114
}
117115
}
118116

119-
// SetDefaultLoadVariationRiskBalancingArgs sets the default parameters for LoadVariationRiskBalancing plugin
120-
func SetDefaultLoadVariationRiskBalancingArgs(args *LoadVariationRiskBalancingArgs) {
117+
// SetDefaults_LoadVariationRiskBalancingArgs sets the default parameters for LoadVariationRiskBalancing plugin
118+
func SetDefaults_LoadVariationRiskBalancingArgs(args *LoadVariationRiskBalancingArgs) {
121119
if args.WatcherAddress == nil && args.MetricProvider.Type == "" {
122120
args.MetricProvider.Type = MetricProviderType(DefaultMetricProviderType)
123121
}
@@ -132,8 +130,8 @@ func SetDefaultLoadVariationRiskBalancingArgs(args *LoadVariationRiskBalancingAr
132130
}
133131
}
134132

135-
// SetDefaultsNodeResourceTopologyMatchArgs sets the default parameters for NodeResourceTopologyMatch plugin.
136-
func SetDefaultsNodeResourceTopologyMatchArgs(obj *NodeResourceTopologyMatchArgs) {
133+
// SetDefaults_NodeResourceTopologyMatchArgs sets the default parameters for NodeResourceTopologyMatch plugin.
134+
func SetDefaults_NodeResourceTopologyMatchArgs(obj *NodeResourceTopologyMatchArgs) {
137135
if obj.ScoringStrategy == nil {
138136
obj.ScoringStrategy = &ScoringStrategy{
139137
Type: LeastAllocated,
@@ -153,7 +151,7 @@ func SetDefaultsNodeResourceTopologyMatchArgs(obj *NodeResourceTopologyMatchArgs
153151
}
154152
}
155153

156-
// PreemptionTolerationArgs reuses SetDefaults_DefaultPreemptionArgs
157-
func SetDefaultsPreemptionTolerationArgs(obj *PreemptionTolerationArgs) {
154+
// SetDefaults_PreemptionTolerationArgs reuses SetDefaults_DefaultPreemptionArgs
155+
func SetDefaults_PreemptionTolerationArgs(obj *PreemptionTolerationArgs) {
158156
k8sschedulerconfigv1beta3.SetDefaults_DefaultPreemptionArgs((*schedulerconfigv1beta3.DefaultPreemptionArgs)(obj))
159157
}
File renamed without changes.

0 commit comments

Comments
 (0)