Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-57287

ErrImagePull when pulling multiple images at the same time

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • 4.18
    • Image Registry
    • None
    • Quality / Stability / Reliability
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Description of problem:
      ImagePullBackOff error occurs when pulling the image for the first time, but then becomes available after a few seconds.
      Screenshots
      How reproducible:
      Fairly often when pulliing a new image. Around 80% of the time I would say.

      Steps to Reproduce:

          1. Start off with a fresh cluster (OpenShift Local or OpenShift)
          2. Navigate to pods in whatever project you want to deploy pods in
          3. Run the attached yaml file that will pull multiple different images.
          4. Observe ImagePullBackOff on at least 1 pod.
      
      If using an existing cluster make sure to delete images from node before attempting to recreate. 
      Use this command to delete the images that are use by the test yaml down below.
      {code:bash}
      podman rmi registry.redhat.io/ubi8/nodejs-16 registry.redhat.io/rhel8/nginx-120 regstry.redhat.io/rhel8/python-311 registry.redhat.io/ubi8/python-39 registry.redhat.io/rhel8/edis-6 registry.redhat.io/rhel8/httpd-24
      

      Actual results:
      ImagePullBackOff error occurs when pulling multiple images for the first time.

      Expected results:
      No error occurs when pulling an image for the first time

      apiVersion: v1
      kind: Pod
      metadata: 
        name: python311-pod
      spec: 
        containers: 
          - name: python311
            image: registry.redhat.io/rhel8/python-311:latest
            command: ["python3", "-c", "import time; time.sleep(100)"]
      ---
      apiVersion: v1
      kind: Pod
      metadata: 
        name: nginx-pod
      spec: 
        containers: 
          - name: nginx
            image: registry.redhat.io/rhel8/nginx-120:latest
            command: ["nginx", "-g", "daemon off;"]
      ---
      apiVersion: v1
      kind: Pod
      metadata: 
        name: sqlite-pod
      spec: 
        containers: 
          - name: sqlite
            image: registry.redhat.io/ubi8/python-39:latest
            command: 
              [
                "python3",
                "-c",
                "import sqlite3; import time; conn = sqlite3.connect('/data/test.db'); time.sleep(100)",
              ]
            volumeMounts: 
              - name: sqlite-data
                mountPath: /data
        volumes: 
          - name: sqlite-data
            emptyDir: {}
      ---
      apiVersion: v1
      kind: Pod
      metadata: 
        name: redis-pod
      spec: 
        containers: 
          - name: redis
            image: registry.redhat.io/rhel8/redis-6:latest
            command: ["redis-server"]
      ---
      apiVersion: v1
      kind: Pod
      metadata: 
        name: nodejs-pod
      spec: 
        containers: 
          - name: nodejs
            image: registry.redhat.io/ubi8/nodejs-16:latest
            command: ["node", "-e", "setInterval(() => {}, 1000)"]
      ---
      apiVersion: v1
      kind: Pod
      metadata: 
        name: httpd-pod
      spec: 
        containers: 
          - name: httpd
            image: registry.redhat.io/rhel8/httpd-24:latest
            command: ["httpd", "-D", "FOREGROUND"]
            ports: 
              - containerPort: 80
            volumeMounts: 
              - name: httpd-config
                mountPath: /etc/httpd/conf.d/ssl.conf
                subPath: ssl.conf
        volumes: 
          - name: httpd-config
            configMap: 
              name: httpd-config
      ---
      apiVersion: v1
      kind: ConfigMap
      metadata: 
        name: httpd-config
      data: 
        ssl.conf: |
          # Disable SSL for this basic setup
          SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
          SSLCipherSuite HIGH:!aNULL:!MD5
          SSLHonorCipherOrder on
          SSLInsecureRenegotiation off
          SSLCompression off
          SSLSessionTickets off
          SSLUseStapling off
          SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
          SSLStrictSNIVHostCheck off
          # Comment out SSL certificate requirements
          # SSLCertificateFile /etc/httpd/tls/localhost.crt
          # SSLCertificateKeyFile /etc/httpd/tls/localhost.key
      

              fmissi Flavian Missi
              rh-ee-allausas Andres Llausas
              None
              None
              XiuJuan Wang XiuJuan Wang
              None
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: