From 840be5e40b1e2525e23750cd5fedaf72055cc2d7 Mon Sep 17 00:00:00 2001 From: Omer Tuchfeld Date: Thu, 1 Apr 2021 22:11:32 +0300 Subject: [PATCH] Single node reserve 3GiB of system memory to avoid alerts Running E2E conformance tests on a single-node cluster results in a SystemMemoyExceedsReservation alert (defined [here](https://github.com/openshift/machine-config-operator/blob/8da1e3c21c46c80a54e83824839c6244af69437b/install/0000_90_machine-config-operator_01_prometheus-rules.yaml#L51-L60)) In order to facilitate E2E tests on a single-node, we create a KubeletConfig installer manifest that increases the amount of reserved memory from the (current) default of 1Gi to 3Gi. --- ...penshift-e2e-aws-single-node-workflow.yaml | 1 + ...penshift-e2e-gcp-single-node-workflow.yaml | 1 + .../step-registry/single-node/conf/e2e/OWNERS | 7 +++++++ .../conf/e2e/single-node-conf-e2e-commands.sh | 21 +++++++++++++++++++ .../single-node-conf-e2e-ref.metadata.json | 13 ++++++++++++ .../conf/e2e/single-node-conf-e2e-ref.yaml | 10 +++++++++ 6 files changed, 53 insertions(+) create mode 100644 ci-operator/step-registry/single-node/conf/e2e/OWNERS create mode 100644 ci-operator/step-registry/single-node/conf/e2e/single-node-conf-e2e-commands.sh create mode 100644 ci-operator/step-registry/single-node/conf/e2e/single-node-conf-e2e-ref.metadata.json create mode 100644 ci-operator/step-registry/single-node/conf/e2e/single-node-conf-e2e-ref.yaml diff --git a/ci-operator/step-registry/openshift/e2e/aws/single-node/openshift-e2e-aws-single-node-workflow.yaml b/ci-operator/step-registry/openshift/e2e/aws/single-node/openshift-e2e-aws-single-node-workflow.yaml index 386e20cdea137..aae874abec011 100644 --- a/ci-operator/step-registry/openshift/e2e/aws/single-node/openshift-e2e-aws-single-node-workflow.yaml +++ b/ci-operator/step-registry/openshift/e2e/aws/single-node/openshift-e2e-aws-single-node-workflow.yaml @@ -4,6 +4,7 @@ workflow: pre: - chain: ipi-conf-aws - ref: single-node-conf-aws + - ref: single-node-conf-e2e - chain: ipi-install test: - ref: openshift-e2e-test diff --git a/ci-operator/step-registry/openshift/e2e/gcp/single-node/openshift-e2e-gcp-single-node-workflow.yaml b/ci-operator/step-registry/openshift/e2e/gcp/single-node/openshift-e2e-gcp-single-node-workflow.yaml index 4aef64efc1d90..f723302822ae9 100644 --- a/ci-operator/step-registry/openshift/e2e/gcp/single-node/openshift-e2e-gcp-single-node-workflow.yaml +++ b/ci-operator/step-registry/openshift/e2e/gcp/single-node/openshift-e2e-gcp-single-node-workflow.yaml @@ -4,6 +4,7 @@ workflow: pre: - chain: ipi-conf-gcp - ref: single-node-conf-gcp + - ref: single-node-conf-e2e - chain: ipi-install test: - ref: openshift-e2e-test diff --git a/ci-operator/step-registry/single-node/conf/e2e/OWNERS b/ci-operator/step-registry/single-node/conf/e2e/OWNERS new file mode 100644 index 0000000000000..99fde41d0c99f --- /dev/null +++ b/ci-operator/step-registry/single-node/conf/e2e/OWNERS @@ -0,0 +1,7 @@ +approvers: +- romfreiman +- eranco74 +- tsorya +- osherdp +- yuvigold +- omertuc diff --git a/ci-operator/step-registry/single-node/conf/e2e/single-node-conf-e2e-commands.sh b/ci-operator/step-registry/single-node/conf/e2e/single-node-conf-e2e-commands.sh new file mode 100644 index 0000000000000..c3e67e6fe19a6 --- /dev/null +++ b/ci-operator/step-registry/single-node/conf/e2e/single-node-conf-e2e-commands.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +set -o errexit +set -o nounset +set -o pipefail + +# Reserve more system memory per node than a typical multi-node cluster +# to facilitate E2E tests on a single node. +cat > "${SHARED_DIR}/manifest_single-node-reserve-sys-mem-kubeletconfig.yml" << EOF +apiVersion: machineconfiguration.openshift.io/v1 +kind: KubeletConfig +metadata: + name: single-node-reserve-sys-mem +spec: + machineConfigPoolSelector: + matchLabels: + pools.operator.machineconfiguration.openshift.io/master: "" + kubeletConfig: + systemReserved: + memory: 3Gi +EOF diff --git a/ci-operator/step-registry/single-node/conf/e2e/single-node-conf-e2e-ref.metadata.json b/ci-operator/step-registry/single-node/conf/e2e/single-node-conf-e2e-ref.metadata.json new file mode 100644 index 0000000000000..8ff963796e892 --- /dev/null +++ b/ci-operator/step-registry/single-node/conf/e2e/single-node-conf-e2e-ref.metadata.json @@ -0,0 +1,13 @@ +{ + "path": "single-node/conf/e2e/single-node-conf-e2e-ref.yaml", + "owners": { + "approvers": [ + "romfreiman", + "eranco74", + "tsorya", + "osherdp", + "yuvigold", + "omertuc" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/single-node/conf/e2e/single-node-conf-e2e-ref.yaml b/ci-operator/step-registry/single-node/conf/e2e/single-node-conf-e2e-ref.yaml new file mode 100644 index 0000000000000..1a4f68c7c6afd --- /dev/null +++ b/ci-operator/step-registry/single-node/conf/e2e/single-node-conf-e2e-ref.yaml @@ -0,0 +1,10 @@ +ref: + as: single-node-conf-e2e + from: installer + commands: single-node-conf-e2e-commands.sh + resources: + requests: + cpu: 10m + memory: 100Mi + documentation: |- + Configurations required to run E2E tests on a single node cluster.