From e879037646accff512074dcaefea35892df74e2b Mon Sep 17 00:00:00 2001 From: Justin Cormack Date: Fri, 2 Jun 2017 23:29:35 +0100 Subject: [PATCH] Disable use of linuxkit for GCP for now GCP does not recognise the images, even though they appear identical to those made by libguestfs and work on qemu fine. Their validation code does not like them for some reason. Signed-off-by: Justin Cormack --- cmd/moby/linuxkit.go | 2 +- cmd/moby/output.go | 50 ++------------------------------------------ 2 files changed, 3 insertions(+), 49 deletions(-) diff --git a/cmd/moby/linuxkit.go b/cmd/moby/linuxkit.go index ac5be8780..5d14e5855 100644 --- a/cmd/moby/linuxkit.go +++ b/cmd/moby/linuxkit.go @@ -22,7 +22,7 @@ init: - linuxkit/containerd:b1766e4c4c09f63ac4925a6e4612852a93f7e73b onboot: - name: mkimage - image: "linuxkit/mkimage:f4bf0c24261f7d120c8674892805ab3054eb8ac3" + image: "linuxkit/mkimage:5ad60299be03008f29c5caec3c5ea4ac0387aae6" - name: poweroff image: "linuxkit/poweroff:a8f1e4ad8d459f1fdaad9e4b007512cb3b504ae8" trust: diff --git a/cmd/moby/output.go b/cmd/moby/output.go index 9979a812b..6d7843e50 100644 --- a/cmd/moby/output.go +++ b/cmd/moby/output.go @@ -17,6 +17,7 @@ import ( const ( bios = "linuxkit/mkimage-iso-bios:db791abed6f2b5320feb6cec255a635aee3756f6@sha256:e57483075307bcea4a7257f87eee733d3e24e7a964ba15dcc01111df6729ab3b" efi = "linuxkit/mkimage-iso-efi:5c2fc616bde288476a14f4f6dd0d273a66832822@sha256:876ef47ec2b30af40e70f1e98f496206eb430915867c4f9f400e1af47fd58d7c" + gcp = "linuxkit/mkimage-gcp:46716b3d3f7aa1a7607a3426fe0ccebc554b14ee@sha256:18d8e0482f65a2481f5b6ba1e7ce77723b246bf13bdb612be5e64df90297940c" vhd = "linuxkit/mkimage-vhd:a04c8480d41ca9cef6b7710bd45a592220c3acb2@sha256:ba373dc8ae5dc72685dbe4b872d8f588bc68b2114abd8bdc6a74d82a2b62cce3" vmdk = "linuxkit/mkimage-vmdk:182b541474ca7965c8e8f987389b651859f760da@sha256:99638c5ddb17614f54c6b8e11bd9d49d1dea9d837f38e0f6c1a5f451085d449b" ) @@ -116,61 +117,14 @@ var outFuns = map[string]func(string, []byte, int, bool) error{ return nil }, "gcp-img": func(base string, image []byte, size int, hyperkit bool) error { - filename := base + ".img.tar.gz" - log.Infof(" %s", filename) kernel, initrd, cmdline, err := tarToInitrd(image) if err != nil { return fmt.Errorf("Error converting to initrd: %v", err) } - tmp, err := ioutil.TempDir(filepath.Join(MobyDir, "tmp"), "gcp-img") - if err != nil { - return err - } - defer os.RemoveAll(tmp) - err = outputLinuxKit("raw", filepath.Join(tmp, "disk.raw"), kernel, initrd, cmdline, size, hyperkit) + err = outputImg(gcp, base+".img.tar.gz", kernel, initrd, cmdline) if err != nil { return fmt.Errorf("Error writing gcp-img output: %v", err) } - out, err := os.Create(filename) - if err != nil { - return err - } - in, err := os.Open(filepath.Join(tmp, "disk.raw")) - if err != nil { - return err - } - fi, err := in.Stat() - if err != nil { - return err - } - zw := gzip.NewWriter(out) - tw := tar.NewWriter(zw) - hdr := &tar.Header{ - Name: "disk.raw", - Mode: 0600, - Size: fi.Size(), - } - err = tw.WriteHeader(hdr) - if err != nil { - return err - } - io.Copy(tw, in) - err = tw.Close() - if err != nil { - return err - } - err = zw.Close() - if err != nil { - return err - } - err = in.Close() - if err != nil { - return err - } - err = out.Close() - if err != nil { - return err - } return nil }, "qcow2": func(base string, image []byte, size int, hyperkit bool) error {