Uploaded image for project: 'OpenShift Top Level Product Strategy'
  1. OpenShift Top Level Product Strategy
  2. OCPPLAN-9014

Support image pull progress deadline supportability - OCP 4 CRI-O

XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Done
    • Icon: Undefined Undefined
    • None
    • None
    • None
    • None
    • Support image pull progress deadline supportability - OCP 4 CRI-O
    • False
    • None
    • False
    • Not Selected
    • ?
    • No
    • ?
    • To Do
    • OCPSTRAT-163 - Image management by CRIO
    • ?
    • OCPSTRAT-163Image management by CRIO
    • ?

       
      {{Kubelet sends the PullImage request without timeout, because the image size
      is unknown and timeout is hard to defined. The pulling request might run
      into 0B/s speed, if containerd can't receive any packet in that connection.
      For this case, the containerd should cancel the PullImage request.

      Although containerd provides ingester manager to track the progress of pulling
      request, for example `ctr image pull` shows the console progress bar, it needs
      more CPU resources to open/read the ingested files to get status.

      In order to support progress timeout feature with lower overhead, this
      patch uses http.RoundTripper wrapper to track active progress. That
      wrapper will increase active-request number and return the
      countingReadCloser wrapper for http.Response.Body. Each bytes-read
      can be count and the active-request number will be descreased when the
      countingReadCloser wrapper has been closed. For the progress tracker,
      it can check the active-request number and bytes-read at intervals. If
      there is no any progress, the progress tracker should cancel the
      request.}}

              Unassigned Unassigned
              gausingh@redhat.com Gaurav Singh
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: