52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
import paramiko
|
|
import time
|
|
|
|
targets = [
|
|
{
|
|
"name": "Node 1 (140.44.44.121)",
|
|
"ip": "140.44.44.121",
|
|
"settings": [
|
|
("bios.IntegratedDevices.SriovGlobalEnable", "Enabled")
|
|
]
|
|
},
|
|
{
|
|
"name": "Node 4 (140.44.44.124)",
|
|
"ip": "140.44.44.124",
|
|
"settings": [
|
|
("bios.SysProfileSettings.SysProfile", "PerfOptimized")
|
|
]
|
|
}
|
|
]
|
|
|
|
for t in targets:
|
|
print(f"\n==========================================")
|
|
print(f"Applying BIOS settings to {t['name']}...")
|
|
try:
|
|
c = paramiko.SSHClient()
|
|
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
c.connect(t['ip'], username='root', password='Katzir476!', timeout=15)
|
|
|
|
for key, val in t['settings']:
|
|
cmd = f"racadm set {key} {val}"
|
|
stdin, stdout, stderr = c.exec_command(cmd)
|
|
out = stdout.read().decode().strip()
|
|
print(f" racadm set {key} {val}:\n {out}")
|
|
time.sleep(1)
|
|
|
|
# Create BIOS job
|
|
stdin, stdout, stderr = c.exec_command("racadm jobqueue create BIOS.Setup.1-1")
|
|
job_out = stdout.read().decode().strip()
|
|
print(f" racadm jobqueue create BIOS.Setup.1-1:\n {job_out}")
|
|
|
|
# View job queue
|
|
stdin, stdout, stderr = c.exec_command("racadm jobqueue view")
|
|
q_out = stdout.read().decode().strip()
|
|
print(f" Job Queue:\n {q_out[:200]}")
|
|
|
|
c.close()
|
|
except Exception as e:
|
|
print(f" Error on {t['name']}: {e}")
|
|
|
|
print("\nDone applying BIOS settings!")
|
|
|