Class: VSphereCloud::Resources::Scorer::DiskPool

Inherits:
Object
  • Object
show all
Defined in:
lib/cloud/vsphere/resources/scorer.rb

Instance Method Summary collapse

Constructor Details

#initialize(sizes) ⇒ DiskPool

Returns a new instance of DiskPool.



51
52
53
# File 'lib/cloud/vsphere/resources/scorer.rb', line 51

def initialize(sizes)
  @sizes = sizes
end

Instance Method Details

#consume_disk(requested_size) ⇒ true, false

Consumes disk space from a datastore pool.

Parameters:

  • requested_size (Integer)

    requested disk size.

Returns:

  • (true, false)

    boolean indicating that the disk space was consumed.



59
60
61
62
63
64
65
66
67
68
69
# File 'lib/cloud/vsphere/resources/scorer.rb', line 59

def consume_disk(requested_size)
  unless @sizes.empty?
    @sizes.sort! { |a, b| b <=> a }
    if @sizes[0] >= requested_size + DISK_HEADROOM
      @sizes[0] -= requested_size
      return true
    end
  end

  false
end