Merge pull request #123796 from saschagrunert/kube-features-remote-runtime
Decouple `kubelet/cri/remote` package from `pkg/features`
This commit is contained in:
		@@ -29,13 +29,11 @@ import (
 | 
			
		||||
	"google.golang.org/grpc/codes"
 | 
			
		||||
	"google.golang.org/grpc/credentials/insecure"
 | 
			
		||||
	"google.golang.org/grpc/status"
 | 
			
		||||
	utilfeature "k8s.io/apiserver/pkg/util/feature"
 | 
			
		||||
	tracing "k8s.io/component-base/tracing"
 | 
			
		||||
	"k8s.io/klog/v2"
 | 
			
		||||
 | 
			
		||||
	internalapi "k8s.io/cri-api/pkg/apis"
 | 
			
		||||
	runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/features"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/kubelet/util"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -62,7 +60,7 @@ func NewRemoteImageService(endpoint string, connectionTimeout time.Duration, tp
 | 
			
		||||
		grpc.WithAuthority("localhost"),
 | 
			
		||||
		grpc.WithContextDialer(dialer),
 | 
			
		||||
		grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(maxMsgSize)))
 | 
			
		||||
	if utilfeature.DefaultFeatureGate.Enabled(features.KubeletTracing) {
 | 
			
		||||
	if tp != nil {
 | 
			
		||||
		tracingOpts := []otelgrpc.Option{
 | 
			
		||||
			otelgrpc.WithMessageEvents(otelgrpc.ReceivedEvents, otelgrpc.SentEvents),
 | 
			
		||||
			otelgrpc.WithPropagators(tracing.Propagators()),
 | 
			
		||||
 
 | 
			
		||||
@@ -26,11 +26,8 @@ import (
 | 
			
		||||
	sdktrace "go.opentelemetry.io/otel/sdk/trace"
 | 
			
		||||
	"go.opentelemetry.io/otel/sdk/trace/tracetest"
 | 
			
		||||
	oteltrace "go.opentelemetry.io/otel/trace"
 | 
			
		||||
	utilfeature "k8s.io/apiserver/pkg/util/feature"
 | 
			
		||||
	featuregatetesting "k8s.io/component-base/featuregate/testing"
 | 
			
		||||
	internalapi "k8s.io/cri-api/pkg/apis"
 | 
			
		||||
	runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/features"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/kubelet/util"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -49,7 +46,6 @@ func createRemoteImageServiceWithoutTracerProvider(endpoint string, t *testing.T
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestImageServiceSpansWithTP(t *testing.T) {
 | 
			
		||||
	featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.KubeletTracing, true)
 | 
			
		||||
	fakeRuntime, endpoint := createAndStartFakeRemoteRuntime(t)
 | 
			
		||||
	defer func() {
 | 
			
		||||
		fakeRuntime.Stop()
 | 
			
		||||
@@ -76,7 +72,6 @@ func TestImageServiceSpansWithTP(t *testing.T) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestImageServiceSpansWithoutTP(t *testing.T) {
 | 
			
		||||
	featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.KubeletTracing, true)
 | 
			
		||||
	fakeRuntime, endpoint := createAndStartFakeRemoteRuntime(t)
 | 
			
		||||
	defer func() {
 | 
			
		||||
		fakeRuntime.Stop()
 | 
			
		||||
 
 | 
			
		||||
@@ -31,13 +31,11 @@ import (
 | 
			
		||||
	"google.golang.org/grpc/codes"
 | 
			
		||||
	"google.golang.org/grpc/credentials/insecure"
 | 
			
		||||
	"google.golang.org/grpc/status"
 | 
			
		||||
	utilfeature "k8s.io/apiserver/pkg/util/feature"
 | 
			
		||||
	"k8s.io/component-base/logs/logreduction"
 | 
			
		||||
	tracing "k8s.io/component-base/tracing"
 | 
			
		||||
	internalapi "k8s.io/cri-api/pkg/apis"
 | 
			
		||||
	runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1"
 | 
			
		||||
	"k8s.io/klog/v2"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/features"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/kubelet/util"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/probe/exec"
 | 
			
		||||
 | 
			
		||||
@@ -90,7 +88,7 @@ func NewRemoteRuntimeService(endpoint string, connectionTimeout time.Duration, t
 | 
			
		||||
		grpc.WithAuthority("localhost"),
 | 
			
		||||
		grpc.WithContextDialer(dialer),
 | 
			
		||||
		grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(maxMsgSize)))
 | 
			
		||||
	if utilfeature.DefaultFeatureGate.Enabled(features.KubeletTracing) {
 | 
			
		||||
	if tp != nil {
 | 
			
		||||
		tracingOpts := []otelgrpc.Option{
 | 
			
		||||
			otelgrpc.WithMessageEvents(otelgrpc.ReceivedEvents, otelgrpc.SentEvents),
 | 
			
		||||
			otelgrpc.WithPropagators(tracing.Propagators()),
 | 
			
		||||
 
 | 
			
		||||
@@ -28,11 +28,8 @@ import (
 | 
			
		||||
 | 
			
		||||
	"github.com/stretchr/testify/assert"
 | 
			
		||||
	"github.com/stretchr/testify/require"
 | 
			
		||||
	utilfeature "k8s.io/apiserver/pkg/util/feature"
 | 
			
		||||
	featuregatetesting "k8s.io/component-base/featuregate/testing"
 | 
			
		||||
	internalapi "k8s.io/cri-api/pkg/apis"
 | 
			
		||||
	apitest "k8s.io/cri-api/pkg/apis/testing"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/features"
 | 
			
		||||
	fakeremote "k8s.io/kubernetes/pkg/kubelet/cri/remote/fake"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/kubelet/util"
 | 
			
		||||
)
 | 
			
		||||
@@ -70,7 +67,6 @@ func createRemoteRuntimeServiceWithTracerProvider(endpoint string, tp oteltrace.
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestGetSpans(t *testing.T) {
 | 
			
		||||
	featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.KubeletTracing, true)
 | 
			
		||||
	fakeRuntime, endpoint := createAndStartFakeRemoteRuntime(t)
 | 
			
		||||
	defer func() {
 | 
			
		||||
		fakeRuntime.Stop()
 | 
			
		||||
 
 | 
			
		||||
@@ -322,10 +322,16 @@ func PreInitRuntimeService(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
 | 
			
		||||
		remoteImageEndpoint = kubeCfg.ContainerRuntimeEndpoint
 | 
			
		||||
	}
 | 
			
		||||
	var err error
 | 
			
		||||
	if kubeDeps.RemoteRuntimeService, err = remote.NewRemoteRuntimeService(kubeCfg.ContainerRuntimeEndpoint, kubeCfg.RuntimeRequestTimeout.Duration, kubeDeps.TracerProvider); err != nil {
 | 
			
		||||
 | 
			
		||||
	var tp trace.TracerProvider
 | 
			
		||||
	if utilfeature.DefaultFeatureGate.Enabled(features.KubeletTracing) {
 | 
			
		||||
		tp = kubeDeps.TracerProvider
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if kubeDeps.RemoteRuntimeService, err = remote.NewRemoteRuntimeService(kubeCfg.ContainerRuntimeEndpoint, kubeCfg.RuntimeRequestTimeout.Duration, tp); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	if kubeDeps.RemoteImageService, err = remote.NewRemoteImageService(remoteImageEndpoint, kubeCfg.RuntimeRequestTimeout.Duration, kubeDeps.TracerProvider); err != nil {
 | 
			
		||||
	if kubeDeps.RemoteImageService, err = remote.NewRemoteImageService(remoteImageEndpoint, kubeCfg.RuntimeRequestTimeout.Duration, tp); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user