Apply override patch so the downstream CNO is not redeployed automatically:
curl https://raw.githubusercontent.com/openshift/cluster-network-operator/master/hack/overrides-patch.yaml --output overrides-patch.yaml
oc patch --type=json -p "$(cat overrides-patch.yaml)" clusterversion version
You need to patch the manifests/0000_70_cluster-network-operator_03_deployment.yaml to run the development versions of the CNO and OVN-K:
24c24,25
< image: quay.io/openshift/origin-cluster-network-operator:latest
---
> image: quay.io/mmaciasl/cluster-network-operator:latest
> imagePullPolicy: Always
41a43,44
> - name: NETWORK_PLUGIN
> value: "OVNKubernetes"
65c68
< value: "quay.io/openshift/origin-ovn-kubernetes:latest"
---
> value: "quay.io/mmaciasl/ovn-daemonset-f:latest"
Simply run the following command to update it:
oc apply -f manifests/0000_70_cluster-network-operator_03_deployment.yaml
Check image and events:
oc describe -n openshift-network-operator deployment/network-operator
git clone github.com/ovn-org/ovn-kubernetes
cd ovn-kubernetes/go-controller
make
cd ../dist/images/
find ../../go-controller/_output/go/bin/ -maxdepth 1 -type f -exec cp -f {} . \;
echo "ref: $(git rev-parse --symbolic-full-name HEAD) commit: $(git rev-parse HEAD)" > git_info
export OVN_IMAGE=quay.io/mmaciasl/ovn-daemonset-f:latest
docker build -t $OVN_IMAGE -f Dockerfile.fedora .
docker push $OVN_IMAGE
(replace quay.io/mmaciasl
by your own images repo)
git clone github.com/openshift/cluster-network-operator
cd cluster-network-operator
podman build -t quay.io/mmaciasl/cluster-network-operator:latest .
podman push quay.io/mmaciasl/cluster-network-operator:latest
(replace quay.io/mmaciasl
by your own images repo)
Then follow the steps of the Using-pre-built-images section, providing your own repository in the image paths.