Chore: serverConfig.EffectiveVersion earlier in initialization (#110798)
This commit is contained in:
@@ -102,10 +102,7 @@ func SetupConfig(
|
||||
scheme *runtime.Scheme,
|
||||
serverConfig *genericapiserver.RecommendedConfig,
|
||||
builders []APIGroupBuilder,
|
||||
buildTimestamp int64,
|
||||
buildVersion string,
|
||||
buildCommit string,
|
||||
buildBranch string,
|
||||
buildHandlerChainFuncFromBuilders BuildHandlerChainFuncFromBuilders,
|
||||
gvs []schema.GroupVersion,
|
||||
additionalOpenAPIDefGetters []common.GetOpenAPIDefinitions,
|
||||
@@ -234,7 +231,6 @@ func SetupConfig(
|
||||
serverConfig.SkipOpenAPIInstallation = false
|
||||
serverConfig.BuildHandlerChainFunc = buildHandlerChainFuncFromBuilders(builders)
|
||||
|
||||
serverConfig.EffectiveVersion = getEffectiveVersion(buildTimestamp, buildVersion, buildCommit, buildBranch)
|
||||
// set priority for aggregated discovery
|
||||
for i, b := range builders {
|
||||
gvs := GetGroupVersions(b)
|
||||
|
||||
@@ -16,7 +16,7 @@ type grafanaVersion struct {
|
||||
wrap compatibility.EffectiveVersion
|
||||
}
|
||||
|
||||
func getEffectiveVersion(
|
||||
func GetEffectiveVersion(
|
||||
buildTimestamp int64,
|
||||
buildVersion string,
|
||||
buildCommit string,
|
||||
|
||||
@@ -312,6 +312,12 @@ func (s *service) start(ctx context.Context) error {
|
||||
if err := o.ApplyTo(serverConfig); err != nil {
|
||||
return err
|
||||
}
|
||||
serverConfig.EffectiveVersion = builder.GetEffectiveVersion(
|
||||
s.cfg.BuildStamp,
|
||||
s.cfg.BuildVersion,
|
||||
s.cfg.BuildCommit,
|
||||
s.cfg.BuildBranch,
|
||||
)
|
||||
|
||||
if err := o.APIEnablementOptions.ApplyTo(&serverConfig.Config, appinstaller.NewAPIResourceConfig(s.appInstallers), s.scheme); err != nil {
|
||||
return err
|
||||
@@ -351,10 +357,7 @@ func (s *service) start(ctx context.Context) error {
|
||||
s.scheme,
|
||||
serverConfig,
|
||||
builders,
|
||||
s.cfg.BuildStamp,
|
||||
s.cfg.BuildVersion,
|
||||
s.cfg.BuildCommit,
|
||||
s.cfg.BuildBranch,
|
||||
s.buildHandlerChainFuncFromBuilders,
|
||||
groupVersions,
|
||||
defGetters,
|
||||
|
||||
@@ -709,14 +709,19 @@ func (c *K8sTestHelper) AddOrUpdateTeamMember(user User, teamID int64, permissio
|
||||
require.NoError(c.t, err)
|
||||
}
|
||||
|
||||
func (c *K8sTestHelper) NewDiscoveryClient() *discovery.DiscoveryClient {
|
||||
func (c *K8sTestHelper) NewAdminRestConfig() *rest.Config {
|
||||
c.t.Helper()
|
||||
|
||||
baseUrl := fmt.Sprintf("http://%s", c.env.Server.HTTPServer.Listener.Addr())
|
||||
cfg := newOptimizedRestConfig(baseUrl)
|
||||
cfg.Username = c.Org1.Admin.Identity.GetLogin()
|
||||
cfg.Password = c.Org1.Admin.password
|
||||
client, err := discovery.NewDiscoveryClientForConfig(cfg)
|
||||
return cfg
|
||||
}
|
||||
|
||||
func (c *K8sTestHelper) NewDiscoveryClient() *discovery.DiscoveryClient {
|
||||
c.t.Helper()
|
||||
client, err := discovery.NewDiscoveryClientForConfig(c.NewAdminRestConfig())
|
||||
require.NoError(c.t, err)
|
||||
return client
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
"github.com/stretchr/testify/require"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/apimachinery/pkg/util/version"
|
||||
"k8s.io/client-go/kubernetes"
|
||||
|
||||
"github.com/grafana/grafana/pkg/services/featuremgmt"
|
||||
"github.com/grafana/grafana/pkg/tests/testinfra"
|
||||
@@ -34,10 +35,14 @@ func TestIntegrationOpenAPIs(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("check valid version response", func(t *testing.T) {
|
||||
disco := h.NewDiscoveryClient()
|
||||
info, err := disco.ServerVersion()
|
||||
client, err := kubernetes.NewForConfig(h.NewAdminRestConfig())
|
||||
require.NoError(t, err)
|
||||
|
||||
info, err := client.ServerVersion()
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, runtime.Version(), info.GoVersion)
|
||||
require.Equal(t, "1", info.Major)
|
||||
require.Equal(t, "33", info.Minor)
|
||||
|
||||
// Make sure the gitVersion is parsable
|
||||
v, err := version.Parse(info.GitVersion)
|
||||
@@ -50,6 +55,7 @@ func TestIntegrationOpenAPIs(t *testing.T) {
|
||||
// Removing the explicit `OneOf` properties from InlineSecureValue in:
|
||||
// https://github.com/grafana/grafana/blob/main/pkg/apimachinery/apis/common/v0alpha1/secure_values.go#L78
|
||||
// will consistently support V2, however kubectl and everything else continues to work
|
||||
disco := h.NewDiscoveryClient()
|
||||
paths, err := disco.OpenAPIV3().Paths()
|
||||
|
||||
require.NoError(t, err, "requesting OpenAPI v3")
|
||||
|
||||
Reference in New Issue
Block a user