---
# System prepended metadata

title: Moving RHCOS to use lockfiles

---

# Moving RHCOS to use lockfiles

RHCOS needs the the lockfiles (manifest-lock.* files) to control the package updates. They are needed for better insight into regressions from changes we inherit from base el8. Steps we need to incorporate lockfiles in RHCOS:

- Place the lockfiles at https://github.com/openshift/os
- Pull in data using [bump-lockfile job](https://github.com/coreos/fedora-coreos-pipeline/blob/main/jobs/bump-lockfile.Jenkinsfile) to manage/bump lockfiles and control package updates. To enable us to build multiple versions of RHCOS based on differrent versions of RHEL (and CentOS Stream) from the same repo, we store the repos needed for each RHEL minor release into distinct files:
    - **rhel-8-baseos** & **rhel-8-appstream**: General RPMs from RHEL
    - **rhel-8-nfv**: For the Real Time kernel
    - **rhel-8-fast-datapath**: Provides 'openvswitch' related packages
    - **rhel-8-server-ose**: All OpenShift specific packages for RHCOS: cri-o, cri-tools, oc, hyperbuke. Also include other packages when RHCOS requires more updated versions than what is available in a given RHEL release. This is generated by the OpenShift Automated Release Team: https://issues.redhat.com/browse/GRPA-2238 & http://post-office.corp.redhat.com/archives/aos-devel/2020-June/msg00106.html
- Further discussion on how often we would run it.
    - TR: We should run it daily to pick up cri-o & kubelet changes
- Getting ART to adapt to it, which might also include changing how they manage the **rhel-X-server-ose-Y** repos
    - Tracked in https://issues.redhat.com/browse/ART-4332