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

RHCOS image layering doc doesn't explain how to create the image

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Undefined Undefined
    • None
    • 4.12
    • Documentation / RHCOS
    • None
    • No
    • 5
    • OSDOCS Sprint 237, OSDOCS Sprint 238, OSDOCS Sprint 239
    • 3
    • False
    • Hide

      None

      Show
      None

      Description of problem:

      The documentation available here: https://docs.openshift.com/container-platform/4.12/post_installation_configuration/coreos-layering.html instructs how to prepare RHCOS image layering. Unfortunately it doesn't explain how  to build the image. I did it just using podman:
      
      ```
      [root@quay-oc-mirror kernel-patch]# cat Containerfile
      FROM quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:71658b50c68fdc974de2271f0ab166c663bc475e4626b4871f292e6a21ca1c41ADD kernel-4.18.0-372.38.1.el8_6pittimerpinned.x86_64.rpm ./
      ADD kernel-core-4.18.0-372.38.1.el8_6pittimerpinned.x86_64.rpm ./
      ADD kernel-modules-4.18.0-372.38.1.el8_6pittimerpinned.x86_64.rpm ./
      ADD kernel-modules-extra-4.18.0-372.38.1.el8_6pittimerpinned.x86_64.rpm ./RUN rpm-ostree override replace kernel-4.18.0-372.38.1.el8_6pittimerpinned.x86_64.rpm \
          kernel-core-4.18.0-372.38.1.el8_6pittimerpinned.x86_64.rpm kernel-modules-4.18.0-372.38.1.el8_6pittimerpinned.x86_64.rpm \
          kernel-modules-extra-4.18.0-372.38.1.el8_6pittimerpinned.x86_64.rpm && \
          rpm-ostree cleanup -m && \
          ostree container commit
      ```
      
      
      ```
      [root@quay-oc-mirror kernel-patch]# podman build .
      STEP 1/6: FROM quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:71658b50c68fdc974de2271f0ab166c663bc475e4626b4871f292e6a21ca1c41
      STEP 2/6: ADD kernel-4.18.0-372.38.1.el8_6pittimerpinned.x86_64.rpm ./
      --> 60ff647cf7b
      STEP 3/6: ADD kernel-core-4.18.0-372.38.1.el8_6pittimerpinned.x86_64.rpm ./
      --> f0f27e9e506
      STEP 4/6: ADD kernel-modules-4.18.0-372.38.1.el8_6pittimerpinned.x86_64.rpm ./
      --> f5d4e03b60b
      STEP 5/6: ADD kernel-modules-extra-4.18.0-372.38.1.el8_6pittimerpinned.x86_64.rpm ./
      --> 16dbf08d57c
      STEP 6/6: RUN rpm-ostree override replace kernel-4.18.0-372.38.1.el8_6pittimerpinned.x86_64.rpm     kernel-core-4.18.0-372.38.1.el8_6pittimerpinned.x86_64.rpm kernel-modules-4.18.0-372.38.1.el8_6pittimerpinned.x86_64.rpm     kernel-modules-extra-4.18.0-372.38.1.el8_6pittimerpinned.x86_64.rpm &&     rpm-ostree cleanup -m &&     ostree container commit
      Enabled rpm-md repositories: rhel-8-for-x86_64-baseos-rpms rhel-8-for-x86_64-appstream-rpms
      Updating metadata for 'rhel-8-for-x86_64-baseos-rpms'...done
      Updating metadata for 'rhel-8-for-x86_64-appstream-rpms'...done
      Importing rpm-md...done
      rpm-md repo 'rhel-8-for-x86_64-baseos-rpms'; generated: 2023-04-05T14:04:21Z solvables: 14635
      rpm-md repo 'rhel-8-for-x86_64-appstream-rpms'; generated: 2023-04-04T12:42:56Z solvables: 32053
      Resolving dependencies...done
      Installing 4 packages:
        kernel-4.18.0-372.38.1.el8_6pittimerpinned.x86_64 (@commandline)
        kernel-core-4.18.0-372.38.1.el8_6pittimerpinned.x86_64 (@commandline)
        kernel-modules-4.18.0-372.38.1.el8_6pittimerpinned.x86_64 (@commandline)
        kernel-modules-extra-4.18.0-372.38.1.el8_6pittimerpinned.x86_64 (@commandline)
      Downgrading: kernel-core;4.18.0-372.38.1.el8_6pittimerpinned;x86_64;local
      Downgrading: kernel-modules;4.18.0-372.38.1.el8_6pittimerpinned;x86_64;local
      Downgrading: kernel;4.18.0-372.38.1.el8_6pittimerpinned;x86_64;local
      Downgrading: kernel-modules-extra;4.18.0-372.38.1.el8_6pittimerpinned;x86_64;local
      Cleanup: kernel;4.18.0-372.46.1.el8_6;x86_64;installed
      Cleanup: kernel-modules-extra;4.18.0-372.46.1.el8_6;x86_64;installed
      Cleanup: kernel-modules;4.18.0-372.46.1.el8_6;x86_64;installed
      Cleanup: kernel-core;4.18.0-372.46.1.el8_6;x86_64;installed
      COMMIT
      --> 10e26b349fa
      10e26b349fa0d6a818f9c5138def3a35451709080c0bd23b6eecd2472e7442cb
      ```
      
      then tagged image and push it to the registry, created MachineConfig following the docs:
      
      
      ```
      [root@quay-oc-mirror ~]# cat machineconfig-custom-image.yaml
      apiVersion: machineconfiguration.openshift.io/v1
      kind: MachineConfig
      metadata:
        labels:
          machineconfiguration.openshift.io/role: master
        name: pittimerpinned
      spec:
        osImageURL: ocp-mirror.local:8443/rafal-test/custom-image@sha256:08548f85691593864fb61b9e9186767f181e9cef949c25292f95e9d3f1f04bc0
      ```
      
      but when node got rebooted, it kernel panicked.
      
      Now I'm unsure if I did something wrong with the image build process or something else is broken. 
      
      I'd like to have precise instructions including image build process for RHCOS image layering procedure.
       

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

       

      How reproducible:

       

      Steps to Reproduce:

      1.
      2.
      3.
      

      Actual results:

      Incomplete RHCOS image layering instruction.
      

      Expected results:

       

      Additional info:

       

              rhn-support-jdohmann Jesse Dohmann
              rszmigie Rafal Szmigiel
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: