Skip to content

Commit 2ba7407

Browse files
committed
pass version to server config
1 parent 854beb2 commit 2ba7407

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

pkg/config/serving/server.go

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,20 @@ import (
99
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1010
"k8s.io/apimachinery/pkg/runtime"
1111
"k8s.io/apimachinery/pkg/runtime/serializer"
12+
utilversion "k8s.io/apimachinery/pkg/util/version"
1213
"k8s.io/apimachinery/pkg/util/wait"
14+
"k8s.io/apimachinery/pkg/version"
1315
genericapiserver "k8s.io/apiserver/pkg/server"
1416
genericapiserveroptions "k8s.io/apiserver/pkg/server/options"
17+
kasversion "k8s.io/apiserver/pkg/util/version"
1518
"k8s.io/client-go/kubernetes"
1619
"k8s.io/klog/v2"
1720

1821
configv1 "github.com/openshift/api/config/v1"
1922
operatorv1alpha1 "github.com/openshift/api/operator/v1alpha1"
2023
)
2124

22-
func ToServerConfig(ctx context.Context, servingInfo configv1.HTTPServingInfo, authenticationConfig operatorv1alpha1.DelegatedAuthentication, authorizationConfig operatorv1alpha1.DelegatedAuthorization,
23-
kubeConfigFile string, kubeClient *kubernetes.Clientset, le *configv1.LeaderElection, enableHTTP2 bool) (*genericapiserver.Config, error) {
25+
func ToServerConfig(ctx context.Context, servingInfo configv1.HTTPServingInfo, authenticationConfig operatorv1alpha1.DelegatedAuthentication, authorizationConfig operatorv1alpha1.DelegatedAuthorization, kubeConfigFile string, kubeClient *kubernetes.Clientset, le *configv1.LeaderElection, enableHTTP2 bool, versionInfo *version.Info) (*genericapiserver.Config, error) {
2426
scheme := runtime.NewScheme()
2527
metav1.AddToGroupVersion(scheme, metav1.SchemeGroupVersion)
2628
config := genericapiserver.NewConfig(serializer.NewCodecFactory(scheme))
@@ -83,6 +85,7 @@ func ToServerConfig(ctx context.Context, servingInfo configv1.HTTPServingInfo, a
8385
}
8486

8587
config.SecureServing.DisableHTTP2 = !enableHTTP2
88+
config.EffectiveVersion = defaultBuildEffectiveVersion(versionInfo)
8689

8790
return config, nil
8891
}
@@ -103,3 +106,17 @@ func assertAPIConnection(ctx context.Context, kubeClient *kubernetes.Clientset,
103106

104107
return nil
105108
}
109+
110+
// DefaultBuildEffectiveVersion returns the MutableEffectiveVersion based on the
111+
// current build information.
112+
// Similar to version.DefaultBuildEffectiveVersion
113+
func defaultBuildEffectiveVersion(versionInfo *version.Info) kasversion.MutableEffectiveVersion {
114+
if versionInfo != nil {
115+
// major.minor passed through gitVersion
116+
parsedVersion, err := utilversion.Parse(versionInfo.String())
117+
if err == nil && (parsedVersion.Major() != 0 || parsedVersion.Minor() != 0) {
118+
return kasversion.NewEffectiveVersion(versionInfo.String())
119+
}
120+
}
121+
return kasversion.DefaultKubeEffectiveVersion()
122+
}

pkg/controller/controllercmd/builder.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ func (b *ControllerBuilder) Run(ctx context.Context, config *unstructured.Unstru
305305

306306
var server *genericapiserver.GenericAPIServer
307307
if b.servingInfo != nil {
308-
serverConfig, err := serving.ToServerConfig(ctx, *b.servingInfo, *b.authenticationConfig, *b.authorizationConfig, kubeConfig, kubeClient, b.leaderElection, b.enableHTTP2)
308+
serverConfig, err := serving.ToServerConfig(ctx, *b.servingInfo, *b.authenticationConfig, *b.authorizationConfig, kubeConfig, kubeClient, b.leaderElection, b.enableHTTP2, b.versionInfo)
309309
if err != nil {
310310
return err
311311
}

0 commit comments

Comments
 (0)