You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
A tool for viewing/setting bios settings for Weka servers
usage: bios_tool [-h] [-c [HOSTCONFIGFILE]] [-b [BIOS]] [--bmc_config] [--fix] [--reboot] [--dump] [--reset_bios] [--diff DIFF DIFF] [--bmc_ips [BMC_IPS ...]] [--bmc_username BMC_USERNAME] [--bmc_password BMC_PASSWORD] [-v] [--version]View/Change BIOS Settings on serversoptional arguments: -h, --help show this help message and exit -c [HOSTCONFIGFILE], --hostconfigfile [HOSTCONFIGFILE] filename of host config file -b [BIOS], --bios [BIOS] bios configuration filename --bmc_config Configure the BMCs to allow RedFish access --fix Correct any bios settings that do not match the definition --reboot Reboot server if changes have been made --dump Print out BIOS settings only --reset_bios Reset BIOS to default settings. To also reboot, add the --reboot option --diff DIFF DIFF Compare 2 hosts BIOS settings --bmc_ips [BMC_IPS ...] a list of hosts to configure, or none to use cluster beacons --bmc_username BMC_USERNAME a username to use on all hosts in --bmc_ips --bmc_password BMC_PASSWORD a password to use on all hosts in --bmc_ips -v, --verbose enable verbose mode --version report program version and exit
Getting Started
There are 2 configuration files for bios_tool: a host configuration file ("host_config.yml" or host_config.csv) and a BIOS settings configuration file ("bios_config.yml")You can either use these default names or override the configuration file names using the provided command-line switches, -c/--hostconfigfile and -b/--bios or --bmc_ips. (see Optional Behaviors/Command-line Host Specification below for --bmc_ips)
host_config.yml or csv
The host_config.yml/csv defines the list of hosts, and their logon credentials for the BMC (ipmi, iLO, iDRAC). This may be in YAML or CSV format. Use the file extension.yml or.csv to indicate the format.
The default format is be standard CSV, as such: (compatible with Excel)
You should set all the servers you want to work with here. Note they may have different passwords for each server.
See the section on--bcm_ips to configure the hosts on the command line instead of in configuration files.
bios_config.yml (and others)
Thebios_config.yml defines general BIOS settings that you want set on the servers that are defined in thehost_config.yml file. There are other settings files provided:Dell-Genoa-bios.yml for Dell servers equipped with Genoa generation AMD processors, andWEKApod.yml, specifically for WEKApod servers (which come pre-set anyway, but if you want to make the same settings to similar servers, these are the settings).
The format of the bios settings file is standard YAML, as such:
server-manufacturer: architecture: setting: value setting: value architecture2: setting: value setting: value
The server-manufacturer is matched to the manufacturer ("Oem") listed in the RedFish data so this tool can be used with most manufacturers that supports RedFish.Currently known manufacturer names are "Dell", "Hpe", "Lenovo", and "Supermicro" and defaults for these manufacturers are in the example file.
The architecture can be either "AMD" or "Intel". No other architectures are currently supported.
See the providedbios_config.yml for a full example, but here's what it looks like:
With no command-line overrides, bios_tool will scan the hosts in thehost_config.csv and note where they differ (if they differ) from the settings in thebios_settings.yml file.No changes are made to the servers (read-only mode)
Example output:
Fetching BIOS settings of host 172.29.3.1Fetching BIOS settings of host 172.29.3.2Fetching BIOS settings of host 172.29.3.3[...snip...]No changes are needed on 172.29.3.1No changes are needed on 172.29.3.2No changes are needed on 172.29.3.3[...snip...]172.29.3.4: BIOS setting ApplicationPowerBoost is Enabled, but should be Disabled172.29.3.4: BIOS setting CStateEfficiencyMode is Enabled, but should be Disabled172.29.3.4: BIOS setting DataFabricCStateEnable is Auto, but should be Disabled172.29.3.4: BIOS setting DeterminismControl is DeterminismCtrlAuto, but should be DeterminismCtrlManual[...snip...]
Optional Behaviors
BMC Configuration mode
Using the--bmc_config command line option will cause bios_tool to ssh to each of the servers and turn on RedFish and IPMI Over LAN. The RedFish is strictly REQUIRED for bios_tool operation. IPMI Over LAN is required for WMS deployment to operate properly, so is automatically enabled.
Fix Mode
Using the--fix command line option will cause the tool to make the settings to the bios as defined in thebios_settings.yml. It will not reboot the server(s) unless given the--reboot option
Reboot option
Using a--reboot with--fix will make bios_tool reboot the servers after any changes are made. Only servers that have been modified are rebooted (this causes them to APPLY the changes)
Dump option
Using the--dump command line option will cause the tool to simply print out all the bios settings for each server. (read-only)
Diff option
Using the--diff option will compare all the settings on 2 servers, and print out which settings differ.
Example diff output:
Fetching BIOS settings of host 172.29.3.1Fetching BIOS settings of host 172.29.3.6Settings that are different between the servers:Setting 172.29.3.1 172.29.3.6-------------------------- ------------------------- ----------------------------ApplicationPowerBoost Disabled EnabledCStateEfficiencyMode Disabled EnabledDataFabricCStateEnable Disabled AutoDeterminismControl DeterminismCtrlManual DeterminismCtrlAutoInfinityFabricPstate P0 AutoMinProcIdlePower NoCStates C6NumaGroupSizeOpt Clustered FlatNumaMemoryDomainsPerSocket TwoMemoryDomainsPerSocket AutoPerformanceDeterminism PerformanceDeterministic PowerDeterministicPowerRegulator StaticHighPerf OsControlProcAmdIoVt Disabled EnabledProcSMT Disabled EnabledSerialNumber MXQ2201FNK MXQ2201FNDSriov Disabled EnabledThermalConfig IncreasedCooling OptimalCoolingWorkloadProfile I/OThroughput GeneralPowerEfficientCompute
Command-line Host Specification
Using--bmc_ips with a space separated list of IP addresses (ie:--bmc_ips 192.168.1.1 192.168.1.2) and--bmc_username and--bmc_password will allow you to easily configure a set of servers that have the same userid/password settings, rather than providing a configuration file.
Version option
Using--version will simply print the bios_tool version number and exit.
About
A tool for viewing/setting bios_settings for Weka servers