Skip to content

Commit

Permalink
bugfix: modify clogs to log
Browse files Browse the repository at this point in the history
  • Loading branch information
yan234280533 committed Dec 10, 2021
1 parent a2bf9fb commit 618c625
Show file tree
Hide file tree
Showing 27 changed files with 140 additions and 571 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ test: manifests fmt vet goimports ## Run tests.
build: craned metric-adapter

.PHONY: all
all: test lint vet craned crane-agentmetric-adapter
all: test lint vet craned crane-agent metric-adapter

.PHONY: craned
craned: ## Build binary with the crane manager.
Expand Down
41 changes: 12 additions & 29 deletions cmd/crane-agent/app/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"context"
"flag"
"fmt"
"github.com/gocrane/crane/pkg/ensurance/cache"
"os"

"github.com/spf13/cobra"
Expand All @@ -18,14 +17,13 @@ import (
ensuaranceapi "github.com/gocrane/api/ensurance/v1alpha1"
ensuaranceset "github.com/gocrane/api/pkg/generated/clientset/versioned"
"github.com/gocrane/crane/cmd/crane-agent/app/options"
ensurancecontroller "github.com/gocrane/crane/pkg/controller/ensurance"
"github.com/gocrane/crane/pkg/ensurance/analyzer"
"github.com/gocrane/crane/pkg/ensurance/avoidance"
"github.com/gocrane/crane/pkg/ensurance/executor"
einformer "github.com/gocrane/crane/pkg/ensurance/informer"
"github.com/gocrane/crane/pkg/ensurance/manager"
"github.com/gocrane/crane/pkg/ensurance/statestore"
"github.com/gocrane/crane/pkg/utils/clogs"
"github.com/gocrane/crane/pkg/utils/log"
)

var (
Expand All @@ -47,11 +45,11 @@ func NewManagerCommand(ctx context.Context) *cobra.Command {
Long: `The crane agent is responsible agent in crane`,
Run: func(cmd *cobra.Command, args []string) {
if err := opts.Complete(); err != nil {
clogs.Log().Error(err, "opts complete failed,exit")
log.Logger().Error(err, "opts complete failed,exit")
os.Exit(255)
}
if err := opts.Validate(); err != nil {
clogs.Log().Error(err, "opts validate failed,exit")
log.Logger().Error(err, "opts validate failed,exit")
os.Exit(255)
}

Expand All @@ -78,21 +76,21 @@ func Run(ctx context.Context, opts *options.Options) error {
LeaderElection: false,
})
if err != nil {
clogs.Log().Error(err, "Unable to start crane agent")
log.Logger().Error(err, "Unable to start crane agent")
os.Exit(1)
}

if err := mgr.AddHealthzCheck("ping", healthz.Ping); err != nil {
clogs.Log().Error(err, "Failed to add health check endpoint")
log.Logger().Error(err, "Failed to add health check endpoint")
return err
}

if opts.HostnameOverride == "" {
clogs.Log().Error(err, "HostnameOverride must be set as the k8s node name")
log.Logger().Error(err, "HostnameOverride must be set as the k8s node name")
os.Exit(1)
}

clogs.Log().V(2).Info(fmt.Sprintf("opts %v", opts))
log.Logger().V(2).Info(fmt.Sprintf("opts %v", opts))

// init context
ec := initializationContext(mgr, opts)
Expand All @@ -103,21 +101,21 @@ func Run(ctx context.Context, opts *options.Options) error {

// start managers
for _, v := range components {
clogs.Log().V(2).Info(fmt.Sprintf("Starting manager %s", v.Name()))
log.Logger().V(2).Info(fmt.Sprintf("Starting manager %s", v.Name()))
v.Run(ec.GetStopChannel())
}

clogs.Log().V(2).Info("Starting crane agent")
log.Logger().V(2).Info("Starting crane agent")
if err := mgr.Start(ctx); err != nil {
clogs.Log().Error(err, "problem running crane manager")
log.Logger().Error(err, "problem running crane manager")
return err
}

return nil
}

func initializationComponents(mgr ctrl.Manager, opts *options.Options, ec *einformer.Context) []manager.Manager {
clogs.Log().V(2).Info(fmt.Sprintf("initializationComponents"))
log.Logger().V(2).Info(fmt.Sprintf("initializationComponents"))

var managers []manager.Manager
podInformer := ec.GetPodInformer()
Expand All @@ -140,26 +138,11 @@ func initializationComponents(mgr ctrl.Manager, opts *options.Options, ec *einfo
avoidanceManager := avoidance.NewAvoidanceManager(ec.GetKubeClient(), opts.HostnameOverride, podInformer, nodeInformer, avoidanceInformer, noticeCh)
managers = append(managers, avoidanceManager)

// init nep controller
nepRecorder := mgr.GetEventRecorderFor("node-qos-controller")
if err := (&ensurancecontroller.NodeQOSEnsurancePolicyController{
Client: mgr.GetClient(),
Log: clogs.Log().WithName("node-qos-controller"),
Scheme: mgr.GetScheme(),
RestMapper: mgr.GetRESTMapper(),
Recorder: nepRecorder,
Cache: &cache.NodeQOSEnsurancePolicyCache{},
StateStore: stateStoreManager,
}).SetupWithManager(mgr); err != nil {
clogs.Log().Error(err, "unable to create controller", "controller", "NodeQOSEnsurancePolicyController")
os.Exit(1)
}

return managers
}

func initializationContext(mgr ctrl.Manager, opts *options.Options) *einformer.Context {
clogs.Log().V(2).Info(fmt.Sprintf("initializationContext"))
log.Logger().V(2).Info(fmt.Sprintf("initializationContext"))

generatedClient := kubernetes.NewForConfigOrDie(mgr.GetConfig())
clientSet := ensuaranceset.NewForConfigOrDie(mgr.GetConfig())
Expand Down
4 changes: 2 additions & 2 deletions cmd/crane-agent/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ import (
"k8s.io/component-base/logs"

"github.com/gocrane/crane/cmd/crane-agent/app"
"github.com/gocrane/crane/pkg/utils/clogs"
"github.com/gocrane/crane/pkg/utils/log"
)

// crane-agent main.
func main() {
logs.InitLogs()
defer logs.FlushLogs()

clogs.InitLogs("crane-agent")
log.Init("crane-agent")

ctx := genericapiserver.SetupSignalContext()

Expand Down
18 changes: 10 additions & 8 deletions cmd/craned/app/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,19 @@ import (
"context"
"flag"
"fmt"
"os"
"strings"

"github.com/gocrane/crane/pkg/controller/tsp"
predict "github.com/gocrane/crane/pkg/prediction"
"github.com/gocrane/crane/pkg/prediction/dsp"
"github.com/gocrane/crane/pkg/prediction/percentile"
"github.com/gocrane/crane/pkg/providers"
"github.com/gocrane/crane/pkg/providers/mock"
"github.com/gocrane/crane/pkg/providers/prom"
"k8s.io/apimachinery/pkg/runtime"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
clientgoscheme "k8s.io/client-go/kubernetes/scheme"
"os"
ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/healthz"

Expand Down Expand Up @@ -105,7 +114,6 @@ func initializationWebhooks(mgr ctrl.Manager, opts *options.Options) {
}

// initializationControllers setup controllers with manager
<<<<<<< HEAD
func initializationControllers(ctx context.Context, mgr ctrl.Manager, opts *options.Options) {
log.Logger().Info(fmt.Sprintf("opts %v", opts))
if err := (&ehpa.EffectiveHPAController{
Expand All @@ -120,12 +128,6 @@ func initializationControllers(ctx context.Context, mgr ctrl.Manager, opts *opti
}

if err := (&ehpa.SubstituteController{
=======
func initializationControllers(mgr ctrl.Manager, opts *options.Options) {
clogs.Log().V(1).Info(fmt.Sprintf("opts %v", opts))
hpaRecorder := mgr.GetEventRecorderFor("advanced-hpa-controller")
if err := (&hpa.AdvancedHPAController{
>>>>>>> 3c489e2 (the first commit for ensurance, add node-qos-controller, collect, analyzer and avoidance)
Client: mgr.GetClient(),
Log: log.Logger().WithName("substitute-controller"),
Scheme: mgr.GetScheme(),
Expand Down
18 changes: 9 additions & 9 deletions docs/20211118how_to_logging.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import (
"k8s.io/component-base/logs"
ctrl "sigs.k8s.io/controller-runtime"
"github.com/gocrane/crane/pkg/utils/clogs"
"github.com/gocrane/crane/pkg/utils/log"
)
func main() {
Expand All @@ -38,12 +38,12 @@ func main() {

```
import (
"github.com/gocrane/crane/pkg/utils/clogs"
"github.com/gocrane/crane/pkg/utils/log"
)
func A() {
clogs.Log().V(2).Info("run manager")
clogs.Log().Error(err, "opts validate failed")
log.Logger().V(2).Info("run manager")
log.Logger().Error(err, "opts validate failed")
}
```
Expand All @@ -52,12 +52,12 @@ func A() {

```
import (
"github.com/gocrane/crane/pkg/utils/clogs"
"github.com/gocrane/crane/pkg/utils/log"
)
func A() {
clogs.Log().WithName("extent-name").Info("run manager")
clogs.Log().WithName("extent-name").Error(err, "opts validate failed")
log.Logger().WithName("extent-name").Info("run manager")
log.Logger().WithName("extent-name").Error(err, "opts validate failed")
}
```
Expand All @@ -66,7 +66,7 @@ when in controller, we can initialize a logger when new the controller manager
```
&xxxx.xxxxxController{
Client: mgr.GetClient(),
Log: clogs.Log().WithName("extent-name"),
Log: log.Logger().WithName("extent-name"),
Scheme: mgr.GetScheme(),
}
```
Expand All @@ -81,5 +81,5 @@ then in the controller logics to use the log like this(p is the ptr of the contr

we can use `GenerateKey` to print the info of resource object, like this:
```
clogs.Log().V(2).Info("object %s is updated successfully", clogs.GenerateKey(object.Name, object.Namespace))
log.Logger().V(2).Info("object %s is updated successfully", clogs.GenerateKey(object.Name, object.Namespace))
```
38 changes: 12 additions & 26 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,24 @@ module github.com/gocrane/crane
go 1.17

require (
github.com/go-echarts/go-echarts/v2 v2.2.4
github.com/go-logr/logr v0.4.0
github.com/gocrane/api v0.0.4
github.com/google/go-cmp v0.5.6 // indirect
github.com/mjibson/go-dsp v0.0.0-20180508042940-11479a337f12
github.com/prometheus/client_golang v1.11.0
github.com/prometheus/common v0.26.0
github.com/shirou/gopsutil v3.21.10+incompatible
github.com/spf13/cobra v1.2.1
github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.7.0
golang.org/x/net v0.0.0-20210520170846-37e1c6afe023
golang.org/x/tools v0.1.5 // indirect
google.golang.org/grpc v1.38.0
k8s.io/api v0.22.3
k8s.io/apimachinery v0.22.3
k8s.io/apiserver v0.22.3
k8s.io/autoscaler/vertical-pod-autoscaler v0.9.2
k8s.io/client-go v0.22.3
k8s.io/component-base v0.22.3
k8s.io/cri-api v0.22.3
Expand All @@ -21,20 +29,12 @@ require (
k8s.io/metrics v0.22.3
sigs.k8s.io/controller-runtime v0.10.2
sigs.k8s.io/custom-metrics-apiserver v1.22.0
github.com/go-echarts/go-echarts/v2 v2.2.4
k8s.io/autoscaler/vertical-pod-autoscaler v0.9.2
github.com/gocrane/api v0.0.0-20211207120055-f3b9cee38e7f
github.com/google/go-cmp v0.5.6 // indirect
github.com/mjibson/go-dsp v0.0.0-20180508042940-11479a337f12
github.com/prometheus/client_golang v1.11.0
github.com/prometheus/common v0.26.0
github.com/stretchr/testify v1.7.0
golang.org/x/tools v0.1.5 // indirect

)

require github.com/davecgh/go-spew v1.1.1

require (
k8s.io/kube-openapi v0.0.0-20210817084001-7fbd8d59e5b8 // indirect
github.com/Microsoft/go-winio v0.4.15 // indirect
github.com/NYTimes/gziphandler v1.1.1 // indirect
github.com/PuerkitoBio/purell v1.1.1 // indirect
Expand All @@ -45,7 +45,6 @@ require (
github.com/cespare/xxhash/v2 v2.1.1 // indirect
github.com/coreos/go-semver v0.3.0 // indirect
github.com/coreos/go-systemd/v22 v22.3.2 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/emicklei/go-restful v2.15.0+incompatible // indirect
github.com/emicklei/go-restful-swagger12 v0.0.0-20201014110547-68ccff494617 // indirect
github.com/evanphx/json-patch v4.11.0+incompatible // indirect
Expand Down Expand Up @@ -112,28 +111,15 @@ require (
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
k8s.io/apiextensions-apiserver v0.22.2 // indirect
k8s.io/kube-openapi v0.0.0-20210817084001-7fbd8d59e5b8 // indirect
k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a // indirect
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.1.2 // indirect
sigs.k8s.io/yaml v1.2.0 // indirect
)


require (
github.com/go-echarts/go-echarts/v2 v2.2.4
github.com/gocrane/api v0.0.0-20211209141951-4dc46c2c6a7a
github.com/google/go-cmp v0.5.6 // indirect
github.com/mjibson/go-dsp v0.0.0-20180508042940-11479a337f12
github.com/prometheus/client_golang v1.11.0
github.com/prometheus/common v0.26.0
github.com/stretchr/testify v1.7.0
golang.org/x/tools v0.1.5 // indirect
k8s.io/autoscaler/vertical-pod-autoscaler v0.9.2
k8s.io/kube-openapi v0.0.0-20210817084001-7fbd8d59e5b8 // indirect
)

replace (
github.com/gocrane/api => github.com/yan234280533/api2 v0.0.0-20211202040236-9fdcc4deae14
github.com/gocrane/api => github.com/yan234280533/api2 v0.0.0-20211210071841-99f6e00814d4
golang.org/x/net => github.com/golang/net v0.0.0-20210825183410-e898025ed96a
k8s.io/api => k8s.io/api v0.22.3
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.22.3
Expand Down
Loading

0 comments on commit 618c625

Please sign in to comment.