sh-5.1# git diff diff --git a/Makefile b/Makefile index c4a6480..bc5a3b4 100644 --- a/Makefile +++ b/Makefile @@ -6,13 +6,16 @@ $(LOCALBIN): ## Tool Binaries GOFUMPT ?= $(LOCALBIN)/gofumpt +GOARCH ?= $(shell go env GOARCH) + all: test medius clean: rm -rf bin medius: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/medius kubevirt.io/containerdisks/cmd/medius +# CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/medius kubevirt.io/containerdisks/cmd/medius + CGO_ENABLED=0 GOOS=linux GOARCH=$(GOARCH) go build -o bin/medius kubevirt.io/containerdisks/cmd/medius fmt: gofumpt go mod tidy -compat=1.22 @@ -38,7 +41,8 @@ getginkgo: go get github.com/onsi/ginkgo/v2@$(GINKGO_VERSION) test: lint - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go run github.com/onsi/ginkgo/v2/ginkgo@$(GINKGO_VERSION) -v -timeout $(GINKGO_TIMEOUT) ./... +# CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go run github.com/onsi/ginkgo/v2/ginkgo@$(GINKGO_VERSION) -v -timeout $(GINKGO_TIMEOUT) ./... + CGO_ENABLED=0 GOOS=linux GOARCH=$(GOARCH) go run github.com/onsi/ginkgo/v2/ginkgo@$(GINKGO_VERSION) -v -timeout $(GINKGO_TIMEOUT) ./... .PHONY: gofumpt gofumpt: $(GOFUMPT) ## Download gofumpt locally if necessary. diff --git a/cmd/medius/common/registry.go b/cmd/medius/common/registry.go index a04841e..34600f8 100644 --- a/cmd/medius/common/registry.go +++ b/cmd/medius/common/registry.go @@ -28,6 +28,7 @@ var staticRegistry = []Entry{ Artifacts: []api.Artifact{ centosstream.New("9", "x86_64", &docs.UserData{Username: "cloud-user"}, defaultEnvVariables("u1.medium", "centos.stream9")), centosstream.New("9", "aarch64", &docs.UserData{Username: "cloud-user"}, defaultEnvVariables("u1.medium", "centos.stream9")), + centosstream.New("9", "s390x", &docs.UserData{Username: "cloud-user"}, defaultEnvVariables("u1.medium", "centos.stream9")), }, UseForDocs: true, }, @@ -35,6 +36,7 @@ var staticRegistry = []Entry{ Artifacts: []api.Artifact{ ubuntu.New("24.04", "x86_64", defaultEnvVariables("u1.medium", "ubuntu")), ubuntu.New("24.04", "aarch64", defaultEnvVariables("u1.medium", "ubuntu")), + ubuntu.New("24.04", "s390x", defaultEnvVariables("u1.medium", "ubuntu")), }, UseForDocs: true, }, @@ -42,6 +44,7 @@ var staticRegistry = []Entry{ Artifacts: []api.Artifact{ ubuntu.New("22.04", "x86_64", defaultEnvVariables("u1.medium", "ubuntu")), ubuntu.New("22.04", "aarch64", defaultEnvVariables("u1.medium", "ubuntu")), + ubuntu.New("22.04", "s390x", defaultEnvVariables("u1.medium", "ubuntu")), }, UseForDocs: false, }, @@ -49,6 +52,7 @@ var staticRegistry = []Entry{ Artifacts: []api.Artifact{ ubuntu.New("20.04", "x86_64", defaultEnvVariables("u1.medium", "ubuntu")), ubuntu.New("20.04", "aarch64", defaultEnvVariables("u1.medium", "ubuntu")), + ubuntu.New("20.04", "s390x", defaultEnvVariables("u1.medium", "ubuntu")), }, UseForDocs: false, }, @@ -154,3 +158,4 @@ func ShouldSkip(focus string, entry *Entry) bool { return focus != entry.Artifacts[0].Metadata().Describe() } + diff --git a/pkg/architecture/arch.go b/pkg/architecture/arch.go index cc6fddb..000d34a 100644 --- a/pkg/architecture/arch.go +++ b/pkg/architecture/arch.go @@ -8,7 +8,10 @@ func GetImageArchitecture(arch string) string { return "amd64" case "aarch64": return "arm64" + case "s390x": + return "s390x" default: panic(fmt.Sprintf("can't map unknown architecture %s to image architecture", arch)) } } + sh-5.1# make medius CGO_ENABLED=0 GOOS=linux GOARCH=s390x go build -o bin/medius kubevirt.io/containerdisks/cmd/medius sh-5.1# bin/medius images push --target-registry=localhost:5000 --dry-run=false --insecure-skip-tls --force --focus=ubuntu:22.04 INFO[0002] Latest containerdisk checksum: "55c687a9a242fab7b0ec89ac69f9def77696c4e160e6f640879a0b0031a08318" name=ubuntu version=22.04 INFO[0003] Latest containerdisk checksum: "2edb369b85141fbeff6c87c7d92e08f315ec236f639235e35429e4930d98e2de" name=ubuntu version=22.04 ERRO[0004] error introspecting image "quay.io/containerdisks/ubuntu:22.04": Error parsing manifest for image: choosing image instance: no image found in manifest list for architecture "s390x", variant "", OS "linux" name=ubuntu version=22.04 INFO[0004] Writing results file FATA[0004] error introspecting image "quay.io/containerdisks/ubuntu:22.04": Error parsing manifest for image: choosing image instance: no image found in manifest list for architecture "s390x", variant "", OS "linux" sh-5.1# cd cmd/medius/images/ sh-5.1# ls common.go promote.go push.go verify.go sh-5.1# rm push.go sh-5.1# vi push.go sh-5.1# git diff diff --git a/Makefile b/Makefile index c4a6480..bc5a3b4 100644 --- a/Makefile +++ b/Makefile @@ -6,13 +6,16 @@ $(LOCALBIN): ## Tool Binaries GOFUMPT ?= $(LOCALBIN)/gofumpt +GOARCH ?= $(shell go env GOARCH) + all: test medius clean: rm -rf bin medius: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/medius kubevirt.io/containerdisks/cmd/medius +# CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/medius kubevirt.io/containerdisks/cmd/medius + CGO_ENABLED=0 GOOS=linux GOARCH=$(GOARCH) go build -o bin/medius kubevirt.io/containerdisks/cmd/medius fmt: gofumpt go mod tidy -compat=1.22 @@ -38,7 +41,8 @@ getginkgo: go get github.com/onsi/ginkgo/v2@$(GINKGO_VERSION) test: lint - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go run github.com/onsi/ginkgo/v2/ginkgo@$(GINKGO_VERSION) -v -timeout $(GINKGO_TIMEOUT) ./... +# CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go run github.com/onsi/ginkgo/v2/ginkgo@$(GINKGO_VERSION) -v -timeout $(GINKGO_TIMEOUT) ./... + CGO_ENABLED=0 GOOS=linux GOARCH=$(GOARCH) go run github.com/onsi/ginkgo/v2/ginkgo@$(GINKGO_VERSION) -v -timeout $(GINKGO_TIMEOUT) ./... .PHONY: gofumpt gofumpt: $(GOFUMPT) ## Download gofumpt locally if necessary. diff --git a/cmd/medius/common/registry.go b/cmd/medius/common/registry.go index a04841e..34600f8 100644 --- a/cmd/medius/common/registry.go +++ b/cmd/medius/common/registry.go @@ -28,6 +28,7 @@ var staticRegistry = []Entry{ Artifacts: []api.Artifact{ centosstream.New("9", "x86_64", &docs.UserData{Username: "cloud-user"}, defaultEnvVariables("u1.medium", "centos.stream9")), centosstream.New("9", "aarch64", &docs.UserData{Username: "cloud-user"}, defaultEnvVariables("u1.medium", "centos.stream9")), + centosstream.New("9", "s390x", &docs.UserData{Username: "cloud-user"}, defaultEnvVariables("u1.medium", "centos.stream9")), }, UseForDocs: true, }, @@ -35,6 +36,7 @@ var staticRegistry = []Entry{ Artifacts: []api.Artifact{ ubuntu.New("24.04", "x86_64", defaultEnvVariables("u1.medium", "ubuntu")), ubuntu.New("24.04", "aarch64", defaultEnvVariables("u1.medium", "ubuntu")), + ubuntu.New("24.04", "s390x", defaultEnvVariables("u1.medium", "ubuntu")), }, UseForDocs: true, }, @@ -42,6 +44,7 @@ var staticRegistry = []Entry{ Artifacts: []api.Artifact{ ubuntu.New("22.04", "x86_64", defaultEnvVariables("u1.medium", "ubuntu")), ubuntu.New("22.04", "aarch64", defaultEnvVariables("u1.medium", "ubuntu")), + ubuntu.New("22.04", "s390x", defaultEnvVariables("u1.medium", "ubuntu")), }, UseForDocs: false, }, @@ -49,6 +52,7 @@ var staticRegistry = []Entry{ Artifacts: []api.Artifact{ ubuntu.New("20.04", "x86_64", defaultEnvVariables("u1.medium", "ubuntu")), ubuntu.New("20.04", "aarch64", defaultEnvVariables("u1.medium", "ubuntu")), + ubuntu.New("20.04", "s390x", defaultEnvVariables("u1.medium", "ubuntu")), }, UseForDocs: false, }, @@ -154,3 +158,4 @@ func ShouldSkip(focus string, entry *Entry) bool { return focus != entry.Artifacts[0].Metadata().Describe() } + diff --git a/cmd/medius/images/push.go b/cmd/medius/images/push.go index 36455d3..8f49d81 100644 --- a/cmd/medius/images/push.go +++ b/cmd/medius/images/push.go @@ -288,12 +288,17 @@ func (b *buildAndPublish) rebuildNeeded(entry *common.Entry) (bool, error) { return false, err } - for i := range entry.Artifacts { + diff --git a/cmd/medius/images/push.go b/cmd/medius/images/push.go index 36455d3..8f49d81 100644 --- a/cmd/medius/images/push.go +++ b/cmd/medius/images/push.go @@ -288,12 +288,17 @@ func (b *buildAndPublish) rebuildNeeded(entry *common.Entry) (bool, error) { return false, err } - for i := range entry.Artifacts { - metadata := entry.Artifacts[i].Metadata() + //for i := range entry.Artifacts { + //metadata := entry.Artifacts[i].Metadata() + // Commenting this line as artifactInfo is no longer needed + /* artifactInfo, err := entry.Artifacts[i].Inspect() if err != nil { return false, fmt.Errorf("error introspecting artifact %q: %v", metadata.Describe(), err) } + */ + // Commenting out this part to skip the quay.io registry check + /* imageSha, err := b.getImageSha(metadata.Describe(), artifactInfo.ImageArchitecture) if err != nil { return false, err @@ -301,9 +306,11 @@ func (b *buildAndPublish) rebuildNeeded(entry *common.Entry) (bool, error) { if imageSha != artifactInfo.SHA256Sum { return true, nil } - } + */ + //} - return false, nil + //return false, nil + return true, nil // force a rebuild for building it locally } func (b *buildAndPublish) pushImage(containerDisk v1.Image, name string) error { @@ -360,3 +367,4 @@ func cleanupArtifacts(artifacts []string) { os.Remove(file) } } + diff --git a/pkg/architecture/arch.go b/pkg/architecture/arch.go index cc6fddb..000d34a 100644 --- a/pkg/architecture/arch.go +++ b/pkg/architecture/arch.go @@ -8,7 +8,10 @@ func GetImageArchitecture(arch string) string { return "amd64" case "aarch64": return "arm64" + case "s390x": + return "s390x" default: panic(fmt.Sprintf("can't map unknown architecture %s to image architecture", arch)) } } + sh-5.1# uname -m s390x sh-5.1# cd .. sh-5.1# cd .. sh-5.1# cd $GOPATH/kubevirt.io sh-5.1# cd containerdisks/ sh-5.1# make medius CGO_ENABLED=0 GOOS=linux GOARCH=s390x go build -o bin/medius kubevirt.io/containerdisks/cmd/medius sh-5.1# git diff diff --git a/Makefile b/Makefile index c4a6480..bc5a3b4 100644 --- a/Makefile +++ b/Makefile @@ -6,13 +6,16 @@ $(LOCALBIN): ## Tool Binaries GOFUMPT ?= $(LOCALBIN)/gofumpt +GOARCH ?= $(shell go env GOARCH) + all: test medius clean: rm -rf bin medius: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/medius kubevirt.io/containerdisks/cmd/medius +# CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/medius kubevirt.io/containerdisks/cmd/medius + CGO_ENABLED=0 GOOS=linux GOARCH=$(GOARCH) go build -o bin/medius kubevirt.io/containerdisks/cmd/medius fmt: gofumpt go mod tidy -compat=1.22 @@ -38,7 +41,8 @@ getginkgo: go get github.com/onsi/ginkgo/v2@$(GINKGO_VERSION) test: lint - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go run github.com/onsi/ginkgo/v2/ginkgo@$(GINKGO_VERSION) -v -timeout $(GINKGO_TIMEOUT) ./... +# CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go run github.com/onsi/ginkgo/v2/ginkgo@$(GINKGO_VERSION) -v -timeout $(GINKGO_TIMEOUT) ./... + CGO_ENABLED=0 GOOS=linux GOARCH=$(GOARCH) go run github.com/onsi/ginkgo/v2/ginkgo@$(GINKGO_VERSION) -v -timeout $(GINKGO_TIMEOUT) ./... .PHONY: gofumpt gofumpt: $(GOFUMPT) ## Download gofumpt locally if necessary. diff --git a/cmd/medius/common/registry.go b/cmd/medius/common/registry.go index a04841e..34600f8 100644 --- a/cmd/medius/common/registry.go +++ b/cmd/medius/common/registry.go @@ -28,6 +28,7 @@ var staticRegistry = []Entry{ Artifacts: []api.Artifact{ centosstream.New("9", "x86_64", &docs.UserData{Username: "cloud-user"}, defaultEnvVariables("u1.medium", "centos.stream9")), centosstream.New("9", "aarch64", &docs.UserData{Username: "cloud-user"}, defaultEnvVariables("u1.medium", "centos.stream9")), + centosstream.New("9", "s390x", &docs.UserData{Username: "cloud-user"}, defaultEnvVariables("u1.medium", "centos.stream9")), }, UseForDocs: true, }, @@ -35,6 +36,7 @@ var staticRegistry = []Entry{ Artifacts: []api.Artifact{ ubuntu.New("24.04", "x86_64", defaultEnvVariables("u1.medium", "ubuntu")), ubuntu.New("24.04", "aarch64", defaultEnvVariables("u1.medium", "ubuntu")), + ubuntu.New("24.04", "s390x", defaultEnvVariables("u1.medium", "ubuntu")), }, UseForDocs: true, }, @@ -42,6 +44,7 @@ var staticRegistry = []Entry{ Artifacts: []api.Artifact{ ubuntu.New("22.04", "x86_64", defaultEnvVariables("u1.medium", "ubuntu")), ubuntu.New("22.04", "aarch64", defaultEnvVariables("u1.medium", "ubuntu")), + ubuntu.New("22.04", "s390x", defaultEnvVariables("u1.medium", "ubuntu")), }, UseForDocs: false, }, @@ -49,6 +52,7 @@ var staticRegistry = []Entry{ Artifacts: []api.Artifact{ ubuntu.New("20.04", "x86_64", defaultEnvVariables("u1.medium", "ubuntu")), ubuntu.New("20.04", "aarch64", defaultEnvVariables("u1.medium", "ubuntu")), + ubuntu.New("20.04", "s390x", defaultEnvVariables("u1.medium", "ubuntu")), }, UseForDocs: false, }, @@ -154,3 +158,4 @@ func ShouldSkip(focus string, entry *Entry) bool { return focus != entry.Artifacts[0].Metadata().Describe() } + diff --git a/cmd/medius/images/push.go b/cmd/medius/images/push.go index 36455d3..8f49d81 100644 --- a/cmd/medius/images/push.go +++ b/cmd/medius/images/push.go @@ -288,12 +288,17 @@ func (b *buildAndPublish) rebuildNeeded(entry *common.Entry) (bool, error) { return false, err } - for i := range entry.Artifacts { - metadata := entry.Artifacts[i].Metadata() + //for i := range entry.Artifacts { + //metadata := entry.Artifacts[i].Metadata() + // Commenting this line as artifactInfo is no longer needed + /* artifactInfo, err := entry.Artifacts[i].Inspect() if err != nil { return false, fmt.Errorf("error introspecting artifact %q: %v", metadata.Describe(), err) } + */ + // Commenting out this part to skip the quay.io registry check + /* imageSha, err := b.getImageSha(metadata.Describe(), artifactInfo.ImageArchitecture) if err != nil { return false, err @@ -301,9 +306,11 @@ func (b *buildAndPublish) rebuildNeeded(entry *common.Entry) (bool, error) { if imageSha != artifactInfo.SHA256Sum { return true, nil } - } + */ + //} - return false, nil + //return false, nil + return true, nil // force a rebuild for building it locally } func (b *buildAndPublish) pushImage(containerDisk v1.Image, name string) error { @@ -360,3 +367,4 @@ func cleanupArtifacts(artifacts []string) { os.Remove(file) } } + diff --git a/pkg/architecture/arch.go b/pkg/architecture/arch.go index cc6fddb..000d34a 100644 --- a/pkg/architecture/arch.go +++ b/pkg/architecture/arch.go @@ -8,7 +8,10 @@ func GetImageArchitecture(arch string) string { return "amd64" case "aarch64": return "arm64" + case "s390x": + return "s390x" default: panic(fmt.Sprintf("can't map unknown architecture %s to image architecture", arch)) } } + sh-5.1# bin/medius images push INFO[0002] Rebuild needed, downloading "https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2" ... name=centos-stream version=9 INFO[0794] Building containerdisk ... name=centos-stream version=9 INFO[0804] Rebuild needed, downloading "https://cloud.centos.org/centos/9-stream/aarch64/images/CentOS-Stream-GenericCloud-9-latest.aarch64.qcow2" ... name=centos-stream version=9 INFO[1318] Building containerdisk ... name=centos-stream version=9 INFO[1327] Rebuild needed, downloading "https://cloud.centos.org/centos/9-stream/s390x/images/CentOS-Stream-GenericCloud-9-latest.s390x.qcow2" ... name=centos-stream version=9 INFO[2232] Building containerdisk ... name=centos-stream version=9 INFO[2239] Dry run enabled, not pushing quay.io/containerdisks/centos-stream:9-2410151535 image index name=centos-stream version=9 INFO[2239] Dry run enabled, not pushing quay.io/containerdisks/centos-stream:9-latest image index name=centos-stream version=9 INFO[2239] Dry run enabled, not pushing quay.io/containerdisks/centos-stream:9 image index name=centos-stream version=9 INFO[2240] Rebuild needed, downloading "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-amd64.img" ... name=ubuntu version=24.04 INFO[2289] Building containerdisk ... name=ubuntu version=24.04 INFO[2294] Rebuild needed, downloading "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-arm64.img" ... name=ubuntu version=24.04 INFO[2346] Building containerdisk ... name=ubuntu version=24.04 INFO[2351] Rebuild needed, downloading "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-s390x.img" ... name=ubuntu version=24.04 INFO[2402] Building containerdisk ... name=ubuntu version=24.04 INFO[2406] Dry run enabled, not pushing quay.io/containerdisks/ubuntu:24.04-2410151613 image index name=ubuntu version=24.04 INFO[2406] Dry run enabled, not pushing quay.io/containerdisks/ubuntu:24.04 image index name=ubuntu version=24.04 INFO[2411] Rebuild needed, downloading "https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img" ... name=ubuntu version=22.04 INFO[2646] Building containerdisk ... name=ubuntu version=22.04 INFO[2652] Rebuild needed, downloading "https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-arm64.img" ... name=ubuntu version=22.04 INFO[2840] Building containerdisk ... name=ubuntu version=22.04 INFO[2845] Rebuild needed, downloading "https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-s390x.img" ... name=ubuntu version=22.04 INFO[3110] Building containerdisk ... name=ubuntu version=22.04 INFO[3114] Dry run enabled, not pushing quay.io/containerdisks/ubuntu:22.04-2410151615 image index name=ubuntu version=22.04 INFO[3114] Dry run enabled, not pushing quay.io/containerdisks/ubuntu:22.04 image index name=ubuntu version=22.04 INFO[3115] Rebuild needed, downloading "https://cloud-images.ubuntu.com/releases/20.04/release/ubuntu-20.04-server-cloudimg-amd64.img" ... name=ubuntu version=20.04 INFO[3211] Building containerdisk ... name=ubuntu version=20.04 INFO[3216] Rebuild needed, downloading "https://cloud-images.ubuntu.com/releases/20.04/release/ubuntu-20.04-server-cloudimg-arm64.img" ... name=ubuntu version=20.04 INFO[3276] Building containerdisk ... name=ubuntu version=20.04 INFO[3281] Rebuild needed, downloading "https://cloud-images.ubuntu.com/releases/20.04/release/ubuntu-20.04-server-cloudimg-s390x.img" ... name=ubuntu version=20.04 INFO[3322] Building containerdisk ... name=ubuntu version=20.04 INFO[3325] Dry run enabled, not pushing quay.io/containerdisks/ubuntu:20.04-2410151627 image index name=ubuntu version=20.04 INFO[3325] Dry run enabled, not pushing quay.io/containerdisks/ubuntu:20.04 image index name=ubuntu version=20.04 INFO[3327] Rebuild needed, downloading "https://download.opensuse.org/tumbleweed/appliances/openSUSE-Tumbleweed-Minimal-VM.x86_64-1.0.0-Cloud-Snapshot20241014.qcow2" ... name=opensuse-tumbleweed version=1.0.0 INFO[3341] Building containerdisk ... name=opensuse-tumbleweed version=1.0.0 INFO[3343] Dry run enabled, not pushing quay.io/containerdisks/opensuse-tumbleweed:1.0.0-2410151631 name=opensuse-tumbleweed version=1.0.0 INFO[3343] Dry run enabled, not pushing quay.io/containerdisks/opensuse-tumbleweed:1.0.0 name=opensuse-tumbleweed version=1.0.0 INFO[3344] Rebuild needed, downloading "https://download.opensuse.org/distribution/leap/15.6/appliances/openSUSE-Leap-15.6-Minimal-VM.x86_64-Cloud.qcow2" ... name=opensuse-leap version=15.6 INFO[3356] Building containerdisk ... name=opensuse-leap version=15.6 INFO[3358] Rebuild needed, downloading "https://download.opensuse.org/distribution/leap/15.6/appliances/openSUSE-Leap-15.6-Minimal-VM.aarch64-Cloud.qcow2" ... name=opensuse-leap version=15.6 INFO[3375] Building containerdisk ... name=opensuse-leap version=15.6 INFO[3377] Dry run enabled, not pushing quay.io/containerdisks/opensuse-leap:15.6-2410151631 image index name=opensuse-leap version=15.6 INFO[3377] Dry run enabled, not pushing quay.io/containerdisks/opensuse-leap:15.6 image index name=opensuse-leap version=15.6 INFO[3377] Rebuild needed, downloading "https://download.opensuse.org/distribution/leap/15.5/appliances/openSUSE-Leap-15.5-Minimal-VM.x86_64-Cloud.qcow2" ... name=opensuse-leap version=15.5 INFO[3393] Building containerdisk ... name=opensuse-leap version=15.5 INFO[3395] Rebuild needed, downloading "https://download.opensuse.org/distribution/leap/15.5/appliances/openSUSE-Leap-15.5-Minimal-VM.aarch64-Cloud.qcow2" ... name=opensuse-leap version=15.5 INFO[3414] Building containerdisk ... name=opensuse-leap version=15.5 INFO[3416] Dry run enabled, not pushing quay.io/containerdisks/opensuse-leap:15.5-2410151632 image index name=opensuse-leap version=15.5 INFO[3416] Dry run enabled, not pushing quay.io/containerdisks/opensuse-leap:15.5 image index name=opensuse-leap version=15.5 INFO[3417] Rebuild needed, downloading "https://download.fedoraproject.org/pub/fedora/linux/releases/40/Cloud/x86_64/images/Fedora-Cloud-Base-Generic.x86_64-40-1.14.qcow2" ... name=fedora version=40 INFO[3421] Building containerdisk ... name=fedora version=40 INFO[3425] Rebuild needed, downloading "https://download.fedoraproject.org/pub/fedora/linux/releases/40/Cloud/aarch64/images/Fedora-Cloud-Base-Generic.aarch64-40-1.14.qcow2" ... name=fedora version=40 INFO[3473] Building containerdisk ... name=fedora version=40 INFO[3476] Dry run enabled, not pushing quay.io/containerdisks/fedora:40-2410151632 image index name=fedora version=40 INFO[3476] Dry run enabled, not pushing quay.io/containerdisks/fedora:40-1.14 image index name=fedora version=40 INFO[3476] Dry run enabled, not pushing quay.io/containerdisks/fedora:40 image index name=fedora version=40 INFO[3476] Dry run enabled, not pushing quay.io/containerdisks/fedora:latest image index name=fedora version=40 INFO[3478] Rebuild needed, downloading "https://download.fedoraproject.org/pub/fedora/linux/releases/39/Cloud/x86_64/images/Fedora-Cloud-Base-39-1.5.x86_64.qcow2" ... name=fedora version=39 INFO[3495] Building containerdisk ... name=fedora version=39 INFO[3499] Rebuild needed, downloading "https://download.fedoraproject.org/pub/fedora/linux/releases/39/Cloud/aarch64/images/Fedora-Cloud-Base-39-1.5.aarch64.qcow2" ... name=fedora version=39 ERRO[4216] error writing the image to the destination file: http2: server sent GOAWAY and closed the connection; LastStreamID=2147483647, ErrCode=NO_ERROR, debug="" name=fedora version=39 FATA[4216] error writing the image to the destination file: http2: server sent GOAWAY and closed the connection; LastStreamID=2147483647, ErrCode=NO_ERROR, debug="" sh-5.1# sh-5.1# sh-5.1# bin/medius images push --target-registry=localhost:5000 --dry-run=false --insecure-skip-tls --force --focus=ubuntu:22.04 INFO[0022] Rebuild needed, downloading "https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img" ... name=ubuntu version=22.04 INFO[0147] Building containerdisk ... name=ubuntu version=22.04 INFO[0152] Rebuild needed, downloading "https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-arm64.img" ... name=ubuntu version=22.04 INFO[0226] Building containerdisk ... name=ubuntu version=22.04 INFO[0230] Rebuild needed, downloading "https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-s390x.img" ... name=ubuntu version=22.04 INFO[0277] Building containerdisk ... name=ubuntu version=22.04 INFO[0281] Pushing localhost:5000/ubuntu:22.04-2410151647 image index name=ubuntu version=22.04 INFO[0288] Pushing localhost:5000/ubuntu:22.04 image index name=ubuntu version=22.04 INFO[0288] Writing results file sh-5.1# curl http://localhost:5000/v2/_catalog {"repositories":["ubuntu"]} sh-5.1# curl http://localhost:5000/v2/ubuntu/tags/list {"name":"ubuntu","tags":["22.04-2410151647","22.04"]} sh-5.1# find . -type f -mmin -5 ./results.json ./output.txt sh-5.1# cat ./results.json { "ubuntu:22.04": { "Tags": [ "ubuntu:22.04-2410151647", "ubuntu:22.04" ], "Stage": "push" } }sh-5.1#docker pull localhost:5000/ubuntu:22.04 22.04: Pulling from ubuntu 38f8b42f9e57: Pull complete Digest: sha256:dbe50976a43bd97897125544abeaaaabd7cd8106c9b53eb0d253a3f1c8d4fdc7 Status: Downloaded newer image for localhost:5000/ubuntu:22.04 localhost:5000/ubuntu:22.04 sh-5.1# docker pull localhost:5000/ubuntu:22.04 22.04: Pulling from ubuntu Digest: sha256:dbe50976a43bd97897125544abeaaaabd7cd8106c9b53eb0d253a3f1c8d4fdc7 Status: Image is up to date for localhost:5000/ubuntu:22.04 localhost:5000/ubuntu:22.04 sh-5.1# uname -m s390x sh-5.1# bin/medius images push --target-registry=localhost:5000 --dry-run=false --insecure-skip-tls --force --focus=centos-stream:9 INFO[0001] Rebuild needed, downloading "https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2" ... name=centos-stream version=9 INFO[0150] Building containerdisk ... name=centos-stream version=9 INFO[0159] Rebuild needed, downloading "https://cloud.centos.org/centos/9-stream/aarch64/images/CentOS-Stream-GenericCloud-9-latest.aarch64.qcow2" ... name=centos-stream version=9 INFO[0270] Building containerdisk ... name=centos-stream version=9 INFO[0278] Rebuild needed, downloading "https://cloud.centos.org/centos/9-stream/s390x/images/CentOS-Stream-GenericCloud-9-latest.s390x.qcow2" ... name=centos-stream version=9 INFO[0394] Building containerdisk ... name=centos-stream version=9 INFO[0400] Pushing localhost:5000/centos-stream:9-2410151655 image index name=centos-stream version=9 INFO[0410] Pushing localhost:5000/centos-stream:9-latest image index name=centos-stream version=9 INFO[0410] Pushing localhost:5000/centos-stream:9 image index name=centos-stream version=9 INFO[0410] Writing results file sh-5.1# curl http://localhost:5000/v2/_catalog {"repositories":["centos-stream","ubuntu"]} sh-5.1# curl http://localhost:5000/v2/centos-stream/tags/list {"name":"centos-stream","tags":["9-2410151655","9-latest","9"]} sh-5.1# cat ./results.json { "centos-stream:9": { "Tags": [ "centos-stream:9-2410151655", "centos-stream:9-latest", "centos-stream:9" ], "Stage": "push" } }sh-5.1#docker pull localhost:5000/centos-stream:9 9: Pulling from centos-stream 282a0e9f17b9: Pull complete Digest: sha256:e094bffd3b767b1558692e86660bba2531fc0bdbe1a28f52f3ce872faa586a60 Status: Downloaded newer image for localhost:5000/centos-stream:9 localhost:5000/centos-stream:9 sh-5.1# uname -m s390x sh-5.1#