镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

Host dependencies together with MicroShift on COPR #165

Description

@pmtk

Continuation of #71

Goal is to rebuild and publish dependencies such as CRI-O, oc, containernetworking-plugins so the install process is really just dnf copr enable @microshift-io/microshift && dnf install microshift -y

Activity

  1. self-assigned this
    on Dec 12, 2025
  2. added theissue type on Dec 18, 2025
  3. kristvanbesien commented on Jan 29, 2026

    @kristvanbesien

    I notice that when currently using the COPR on fedora 43 the dependencies are broken.

    sudo dnf install microshift
    Updating and loading repositories:
    Repositories loaded.
    Failed to resolve the transaction:
    Problem: conflicting requests
      - nothing provides openshift-clients needed by microshift-4.21.0_g79c896c21_4.21.0_okd_scos.ec.11-1.fc43.aarch64 from copr:copr.fedorainfracloud.org:group_microshift-io:microshift
      - nothing provides cri-o >= 1.34.0 needed by microshift-4.21.0_g79c896c21_4.21.0_okd_scos.ec.11-1.fc43.aarch64 from copr:copr.fedorainfracloud.org:group_microshift-io:microshift
      - nothing provides openshift-clients needed by microshift-4.21.0_gae559a27d_4.21.0_okd_scos.ec.9-1.fc43.aarch64 from copr:copr.fedorainfracloud.org:group_microshift-io:microshift
      - nothing provides cri-o >= 1.34.0 needed by microshift-4.21.0_gae559a27d_4.21.0_okd_scos.ec.9-1.fc43.aarch64 from copr:copr.fedorainfracloud.org:group_microshift-io:microshift
    You can try to add to command line:
      --skip-broken to skip uninstallable packages
    

    Until this is fixed is there a workaround?

  4. ggiguash commented on Jan 29, 2026

    @ggiguash
    Contributor

    @kristvanbesien , as a workaround, please use this procedure for RPM installation of MicroShift.

    P.S. Point the repo to a dummy empty directory as the RPMs are coming from COPR.

  5. pmtk commented on Feb 15, 2026

    @pmtk
    ContributorAuthor

    Last week I took a look at how we can provide dependencies in the same COPR repository for improved UX.

    Started with rebuilding oc, which wasn't particularly hard because the oc.spec can be fetched from the openshift/oc.
    Then, I wanted to rebuild the cri-o. I found upstream SRPM which would be easy to rebuild, but the specfile is rather different from RH's.
    Also, we would not get runc, and perhaps some setting would be different, which could cause incompatibilities down the road.

    We could just get the specfiles from rhocp/fast-datapath SRPMs and rebuild with upstream code, but that means:

    • Possible compatibility and downstream SRPM/upstream code problems
    • more maintenance burden for microshift team

    I also found https://github.com/SupremeMortal/micro-okd-specs/ but forking it would also mean maintenance effort. And they are not pure downstream specs.

    Due to above reasons, I think that the least effortful, albeit not the prettiest, approach would be to package DNF repository configuration file of RHOCP beta mirror in separate package and instruct users to install it before installing microshift:

    dnf enable copr @microshift-io/microshift-nightly
    dnf install microshift-io-dependencies -y
    dnf install microshift -y
    

    One exception might be containernetworking-plugins for CentOS Stream 10 only - it's quite easy to rebuild from upstream because the SRMP (see kubernetes-cni) already contains compiled binaries, we just need to install them in the right path (upstream K8s uses different paths).
    Here's PR with such proposal: #203

    We can discuss if we should proceed this path.
    There are still some procedures in postinstall.sh that are beneficial, but not covered by these changes (firewall, inotify limits, disabling ovs).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions