You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@yunikorn.apache.org by wi...@apache.org on 2023/07/08 02:02:08 UTC
[yunikorn-k8shim] branch master updated: [YUNIKORN-1853] de-duplicate build info (#631)
This is an automated email from the ASF dual-hosted git repository.
wilfreds pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/yunikorn-k8shim.git
The following commit(s) were added to refs/heads/master by this push:
new 7e63075b [YUNIKORN-1853] de-duplicate build info (#631)
7e63075b is described below
commit 7e63075b996e264de7a776b2f83e9b8b7cd0b2f7
Author: Frank Yang <ya...@gmail.com>
AuthorDate: Sat Jul 8 12:00:42 2023 +1000
[YUNIKORN-1853] de-duplicate build info (#631)
Move the build info details directly into the conf package and remove
the setting and copying of the values from the main packages.
Signed-off-by: Frank Yang <ya...@gmail.com>
Closes: #631
Signed-off-by: Wilfred Spiegelenburg <wi...@apache.org>
---
Makefile | 11 +++++-----
pkg/cmd/schedulerplugin/main.go | 20 -----------------
pkg/cmd/shim/main.go | 22 +------------------
pkg/conf/schedulerconf.go | 38 +++++++++++++++++++++++++--------
pkg/conf/schedulerconf_test.go | 2 +-
pkg/schedulerplugin/scheduler_plugin.go | 2 +-
pkg/shim/scheduler.go | 11 +---------
7 files changed, 39 insertions(+), 67 deletions(-)
diff --git a/Makefile b/Makefile
index c710ec23..bb5e20e2 100644
--- a/Makefile
+++ b/Makefile
@@ -223,10 +223,11 @@ init:
# Build scheduler binary for dev and test
.PHONY: build
+FLAG_PREFIX=github.com/apache/yunikorn-k8shim/pkg/conf
build: init
@echo "building scheduler binary"
go build -o=${DEV_BIN_DIR}/${BINARY} -race -ldflags \
- '-X main.version=${VERSION} -X main.date=${DATE} -X main.goVersion=${GO_VERSION} -X main.arch=${EXEC_ARCH} -X main.coreSHA=${CORE_SHA} -X main.siSHA=${SI_SHA} -X main.shimSHA=${SHIM_SHA}' \
+ '-X ${FLAG_PREFIX}.buildVersion=${VERSION} -X ${FLAG_PREFIX}.buildDate=${DATE} -X ${FLAG_PREFIX}.isPluginVersion=false -X ${FLAG_PREFIX}.goVersion=${GO_VERSION} -X ${FLAG_PREFIX}.arch=${EXEC_ARCH} -X ${FLAG_PREFIX}.coreSHA=${CORE_SHA} -X ${FLAG_PREFIX}.siSHA=${SI_SHA} -X ${FLAG_PREFIX}.shimSHA=${SHIM_SHA}' \
./pkg/cmd/shim/
@chmod +x ${DEV_BIN_DIR}/${BINARY}
@@ -234,7 +235,7 @@ build: init
build_plugin: init
@echo "building scheduler plugin binary"
go build -o=${DEV_BIN_DIR}/${PLUGIN_BINARY} -race -ldflags \
- '-X main.version=${VERSION} -X main.date=${DATE} -X main.goVersion=${GO_VERSION} -X main.arch=${EXEC_ARCH} -X main.coreSHA=${CORE_SHA} -X main.siSHA=${SI_SHA} -X main.shimSHA=${SHIM_SHA}' \
+ '-X ${FLAG_PREFIX}.buildVersion=${VERSION} -X ${FLAG_PREFIX}.buildDate=${DATE} -X ${FLAG_PREFIX}.isPluginVersion=true -X ${FLAG_PREFIX}.goVersion=${GO_VERSION} -X ${FLAG_PREFIX}.arch=${EXEC_ARCH} -X ${FLAG_PREFIX}.coreSHA=${CORE_SHA} -X ${FLAG_PREFIX}.siSHA=${SI_SHA} -X ${FLAG_PREFIX}.shimSHA=${SHIM_SHA}' \
./pkg/cmd/schedulerplugin/
@chmod +x ${DEV_BIN_DIR}/${PLUGIN_BINARY}
@@ -244,7 +245,7 @@ scheduler: init
@echo "building binary for scheduler docker image"
CGO_ENABLED=0 GOOS=linux GOARCH="${EXEC_ARCH}" \
go build -a -o=${RELEASE_BIN_DIR}/${BINARY} -trimpath -ldflags \
- '-extldflags "-static" -X main.version=${VERSION} -X main.date=${DATE} -X main.goVersion=${GO_VERSION} -X main.arch=${EXEC_ARCH} -X main.coreSHA=${CORE_SHA} -X main.siSHA=${SI_SHA} -X main.shimSHA=${SHIM_SHA}' \
+ '-extldflags "-static" -X ${FLAG_PREFIX}.buildVersion=${VERSION} -X ${FLAG_PREFIX}.buildDate=${DATE} -X ${FLAG_PREFIX}.isPluginVersion=false -X ${FLAG_PREFIX}.goVersion=${GO_VERSION} -X ${FLAG_PREFIX}.arch=${EXEC_ARCH} -X ${FLAG_PREFIX}.coreSHA=${CORE_SHA} -X ${FLAG_PREFIX}.siSHA=${SI_SHA} -X ${FLAG_PREFIX}.shimSHA=${SHIM_SHA}' \
-tags netgo -installsuffix netgo \
./pkg/cmd/shim/
@@ -254,7 +255,7 @@ plugin: init
@echo "building binary for plugin docker image"
CGO_ENABLED=0 GOOS=linux GOARCH="${EXEC_ARCH}" \
go build -a -o=${RELEASE_BIN_DIR}/${PLUGIN_BINARY} -trimpath -ldflags \
- '-extldflags "-static" -X main.version=${VERSION} -X main.date=${DATE} -X main.goVersion=${GO_VERSION} -X main.arch=${EXEC_ARCH} -X main.coreSHA=${CORE_SHA} -X main.siSHA=${SI_SHA} -X main.shimSHA=${SHIM_SHA}' \
+ '-extldflags "-static" -X ${FLAG_PREFIX}.buildVersion=${VERSION} -X ${FLAG_PREFIX}.buildDate=${DATE} -X ${FLAG_PREFIX}.isPluginVersion=true -X ${FLAG_PREFIX}.goVersion=${GO_VERSION} -X ${FLAG_PREFIX}.arch=${EXEC_ARCH} -X ${FLAG_PREFIX}.coreSHA=${CORE_SHA} -X ${FLAG_PREFIX}.siSHA=${SI_SHA} -X ${FLAG_PREFIX}.shimSHA=${SHIM_SHA}' \
-tags netgo -installsuffix netgo \
./pkg/cmd/schedulerplugin/
@@ -302,7 +303,7 @@ admission: init
@echo "building admission controller binary"
CGO_ENABLED=0 GOOS=linux GOARCH="${EXEC_ARCH}" \
go build -a -o=${ADMISSION_CONTROLLER_BIN_DIR}/${POD_ADMISSION_CONTROLLER_BINARY} -trimpath -ldflags \
- '-extldflags "-static" -X main.version=${VERSION} -X main.date=${DATE} -X main.goVersion=${GO_VERSION} -X main.arch=${EXEC_ARCH}' \
+ '-extldflags "-static" -X ${FLAG_PREFIX}.buildVersion=${VERSION} -X ${FLAG_PREFIX}.buildDate=${DATE} -X ${FLAG_PREFIX}.goVersion=${GO_VERSION} -X ${FLAG_PREFIX}.arch=${EXEC_ARCH}' \
-tags netgo -installsuffix netgo \
./pkg/cmd/admissioncontroller
diff --git a/pkg/cmd/schedulerplugin/main.go b/pkg/cmd/schedulerplugin/main.go
index 1db18204..0a3ba219 100644
--- a/pkg/cmd/schedulerplugin/main.go
+++ b/pkg/cmd/schedulerplugin/main.go
@@ -23,30 +23,10 @@ import (
"k8s.io/kubernetes/cmd/kube-scheduler/app"
- "github.com/apache/yunikorn-k8shim/pkg/conf"
"github.com/apache/yunikorn-k8shim/pkg/schedulerplugin"
)
-var (
- version string
- date string
- goVersion string
- arch string
- coreSHA string
- siSHA string
- shimSHA string
-)
-
func main() {
- conf.BuildVersion = version
- conf.BuildDate = date
- conf.IsPluginVersion = true
- conf.GoVersion = goVersion
- conf.Arch = arch
- conf.CoreSHA = coreSHA
- conf.SiSHA = siSHA
- conf.ShimSHA = shimSHA
-
command := app.NewSchedulerCommand(
app.WithPlugin(schedulerplugin.SchedulerPluginName, schedulerplugin.NewSchedulerPlugin))
diff --git a/pkg/cmd/shim/main.go b/pkg/cmd/shim/main.go
index 3b760a2b..9f8b4868 100644
--- a/pkg/cmd/shim/main.go
+++ b/pkg/cmd/shim/main.go
@@ -19,7 +19,6 @@
package main
import (
- "fmt"
"os"
"os/signal"
"syscall"
@@ -35,27 +34,8 @@ import (
"github.com/apache/yunikorn-scheduler-interface/lib/go/api"
)
-var (
- version string
- date string
- goVersion string
- arch string
- coreSHA string
- siSHA string
- shimSHA string
-)
-
func main() {
- conf.BuildVersion = version
- conf.BuildDate = date
- conf.IsPluginVersion = false
- conf.GoVersion = goVersion
- conf.Arch = arch
- conf.CoreSHA = coreSHA
- conf.SiSHA = siSHA
- conf.ShimSHA = shimSHA
-
- log.Log(log.Shim).Info(fmt.Sprintf("Build info: version=%s date=%s isPluginVersion=%t goVersion=%s arch=%s coreSHA=%s siSHA=%s shimSHA=%s", version, date, false, goVersion, arch, coreSHA, siSHA, shimSHA))
+ log.Log(log.Shim).Info(conf.GetBuildInfoString())
configMaps, err := client.LoadBootstrapConfigMaps(conf.GetSchedulerNamespace())
if err != nil {
diff --git a/pkg/conf/schedulerconf.go b/pkg/conf/schedulerconf.go
index e9ffb3bd..6d7a4bdc 100644
--- a/pkg/conf/schedulerconf.go
+++ b/pkg/conf/schedulerconf.go
@@ -85,14 +85,14 @@ const (
)
var (
- BuildVersion string
- BuildDate string
- IsPluginVersion bool
- GoVersion string
- Arch string
- CoreSHA string
- SiSHA string
- ShimSHA string
+ buildVersion string
+ buildDate string
+ isPluginVersion string
+ goVersion string
+ arch string
+ coreSHA string
+ siSHA string
+ shimSHA string
)
var once sync.Once
@@ -316,7 +316,7 @@ func CreateDefaultConfig() *SchedulerConf {
SchedulerName: constants.SchedulerName,
Namespace: GetSchedulerNamespace(),
ClusterID: DefaultClusterID,
- ClusterVersion: BuildVersion,
+ ClusterVersion: buildVersion,
PolicyGroup: DefaultPolicyGroup,
Interval: DefaultSchedulingInterval,
KubeConfig: GetDefaultKubeConfigPath(),
@@ -466,3 +466,23 @@ func FlattenConfigMaps(configMaps []*v1.ConfigMap) map[string]string {
}
return result
}
+
+func GetBuildInfoMap() map[string]string {
+ return map[string]string{
+ "buildVersion": buildVersion,
+ "buildDate": buildDate,
+ "isPluginVersion": isPluginVersion,
+ "goVersion": goVersion,
+ "arch": arch,
+ "coreSHA": coreSHA,
+ "siSHA": siSHA,
+ "shimSHA": shimSHA,
+ }
+}
+
+func GetBuildInfoString() string {
+ return fmt.Sprintf(
+ "Build info: version=%s date=%s isPluginVersion=%s goVersion=%s arch=%s coreSHA=%s siSHA=%s shimSHA=%s",
+ buildVersion, buildDate, isPluginVersion, goVersion, arch, coreSHA, siSHA, shimSHA,
+ )
+}
diff --git a/pkg/conf/schedulerconf_test.go b/pkg/conf/schedulerconf_test.go
index 210d654b..096e3796 100644
--- a/pkg/conf/schedulerconf_test.go
+++ b/pkg/conf/schedulerconf_test.go
@@ -64,7 +64,7 @@ func TestOverriddenConfigMap(t *testing.T) {
func assertDefaults(t *testing.T, conf *SchedulerConf) {
assert.Equal(t, conf.ClusterID, DefaultClusterID)
assert.Equal(t, conf.PolicyGroup, DefaultPolicyGroup)
- assert.Equal(t, conf.ClusterVersion, BuildVersion)
+ assert.Equal(t, conf.ClusterVersion, buildVersion)
assert.Equal(t, conf.EventChannelCapacity, DefaultEventChannelCapacity)
assert.Equal(t, conf.DispatchTimeout, DefaultDispatchTimeout)
assert.Equal(t, conf.KubeQPS, DefaultKubeQPS)
diff --git a/pkg/schedulerplugin/scheduler_plugin.go b/pkg/schedulerplugin/scheduler_plugin.go
index 77097e18..05c10fb4 100644
--- a/pkg/schedulerplugin/scheduler_plugin.go
+++ b/pkg/schedulerplugin/scheduler_plugin.go
@@ -218,7 +218,7 @@ func (sp *YuniKornSchedulerPlugin) PostBind(_ context.Context, _ *framework.Cycl
// NewSchedulerPlugin initializes a new plugin and returns it
func NewSchedulerPlugin(_ runtime.Object, handle framework.Handle) (framework.Plugin, error) {
- log.Log(log.ShimSchedulerPlugin).Info(fmt.Sprintf("Build info: version=%s date=%s isPluginVersion=%t goVersion=%s arch=%s coreSHA=%s siSHA=%s shimSHA=%s", conf.BuildVersion, conf.BuildDate, conf.IsPluginVersion, conf.GoVersion, conf.Arch, conf.CoreSHA, conf.SiSHA, conf.ShimSHA))
+ log.Log(log.ShimSchedulerPlugin).Info(conf.GetBuildInfoString())
configMaps, err := client.LoadBootstrapConfigMaps(conf.GetSchedulerNamespace())
if err != nil {
diff --git a/pkg/shim/scheduler.go b/pkg/shim/scheduler.go
index 23185c31..b1a72792 100644
--- a/pkg/shim/scheduler.go
+++ b/pkg/shim/scheduler.go
@@ -21,7 +21,6 @@ package shim
import (
"context"
"os"
- "strconv"
"sync"
"time"
@@ -211,15 +210,7 @@ func (ss *KubernetesShim) doScheduling() {
func (ss *KubernetesShim) registerShimLayer() error {
configuration := conf.GetSchedulerConf()
- buildInfoMap := make(map[string]string)
- buildInfoMap["buildVersion"] = conf.BuildVersion
- buildInfoMap["buildDate"] = conf.BuildDate
- buildInfoMap["isPluginVersion"] = strconv.FormatBool(conf.IsPluginVersion)
- buildInfoMap["goVersion"] = conf.GoVersion
- buildInfoMap["arch"] = conf.Arch
- buildInfoMap["coreSHA"] = conf.CoreSHA
- buildInfoMap["siSHA"] = conf.SiSHA
- buildInfoMap["shimSHA"] = conf.ShimSHA
+ buildInfoMap := conf.GetBuildInfoMap()
configMaps, err := ss.context.LoadConfigMaps()
if err != nil {
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: issues-help@yunikorn.apache.org