class Fog::Libvirt::Compute::Mock

Public Class Methods

new(options={}) click to toggle source
# File lib/fog/libvirt/compute.rb, line 57
def initialize(options={})
  # libvirt is part of the gem => ruby-libvirt
  require 'libvirt'
end

Public Instance Methods

clone_volume(pool_name, xml, name) click to toggle source
# File lib/fog/libvirt/requests/compute/clone_volume.rb, line 12
def clone_volume(pool_name, xml, name)
  Fog::Libvirt::Compute::Volume.new({:pool_name => pool_name, :xml => xml})
end
create_domain(xml) click to toggle source
# File lib/fog/libvirt/requests/compute/create_domain.rb, line 11
def create_domain(xml)
  ::Libvirt::Domain.new()
end
create_volume(pool_name, xml) click to toggle source
# File lib/fog/libvirt/requests/compute/create_volume.rb, line 11
def create_volume(pool_name, xml)
end
define_domain(xml) click to toggle source
# File lib/fog/libvirt/requests/compute/define_domain.rb, line 11
def define_domain(xml)
  ::Libvirt::Domain.new()
end
define_pool(xml) click to toggle source
# File lib/fog/libvirt/requests/compute/define_pool.rb, line 11
def define_pool(xml)
end
destroy_interface(uuid) click to toggle source
# File lib/fog/libvirt/requests/compute/destroy_interface.rb, line 12
def destroy_interface(uuid)
  true
end
destroy_network(uuid) click to toggle source
# File lib/fog/libvirt/requests/compute/destroy_network.rb, line 11
def destroy_network(uuid)
  true
end
dhcp_leases(uuid, mac, flags = 0) click to toggle source
# File lib/fog/libvirt/requests/compute/dhcp_leases.rb, line 13
def dhcp_leases(uuid, mac, flags = 0)
  leases1 = {
    'aa:bb:cc:dd:ee:ff' => [
      { 'type' => Socket::AF_INET, 'ipaddr' => '1.2.3.4', 'prefix' => 24, 'expirytime' => 5000 },
      { 'type' => Socket::AF_INET, 'ipaddr' => '1.2.5.6', 'prefix' => 24, 'expirytime' => 5005 }
    ]
  }
  leases2 = {
    '99:88:77:66:55:44' => [
      { 'type' => Socket::AF_INET, 'ipaddr' => '10.1.1.5', 'prefix' => 24, 'expirytime' => 50 }
    ]
  }
  networks = {
    # should match mock net uuid from list_networks.rb
    'a29146ea-39b2-412d-8f53-239eef117a32' => leases1,
    'fbd4ac68-cbea-4f95-86ed-22953fd92384' => leases2
  }
  if !networks[uuid].nil?
    return networks[uuid][mac]
  end
end
get_node_info() click to toggle source
# File lib/fog/libvirt/requests/compute/get_node_info.rb, line 32
def get_node_info
end
libversion() click to toggle source
# File lib/fog/libvirt/requests/compute/libversion.rb, line 12
def libversion()
  return 1002009
end
list_domains(filter = { }) click to toggle source
# File lib/fog/libvirt/requests/compute/list_domains.rb, line 94
def list_domains(filter = { })
  dom1 = mock_domain 'fog-dom1'
  dom2 = mock_domain 'fog-dom2'
  dom3 = mock_domain 'a-fog-dom3'
  [dom1, dom2, dom3]
end
list_interfaces(filters={ }) click to toggle source
# File lib/fog/libvirt/requests/compute/list_interfaces.rb, line 41
def list_interfaces(filters={ })
  if1 = mock_interface 'if1'
  if2 = mock_interface 'if2'
  [if1, if2]
end
list_networks(filter={ }) click to toggle source
# File lib/fog/libvirt/requests/compute/list_networks.rb, line 47
def list_networks(filter={ })
  networks = [ {
      :uuid        => 'a29146ea-39b2-412d-8f53-239eef117a32',
      :name        => 'net1',
      :bridge_name => 'virbr0'
    },
    {
      :uuid        => 'fbd4ac68-cbea-4f95-86ed-22953fd92384',
      :name        => 'net2',
      :bridge_name => 'virbr1'
    }
  ]
  return networks if filter.empty?

  case filter.keys.first
    when :uuid
      [networks.find(:uuid => filter[:uuid]).first]
    when :name
      [networks.find(:name => filter[:name]).first]
    else
      networks
  end
end
list_pool_volumes(uuid) click to toggle source
# File lib/fog/libvirt/requests/compute/list_pool_volumes.rb, line 14
def list_pool_volumes(uuid)
end
list_pools(filter = { }) click to toggle source
# File lib/fog/libvirt/requests/compute/list_pools.rb, line 60
def list_pools(filter = { })
  pool1 = mock_pool 'pool1'
  pool2 = mock_pool 'pool1'
  [pool1, pool2]
end
list_volumes(filters={ }) click to toggle source
# File lib/fog/libvirt/requests/compute/list_volumes.rb, line 78
def list_volumes(filters={ })
  vol1 = mock_volume 'vol1'
  vol2 = mock_volume 'vol2'
  vols = [vol1, vol2]

  if filters.keys.empty?
    return vols
  end

  key = filters.keys.first
  vols.select { |v| v[key] == filters[key] }
end
mock_domain(name) click to toggle source
# File lib/fog/libvirt/requests/compute/list_domains.rb, line 101
def mock_domain name
  xml = read_xml 'domain.xml'
  {
      :id              => "dom.uuid",
      :uuid            => "dom.uuid",
      :name            => name,
      :max_memory_size => 8,
      :cputime         => 7,
      :memory_size     => 6,
      :cpus            => 5,
      :autostart       => false,
      :os_type         => "RHEL6",
      :active          => false,
      :vnc_port        => 5910,
      :boot_order      => boot_order(xml),
      :nics            => domain_interfaces(xml),
      :volumes_path    => domain_volumes(xml),
      :state           => 'shutoff'
  }
end
mock_interface(name) click to toggle source
# File lib/fog/libvirt/requests/compute/list_interfaces.rb, line 47
def mock_interface name
  {
      :mac    => 'aa:bb:cc:dd:ee:ff',
      :name   => name,
      :active => true
  }
end
mock_pool(name) click to toggle source
# File lib/fog/libvirt/requests/compute/list_pools.rb, line 66
def mock_pool name
  {
      :uuid           => 'pool.uuid',
      :persistent     => true,
      :autostart      => true,
      :active         => true,
      :name           => name,
      :allocation     => 123456789,
      :capacity       => 123456789,
      :num_of_volumes => 3,
      :state          => :running
  }
end
mock_volume(name) click to toggle source
# File lib/fog/libvirt/requests/compute/list_volumes.rb, line 91
def mock_volume name
  {
      :pool_name   => 'vol.pool.name',
      :key         => "vol.#{name}", # needs to match id
      :id          => "vol.#{name}",
      :path        => "path/to/disk", # used by in mock_files/domain.xml
      :name        => name,
      :format_type => 'raw',
      :allocation  => 123,
      :capacity    => 123,
  }
end
pool_action(uuid, action) click to toggle source
# File lib/fog/libvirt/requests/compute/pool_action.rb, line 13
def pool_action(uuid, action)
  true
end
update_autostart(uuid, value) click to toggle source
# File lib/fog/libvirt/requests/compute/update_autostart.rb, line 12
def update_autostart(uuid, value)
  value
end
update_display(options = { }) click to toggle source
# File lib/fog/libvirt/requests/compute/update_display.rb, line 29
def update_display(options = { })
  raise ArgumentError, "uuid is a required parameter" unless options.key? :uuid
  true
end
upload_volume(pool_name, volume_name, file_path) click to toggle source
# File lib/fog/libvirt/requests/compute/upload_volume.rb, line 26
def upload_volume(pool_name, volume_name, file_path)
end
vm_action(uuid, action, *params) click to toggle source
# File lib/fog/libvirt/requests/compute/vm_action.rb, line 13
def vm_action(uuid, action, *params)
  true
end
volume_action(action, options={}) click to toggle source
# File lib/fog/libvirt/requests/compute/volume_action.rb, line 12
def volume_action(action, options={})
  true
end

Private Instance Methods

client() click to toggle source
# File lib/fog/libvirt/compute.rb, line 64
def client
  return @client if defined?(@client)
end
read_xml(file_name) click to toggle source

read mocks xml

# File lib/fog/libvirt/compute.rb, line 69
def read_xml(file_name)
  file_path = File.join(File.dirname(__FILE__),"requests","compute","mock_files",file_name)
  File.read(file_path)
end