← Back to team overview

sts-sponsors team mailing list archive

[Bug 1867398] Re: [Regression] unsupported protocol scheme

 

Hey Jorge,

I've checked the bionic patch and it looks ok. I just need to ask you
for a couple of minor improvements:

1. Package version number should be rather 1.3.3-0ubuntu1~18.04.2 than 1.3.3-0ubuntu1~18.04.1ubuntu1
2. Patch commit id - the patch says 58769373c5509297749e9e12f0a99fb43653fa07 as the commit ID, but I was not able to find it in the upstream git. However, there's an identical with ID a022c218194c05449ad69b69c48fc6cac9d6f0b3. Can you please double check that commit ID?
3. Since it's an upstream patch it should contain the Origin: field, preferably pointing to the upstream commit (as required by [1]), e.g.Origin: upstream, https://github.com/containerd/containerd/commit/a022c218194c05449ad69b69c48fc6cac9d6f0b3
4. Can you please update the bug description according to the SRU template [2]?

[1] https://dep-team.pages.debian.net/deps/dep3/
[2] https://wiki.ubuntu.com/StableReleaseUpdates#SRU_Bug_Template.3C.3CAnchor.28srubug.29.3E.3E

Thanks!

-- 
You received this bug notification because you are a member of STS
Sponsors, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1867398

Title:
  [Regression] unsupported protocol scheme

Status in containerd package in Ubuntu:
  Fix Released
Status in containerd source package in Bionic:
  New
Status in containerd source package in Eoan:
  Fix Released
Status in containerd source package in Focal:
  Fix Released

Bug description:
  [Environment]

  Kubernetes 1.16.17
  Containerd 1.3.3
  Ubuntu Bionic

  [Affected Releases]

   containerd | 1.3.3-0ubuntu1~18.04.1 | bionic-updates/universe  | source, amd64, arm64, armhf, i386, ppc64el, s390x
   containerd | 1.3.3-0ubuntu1~19.10.1 | eoan-updates/universe    | source, amd64, arm64, armhf, i386, ppc64el, s390x
   containerd | 1.3.3-0ubuntu1         | focal                    | source, amd64, arm64, armhf, ppc64el, s390x

  
  [Description]

  Reported upstream:
  https://github.com/containerd/containerd/issues/4108

  The bump of to version 1.3.3 through [0]
  https://bugs.launchpad.net/ubuntu/+source/containerd/+bug/1854841

  Caused a regression.

  The following endpoint description works with containerd 1.2.X without defining
  a protocol scheme. (/etc/containerd/config.toml).

      [plugins."io.containerd.grpc.v1.cri".registry.mirrors."niedbalski-bastion.cloud.sts:5000"]
        endpoint = ["niedbalski-bastion.cloud.sts:5000"]
  This stopped working on 1.3.X , scheduling pods with k8s 1.16-1.17 doesn't
  works using the same registry mirror definition.

  The pod definition is:

  apiVersion: v1
  kind: Pod
  metadata:
    name: busybox
    namespace: default
  spec:
    containers:
      - name: busybox
        image: niedbalski-bastion.cloud.sts:5000/busybox:latest
        command:
          - sleep
          - "3600"
    imagePullSecrets:
      - name: regcred
    restartPolicy: Always
  New pods fail with the following error:

  " failed to do request: Head niedbalski-
  bastion.cloud.sts:///v2/busybox/manifests/latest: unsupported protocol
  scheme "niedbalski-bastion.cloud.sts"

  Normal Scheduled default-scheduler Successfully assigned default/busybox to juju-3a79d2-00268738-4
  Normal Pulling 8m39s (x4 over 10m) kubelet, juju-3a79d2-00268738-4 Pulling image "niedbalski-bastion.cloud.sts:5000/busybox:latest"
  Warning Failed 8m39s (x4 over 10m) kubelet, juju-3a79d2-00268738-4 Failed to pull image "niedbalski-bastion.cloud.sts:5000/busybox:latest": rpc error: code = Unknown desc = failed to pull and unpack image "niedbalski-bastion.cloud.sts:5000/busybox:latest": failed to resolve reference "niedbalski-bastion.cloud.sts:5000/busybox:latest": failed to do request: Head niedbalski-bastion.cloud.sts:///v2/busybox/manifests/latest: unsupported protocol scheme "niedbalski-bastion.cloud.sts"
  Warning Failed 8m39s (x4 over 10m) kubelet, juju-3a79d2-00268738-4 Error: ErrImagePull
  Warning Failed 8m27s (x6 over 10m) kubelet, juju-3a79d2-00268738-4 Error: ImagePullBackOff
  Normal BackOff 4m56s (x21 over 10m) kubelet, juju-3a79d2-00268738-4 Back-off pulling image "niedbalski-bastion.cloud.sts:5000/busybox:latest"

  [Steps to reproduce]

  Configure a private docker repository repository

  Modify the containerd registry mirror config as follows:
  ** http://paste.ubuntu.com/p/yP63WMkVT6/

  Execute the following pod (http://paste.ubuntu.com/p/BVYQFMfCmk/)

  Status of the scheduled pod should be ImagePullBackOff
  and the before mentioned error should be raised.

  [Possible workaround and solution]

  As a workaround change the endpoint to support the scheme (https://)
  Provide a fallback mechanism for URL parsing validation to fallback to http or https.
  I suspect that this change introduced on 1.3.3 through
  0b29c9c) may be the offending commit.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/containerd/+bug/1867398/+subscriptions