github.com/k8snetworkplumbingwg/sriov-network-operator@v1.2.1-0.20240408194816-2d2e5a45d453/hack/virtual-cluster-redeploy.sh (about) 1 #!/usr/bin/env bash 2 set -xeo pipefail 3 4 HOME="/root" 5 here="$(dirname "$(readlink --canonicalize "${BASH_SOURCE[0]}")")" 6 root="$(readlink --canonicalize "$here/..")" 7 domain_name=lab 8 9 if [ $CLUSTER_TYPE == "openshift" ]; then 10 echo "Openshift" 11 cluster_name=${CLUSTER_NAME:-ocp-virt} 12 export NAMESPACE="openshift-sriov-network-operator" 13 export KUBECONFIG=/root/.kcli/clusters/$cluster_name/auth/kubeconfig 14 15 dockercgf=`kubectl -n ${NAMESPACE} get sa builder -oyaml | grep imagePullSecrets -A 1 | grep -o "builder-.*"` 16 auth=`kubectl -n ${NAMESPACE} get secret ${dockercgf} -ojson | jq '.data.".dockercfg"'` 17 auth="${auth:1:-1}" 18 auth=`echo ${auth} | base64 -d` 19 echo ${auth} > registry-login.conf 20 21 internal_registry="image-registry.openshift-image-registry.svc:5000" 22 pass=$( jq .\"$internal_registry\".password registry-login.conf ) 23 24 registry="default-route-openshift-image-registry.apps.${cluster_name}.${domain_name}" 25 podman login -u serviceaccount -p ${pass:1:-1} $registry --tls-verify=false 26 27 export SRIOV_NETWORK_OPERATOR_IMAGE="$registry/$NAMESPACE/sriov-network-operator:latest" 28 export SRIOV_NETWORK_CONFIG_DAEMON_IMAGE="$registry/$NAMESPACE/sriov-network-config-daemon:latest" 29 export SRIOV_NETWORK_WEBHOOK_IMAGE="$registry/$NAMESPACE/sriov-network-operator-webhook:latest" 30 else 31 echo "K8S" 32 cluster_name=${CLUSTER_NAME:-virtual} 33 export NAMESPACE="sriov-network-operator" 34 export KUBECONFIG=/root/.kcli/clusters/$cluster_name/auth/kubeconfig 35 36 controller_ip=`kubectl get node -o wide | grep ctlp | awk '{print $6}'` 37 38 export SRIOV_NETWORK_OPERATOR_IMAGE="$controller_ip:5000/sriov-network-operator:latest" 39 export SRIOV_NETWORK_CONFIG_DAEMON_IMAGE="$controller_ip:5000/sriov-network-config-daemon:latest" 40 export SRIOV_NETWORK_WEBHOOK_IMAGE="$controller_ip:5000/sriov-network-operator-webhook:latest" 41 fi 42 43 export ADMISSION_CONTROLLERS_ENABLED=true 44 export SKIP_VAR_SET="" 45 export OPERATOR_NAMESPACE=$NAMESPACE 46 export OPERATOR_EXEC=kubectl 47 export DEV_MODE=TRUE 48 export CLUSTER_HAS_EMULATED_PF=TRUE 49 50 echo "## build operator image" 51 podman build -t "${SRIOV_NETWORK_OPERATOR_IMAGE}" -f "${root}/Dockerfile" "${root}" 52 53 echo "## build daemon image" 54 podman build -t "${SRIOV_NETWORK_CONFIG_DAEMON_IMAGE}" -f "${root}/Dockerfile.sriov-network-config-daemon" "${root}" 55 56 echo "## build webhook image" 57 podman build -t "${SRIOV_NETWORK_WEBHOOK_IMAGE}" -f "${root}/Dockerfile.webhook" "${root}" 58 59 podman push --tls-verify=false "${SRIOV_NETWORK_OPERATOR_IMAGE}" 60 podman push --tls-verify=false "${SRIOV_NETWORK_CONFIG_DAEMON_IMAGE}" 61 podman push --tls-verify=false "${SRIOV_NETWORK_WEBHOOK_IMAGE}" 62 63 if [ $CLUSTER_TYPE == "openshift" ]; then 64 export SRIOV_NETWORK_OPERATOR_IMAGE="image-registry.openshift-image-registry.svc:5000/$NAMESPACE/sriov-network-operator:latest" 65 export SRIOV_NETWORK_CONFIG_DAEMON_IMAGE="image-registry.openshift-image-registry.svc:5000/$NAMESPACE/sriov-network-config-daemon:latest" 66 export SRIOV_NETWORK_WEBHOOK_IMAGE="image-registry.openshift-image-registry.svc:5000/$NAMESPACE/sriov-network-operator-webhook:latest" 67 fi 68 69 echo "## deploying SRIOV Network Operator" 70 hack/deploy-setup.sh $NAMESPACE 71 72 kubectl -n ${NAMESPACE} delete po --all