You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Host dependencies together with MicroShift on COPR #165
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
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
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
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:
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).
Activity
kristvanbesien commentedon Jan 29, 2026
I notice that when currently using the COPR on fedora 43 the dependencies are broken.
Until this is fixed is there a workaround?
ggiguash commentedon Jan 29, 2026
@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.
pmtk commentedon Feb 15, 2026
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:
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:
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).