Skip to content

ls: display buildkit version of the nodes - #998

Merged
tonistiigi merged 3 commits into
docker:masterfrom
crazy-max:ls-buildkit-version
May 10, 2022
Merged

ls: display buildkit version of the nodes#998
tonistiigi merged 3 commits into
docker:masterfrom
crazy-max:ls-buildkit-version

Conversation

@crazy-max

@crazy-maxcrazy-max commented Mar 14, 2022

Copy link
Copy Markdown
Member

needs moby/buildkit#2725

vendor buildkit to bring moby/buildkit#2725: moby/buildkit@3e38a2d...86c33b6

$ docker buildx lsNAME/NODE DRIVER/ENDPOINT STATUS BUILDKIT PLATFORMSbuilder2 docker-container builder20 unix:///var/run/docker.sock running N/A linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6builder3 docker-container builder30 unix:///var/run/docker.sock running 86c33b6 linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6builder4 * docker-container builder40 unix:///var/run/docker.sock running v0.10.0-91-g86c33b66 linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6xenodochial_davinci docker-container xenodochial_davinci0 unix:///var/run/docker.sock running N/A linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6desktop-linux protocol not availabledefault docker default default running N/A linux/amd64, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6

Maybe we could display this info with a --no-trunc flag and not by default. cc @thaJeztah

Signed-off-by: CrazyMax crazy-max@users.noreply.github.com

@crazy-max
crazy-maxforce-pushed the ls-buildkit-version branch from 30723ec to 81eac7bCompareApril 8, 2022 23:49
@crazy-max
crazy-max marked this pull request as ready for review April 8, 2022 23:53
Comment threadcommands/util.go Outdated
inf, err := c.Info(ctx)
if err != nil {
if st, ok := grpcerrors.AsGRPCStatus(err); ok && st.Code() == codes.Unimplemented {
d.version = "N/A"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should have a fallback for it. Version can be queried by running --version on buildkitd or from docker version for docker driver. We could add this in the driver interface and let it decide.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added fallback for docker-container and docker driver. Left unimplemented for kubernetes and remote drivers for now (cc @jedevc@AkihiroSuda):

$ docker buildx lsNAME/NODE DRIVER/ENDPOINT STATUS BUILDKIT PLATFORMSbuilder2 docker-container builder20 unix:///var/run/docker.sock running v0.10.3 linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6builder3 docker-container builder30 unix:///var/run/docker.sock running v0.10.3 linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6builder4 * docker-container builder40 unix:///var/run/docker.sock running v0.10.0-91-g86c33b66 linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6xenodochial_davinci docker-container xenodochial_davinci0 unix:///var/run/docker.sock running v0.9.3 linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6desktop-linux protocol not availabledefault docker default default running 20.10.14 linux/amd64, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - I don't think there's a good way to work out what version the remote driver is running if the gRPC call fails

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
@crazy-max
crazy-maxforce-pushed the ls-buildkit-version branch from 81eac7b to 57156eeCompareMay 9, 2022 14:17
@crazy-max
crazy-max requested a review from tonistiigiMay 9, 2022 14:20
@thaJeztah

Copy link
Copy Markdown
Member

Maybe we could display this info with a --no-trunc flag and not by default. cc @thaJeztah

Yeah, still wondering a bit what information is most relevant in the overview. The "staggered" / alternating lines, together with the long list of (possible) architectures supported make the list hard to "grasp" in a quick look. I'm also trying to find what order is used to print these (doesn't appear to be ordered by NAME or NODE?)

A more "toned-down" representation with one item per line could look like;

docker buildx ls
NAME NODE DRIVER STATUS BUILDKIT PLATFORMS
builder2 builder20 docker-container running N/A linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6
builder3 builder30 docker-container running 86c33b6 linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6
builder4 * builder40 docker-container running v0.10.0-91-g86c33b66 linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6
default default docker running N/A linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6
desktop-linux default docker running N/A linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6
xenodochial_davinci xenodochial_davinci0 docker-container running N/A linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6

Or even (omitting the PLATFORMS in the default overview);

docker buildx ls
NAME NODE DRIVER STATUS BUILDKIT builder2 builder20 docker-container running N/A builder3 builder30 docker-container running 86c33b6 builder4 * builder40 docker-container running v0.10.0-91-g86c33b66
default default docker running N/A desktop-linux default docker running N/A xenodochial_davinci xenodochial_davinci0 docker-container running N/A 

The --format flag could still be used to include other columns, and of course docker buildx inspect to get the nitty-gritty details of each builder 🤔

@crazy-max

crazy-max commented May 10, 2022

Copy link
Copy Markdown
MemberAuthor

@thaJeztah I will continue working on #830 based on your comment here and this one #830 (comment)

@tonistiigi
tonistiigi merged commit 55b85f5 into docker:masterMay 10, 2022
@crazy-max
crazy-max deleted the ls-buildkit-version branch May 10, 2022 15:37
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@crazy-max@thaJeztah@tonistiigi@jedevc