Project

General

Profile

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

attr_accessor :image_id

def to_s
name
end

def state
power_state
end

def interfaces_attributes=(attrs); end

def volumes_attributes=(attrs); end

def poweroff
stop(:force => true)
end

def reset
reboot(:force => true)
end

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

def scsi_controller_type
return scsi_controller[:type] if scsi_controller.is_a?(Hash)
scsi_controller.type
end

def select_nic(fog_nics, nic)
nic_attrs = nic.compute_attributes
selected_nic = fog_nics.detect { |fn| fn.network == nic_attrs['network'] } # grab any nic on the same network
unless selected_nic
vm_network = service.get_network(nic_attrs['network'], datacenter)
if vm_network && vm_network.key?(:id)
selected_nic = fog_nics.detect { |fn| fn.network == vm_network[:id] } # try and match on portgroup
end
end
selected_nic
end
end
end
end
(2-2/2)