Merge pull request #69 from justincormack/gcp-fix

Do not use Linuxkit to build GCP images for now
This commit is contained in:
Justin Cormack 2017-06-05 15:37:48 +01:00 committed by GitHub
commit 3a16c02f10
2 changed files with 3 additions and 49 deletions

View File

@ -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:

View File

@ -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 {