Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stale k8s.io/apiserver dependency blocks downstream dependencies updates #106

Open
SlavaUtesinov opened this issue May 31, 2024 · 0 comments

Comments

@SlavaUtesinov
Copy link

SlavaUtesinov commented May 31, 2024

Hi, I have been developing a custom k8s api server extension via API Aggregation Layer. My go.mod file has the following dependencies:

require (
  k8s.io/apimachinery v0.23.1
  k8s.io/apiserver v0.23.1
  k8s.io/klog/v2 v2.30.0
  sigs.k8s.io/apiserver-runtime v1.1.1
  mycustommodule vX.Y.Z
)

but mycustommodule depends on https://pkg.go.dev/go.opentelemetry.io/otel/metric@v1.27.0. As a result I have the following errors after go mod tidy(just extract):

k8s.io/apiserver/pkg/server imports
  k8s.io/apiserver/pkg/endpoints/filters imports
  go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp imports
  go.opentelemetry.io/otel/semconv: module go.opentelemetry.io/otel@latest found (v1.27.0),
  but does not contain package go.opentelemetry.io/otel/semconv
        
k8s.io/apiserver/pkg/server imports
  k8s.io/apiserver/pkg/endpoints/filters imports
  go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp tested by
  go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp.test imports
  go.opentelemetry.io/otel/oteltest imports
  go.opentelemetry.io/otel/metric/number: module go.opentelemetry.io/otel/metric@latest found (v1.27.0),
  but does not contain package go.opentelemetry.io/otel/metric/number 

Solution is to update k8s.io/apiserver up to the latest version https://pkg.go.dev/k8s.io/apiserver@v0.30.1, but at the same time it will make me to update sigs.k8s.io/apiserver-runtime as well up to the latest commit from master. My final go.mod will look like this:

require (
  k8s.io/apimachinery v0.30.1
  k8s.io/apiserver v0.30.1
  k8s.io/klog/v2 v2.120.1
  sigs.k8s.io/apiserver-runtime v1.1.2-0.20231213224704-8af026f5e12a
  mycustommodule vX.Y.Z
)

But at this case I will have a runtime error:

pkg/mod/sigs.k8s.io/apiserver-runtime@v1.1.2-0.20231213224704-8af026f5e12a/internal/sample-apiserver/pkg/cmd/server/start.go:120:43: o.RecommendedOptions.Etcd.StorageConfig.Paging undefined (type storagebackend.Config has no field or method Paging) (exit status 1)
https://github.com/kubernetes-sigs/apiserver-runtime/blob/main/internal/sample-apiserver/pkg/cmd/server/start.go#L120

Could you please update sigs.k8s.io/apiserver-runtime's dependency up to k8s.io/apiserver@v0.30.1?

@SlavaUtesinov SlavaUtesinov changed the title Stale k8s.io/apiserver dependence blocks other dependencies updates Stale k8s.io/apiserver dependency blocks other dependencies updates May 31, 2024
@SlavaUtesinov SlavaUtesinov changed the title Stale k8s.io/apiserver dependency blocks other dependencies updates Stale k8s.io/apiserver dependency blocks downstream dependencies updates May 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant