Merge pull request #7182 from priyawadhwa/issue-7172

Upgrade podman and add libglib2.0-0 to kicbase image v0.0.8
pull/7196/head
Medya Ghazizadeh 2020-03-23 23:01:53 -07:00 committed by GitHub
commit afa09ad5d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 35 additions and 6 deletions

View File

@ -12,3 +12,4 @@ sha256 2e027c1b935f3a03f27ef7f17823ccf334607a17d033d4ce53a90b98294e7f68 v1.4.4.t
sha256 61b44b739c485125f179044f7aa7dc58c820f771bce4ce495fa555a38dc68b57 v1.6.3.tar.gz
sha256 6e59821320b435543bc7554e73faa66d5956e4ad3f7e7f4ea03bebd6726758e9 v1.6.4.tar.gz
sha256 50960293c2019e38ce69e4cf5f0a683e7fea1562b180e38e38c9355fcd7c4f0d v1.6.5.tar.gz
sha256 69f7ff81da1510ebf2962c1de3170675ca3cd8a24bc00c93742a24bcce17c752 v1.8.2.tar.gz

View File

@ -1,5 +1,5 @@
PODMAN_VERSION = v1.6.5
PODMAN_COMMIT = 45e7be192ef99e870c59a1cd2c1fa7940b0af2d6
PODMAN_VERSION = v1.8.2
PODMAN_COMMIT = 028e3317eb1494b9b2acba4a0a295df80fae66cc
PODMAN_SITE = https://github.com/containers/libpod/archive
PODMAN_SOURCE = $(PODMAN_VERSION).tar.gz
PODMAN_LICENSE = Apache-2.0

View File

@ -12,6 +12,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
docker.io=19.03.2-0ubuntu1 \
openssh-server=1:8.0p1-6build1 \
dnsutils=1:9.11.5.P4+dfsg-5.1ubuntu2.1 \
# libglib2.0-0 is required for conmon, which is required for podman
libglib2.0-0=2.62.1-1 \
&& rm /etc/crictl.yaml
# install cri-o based on https://github.com/cri-o/cri-o/commit/96b0c34b31a9fc181e46d7d8e34fb8ee6c4dc4e1#diff-04c6e90faac2675aa89e2176d2eec7d8R128
RUN sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_19.10/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list" && \
@ -19,7 +21,7 @@ RUN sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/lib
apt-key add - < Release.key && apt-get update && \
apt-get install -y --no-install-recommends cri-o-1.17=1.17.0-3
# install podman
RUN apt-get install -y --no-install-recommends podman=1.8.0~7
RUN apt-get install -y --no-install-recommends podman=1.8.2~1
# disable non-docker runtimes by default
RUN systemctl disable containerd && systemctl disable crio && rm /etc/crictl.yaml
# enable docker which is default

View File

@ -30,9 +30,9 @@ const (
DefaultPodCIDR = "10.244.0.0/16"
// Version is the current version of kic
Version = "v0.0.7"
Version = "v0.0.8"
// SHA of the kic base image
baseImageSHA = "a6f288de0e5863cdeab711fa6bafa38ee7d8d285ca14216ecf84fcfb07c7d176"
baseImageSHA = "2f3380ebf1bb0c75b0b47160fd4e61b7b8fef0f1f32f9def108d3eada50a7a81"
// OverlayImage is the cni plugin used for overlay image, created by kind.
// CNI plugin image used for kic drivers created by kind.

View File

@ -92,7 +92,11 @@ func LoadImages(cc *config.ClusterConfig, runner command.Runner, images []string
for _, image := range images {
image := image
g.Go(func() error {
err := needsTransfer(imgClient, image, cr)
// Put a ten second limit on deciding if an image needs transfer
// because it takes much less than that time to just transfer the image.
// This is needed because if running in offline mode, we can spend minutes here
// waiting for i/o timeout.
err := timedNeedsTransfer(imgClient, image, cr, 10*time.Second)
if err == nil {
return nil
}
@ -107,6 +111,28 @@ func LoadImages(cc *config.ClusterConfig, runner command.Runner, images []string
return nil
}
func timedNeedsTransfer(imgClient *client.Client, imgName string, cr cruntime.Manager, t time.Duration) error {
timeout := make(chan bool, 1)
go func() {
time.Sleep(t)
timeout <- true
}()
transferFinished := make(chan bool, 1)
var err error
go func() {
err = needsTransfer(imgClient, imgName, cr)
transferFinished <- true
}()
select {
case <-transferFinished:
return err
case <-timeout:
return fmt.Errorf("needs transfer timed out in %f seconds", t.Seconds())
}
}
// needsTransfer returns an error if an image needs to be retransfered
func needsTransfer(imgClient *client.Client, imgName string, cr cruntime.Manager) error {
imgDgst := "" // for instance sha256:7c92a2c6bbcb6b6beff92d0a940779769c2477b807c202954c537e2e0deb9bed