From bb4fe9fcfa00ce22ccb520574fd600fc577800f1 Mon Sep 17 00:00:00 2001 From: Sheogorath <sheogorath@shivering-isles.com> Date: Fri, 4 Feb 2022 15:56:32 +0100 Subject: [PATCH] feat(system-upgrades): Disable agressive CPU overclocking This patch installs a systemd unit, that will disable CPU overclocking 5 minutes after start of the system. The idea is to keep systems more quiet and stable from a temprature perspective. --- .../fedora-temperature-management.yaml | 68 +++++++++++++++++++ .../fedora-temperature-monitoring.yaml | 41 ----------- 2 files changed, 68 insertions(+), 41 deletions(-) create mode 100644 infrastructure/system-upgrades/fedora-temperature-management.yaml delete mode 100644 infrastructure/system-upgrades/fedora-temperature-monitoring.yaml diff --git a/infrastructure/system-upgrades/fedora-temperature-management.yaml b/infrastructure/system-upgrades/fedora-temperature-management.yaml new file mode 100644 index 000000000..fcf755e7f --- /dev/null +++ b/infrastructure/system-upgrades/fedora-temperature-management.yaml @@ -0,0 +1,68 @@ +--- +apiVersion: v1 +kind: Secret +metadata: + name: fedora-install-temperature-management + namespace: system-upgrade +type: Opaque +stringData: + cpu-boost-disable.service: | + [Unit] + Description=Disable overclocking on CPU + + [Service] + Type=oneshot + WorkingDirectory=/opt/letsencrypt/ + ExecStart=/bin/sh -c "echo 0 > /sys/devices/system/cpu/cpufreq/boost" + cpu-boost-disable.timer: | + [Unit] + Description=Disable overclocking on CPU on boot after 5 minutes + + [Timer] + OnBootSec=5min + Unit=cpu-boost-disable.service + + [Install] + WantedBy=basic.target + install.sh: | + #!/bin/sh + set -e + set -x + secrets="$(dirname $0)" + + install -m 0644 -T "$secrets/cpu-boost-disable.service" /etc/systemd/system/cpu-boost-disable.service + install -m 0644 -T "$secrets/cpu-boost-disable.timer" /etc/systemd/system/cpu-boost-disable.timer + + systemctl daemon-reload + systemctl start cpu-boost-disable.service + systemctl enable cpu-boost-disable.timer + + systemd-run --same-dir --wait --collect --service-type=exec dnf install -y lm_sensors + sensors-detect --auto +--- +apiVersion: upgrade.cattle.io/v1 +kind: Plan +metadata: + name: fedora-temperature-management + namespace: system-upgrade +spec: + concurrency: 1 + nodeSelector: + matchExpressions: + - key: feature.node.kubernetes.io/system-os_release.ID + operator: In + values: + - fedora + - key: feature.node.kubernetes.io/system-os_release.VERSION_ID.major + operator: In + values: + - "35" + serviceAccountName: system-upgrade + secrets: + - name: fedora-install-temperature-management + path: /host/run/system-upgrade/secrets/fedora + version: 1.0.0 + upgrade: + image: registry.fedoraproject.org/fedora:35 + command: ["chroot", "/host"] + args: ["sh", "/run/system-upgrade/secrets/fedora/install.sh"] diff --git a/infrastructure/system-upgrades/fedora-temperature-monitoring.yaml b/infrastructure/system-upgrades/fedora-temperature-monitoring.yaml deleted file mode 100644 index 269f5aee2..000000000 --- a/infrastructure/system-upgrades/fedora-temperature-monitoring.yaml +++ /dev/null @@ -1,41 +0,0 @@ ---- -apiVersion: v1 -kind: Secret -metadata: - name: fedora-install-temperature-monitoring - namespace: system-upgrade -type: Opaque -stringData: - install.sh: | - #!/bin/sh - set -e - set -x - systemd-run --same-dir --wait --collect --service-type=exec dnf install -y lm_sensors - sensors-detect --auto ---- -apiVersion: upgrade.cattle.io/v1 -kind: Plan -metadata: - name: fedora-temperature-monitoring - namespace: system-upgrade -spec: - concurrency: 1 - nodeSelector: - matchExpressions: - - key: feature.node.kubernetes.io/system-os_release.ID - operator: In - values: - - fedora - - key: feature.node.kubernetes.io/system-os_release.VERSION_ID.major - operator: In - values: - - "35" - serviceAccountName: system-upgrade - secrets: - - name: fedora-install-temperature-monitoring - path: /host/run/system-upgrade/secrets/fedora - version: 1.0.0 - upgrade: - image: registry.fedoraproject.org/fedora:35 - command: ["chroot", "/host"] - args: ["sh", "/run/system-upgrade/secrets/fedora/install.sh"] -- GitLab