Skip to content

Commit 67e2874

Browse files
authored
Merge pull request #117 from DirectXMan12/bug/glog-hunting-mark-2
glog elimination round 2
2 parents 9f64e28 + 78ef8b2 commit 67e2874

File tree

15 files changed

+98
-59
lines changed

15 files changed

+98
-59
lines changed

Gopkg.lock

Lines changed: 10 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Gopkg.toml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -54,17 +54,17 @@ required = ["sigs.k8s.io/testing_frameworks/integration",
5454
name = "go.uber.org/zap"
5555
version = "1.8.0"
5656

57-
[[constraint]]
58-
name = "sigs.k8s.io/testing_frameworks"
59-
revision = "f53464b8b84b4507805a0b033a8377b225163fea"
60-
61-
[[constraint]]
62-
name = "github.com/go-logr/logr"
63-
revision = "9fb12b3b21c5415d16ac18dc5cd42c1cfdd40c4e"
57+
# these are not listed explicitly until we get version tags,
58+
# since dep doesn't like bare revision dependencies
6459

65-
[[constraint]]
66-
name = "github.com/golang/glog"
67-
revision = "23def4e6c14b4da8ac2ed8007337bc5eb5007998"
60+
# [[constraint]]
61+
# name = "sigs.k8s.io/testing_frameworks"
62+
#
63+
# [[constraint]]
64+
# name = "github.com/go-logr/logr"
65+
#
66+
# [[constraint]]
67+
# name = "github.com/go-logr/zapr"
6868

6969
# For dependency below: Refer to issue https://github.com/golang/dep/issues/1799
7070
[[override]]

pkg/internal/admission/http.go

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,14 @@ import (
2121
"io/ioutil"
2222
"net/http"
2323

24-
"github.com/golang/glog"
2524
"k8s.io/api/admission/v1beta1"
2625
"k8s.io/apimachinery/pkg/runtime"
26+
logf "sigs.k8s.io/controller-runtime/pkg/runtime/log"
27+
)
28+
29+
var (
30+
// TODO(directxman12): this shouldn't be a global log
31+
log = logf.KBLog.WithName("admission").WithName("http-handler")
2732
)
2833

2934
func (h httpHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
@@ -37,15 +42,15 @@ func (h httpHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
3742
// verify the content type is accurate
3843
contentType := r.Header.Get("Content-Type")
3944
if contentType != "application/json" {
40-
glog.Errorf("contentType=%s, expect application/json", contentType)
45+
log.Error(nil, "invalid content type, expected application/json", "context type", contentType)
4146
return
4247
}
4348

4449
var reviewResponse *v1beta1.AdmissionResponse
4550
ar := v1beta1.AdmissionReview{}
4651
deserializer := codecs.UniversalDeserializer()
4752
if _, _, err := deserializer.Decode(body, nil, &ar); err != nil {
48-
glog.Error(err)
53+
log.Error(err, "unable to decode request body")
4954
reviewResponse = ErrorResponse(err)
5055
} else {
5156
reviewResponse = h.admit(ar)
@@ -62,10 +67,11 @@ func (h httpHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
6267

6368
resp, err := json.Marshal(response)
6469
if err != nil {
65-
glog.Error(err)
70+
log.Error(err, "unable to marshal response")
71+
return
6672
}
6773
if _, err := w.Write(resp); err != nil {
68-
glog.Error(err)
74+
log.Error(err, "unable to write response")
6975
}
7076
}
7177

pkg/internal/recorder/recorder.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package recorder
1919
import (
2020
"fmt"
2121

22-
"github.com/golang/glog"
22+
"github.com/go-logr/logr"
2323
corev1 "k8s.io/api/core/v1"
2424
"k8s.io/apimachinery/pkg/runtime"
2525
"k8s.io/client-go/kubernetes"
@@ -34,19 +34,24 @@ type provider struct {
3434
scheme *runtime.Scheme
3535
// eventBroadcaster to create new recorder instance
3636
eventBroadcaster record.EventBroadcaster
37+
// logger is the logger to use when logging diagnostic event info
38+
logger logr.Logger
3739
}
3840

3941
// NewProvider create a new Provider instance.
40-
func NewProvider(config *rest.Config, scheme *runtime.Scheme) (recorder.Provider, error) {
42+
func NewProvider(config *rest.Config, scheme *runtime.Scheme, logger logr.Logger) (recorder.Provider, error) {
4143
clientSet, err := kubernetes.NewForConfig(config)
4244
if err != nil {
4345
return nil, fmt.Errorf("failed to init clientSet: %v", err)
4446
}
4547

46-
p := &provider{scheme: scheme}
48+
p := &provider{scheme: scheme, logger: logger}
4749
p.eventBroadcaster = record.NewBroadcaster()
48-
p.eventBroadcaster.StartLogging(glog.Infof)
4950
p.eventBroadcaster.StartRecordingToSink(&typedcorev1.EventSinkImpl{Interface: clientSet.CoreV1().Events("")})
51+
p.eventBroadcaster.StartEventWatcher(
52+
func(e *corev1.Event) {
53+
p.logger.V(1).Info(e.Type, "object", e.InvolvedObject, "reason", e.Reason, "message", e.Message)
54+
})
5055

5156
return p, nil
5257
}

pkg/internal/recorder/recorder_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ limitations under the License.
1717
package recorder_test
1818

1919
import (
20+
tlog "github.com/go-logr/logr/testing"
2021
. "github.com/onsi/ginkgo"
2122
. "github.com/onsi/gomega"
2223
"k8s.io/client-go/kubernetes/scheme"
@@ -26,7 +27,7 @@ import (
2627
var _ = Describe("recorder.Provider", func() {
2728
Describe("NewProvider", func() {
2829
It("should return a provider instance and a nil error.", func() {
29-
provider, err := recorder.NewProvider(cfg, scheme.Scheme)
30+
provider, err := recorder.NewProvider(cfg, scheme.Scheme, tlog.NullLogger{})
3031
Expect(provider).NotTo(BeNil())
3132
Expect(err).NotTo(HaveOccurred())
3233
})
@@ -35,13 +36,13 @@ var _ = Describe("recorder.Provider", func() {
3536
// Invalid the config
3637
cfg1 := *cfg
3738
cfg1.ContentType = "invalid-type"
38-
_, err := recorder.NewProvider(&cfg1, scheme.Scheme)
39+
_, err := recorder.NewProvider(&cfg1, scheme.Scheme, tlog.NullLogger{})
3940
Expect(err.Error()).To(ContainSubstring("failed to init clientSet"))
4041
})
4142
})
4243
Describe("GetEventRecorder", func() {
4344
It("should return a recorder instance.", func() {
44-
provider, err := recorder.NewProvider(cfg, scheme.Scheme)
45+
provider, err := recorder.NewProvider(cfg, scheme.Scheme, tlog.NullLogger{})
4546
Expect(err).NotTo(HaveOccurred())
4647

4748
recorder := provider.GetEventRecorderFor("test")

pkg/manager/manager.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"fmt"
2121
"time"
2222

23+
"github.com/go-logr/logr"
2324
"k8s.io/apimachinery/pkg/api/meta"
2425
"k8s.io/apimachinery/pkg/runtime"
2526
"k8s.io/client-go/kubernetes/scheme"
@@ -85,7 +86,7 @@ type Options struct {
8586
// Dependency injection for testing
8687
newCache func(config *rest.Config, opts cache.Options) (cache.Cache, error)
8788
newClient func(config *rest.Config, options client.Options) (client.Client, error)
88-
newRecorderProvider func(config *rest.Config, scheme *runtime.Scheme) (recorder.Provider, error)
89+
newRecorderProvider func(config *rest.Config, scheme *runtime.Scheme, logger logr.Logger) (recorder.Provider, error)
8990
}
9091

9192
// Runnable allows a component to be started.
@@ -132,7 +133,9 @@ func New(config *rest.Config, options Options) (Manager, error) {
132133
return nil, err
133134
}
134135
// Create the recorder provider to inject event recorders for the components.
135-
recorderProvider, err := options.newRecorderProvider(config, options.Scheme)
136+
// TODO(directxman12): the log for the event provider should have a context (name, tags, etc) specific
137+
// to the particular controller that it's being injected into, rather than a generic one like is here.
138+
recorderProvider, err := options.newRecorderProvider(config, options.Scheme, log.WithName("events"))
136139
if err != nil {
137140
return nil, err
138141
}

pkg/manager/manager_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package manager
1919
import (
2020
"fmt"
2121

22+
"github.com/go-logr/logr"
2223
. "github.com/onsi/ginkgo"
2324
. "github.com/onsi/gomega"
2425
"k8s.io/apimachinery/pkg/api/meta"
@@ -86,7 +87,7 @@ var _ = Describe("manger.Manager", func() {
8687
})
8788
It("should return an error it can't create a recorder.Provider", func(done Done) {
8889
m, err := New(cfg, Options{
89-
newRecorderProvider: func(config *rest.Config, scheme *runtime.Scheme) (recorder.Provider, error) {
90+
newRecorderProvider: func(config *rest.Config, scheme *runtime.Scheme, logger logr.Logger) (recorder.Provider, error) {
9091
return nil, fmt.Errorf("expected error")
9192
}})
9293
Expect(m).To(BeNil())

vendor/github.com/mitchellh/mapstructure/go.mod

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/syscall_freebsd.go

Lines changed: 11 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go

Lines changed: 2 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go

Lines changed: 2 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go

Lines changed: 2 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/k8s.io/apiserver/pkg/admission/plugin/webhook/mutating/dispatcher.go

Lines changed: 13 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)