shit works now
This commit is contained in:
parent
b49b9aa6f0
commit
64162106ff
1 changed files with 13 additions and 21 deletions
32
server.py
32
server.py
|
@ -4,15 +4,14 @@ import subprocess
|
|||
# Server IPMI details
|
||||
IPMIHOST = "192.168.1.223"
|
||||
IPMIUSER = "root"
|
||||
IPMIPASS = "fuck pizza hut"
|
||||
IPMIPASS = "<password>"
|
||||
|
||||
def execute_ipmi_command(command):
|
||||
full_command = f"ipmitool -I lanplus -H {IPMIHOST} -U {IPMIUSER} -P \"{IPMIPASS}\" {command}"
|
||||
print(f"Executing command: {full_command}") # Print the full command to debug
|
||||
result = subprocess.run(full_command, shell=True, capture_output=True, text=True)
|
||||
print(result.stdout)
|
||||
result = subprocess.run(full_command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
print(result.stdout.decode().strip())
|
||||
if result.stderr:
|
||||
print(result.stderr)
|
||||
print(result.stderr.decode().strip())
|
||||
|
||||
def power_on():
|
||||
print("Powering on the server...")
|
||||
|
@ -24,8 +23,7 @@ def power_off():
|
|||
|
||||
def set_fan_speed(speed):
|
||||
print(f"Setting fan speed to {speed}%...")
|
||||
# You'll need to convert the percentage to your server's specific command.
|
||||
fan_speed_value = int((speed * 255) / 100) # Example conversion
|
||||
fan_speed_value = int((speed * 255) / 100)
|
||||
execute_ipmi_command(f"raw 0x30 0x30 0x02 0xff {hex(fan_speed_value)}")
|
||||
|
||||
def enable_dynamic_fan_control():
|
||||
|
@ -44,27 +42,21 @@ parser.add_argument('-d', '--dynamic', choices=['on', 'off'], help='Toggle dynam
|
|||
|
||||
args = parser.parse_args()
|
||||
|
||||
# Check for no action
|
||||
if not any([args.power, args.fan, args.dynamic]):
|
||||
parser.print_help()
|
||||
exit()
|
||||
|
||||
# Execute based on arguments
|
||||
if args.power == 'on':
|
||||
power_on()
|
||||
elif args.power == 'off':
|
||||
power_off()
|
||||
else:
|
||||
print("No action specified. Exiting...")
|
||||
|
||||
if args.fan is not None:
|
||||
set_fan_speed(args.fan)
|
||||
|
||||
if args.dynamic == 'on':
|
||||
enable_dynamic_fan_control()
|
||||
elif args.dynamic == 'off':
|
||||
disable_dynamic_fan_control()
|
||||
|
||||
if not (args.power or args.fan or args.dynamic):
|
||||
parser.print_help()
|
||||
else:
|
||||
if args.power == 'on':
|
||||
power_on()
|
||||
elif args.power == 'off':
|
||||
# Here, you can add a function to power off if desired
|
||||
pass
|
||||
if args.fan is not None:
|
||||
set_fan_speed(args.fan)
|
Loading…
Reference in a new issue