Skip to content

Commit

Permalink
Update support for docker tgz package
Browse files Browse the repository at this point in the history
  • Loading branch information
Ciprian Hacman committed Mar 7, 2020
1 parent 4606e8e commit a57aba0
Show file tree
Hide file tree
Showing 10 changed files with 50 additions and 119 deletions.
23 changes: 19 additions & 4 deletions nodeup/pkg/model/containerd.go
Original file line number Diff line number Diff line change
Expand Up @@ -120,17 +120,33 @@ var containerdVersions = []packageVersion{
PackageVersion: "1.2.11",
PlainBinary: true,
Architectures: []Architecture{ArchitectureAmd64},
Version: "1.2.11",
Source: "https://storage.googleapis.com/cri-containerd-release/cri-containerd-1.2.11.linux-amd64.tar.gz",
Hash: "c98c9fdfd0984557e5b1a1f209213d2d8ad8471c",
},

// 1.2.12 - Linux Generic
{
PackageVersion: "1.2.12",
PlainBinary: true,
Architectures: []Architecture{ArchitectureAmd64},
Source: "https://storage.googleapis.com/cri-containerd-release/cri-containerd-1.2.12.linux-amd64.tar.gz",
Hash: "9455ca2508ad57438cb02a986ba763033bcb05f7",
},

// 1.2.13 - Linux Generic
{
PackageVersion: "1.2.13",
PlainBinary: true,
Architectures: []Architecture{ArchitectureAmd64},
Source: "https://storage.googleapis.com/cri-containerd-release/cri-containerd-1.2.13.linux-amd64.tar.gz",
Hash: "70ee2821e26116b0cddc679d14806fd20d25d65c",
},

// 1.3.2 - Linux Generic
{
PackageVersion: "1.3.2",
PlainBinary: true,
Architectures: []Architecture{ArchitectureAmd64},
Version: "1.3.2",
Source: "https://storage.googleapis.com/cri-containerd-release/cri-containerd-1.3.2.linux-amd64.tar.gz",
Hash: "f451d46280104588f236bee277bca1da8babc0e8",
},
Expand All @@ -140,13 +156,12 @@ var containerdVersions = []packageVersion{
PackageVersion: "1.3.3",
PlainBinary: true,
Architectures: []Architecture{ArchitectureAmd64},
Version: "1.3.3",
Source: "https://storage.googleapis.com/cri-containerd-release/cri-containerd-1.3.3.linux-amd64.tar.gz",
Hash: "921b74e84da366ec3eaa72ff97fa8d6ae56834c6",
},

// TIP: When adding the next version, copy the previous version, string replace the version and run:
// VERIFY_HASHES=1 go test ./nodeup/pkg/model -run TestContainerdPackageHashes
// VERIFY_HASHES=1 go test -v ./nodeup/pkg/model -run TestContainerdPackageHashes
// (you might want to temporarily comment out older versions on a slower connection and then validate)
}

Expand Down
109 changes: 20 additions & 89 deletions nodeup/pkg/model/docker.go

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions nodeup/pkg/model/miscutils.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ func (b *MiscUtilsBuilder) Build(c *fi.ModelBuilderContext) error {
packages = append(packages, "curl")
packages = append(packages, "wget")
packages = append(packages, "nfs-common")
packages = append(packages, "perl")
packages = append(packages, "python-apt")
packages = append(packages, "apt-transport-https")
} else if b.Distribution.IsRHELFamily() {
Expand Down
4 changes: 4 additions & 0 deletions nodeup/pkg/model/packages.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,14 @@ func (b *PackagesBuilder) Build(c *fi.ModelBuilderContext) error {
// ethtool - kops #1830
if b.Distribution.IsDebianFamily() {
// From containerd: https://github.com/containerd/cri/blob/master/contrib/ansible/tasks/bootstrap_ubuntu.yaml
c.AddTask(&nodetasks.Package{Name: "bridge-utils"})
c.AddTask(&nodetasks.Package{Name: "conntrack"})
c.AddTask(&nodetasks.Package{Name: "ebtables"})
c.AddTask(&nodetasks.Package{Name: "ethtool"})
c.AddTask(&nodetasks.Package{Name: "iptables"})
c.AddTask(&nodetasks.Package{Name: "libapparmor1"})
c.AddTask(&nodetasks.Package{Name: "libseccomp2"})
c.AddTask(&nodetasks.Package{Name: "libltdl7"})
c.AddTask(&nodetasks.Package{Name: "pigz"})
c.AddTask(&nodetasks.Package{Name: "socat"})
c.AddTask(&nodetasks.Package{Name: "util-linux"})
Expand All @@ -54,6 +57,7 @@ func (b *PackagesBuilder) Build(c *fi.ModelBuilderContext) error {
c.AddTask(&nodetasks.Package{Name: "ethtool"})
c.AddTask(&nodetasks.Package{Name: "iptables"})
c.AddTask(&nodetasks.Package{Name: "libseccomp"})
c.AddTask(&nodetasks.Package{Name: "libtool-ltdl"})
c.AddTask(&nodetasks.Package{Name: "socat"})
c.AddTask(&nodetasks.Package{Name: "util-linux"})
// Handle some packages differently for each distro
Expand Down
8 changes: 0 additions & 8 deletions nodeup/pkg/model/tests/dockerbuilder/docker_1.12.1/tasks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -211,20 +211,12 @@ contents: |2
path: /usr/share/doc/docker/apache.txt
type: file
---
Name: bridge-utils
---
Name: docker-engine
hash: 30f7840704361673db2b62f25b6038628184b056
preventStart: true
source: http://apt.dockerproject.org/repo/pool/main/d/docker-engine/docker-engine_1.12.1-0~xenial_amd64.deb
version: 1.12.1-0~xenial
---
Name: libapparmor1
---
Name: libltdl7
---
Name: perl
---
Name: docker.service
definition: |
[Unit]
Expand Down
8 changes: 0 additions & 8 deletions nodeup/pkg/model/tests/dockerbuilder/logflags/tasks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -211,20 +211,12 @@ contents: |2
path: /usr/share/doc/docker/apache.txt
type: file
---
Name: bridge-utils
---
Name: docker-engine
hash: b758fc88346a1e5eebf7408b0d0c99f4f134166c
preventStart: true
source: http://apt.dockerproject.org/repo/pool/main/d/docker-engine/docker-engine_1.12.3-0~xenial_amd64.deb
version: 1.12.3-0~xenial
---
Name: libapparmor1
---
Name: libltdl7
---
Name: perl
---
Name: docker.service
definition: |
[Unit]
Expand Down
8 changes: 0 additions & 8 deletions nodeup/pkg/model/tests/dockerbuilder/simple/tasks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -211,20 +211,12 @@ contents: |2
path: /usr/share/doc/docker/apache.txt
type: file
---
Name: bridge-utils
---
Name: docker-engine
hash: b758fc88346a1e5eebf7408b0d0c99f4f134166c
preventStart: true
source: http://apt.dockerproject.org/repo/pool/main/d/docker-engine/docker-engine_1.12.3-0~xenial_amd64.deb
version: 1.12.3-0~xenial
---
Name: libapparmor1
---
Name: libltdl7
---
Name: perl
---
Name: docker.service
definition: |
[Unit]
Expand Down
2 changes: 2 additions & 0 deletions pkg/model/components/containerd.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ func (b *ContainerdOptionsBuilder) BuildOptions(o interface{}) error {

// Set the containerd version for known Docker versions
switch fi.StringValue(clusterSpec.Docker.Version) {
case "19.03.7":
containerd.Version = fi.String("1.2.13")
case "19.03.4":
containerd.Version = fi.String("1.2.10")
case "18.09.9":
Expand Down
4 changes: 3 additions & 1 deletion pkg/model/components/docker.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,9 @@ func (b *DockerOptionsBuilder) BuildOptions(o interface{}) error {

// Set the Docker version for known Kubernetes versions
if fi.StringValue(clusterSpec.Docker.Version) == "" {
if b.IsKubernetesGTE("1.17") {
if b.IsKubernetesGTE("1.18") {
docker.Version = fi.String("19.03.7")
} else if b.IsKubernetesGTE("1.17") {
docker.Version = fi.String("19.03.4")
} else if b.IsKubernetesGTE("1.16") {
docker.Version = fi.String("18.09.9")
Expand Down
2 changes: 1 addition & 1 deletion upup/pkg/fi/nodeup/nodetasks/archive.go
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ func (_ *Archive) RenderLocal(t *local.LocalTarget, a, e, changes *Archive) erro
return fmt.Errorf("error creating directories %q: %v", targetDir, err)
}

args := []string{"tar", "xf", localFile, "-C", targetDir, "--strip-components=" + strconv.Itoa(stripCount), src}
args := []string{"tar", "xf", localFile, "-C", targetDir, "--wildcards", "--strip-components=" + strconv.Itoa(stripCount), src}

klog.Infof("running command %s", args)
cmd := exec.Command(args[0], args[1:]...)
Expand Down

0 comments on commit a57aba0

Please sign in to comment.