diff --git a/deploy/deploy-test-server.sh b/deploy/deploy-test-server.sh index 50b8edc..fbfb99d 100755 --- a/deploy/deploy-test-server.sh +++ b/deploy/deploy-test-server.sh @@ -136,6 +136,8 @@ $sudo_cmd chown -R left4me:left4me /opt/left4me $sudo_cmd cp /opt/left4me/deploy/files/usr/local/lib/systemd/system/left4me-web.service /usr/local/lib/systemd/system/left4me-web.service $sudo_cmd cp /opt/left4me/deploy/files/usr/local/lib/systemd/system/left4me-server@.service /usr/local/lib/systemd/system/left4me-server@.service +$sudo_cmd cp /opt/left4me/deploy/files/usr/local/lib/systemd/system/l4d2-game.slice /usr/local/lib/systemd/system/l4d2-game.slice +$sudo_cmd cp /opt/left4me/deploy/files/usr/local/lib/systemd/system/l4d2-build.slice /usr/local/lib/systemd/system/l4d2-build.slice $sudo_cmd cp /opt/left4me/deploy/files/usr/local/libexec/left4me/left4me-systemctl /usr/local/libexec/left4me/left4me-systemctl $sudo_cmd cp /opt/left4me/deploy/files/usr/local/libexec/left4me/left4me-journalctl /usr/local/libexec/left4me/left4me-journalctl $sudo_cmd cp /opt/left4me/deploy/files/usr/local/libexec/left4me/left4me-overlay /usr/local/libexec/left4me/left4me-overlay @@ -154,6 +156,13 @@ $sudo_cmd install -m 0644 -o root -g root \ /opt/left4me/deploy/files/etc/left4me/sandbox-resolv.conf \ /etc/left4me/sandbox-resolv.conf +# Host perf-baseline sysctls. Apply with `sysctl --system` so values +# take effect this deploy, not on next reboot. +$sudo_cmd install -m 0644 -o root -g root \ + /opt/left4me/deploy/files/etc/sysctl.d/99-left4me.conf \ + /etc/sysctl.d/99-left4me.conf +$sudo_cmd sysctl --system >/dev/null + # Stomp the file every deploy so newly added vars reach existing boxes. # SECRET_KEY is derived from /etc/machine-id so it stays stable across # redeploys (no session invalidation) without persisting state in /etc. diff --git a/deploy/tests/test_deploy_artifacts.py b/deploy/tests/test_deploy_artifacts.py index 53f72a1..5edfaee 100644 --- a/deploy/tests/test_deploy_artifacts.py +++ b/deploy/tests/test_deploy_artifacts.py @@ -156,6 +156,20 @@ def test_script_sandbox_in_build_slice_with_oom_adjust(): assert "-p OOMScoreAdjust=500" in text +def test_deploy_script_installs_perf_artifacts(): + script = DEPLOY_SCRIPT.read_text() + + # Slice files copied into the system-wide systemd unit dir. + assert "/usr/local/lib/systemd/system/l4d2-game.slice" in script + assert "/usr/local/lib/systemd/system/l4d2-build.slice" in script + + # Sysctl drop-in installed under /etc/sysctl.d/. + assert "/etc/sysctl.d/99-left4me.conf" in script + + # Values applied immediately, not on next boot. + assert "sysctl --system" in script + + def _fake_command(tmp_path, command_name): marker = tmp_path / f"{command_name}.args" command = tmp_path / command_name