diff --git a/ci-operator/step-registry/ccm/conf/apply-feature-gate/ccm-conf-apply-feature-gate-commands.sh b/ci-operator/step-registry/ccm/conf/apply-feature-gate/ccm-conf-apply-feature-gate-commands.sh index 3c7b25c8b0d34..7ea8ba091df9a 100644 --- a/ci-operator/step-registry/ccm/conf/apply-feature-gate/ccm-conf-apply-feature-gate-commands.sh +++ b/ci-operator/step-registry/ccm/conf/apply-feature-gate/ccm-conf-apply-feature-gate-commands.sh @@ -1,15 +1,61 @@ #!/bin/bash -set -euo pipefail -export PATH=$PATH:/tmp/bin -mkdir /tmp/bin -curl https://mirror.openshift.com/pub/openshift-v4/clients/oc/latest/linux/oc.tar.gz | tar xvzf - -C /tmp/bin/ oc -chmod ug+x /tmp/bin/oc +set -o nounset +set -o pipefail +set -e + +export ARTIFACT_DIR=${ARTIFACT_DIR:-/tmp} export CCM_NAMESPACE="openshift-cloud-controller-manager" +export KCMO_NAMESPACE="openshift-kube-controller-manager-operator" +export MCO_NAMESPACE="openshift-machine-config-operator" + +function overrideCVO() { +cat <${ARTIFACT_DIR}/override.yaml +- op: add + path: /spec/overrides + value: + - kind: Deployment + group: apps/v1 + name: machine-config-controller + namespace: $MCO_NAMESPACE + unmanaged: true + - kind: Deployment + group: apps/v1 + name: machine-config-operator + namespace: $MCO_NAMESPACE + unmanaged: true + - kind: ConfigMap + group: v1 + name: machine-config-operator-images + namespace: $MCO_NAMESPACE + unmanaged: true + - kind: Deployment + group: apps/v1 + name: kube-controller-manager-operator + namespace: $KCMO_NAMESPACE + unmanaged: true +EOF + + echo "$(date -u --rfc-3339=seconds) - Unmanage MCO and KCMO in CVO" + oc patch clusterversion version --type json -p "$(cat ${ARTIFACT_DIR}/override.yaml)" +} + +function overrideMCOImage() { + echo "$(date -u --rfc-3339=seconds) - Override MCO image with $MCO_IMAGE_OVERRIDE" + oc patch -n "$MCO_NAMESPACE" deploy machine-config-controller --type=json -p '[{ "op": "replace", "path": "/spec/template/spec/containers/0/image", "value": "'$MCO_IMAGE_OVERRIDE'" }]' + oc patch -n "$MCO_NAMESPACE" deploy machine-config-operator --type=json -p '[{ "op": "replace", "path": "/spec/template/spec/containers/0/image", "value": "'$MCO_IMAGE_OVERRIDE'" }]' + oc get -n "$MCO_NAMESPACE" cm machine-config-operator-images -o yaml | sed -E "s|machineConfigOperator[^,]*|machineConfigOperator\": \"$MCO_IMAGE_OVERRIDE\"|g" | oc apply -f - +} -echo "$(date -u --rfc-3339=seconds) - Apply external cloud-controller-manager FeatureGate configuration" +function overrideKCMOImage() { + echo "$(date -u --rfc-3339=seconds) - Override KCMO image with $KCMO_IMAGE_OVERRIDE" + oc patch -n $KCMO_NAMESPACE deploy kube-controller-manager-operator -p '{"spec":{"template":{"spec":{"containers":[{"name":"kube-controller-manager-operator","image":"'$KCMO_IMAGE_OVERRIDE'","env":[{"name":"OPERATOR_IMAGE","value":"'$KCMO_IMAGE_OVERRIDE'"}]}]}}}}' +} -cat <- \[sig-arch\]\[Early\] Managed cluster should start all core operators \[Skipped:Disconnected\]\| \[sig-instrumentation\] Prometheus when installed on the cluster shouldn't report any alerts in firing state apart from Watchdog and AlertmanagerReceiversNotConfigured \[Early\] \[Skipped:Disconnected\]\| - Alerts shouldn't report any alerts in firing or pending state + Alerts shouldn't report any alerts in firing or pending state\| + Prometheus when installed on the cluster shouldn't report any alerts in firing state apart from Watchdog and AlertmanagerReceiversNotConfigured documentation: |- The Openshift E2E AWS workflow using CCM as a primary mean to initialize nodes and create external LoadBalancers. Executes the common end-to-end test suite on AWS to test updated cluster configuration.