Skip to content

Commit

Permalink
Update memory_services.rb
Browse files Browse the repository at this point in the history
  • Loading branch information
malvads authored May 8, 2024
1 parent 86466b0 commit fe69f8f
Showing 1 changed file with 16 additions and 13 deletions.
29 changes: 16 additions & 13 deletions resources/libraries/memory_services.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ def memory_services(sysmem_total, excluded_services=[])

node["redborder"]["memory_services"].each do |name,mem_s|
if node["redborder"]["services"][name] and !excluded_services.include?(name)
memory_services_size = memory_services_size + mem_s["count"]
if !node["redborder"]["excluded_memory_services"].include?(name)
memory_services_size = memory_services_size + mem_s["count"]
end
end
memory_services_size_total = memory_services_size_total + mem_s["count"]
end
Expand All @@ -24,18 +26,19 @@ def memory_services(sysmem_total, excluded_services=[])
node["redborder"]["memory_services"].each do |name,mem_s|

if node["redborder"]["services"][name] and !excluded_services.include?(name)

# service count memory assigned * system memory / assigned services memory size
memory_serv[name] = (mem_s["count"] * sysmem_total / memory_services_size).round
#if the service has a limit of memory, we have to recalculate all using recursivity
if !mem_s["max_limit"].nil? and memory_serv[name] > mem_s["max_limit"]
memlimit_found = true
excluded_services << name
#assigning the limit of memory for this service
node.default["redborder"]["memory_services"][name]["memory"] = mem_s["max_limit"]
#now we have to take off the memory excluded from the total to recalculate memory wihout excluded services by limit
sysmem_total_limitsless = sysmem_total - mem_s["max_limit"]
end
if !node["redborder"]["excluded_memory_services"].include?(name)
# service count memory assigned * system memory / assigned services memory size
memory_serv[name] = (mem_s["count"] * sysmem_total / memory_services_size).round
#if the service has a limit of memory, we have to recalculate all using recursivity
if !mem_s["max_limit"].nil? and memory_serv[name] > mem_s["max_limit"]
memlimit_found = true
excluded_services << name
#assigning the limit of memory for this service
node.default["redborder"]["memory_services"][name]["memory"] = mem_s["max_limit"]
#now we have to take off the memory excluded from the total to recalculate memory wihout excluded services by limit
sysmem_total_limitsless = sysmem_total - mem_s["max_limit"]
end
end
end
end

Expand Down

0 comments on commit fe69f8f

Please sign in to comment.