Disable ucp metrics daemonset
Related-Prod: PRODX-3456
Change-Id: Ie824631ae2cc8c866bfc1a9e5a72a4d1db05f3cf
diff --git a/de/heat-templates/scripts/functions.sh b/de/heat-templates/scripts/functions.sh
index 79ce4d5..4def475 100644
--- a/de/heat-templates/scripts/functions.sh
+++ b/de/heat-templates/scripts/functions.sh
@@ -1109,3 +1109,26 @@
EOF
udevadm control --reload-rules && udevadm trigger
}
+
+function disable_ucp_metrics {
+ function disable_ucp_metrics_retry {
+ ${_KUBECTL_CMD} -n kube-system patch daemonset ucp-metrics --type json -p \
+ '[{"op": "replace", "path": "/spec/template/spec/nodeSelector", "value":{"nonexisting-node": ""}}]'
+ }
+ function wait_ucp_metrics_disabled_retry {
+ disabled=$(${_KUBECTL_CMD} -n kube-system get daemonset ucp-metrics -o jsonpath="{.status}" \
+ | jq '[ .currentNumberScheduled, .desiredNumberScheduled, .numberReady ] | all(. == 0)')
+ if [[ $disabled != "true" ]]; then
+ /bin/false
+ fi
+ }
+ for i in {1..5}; do
+ echo "Waiting for daemonset ucp-metrics, try ${i}"
+ if ${_KUBECTL_CMD} -n kube-system get daemonset ucp-metrics; then
+ retry 10 "Disabling daemonset ucp-metrics" disable_ucp_metrics_retry
+ retry 10 "Waiting UCP metrics daemonset disbled" wait_ucp_metrics_disabled_retry
+ break
+ fi
+ sleep 30
+ done
+}
diff --git a/de/heat-templates/scripts/launch.sh b/de/heat-templates/scripts/launch.sh
index ece901d..4d2dfa6 100644
--- a/de/heat-templates/scripts/launch.sh
+++ b/de/heat-templates/scripts/launch.sh
@@ -158,6 +158,9 @@
fi
wait_for_node
set_node_labels
+ if [[ "${KUBERNETES_INSTALLER}" == "ucp" ]]; then
+ disable_ucp_metrics
+ fi
collect_ceph_metadata
configure_contrack
if [[ "${KUBERNETES_INSTALLER}" == "ucp" ]]; then