Project

General

Profile

Download (1.17 KB) Statistics
| Branch: | Tag: | Revision:
module FogExtensions
module Libvirt
module Server
extend ActiveSupport::Concern

include ActionView::Helpers::NumberHelper

attr_accessor :image_id

def to_s
name
end

def nics_attributes=(attrs)
end

def volumes_attributes=(attrs)
end

# Libvirt expect units in KB, while we use bytes
def memory
attributes[:memory_size].to_i.kilobytes
end

def memory=(mem)
attributes[:memory_size] = mem.to_i / 1.kilobyte if mem
end

def reset
poweroff
start
end

def vm_description
_("%{cpus} CPUs and %{memory} memory") % {:cpus => cpus, :memory => number_to_human_size(memory.to_i)}
end

# Other Fog CRs use .interfaces as the accessor, but libvirt does not
def interfaces
nics
end

def select_nic(fog_nics, nic)
nic_attrs = nic.compute_attributes
match = fog_nics.detect { |fn| fn.network == nic_attrs['network'] } # grab any nic on the same network
match ||= fog_nics.detect { |fn| fn.bridge == nic_attrs['bridge'] } # no network? try a bridge...
match
end
end
end
end
    (1-1/1)