From e9d9c8afdd29864c89711756165d646ee45561c1 Mon Sep 17 00:00:00 2001 From: rasmus Date: Tue, 22 Dec 2020 01:13:23 +0200 Subject: [PATCH] It's done..???? --- main.py | 13 +++++++++---- relativeUsage.py | 23 ++++++++++++++++++++--- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/main.py b/main.py index dc037f5..4a1e5f1 100644 --- a/main.py +++ b/main.py @@ -93,7 +93,7 @@ for n in range(baysInUseCount): #print(servers) #breakpoint() -# Fields: [BayNumber "Server Name", "Serial Number", "Status", "Power", "UID Partner", presentPowerDCDirect] +# Fields: [BayNumber "Server Name", "Serial Number", "Status", "Power", "UID Partner", presentPowerDirectDC] ## Get enc's _AC_ usage. ## @@ -107,8 +107,13 @@ ssh.close() ## Calculating blade usage by percentage. ## # Keep in mind the querying of the data took a while, a minute or so. -relativeUsage.relativeUsage(encPowerUsageAC, baysInUseCount, servers) +serversAverageACAndServers = relativeUsage.relativeUsage(encPowerUsageAC, baysInUseCount, servers) +serversAverageAC = serversAverageACAndServers[0] +servers = serversAverageACAndServers[1] +# Fields: [BayNumber "Server Name", "Serial Number", "Status", "Power", "UID Partner", presentPowerDirectDC, relativeUsageAC] + +print("Enclosure usage AC: " + str(encPowerUsageAC)) +print("Average blade relative usage AC: " + str(serversAverageAC)) +print('[BayNumber "Server Name", "Serial Number", "Status", "Power", "UID Partner", presentPowerDirectDC, relativeUsageAC]') print(servers) -breakpoint() -print() diff --git a/relativeUsage.py b/relativeUsage.py index cf69eaf..a6b6810 100644 --- a/relativeUsage.py +++ b/relativeUsage.py @@ -1,3 +1,4 @@ +import logging def relativeUsage(encPowerUsageAC, baysInUseCount, servers): # Input validation @@ -8,9 +9,25 @@ def relativeUsage(encPowerUsageAC, baysInUseCount, servers): if not type(servers) is list: raise TypeError("ssh_runcmd: command must be a list, '" + str(servers) + "' is not.") - for srv in range(baysInUseCount): - a - return servers + # Add up the total DC usage of blades. + absoluteBladesUsage = 0 + for n in range(baysInUseCount): + absoluteBladesUsage += servers[n][6] + # absoluteBladesUsage = sum(totalBladesUsage) + logging.info("Blade raw usage DC: " + str(absoluteBladesUsage)) + + # Get the relative percentage multiplier for blades AC. + percentageMultiplier = encPowerUsageAC / absoluteBladesUsage + + for n in range(baysInUseCount): + servers[n].append( round(servers[n][6] * percentageMultiplier) ) # Multiply to get the relative AC usage of the blade. + + srvAvg = 0 + for n in range(baysInUseCount): + srvAvg += servers[n][7] + serversAverageAC = round(srvAvg / baysInUseCount) + + return serversAverageAC, servers encPowerUsageAC = 1775 baysInUseCount = 11