Awesome-omni-skill supermicro-saa
Guide for using SAA (SuperServer Automation Assistant) to manage Supermicro servers. Use when performing server management tasks including firmware updates, BIOS/BMC configuration, system health monitoring, power management, storage management, and security operations on Supermicro servers.
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/tools/supermicro-saa" ~/.claude/skills/diegosouzapw-awesome-omni-skill-supermicro-saa && rm -rf "$T"
skills/tools/supermicro-saa/SKILL.mdSAA Server Management Guide
Overview
SAA (SuperServer Automation Assistant) is Supermicro's official CLI tool for automating server management tasks. It supports both in-band (local OS) and out-of-band (BMC/CMM) operations, single or multiple system management.
For complete command reference, see SAA Help Reference
Usage Modes
Single System Out-Of-Band (OOB)
Operates on single BMC/CMM remotely:
saa -i <BMC_IP> -u <USER> -p <PASSWORD> -c <COMMAND> [OPTIONS]
Single System In-Band
Operates on local OS (no -i option). In-Band mode requires root privileges to access hardware interfaces directly.
Note: Only commands that access hardware require sudo. Help queries (
-h) do not need sudo. Before executing In-Band commands, ask user for <SUDO_PASSWORD>. Never store or log the password.
echo <SUDO_PASSWORD> | sudo -S saa -c <COMMAND> [OPTIONS]
Single System Remote In-Band
Operates on remote OS via SSH:
# Remote_INB: Direct OS access saa -I Remote_INB --oi <OS_IP> --ou <OS_USER> --op <OS_PASSWORD> -c <COMMAND> --remote_saa /path/to/saa # Remote_RHI: Through Redfish Host Interface saa -I Remote_RHI --oi <OS_IP> --ou <OS_USER> --op <OS_PASSWORD> -u <BMC_USER> -p <BMC_PASS> -c <COMMAND> --remote_saa /path/to/saa
Multiple Systems Management
Replace
-i with -l for batch operations:
saa -l <IP_LIST_FILE> -u <USER> -p <PASSWORD> -c <COMMAND> [OPTIONS]
Global Options
| Option | Description |
|---|---|
| Show help information |
| Verbose output |
| BMC/CMM IP address |
| System list file for batch operations |
| BMC/CMM user ID |
| BMC/CMM password |
| Password file (more secure than -p) |
| Command name |
| Interface: , , |
| Custom ports (format: "RMCP:623,HTTPS:443") |
| Concurrent executions for batch operations |
| Show status of all systems in batch |
| Log level (0-6: silent to verbose) |
Command Categories
Health Management
,CheckOOBSupport
,CheckAssetInfoCheckSystemUtilization
,CheckSensorData
,SystemPFAMemoryHealthCheck
,ChassisIntrusion
,AlertManage
,CheckSelfTestSuperDiag
BIOS Management
,GetBiosInfo
,UpdateBios
,GetCurrentBiosCfgChangeBiosCfg
,LoadDefaultBiosCfg
,SetBiosPassword
,GetDmiInfoChangeDmiInfo
,GetBootOption
,SetBootOptionSetHttpBoot
BMC Management
,GetBmcInfo
,UpdateBmc
,GetBmcCfgChangeBmcCfg
,GetBmcLANCfg
,ChangeBmcLANCfgSetBmcPassword
,GetBmcUserList
,SetBmcUserListBmcReset
Power Management
,GetPowerStatus
,SetPowerAction
,GetPsuInfoUpdatePsu
,PowerPolicy
,CpuPowerManageDcmiManage
Storage Management
,GetRaidControllerInfo
,GetRaidCfgChangeRaidCfg
,GetNvmeInfo
,ControlNVMeGetSmartData
,GetPMemInfo
,GetVROCCfgChangeVROCCfg
Firmware Updates
,UpdateBios
,UpdateBmc
,UpdateCpldUpdateGpuGetFirmwareInventoryInfo
Event Logs
,GetEventLogClearEventLog
,GetMaintenEventLogClearMaintenEventLog
Virtual Media
,MountIsoImageUnmountIsoImage
,MountFloppyImage
,UnmountFloppyImageGetVmInfo
Security Management
,SecureBootManage
,BiosRotManageBmcRotManage
,GetLockdownModeSetLockdownMode
,TpmManage
,GetTpmInfoAttestation
,SecureEraseDiskSecureEraseRaidHdd
GPU Management
,GetGpuInfo
,UpdateGpu
,DiagGpuStatus
,GetGpuLogGpuPowerManage
Common Examples
Get System Information
# Get BIOS info (OOB) saa -i 192.168.1.100 -u ADMIN -p ADMIN -c GetBiosInfo # Get firmware inventory saa -i 192.168.1.100 -u ADMIN -p ADMIN -c GetFirmwareInventoryInfo # Get BMC info (In-Band) echo <SUDO_PASSWORD> | sudo -S saa -c GetBmcInfo
Health Monitoring
# Check sensor data (temperature, fan, voltage) saa -i 192.168.1.100 -u ADMIN -p ADMIN -c CheckSensorData # Check system utilization saa -i 192.168.1.100 -u ADMIN -p ADMIN -c CheckSystemUtilization # Get event log saa -i 192.168.1.100 -u ADMIN -p ADMIN -c GetEventLog
Power Control
# Get power status saa -i 192.168.1.100 -u ADMIN -p ADMIN -c GetPowerStatus # Power actions: on, off, cycle, reset saa -i 192.168.1.100 -u ADMIN -p ADMIN -c SetPowerAction --action on saa -i 192.168.1.100 -u ADMIN -p ADMIN -c SetPowerAction --action cycle
Firmware Updates
# Update BIOS (OOB) saa -i 192.168.1.100 -u ADMIN -p ADMIN -c UpdateBios --file BIOS.bin # Update BMC saa -i 192.168.1.100 -u ADMIN -p ADMIN -c UpdateBmc --file BMC.bin # Update BIOS (In-Band, local) echo <SUDO_PASSWORD> | sudo -S saa -c UpdateBios --file BIOS.bin
Configuration Management
# Export BIOS configuration saa -i 192.168.1.100 -u ADMIN -p ADMIN -c GetCurrentBiosCfg --file bios_cfg.txt # Apply BIOS configuration saa -i 192.168.1.100 -u ADMIN -p ADMIN -c ChangeBiosCfg --file bios_cfg.txt # Export/Import BMC configuration saa -i 192.168.1.100 -u ADMIN -p ADMIN -c GetBmcCfg --file bmc_cfg.txt saa -i 192.168.1.100 -u ADMIN -p ADMIN -c ChangeBmcCfg --file bmc_cfg.txt
Multiple Systems (Batch Operations)
# Update BIOS across fleet saa -l servers.txt -u ADMIN -p ADMIN -c UpdateBios --file BIOS.bin # Check health across fleet with full status saa -l servers.txt -u ADMIN -p ADMIN -c CheckSensorData --show_multi_full
Getting Command Help
Always check command-specific options before use:
saa -h -c <COMMAND> # Examples saa -h -c UpdateBios saa -h -c SetPowerAction saa -h -c ChangeBmcCfg
IP List File Format
For multiple systems management (
-l option):
# Single IPs 192.168.1.100 192.168.1.101 # IP range 192.168.1.102-110 # With credentials per line (optional) 192.168.1.100,ADMIN,password123
Best Practices
- Get help first: Run
before using unfamiliar commandssaa -h -c <COMMAND> - Test on single system: Before batch operations, verify on one server
- Use password files: Use
instead of-f password.txt
in scripts for security-p - Backup configurations: Export configs before making changes
- Check compatibility: Verify firmware versions match your hardware platform
- Monitor batch jobs: Use
to track multi-system progress--show_multi_full
Troubleshooting
- Connection failed: Verify BMC IP, credentials, and network connectivity
- Permission denied: Check BMC user has sufficient privileges
- Command not supported: Some commands are platform-dependent (see user guide)
- Special characters in password: Quote the password or use
option-f
Reference Files
- SAA Help Reference - Complete
output with all commandssaa -h - Command Help Directory - Detailed help for each command (217 files)
- Example:
for UpdateBios command details./reference/commands/UpdateBios.txt - Each file contains: description, required/optional arguments, usage modes, and examples
- Example:
Scripts
-
export_help.sh - Script to regenerate all help documentation
# Regenerate help files (default: ./reference) ./scripts/export_help.sh # Specify custom output directory ./scripts/export_help.sh /path/to/output