Sha256: c12218aebf9c8e930a6e628a6b77283672fad4e9e169e6cffe8e994d8e051e1f
Contents?: true
Size: 819 Bytes
Versions: 2
Compression:
Stored size: 819 Bytes
Contents
# -*- coding: utf-8 -*- module Dcmgr module Scheduler module HostNode # Find host node which has the largest available capacity. class LeastUsage < HostNodeScheduler include Dcmgr::Logger def schedule(instance) ds = Models::HostNode.online_nodes.filter(:arch=>instance.spec.arch, :hypervisor=>instance.spec.hypervisor) host_node = ds.all.find_all { |hn| hn.available_cpu_cores >= instance.cpu_cores && \ hn.available_memory_size >= instance.memory_size }.sort_by { |hn| hn.available_memory_size }.reverse.first raise HostNodeSchedulingError if host_node.nil? instance.host_node = host_node end end end end end
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
wakame-vdc-agents-11.12.0 | lib/dcmgr/scheduler/host_node/least_usage.rb |
wakame-vdc-dcmgr-11.12.0 | lib/dcmgr/scheduler/host_node/least_usage.rb |