Skip to content

Refactor fan control service and documentation#2

Merged
DF-wu merged 3 commits into
masterfrom
refactor/fan-control-modernization
Jun 8, 2026
Merged

Refactor fan control service and documentation#2
DF-wu merged 3 commits into
masterfrom
refactor/fan-control-modernization

Conversation

@DF-wu

@DF-wu DF-wu commented Jun 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • Replace the fan control scripts with a validated multi-source controller supporting auto, once, manual, restore, status, and validate commands.
  • Add fail-safe fan speed behavior, hysteresis, ESXi/iDRAC/GPU temperature sources, dry-run support, and shell tests.
  • Harden Docker, Compose, GHCR workflow, env handling, repository hygiene, README, and daily runbook.

Testing

  • make test
  • make validate
  • docker compose config
  • docker build --build-arg BASE_IMAGE=ubuntu:24.04 -t idrac-fan-control:test .
  • docker build -t idrac-fan-control:cuda-test .
  • docker run --rm -e DRY_RUN=true -e OPERATION_MODE=auto -e TEMPERATURE_SOURCES=idrac -e IDRAC_IP=192.0.2.10 -e IDRAC_ID=root -e IDRAC_PASSWORD=test idrac-fan-control:cuda-test validate
  • docker run --rm -e DRY_RUN=true -e IDRAC_IP=192.0.2.10 -e IDRAC_ID=root -e IDRAC_PASSWORD=test idrac-fan-control:cuda-test manual 35

Notes

  • .env is removed from Git tracking but preserved locally and ignored by .gitignore.
  • Real iDRAC/ESXi fan commands were not sent; container validation used DRY_RUN=true.

DF-wu added 3 commits June 8, 2026 01:37
Replace the single-purpose fan scripts with a validated controller that supports auto, once, manual, restore, status, and validate commands. Add fail-safe fan speed handling, hysteresis, ESXi/iDRAC/GPU temperature sources, dry-run support, and shell tests for the core decision logic.
Remove tracked environment files, add ignore rules, and refresh the example configuration for the new controller. Update Docker, Compose, and GHCR publishing workflow so builds validate the entrypoint and CI checks the Compose configuration.
Replace the stale README with a complete guide for safe operation, configuration, testing, and troubleshooting. Convert the usage guide into a short day-to-day runbook and move the iDRAC screenshot into a correctly named images directory.
@DF-wu DF-wu merged commit 8c83a55 into master Jun 8, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant