Okd: OKD project state and relation to OpenShift

Created on 18 Dec 2019  路  4Comments  路  Source: openshift/okd

I am deeply confused by the current state of OKD project. Until release of version 4, I thought that OpenShift was developed in an open source process typical for Red Hat - i.e. that OKD was the upstream project where development work was done and OpenShift Container Platform was the supported version, based on OKD code.

However, something has changed along with the release of OpenShift 4. I don't understand what is the current relation between OpenShift and OKD. There was no official OKD release for version 4, despite OpenShift already being at version 4.2. The OKD web page suggests that latest release was 3.11.

Could you please explain what is the current development model for OpenShift, and the relation between OKD and OpenShift?

kindocumentation

Most helpful comment

OKD was the upstream project where development work was done

Right, in OCP/OKD 4 things are bit more complicated.

So both OCP4 and OKD4 Preview are open source products - oc adm release info quay.io/openshift-release-dev/ocp-release:4.2.12 --commit-urls would show you exact commit used to build particular component.

Note, that one component doesn't have a commit URL - its machine-os-content. This is an ostree commit of RHEL CoreOS with RHEL8 RPMs which is used to update initial RHEL CoreOS OS installed on the nodes. While RHEL CoreOS itself is Open Source too (all SRPMs are from RHEL8) its not convenient for external contributors to deploy their own customized clusters based on OCP4.

This brings us to the difference between OCP4 and OKD4 - the base OS. In OKD4 we use Fedora CoreOS instead of RHEL CoreOS (however it can be any rpm-ostree based system driven by Ignition). There are quite a few changes between these, most important would be Ignition version 2 in FCOS instead of Ignition 0.33 in RHCOS. This change has forced us to temporarily fork installer and machine-config-daemon.

Most components - for instance console - are built using Red Hat UBI 7, so this image can be used on both OCP4 and OKD4 without any rebuild (previously OKD images were centos and were rebuilt using RHEL before appearing in OCP4). Machine-os-content in OKD is being built from FCOS (in OCP its being built from RHCOS). The releases, CI and other infra parts are the same for both. So the best term we have for OKD4 and OCP4 are "sibling distributions".

OKD4 is currently in Preview mode since CI and release controller jobs are not yet fully setup - and installer doesn't support as many platforms as OCP4.

@LorbusChris @dmueller2001 @smarterclayton feel free to correct me on this one.

All 4 comments

OKD was the upstream project where development work was done

Right, in OCP/OKD 4 things are bit more complicated.

So both OCP4 and OKD4 Preview are open source products - oc adm release info quay.io/openshift-release-dev/ocp-release:4.2.12 --commit-urls would show you exact commit used to build particular component.

Note, that one component doesn't have a commit URL - its machine-os-content. This is an ostree commit of RHEL CoreOS with RHEL8 RPMs which is used to update initial RHEL CoreOS OS installed on the nodes. While RHEL CoreOS itself is Open Source too (all SRPMs are from RHEL8) its not convenient for external contributors to deploy their own customized clusters based on OCP4.

This brings us to the difference between OCP4 and OKD4 - the base OS. In OKD4 we use Fedora CoreOS instead of RHEL CoreOS (however it can be any rpm-ostree based system driven by Ignition). There are quite a few changes between these, most important would be Ignition version 2 in FCOS instead of Ignition 0.33 in RHCOS. This change has forced us to temporarily fork installer and machine-config-daemon.

Most components - for instance console - are built using Red Hat UBI 7, so this image can be used on both OCP4 and OKD4 without any rebuild (previously OKD images were centos and were rebuilt using RHEL before appearing in OCP4). Machine-os-content in OKD is being built from FCOS (in OCP its being built from RHCOS). The releases, CI and other infra parts are the same for both. So the best term we have for OKD4 and OCP4 are "sibling distributions".

OKD4 is currently in Preview mode since CI and release controller jobs are not yet fully setup - and installer doesn't support as many platforms as OCP4.

@LorbusChris @dmueller2001 @smarterclayton feel free to correct me on this one.

Thank you for the thorough explanation. I believe posting an article about this on developer.redhat.com would be very beneficial - I talked with many colleagues about OpenShift/OKD and they were as confused as me. This suggests that communication regarding the changes in development model after version 4 was not clear enough.

Aren't there also licensing differences between OCP and OKD/RHEL and Fedora?

I believe posting an article about this on developer.redhat.com would be very beneficial - I talked with many colleagues about OpenShift/OKD and they were as confused as me

Good idea, we're going to post about OKD4 to Fedora Magazine and other platforms once OKD4 gets a bit more stable

Was this page helpful?
0 / 5 - 0 ratings