You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@yunikorn.apache.org by "Weiwei Yang (Jira)" <ji...@apache.org> on 2020/08/13 22:49:00 UTC

[jira] [Comment Edited] (YUNIKORN-373) Upgrade Kubernetes dependency to 1.16

    [ https://issues.apache.org/jira/browse/YUNIKORN-373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17177361#comment-17177361 ] 

Weiwei Yang edited comment on YUNIKORN-373 at 8/13/20, 10:48 PM:
-----------------------------------------------------------------

Updating K8s to 1.16.13, which is the latest available version for v1.16.x.
I have to remove the APIs package and also the dependency on the spark-operator, seems these two packages are not compatible with this new version.
We will need to regenerate the APIs package once we have done the upgrade.
Now I am facing one issue:

{code}
➜  incubator-yunikorn-k8shim git:(master) ✗ make build
mkdir -p _output/bin
mkdir -p _output/admission-controllers/
building scheduler binary
go build -o=_output/bin/k8s_yunikorn_scheduler -race -ldflags \
        '-X main.version=latest -X main.date=2020-08-13T15:36:13-0700' \
    ./pkg/shim/
# github.com/coreos/etcd/clientv3/balancer/picker
../../../../go/pkg/mod/github.com/coreos/etcd@v3.3.17+incompatible/clientv3/balancer/picker/err.go:37:44: undefined: balancer.PickOptions
../../../../go/pkg/mod/github.com/coreos/etcd@v3.3.17+incompatible/clientv3/balancer/picker/roundrobin_balanced.go:55:54: undefined: balancer.PickOptions
# github.com/coreos/etcd/clientv3/balancer/resolver/endpoint
../../../../go/pkg/mod/github.com/coreos/etcd@v3.3.17+incompatible/clientv3/balancer/resolver/endpoint/endpoint.go:114:78: undefined: resolver.BuildOption
../../../../go/pkg/mod/github.com/coreos/etcd@v3.3.17+incompatible/clientv3/balancer/resolver/endpoint/endpoint.go:182:31: undefined: resolver.ResolveNowOption
# k8s.io/component-base/metrics/legacyregistry
../../../../go/pkg/mod/k8s.io/component-base@v0.16.13/metrics/legacyregistry/registry.go:44:9: undefined: prometheus.InstrumentHandler
make: *** [build] Error 2

We are not directly depending on etcd, not sure why this happens:

{code}
➜  incubator-yunikorn-k8shim git:(master) ✗ go mod graph | grep coreos                                            
golang.org/x/build@v0.0.0-20190927031335-2835ba2e683f github.com/coreos/go-systemd@v0.0.0-20181012123002-c6f51f82210d
github.com/spf13/viper@v1.3.2 github.com/coreos/etcd@v3.3.10+incompatible
github.com/spf13/viper@v1.3.2 github.com/coreos/go-etcd@v2.0.0+incompatible
github.com/spf13/viper@v1.3.2 github.com/coreos/go-semver@v0.2.0
k8s.io/apiextensions-apiserver@v0.0.0 github.com/coreos/etcd@v3.3.17+incompatible
k8s.io/apiserver@v0.16.13 github.com/coreos/pkg@v0.0.0-20180108230652-97fdf19511ea
k8s.io/apiserver@v0.16.13 github.com/coreos/go-systemd@v0.0.0-20181012123002-c6f51f82210d
k8s.io/apiserver@v0.16.13 github.com/coreos/go-semver@v0.3.0
k8s.io/apiserver@v0.16.13 github.com/coreos/go-oidc@v2.1.0+incompatible
k8s.io/apiserver@v0.16.13 github.com/coreos/etcd@v3.3.17+incompatible
k8s.io/apiserver@v0.16.13 github.com/coreos/bbolt@v1.3.3
k8s.io/apiserver@v0.0.0 github.com/coreos/bbolt@v1.3.3
k8s.io/apiserver@v0.0.0 github.com/coreos/etcd@v3.3.17+incompatible
k8s.io/apiserver@v0.0.0 github.com/coreos/go-oidc@v2.1.0+incompatible
k8s.io/apiserver@v0.0.0 github.com/coreos/go-semver@v0.3.0
k8s.io/apiserver@v0.0.0 github.com/coreos/go-systemd@v0.0.0-20181012123002-c6f51f82210d
k8s.io/apiserver@v0.0.0 github.com/coreos/pkg@v0.0.0-20180108230652-97fdf19511ea
k8s.io/kubernetes@v1.16.13 github.com/coreos/rkt@v1.30.0
k8s.io/kubernetes@v1.16.13 github.com/coreos/pkg@v0.0.0-20180108230652-97fdf19511ea
k8s.io/kubernetes@v1.16.13 github.com/coreos/go-systemd@v0.0.0-20181012123002-c6f51f82210d
k8s.io/kubernetes@v1.16.13 github.com/coreos/etcd@v3.3.17+incompatible
{code}



was (Author: wwei):
Updating K8s to 1.16.13, which is the latest available version for v1.16.x.
I have to remove the APIs package and also the dependency on the spark-operator, seems these two packages are not compatible with this new version.
We will need to regenerate the APIs package once we have done the upgrade.
Now I am facing one issue:

{code}
➜  incubator-yunikorn-k8shim git:(master) ✗ make build
mkdir -p _output/bin
mkdir -p _output/admission-controllers/
building scheduler binary
go build -o=_output/bin/k8s_yunikorn_scheduler -race -ldflags \
        '-X main.version=latest -X main.date=2020-08-13T15:36:13-0700' \
    ./pkg/shim/
# github.com/coreos/etcd/clientv3/balancer/picker
../../../../go/pkg/mod/github.com/coreos/etcd@v3.3.17+incompatible/clientv3/balancer/picker/err.go:37:44: undefined: balancer.PickOptions
../../../../go/pkg/mod/github.com/coreos/etcd@v3.3.17+incompatible/clientv3/balancer/picker/roundrobin_balanced.go:55:54: undefined: balancer.PickOptions
# github.com/coreos/etcd/clientv3/balancer/resolver/endpoint
../../../../go/pkg/mod/github.com/coreos/etcd@v3.3.17+incompatible/clientv3/balancer/resolver/endpoint/endpoint.go:114:78: undefined: resolver.BuildOption
../../../../go/pkg/mod/github.com/coreos/etcd@v3.3.17+incompatible/clientv3/balancer/resolver/endpoint/endpoint.go:182:31: undefined: resolver.ResolveNowOption
# k8s.io/component-base/metrics/legacyregistry
../../../../go/pkg/mod/k8s.io/component-base@v0.16.13/metrics/legacyregistry/registry.go:44:9: undefined: prometheus.InstrumentHandler
make: *** [build] Error 2

We are not directly depending on etcd, not sure why this happens:

{code}
➜  incubator-yunikorn-k8shim git:(master) ✗ go mod graph | grep coreos                                            
golang.org/x/build@v0.0.0-20190927031335-2835ba2e683f github.com/coreos/go-systemd@v0.0.0-20181012123002-c6f51f82210d
github.com/spf13/viper@v1.3.2 github.com/coreos/etcd@v3.3.10+incompatible
github.com/spf13/viper@v1.3.2 github.com/coreos/go-etcd@v2.0.0+incompatible
github.com/spf13/viper@v1.3.2 github.com/coreos/go-semver@v0.2.0
k8s.io/apiextensions-apiserver@v0.0.0 github.com/coreos/etcd@v3.3.17+incompatible
k8s.io/apiserver@v0.16.13 github.com/coreos/pkg@v0.0.0-20180108230652-97fdf19511ea
k8s.io/apiserver@v0.16.13 github.com/coreos/go-systemd@v0.0.0-20181012123002-c6f51f82210d
k8s.io/apiserver@v0.16.13 github.com/coreos/go-semver@v0.3.0
k8s.io/apiserver@v0.16.13 github.com/coreos/go-oidc@v2.1.0+incompatible
k8s.io/apiserver@v0.16.13 github.com/coreos/etcd@v3.3.17+incompatible
k8s.io/apiserver@v0.16.13 github.com/coreos/bbolt@v1.3.3
k8s.io/apiserver@v0.0.0 github.com/coreos/bbolt@v1.3.3
k8s.io/apiserver@v0.0.0 github.com/coreos/etcd@v3.3.17+incompatible
k8s.io/apiserver@v0.0.0 github.com/coreos/go-oidc@v2.1.0+incompatible
k8s.io/apiserver@v0.0.0 github.com/coreos/go-semver@v0.3.0
k8s.io/apiserver@v0.0.0 github.com/coreos/go-systemd@v0.0.0-20181012123002-c6f51f82210d
k8s.io/apiserver@v0.0.0 github.com/coreos/pkg@v0.0.0-20180108230652-97fdf19511ea
k8s.io/kubernetes@v1.16.13 github.com/coreos/rkt@v1.30.0
k8s.io/kubernetes@v1.16.13 github.com/coreos/pkg@v0.0.0-20180108230652-97fdf19511ea
k8s.io/kubernetes@v1.16.13 github.com/coreos/go-systemd@v0.0.0-20181012123002-c6f51f82210d
k8s.io/kubernetes@v1.16.13 github.com/coreos/etcd@v3.3.17+incompatible
{code}
{code}


> Upgrade Kubernetes dependency to 1.16
> -------------------------------------
>
>                 Key: YUNIKORN-373
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-373
>             Project: Apache YuniKorn
>          Issue Type: Improvement
>          Components: shim - kubernetes
>            Reporter: Weiwei Yang
>            Assignee: Weiwei Yang
>            Priority: Critical
>
> The k8shim currently depends on K8s 1.14, which is pretty old. Since now the latest version is v1.18, it makes sense to upgrade K8s dependency to at least 1.16, because most of the vendors are moving to 1.16+.
> Upgrading to 1.17+ version will be a bit more difficult, because the shim repo depends on some scheduler package classes, and there are some notable changes in v1.17: https://v1-17.docs.kubernetes.io/docs/setup/release/notes/#scheduling-1. Some of them is not compatible with YuniKorn.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: issues-help@yunikorn.apache.org