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

Istioctl should display data plane version/version skew #17172

Closed
howardjohn opened this issue Sep 18, 2019 · 3 comments · Fixed by #17724
Closed

Istioctl should display data plane version/version skew #17172

howardjohn opened this issue Sep 18, 2019 · 3 comments · Fixed by #17724

Comments

@howardjohn
Copy link
Member

Right now it is very easy to have version skew between control plane and data plane, but we don't expose this through istioctl in a straightforward way. Users would need to run istioctl version + istioctl ps and compare the output. This often leads to hard to debug errors.

My sketch of this:

$ istioctl version
client version: 1.3.0-rc.3
control plane version: 1.3.0-rc.3
data plane version: 1.3.0 (50 proxies), 1.2.5 (12 proxies)
@esnible
Copy link
Contributor

esnible commented Sep 30, 2019

@howardjohn If the user does istioctl version --short=false or -o json I expect we want something like

sidecar version: version.BuildInfo{Version:"1.3.0", Pod: "productpage-1234-5678.default"}

We don't want to exec into each sidecar looking for UUIDs, or asking Kubernetes for image information do we?

@howardjohn
Copy link
Member Author

@esnible definitely not exec into each proxy for performance reasons. I was thinking we could fetch it from pilot like istioctl proxy-status does. This may be a bit more complex than I originally thought, as we would need a new struct for sidecars since we don't know all the same information and need info like Pod.

I think we need some way to see this easily, but since we will have #17173 in 1.4 now I think this becomes lower priority. What do you think?

@esnible
Copy link
Contributor

esnible commented Oct 1, 2019

I have an implementation, not yet pushed because istio/pkg#72 must merge first. It does something reasonable when the output is --short=false, YAML, or JSON, and for the default it shows.

istioctl version
client version: 66676a6c52d4e00fdd24dfa35933fabc51965713-dirty
control plane version: 1.3.0
data plane version: 1.3.0: (9 proxies), 1.3.0-rc.2: (1 proxies)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants