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