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

In OCB/OCL it takes too much time to apply the new image once it has been built

XMLWordPrintable

    • Moderate
    • Yes
    • MCO Sprint 256
    • 1
    • False
    • Hide

      None

      Show
      None

      Description of problem:

      When we enable OCB in the worker pool and a new image is build, once the builder pod has finished building the image it takes about 10-20 minutes to start applying this new image in the first node.
      

      Version-Release number of selected component (if applicable):

      The issue was found while pre-merge verifying https://github.com/openshift/machine-config-operator/pull/4395
      

      How reproducible:

      Always
      

      Steps to Reproduce:

      1. Enable techpreview 
      2. Create this MOSC
      
      oc create -f - << EOF
      apiVersion: machineconfiguration.openshift.io/v1alpha1
      kind: MachineOSConfig
      metadata:
        name: worker
      spec:
        buildOutputs:
          currentImagePullSecret:
            name: $(oc get -n openshift-machine-config-operator sa default -ojsonpath='{.secrets[0].name}')
        machineConfigPool:
          name: worker
        buildInputs:
          imageBuilder:
            imageBuilderType: PodImageBuilder
          baseImagePullSecret:
            name: $(oc get secret -n openshift-config pull-secret -o json | jq "del(.metadata.namespace, .metadata.creationTimestamp, .metadata.resourceVersion, .metadata.uid, .metadata.name)" | jq '.metadata.name="pull-copy"' | oc -n openshift-machine-config-operator create -f - &> /dev/null; echo -n "pull-copy")
          renderedImagePushSecret:
            name: $(oc get -n openshift-machine-config-operator sa builder -ojsonpath='{.secrets[0].name}')
          renderedImagePushspec: "image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image:latest"
          containerFile:
          - containerfileArch: noarch
            content: |-
              # Pull the centos base image and enable the EPEL repository.
              FROM quay.io/centos/centos:stream9 AS centos
              RUN dnf install -y epel-release
      
              # Pull an image containing the yq utility.
              FROM docker.io/mikefarah/yq:latest AS yq
      
              # Build the final OS image for this MachineConfigPool.
              FROM configs AS final
      
              # Copy the EPEL configs into the final image.
              COPY --from=yq /usr/bin/yq /usr/bin/yq
              COPY --from=centos /etc/yum.repos.d /etc/yum.repos.d
              COPY --from=centos /etc/pki/rpm-gpg/RPM-GPG-KEY-* /etc/pki/rpm-gpg/
      
              # Install cowsay and ripgrep from the EPEL repository into the final image,
              # along with a custom cow file.
              RUN sed -i 's/\$stream/9-stream/g' /etc/yum.repos.d/centos*.repo && \
                  rpm-ostree install cowsay ripgrep
      EOF
      
      

      Actual results:

      The machine-os-builder pod will be created, then the build pod will be created too, the image will be built and then it will take about 10-20 minutes to start applying the new build in the first node.
      
      
      

      Expected results:

      After MCO finishes building the image it should not take 10/20 minutes to start applying the image in the first node.
      

      Additional info:

      
      

            rh-ee-iqian Ines Qian
            sregidor@redhat.com Sergio Regidor de la Rosa
            Sergio Regidor de la Rosa Sergio Regidor de la Rosa
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: