Skip to content

Commit e8c72ad

Browse files
authored
Merge pull request #46830 from thaJeztah/vendor_containerd_1.7.9
vendor: OTEL v1.19.0 / v0.45.0, containerd v1.7.11
2 parents 65973c6 + 4d2a324 commit e8c72ad

158 files changed

Lines changed: 14129 additions & 2418 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

client/hijack.go

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import (
1616
"go.opentelemetry.io/otel"
1717
"go.opentelemetry.io/otel/codes"
1818
"go.opentelemetry.io/otel/propagation"
19-
"go.opentelemetry.io/otel/semconv/v1.17.0/httpconv"
2019
"go.opentelemetry.io/otel/trace"
2120
)
2221

@@ -66,7 +65,8 @@ func (cli *Client) setupHijackConn(req *http.Request, proto string) (_ net.Conn,
6665
}
6766

6867
ctx, span := tp.Tracer("").Start(ctx, req.Method+" "+req.URL.Path, trace.WithSpanKind(trace.SpanKindClient))
69-
span.SetAttributes(httpconv.ClientRequest(req)...)
68+
// FIXME(thaJeztah): httpconv.ClientRequest is now an internal package; replace this with alternative for semconv v1.21
69+
// span.SetAttributes(httpconv.ClientRequest(req)...)
7070
defer func() {
7171
if retErr != nil {
7272
span.RecordError(retErr)
@@ -98,7 +98,27 @@ func (cli *Client) setupHijackConn(req *http.Request, proto string) (_ net.Conn,
9898
// Server hijacks the connection, error 'connection closed' expected
9999
resp, err := clientconn.Do(req)
100100
if resp != nil {
101-
span.SetStatus(httpconv.ClientStatus(resp.StatusCode))
101+
// This is a simplified variant of "httpconv.ClientStatus(resp.StatusCode))";
102+
//
103+
// The main purpose of httpconv.ClientStatus() is to detect whether the
104+
// status was successful (1xx, 2xx, 3xx) or non-successful (4xx/5xx).
105+
//
106+
// It also provides complex logic to *validate* status-codes against
107+
// a hard-coded list meant to exclude "bogus" status codes in "success"
108+
// ranges (1xx, 2xx) and convert them into an error status. That code
109+
// seemed over-reaching (and not accounting for potential future valid
110+
// status codes). We assume we only get valid status codes, and only
111+
// look at status-code ranges.
112+
//
113+
// For reference, see:
114+
// https://github.com/open-telemetry/opentelemetry-go/blob/v1.21.0/semconv/v1.17.0/httpconv/http.go#L85-L89
115+
// https://github.com/open-telemetry/opentelemetry-go/blob/v1.21.0/semconv/internal/v2/http.go#L322-L330
116+
// https://github.com/open-telemetry/opentelemetry-go/blob/v1.21.0/semconv/internal/v2/http.go#L356-L404
117+
code := codes.Unset
118+
if resp.StatusCode >= http.StatusBadRequest {
119+
code = codes.Error
120+
}
121+
span.SetStatus(code, "")
102122
}
103123

104124
//nolint:staticcheck // ignore SA1019 for connecting to old (pre go1.8) daemons

cmd/dockerd/daemon.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ import (
6363
"github.com/spf13/pflag"
6464
"go.opentelemetry.io/otel"
6565
"go.opentelemetry.io/otel/propagation"
66+
"go.opentelemetry.io/otel/sdk/resource"
6667
"tags.cncf.io/container-device-interface/pkg/cdi"
6768
)
6869

@@ -238,6 +239,10 @@ func (cli *DaemonCli) start(opts *daemonOptions) (err error) {
238239

239240
setOTLPProtoDefault()
240241
otel.SetTextMapPropagator(propagation.NewCompositeTextMapPropagator(propagation.TraceContext{}, propagation.Baggage{}))
242+
243+
// Override BuildKit's default Resource so that it matches the semconv
244+
// version that is used in our code.
245+
detect.Resource = resource.Default()
241246
detect.Recorder = detect.NewTraceRecorder()
242247

243248
tp, err := detect.TracerProvider()

testutil/helpers.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import (
1616
"go.opentelemetry.io/otel/propagation"
1717
"go.opentelemetry.io/otel/sdk/resource"
1818
"go.opentelemetry.io/otel/sdk/trace"
19-
semconv "go.opentelemetry.io/otel/semconv/v1.17.0"
19+
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
2020
"gotest.tools/v3/icmd"
2121
)
2222

@@ -34,7 +34,7 @@ func (d devZero) Read(p []byte) (n int, err error) {
3434

3535
var tracingOnce sync.Once
3636

37-
// configureTracing sets up an OTLP tracing exporter for use in tests.
37+
// ConfigureTracing sets up an OTLP tracing exporter for use in tests.
3838
func ConfigureTracing() func(context.Context) {
3939
if os.Getenv("OTEL_EXPORTER_OTLP_ENDPOINT") == "" {
4040
// No OTLP endpoint configured, so don't bother setting up tracing.
@@ -52,9 +52,7 @@ func ConfigureTracing() func(context.Context) {
5252
tp = trace.NewTracerProvider(
5353
trace.WithSpanProcessor(sp),
5454
trace.WithSampler(trace.AlwaysSample()),
55-
trace.WithResource(resource.NewSchemaless(
56-
attribute.KeyValue{Key: semconv.ServiceNameKey, Value: attribute.StringValue("integration-test-client")},
57-
)),
55+
trace.WithResource(resource.NewSchemaless(semconv.ServiceName("integration-test-client"))),
5856
)
5957
otel.SetTracerProvider(tp)
6058

vendor.mod

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ require (
2525
github.com/bsphere/le_go v0.0.0-20200109081728-fc06dab2caa8
2626
github.com/cloudflare/cfssl v1.6.4
2727
github.com/containerd/cgroups/v3 v3.0.2
28-
github.com/containerd/containerd v1.7.8
28+
github.com/containerd/containerd v1.7.11
2929
github.com/containerd/continuity v0.4.2
3030
github.com/containerd/fifo v1.1.0
3131
github.com/containerd/log v0.1.0
@@ -61,7 +61,7 @@ require (
6161
github.com/miekg/dns v1.1.43
6262
github.com/mistifyio/go-zfs/v3 v3.0.1
6363
github.com/mitchellh/copystructure v1.2.0
64-
github.com/moby/buildkit v0.12.4
64+
github.com/moby/buildkit v0.12.5-0.20231208203051-3b6880d2a00f // v0.12 branch (v0.12.5-dev)
6565
github.com/moby/ipvs v1.1.0
6666
github.com/moby/locker v1.0.1
6767
github.com/moby/patternmatcher v0.6.0
@@ -92,12 +92,12 @@ require (
9292
github.com/vishvananda/netlink v1.2.1-beta.2
9393
github.com/vishvananda/netns v0.0.4
9494
go.etcd.io/bbolt v1.3.7
95-
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.40.0
96-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.40.0
97-
go.opentelemetry.io/otel v1.14.0
98-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.14.0
99-
go.opentelemetry.io/otel/sdk v1.14.0
100-
go.opentelemetry.io/otel/trace v1.14.0
95+
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0
96+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0
97+
go.opentelemetry.io/otel v1.19.0
98+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0
99+
go.opentelemetry.io/otel/sdk v1.19.0
100+
go.opentelemetry.io/otel/trace v1.19.0
101101
golang.org/x/mod v0.11.0
102102
golang.org/x/net v0.17.0
103103
golang.org/x/sync v0.3.0
@@ -196,11 +196,10 @@ require (
196196
go.etcd.io/etcd/server/v3 v3.5.6 // indirect
197197
go.opencensus.io v0.24.0 // indirect
198198
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.40.0 // indirect
199-
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.14.0 // indirect
200-
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.14.0 // indirect
201-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.14.0 // indirect
202-
go.opentelemetry.io/otel/metric v0.37.0 // indirect
203-
go.opentelemetry.io/proto/otlp v0.19.0 // indirect
199+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 // indirect
200+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0 // indirect
201+
go.opentelemetry.io/otel/metric v1.19.0 // indirect
202+
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
204203
go.uber.org/atomic v1.9.0 // indirect
205204
go.uber.org/multierr v1.8.0 // indirect
206205
go.uber.org/zap v1.21.0 // indirect

0 commit comments

Comments
 (0)