Skip to content

Instantly share code, notes, and snippets.

@tiraboschi
Last active May 6, 2019 09:10
Show Gist options
  • Save tiraboschi/045bfda0c29469d932ad16feeaa14ec3 to your computer and use it in GitHub Desktop.
Save tiraboschi/045bfda0c29469d932ad16feeaa14ec3 to your computer and use it in GitHub Desktop.
ds-hco testing
#!/bin/bash
set -ex
# Create the namespace for the HCO
oc create ns kubevirt-hyperconverged || true
# Create an OperatorGroup
cat <<EOF | oc create -f -
apiVersion: operators.coreos.com/v1alpha2
kind: OperatorGroup
metadata:
name: hco-operatorgroup
namespace: kubevirt-hyperconverged
EOF
# Create a Catalog Source backed by a grpc registry
#
# Notes for QE:
# - This is going to be replaced by https://quay.io/application/redhat-operators-stage/kubevirt-hyperconverged in the future
#
cat <<EOF | oc create -f -
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: hco-catalogsource
namespace: openshift-operator-lifecycle-manager
imagePullPolicy: Always
spec:
sourceType: grpc
image: docker.io/tiraboschi/hco-registry:qe-1.10
displayName: KubeVirt HyperConverged
publisher: Red Hat
EOF
WAIT_TIMEOUT="360s"
echo "Waiting up to ${WAIT_TIMEOUT} for catalogsource to appear..."
oc wait pods -n openshift-operator-lifecycle-manager -l olm.catalogSource=hco-catalogsource --for condition=Ready --timeout="${WAIT_TIMEOUT}
# Create a subscription
cat <<EOF | oc create -f -
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: hco-subscription
namespace: kubevirt-hyperconverged
spec:
channel: alpha
name: kubevirt-hyperconverged
source: hco-catalogsource
sourceNamespace: openshift-operator-lifecycle-manager
EOF
echo "Give the operators some time to start..."
sleep 30
VIRT_POD=`oc get pods -n kubevirt-hyperconverged | grep virt-operator | head -1 | awk '{ print $1 }'`
CDI_POD=`oc get pods -n kubevirt-hyperconverged | grep cdi-operator | head -1 | awk '{ print $1 }'`
WEBUI_POD=`oc get pods -n kubevirt-hyperconverged | grep kubevirt-web-ui-operator | head -1 | awk '{ print $1 }'`
NETWORK_ADDONS_POD=`oc get pods -n kubevirt-hyperconverged | grep cluster-network-addons-operator | head -1 | awk '{ print $1 }'`
oc wait pod $VIRT_POD --for condition=Ready -n kubevirt-hyperconverged --timeout="${WAIT_TIMEOUT}"
oc wait pod $CDI_POD --for condition=Ready -n kubevirt-hyperconverged --timeout="${WAIT_TIMEOUT}"
oc wait pod $WEBUI_POD --for condition=Ready -n kubevirt-hyperconverged --timeout="${WAIT_TIMEOUT}"
oc wait pod $NETWORK_ADDONS_POD --for condition=Ready -n kubevirt-hyperconverged --timeout="${WAIT_TIMEOUT}"
echo "Launching CNV..."
cat <<EOF | oc create -f -
apiVersion: hco.kubevirt.io/v1alpha1
kind: HyperConverged
metadata:
name: hyperconverged-cluster
namespace: kubevirt-hyperconverged
EOF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment