Skip to content

Instantly share code, notes, and snippets.

@zshi-redhat
Last active March 22, 2022 10:12
Show Gist options
  • Save zshi-redhat/a5b4f2ace58e4cbc8b9b934692ed3ee0 to your computer and use it in GitHub Desktop.
Save zshi-redhat/a5b4f2ace58e4cbc8b9b934692ed3ee0 to your computer and use it in GitHub Desktop.
hypershift installation with ovn-k network type

Build customized images for CNO/Hypershift/OVNK

CNO

$ git clone https://github.com/openshift/cluster-network-operator

$ git fetch origin pull/1329/head:1329

$ git checkout 1329

$ podman build -t quay.io/[repo]/cluster-network-operator -f Dockerfile.rhel7 .

$ podman push quay.io/[repo]/cluster-network-operator

OVNK

$ git clone https://github.com/ovn-org/ovn-kubernetes

$ git fetch origin pull/2837/head:2837

$ git checkout 2837

$ podman build -t quay.io/[repo]/ovn-daemonset -f Dockerfile .

$ podman push quay.io/[repo]/ovn-daemonset

Hypershift

$ git clone https://github.com/openshift/hypershift

$ git fetch origin pull/1101/head:1101

$ git checkout 1101

Specify the CNO and OVNK images in hypershift code

+++ b/control-plane-operator/controllers/hostedcontrolplane/cno/clusternetworkoperator.go
@@ -11,6 +11,7 @@ import (
        appsv1 "k8s.io/api/apps/v1"
        corev1 "k8s.io/api/core/v1"
        rbacv1 "k8s.io/api/rbac/v1"
        "k8s.io/apimachinery/pkg/api/resource"
        metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
        utilpointer "k8s.io/utils/pointer"
@@ -57,7 +58,7 @@ func NewParams(hcp *hyperv1.HostedControlPlane, version string, images map[strin
 
        p := Params{
                Images: Images{
-                       NetworkOperator:              images["cluster-network-operator"],
+                       NetworkOperator:              "quay.io/[repo]/cluster-network-operator",
                        SDN:                          images["sdn"],
                        KubeProxy:                    images["kube-proxy"],
                        KubeRBACProxy:                images["kube-rbac-proxy"],
-			OVN:                          images["ovnk"],
+			OVN:                          "quay.io/[repo]/ovn-daemonset",
                        EgressRouterCNI:              images["egress-router-cni"],
                        KuryrDaemon:                  images["kuryr-cni"],
                        KuryrController:              images["kuryr-controller"],
                        NetworkMetricsDaemon:         images["network-metrics-daemon"],
                        NetworkCheckSource:           images["cluster-network-operator"],
-                       NetworkCheckTarget:           images["cluster-network-operator"],
+                       NetworkCheckTarget:           "quay.io/[repo]/cluster-network-operator",
                        CloudNetworkConfigController: images["cloud-network-config-controller"],

$ make build

$ mkdir -p $HOME/hypershift/bin/hypershift

$ cp bin/hypershift $HOME/hypershift/bin/hypershift

$ podman build -t quay.io/[repo]/hypershift -f Dockerfile .

$ podman push quay.io/[repo]/hypershift

Clone hypershift-scripts (from Steve Hardy):

$ git clone https://gitlab.cee.redhat.com/shardy/hypershift-scripts

$ export HYPERSHIFT_IMAGE=quay.io/[repo]/hypershift

$ export HYPERSHIFT_OVN="true"

$ ./01_management_cluster.sh

$ ./02_hypershift_install.sh

$ ./03_hypershift_cluster.sh

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