Class/Module Index [+]

Quicksearch

Fog::Compute::XenServer::Server

Public Class Methods

new(attributes={}) click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 54
def initialize(attributes={})
  super
end

Public Instance Methods

affinity() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 62
def affinity
  service.hosts.get __affinity
end
clean_reboot() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 178
def clean_reboot
  reboot 'clean'
end
clean_shutdown() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 193
def clean_shutdown
  stop 'clean'
end
destroy() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 66
def destroy
  # Make sure it's halted
  stop('hard')
  vbds.each do |vbd|
    if vbd.type == "Disk"
      vbd.unplug                  if vbd.allowed_operations.include?("unplug")
      vbd.vdi.destroy                  if vbd.vdi.allowed_operations.include?("destroy")
    end
  end
  service.destroy_server( reference )
  true
end
guest_metrics() click to toggle source

This is not always present in XenServer VMs Guest needs XenTools installed to report this AFAIK

# File lib/fog/xenserver/models/compute/server.rb, line 111
def guest_metrics
  return nil unless __guest_metrics
  rec = service.get_record( __guest_metrics, 'VM_guest_metrics' )
  Fog::Compute::XenServer::GuestMetrics.new(rec)
end
halted?() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 134
def halted?
  reload
  power_state == "Halted"
end
hard_reboot() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 174
def hard_reboot
  reboot 'hard'
end
hard_shutdown() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 189
def hard_shutdown
  stop 'hard'
end
home_hypervisor() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 121
def home_hypervisor
  service.hosts.first
end
mac_address() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 125
def mac_address
  networks.first.MAC
end
networks() click to toggle source

associations

# File lib/fog/xenserver/models/compute/server.rb, line 100
def networks
  vifs.collect { |v| v.network }
end
provision() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 197
def provision
  service.provision_server reference
end
reboot(stype = 'clean') click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 169
def reboot(stype = 'clean')
  service.reboot_server(reference, stype)
  true
end
refresh() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 89
def refresh
  data = service.get_record( reference, 'VM' )
  merge_attributes( data )
  true
end
resident_on() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 104
def resident_on
  service.hosts.get __resident_on
end
running?() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 129
def running?
  reload
  power_state == "Running"
end
save(params = {}) click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 146
def save(params = {})
  requires :name
  nets = attributes[:networks] || []
  if params[:auto_start].nil?
    auto_start = true
  else
    auto_start = params[:auto_start]
  end
  if template_name
    attr = service.get_record(
      service.create_server( name, template_name, nets, :auto_start => auto_start),
      'VM'
    )
  else
    attr = service.get_record(
      service.create_server_raw(attributes),
      'VM'
    )
  end
  merge_attributes attr
  true
end
set_attribute(name, *val) click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 81
def set_attribute(name, *val)
  data = service.set_attribute( 'VM', reference, name, *val )
  # Do not reload automatically for performance reasons
  # We can set multiple attributes at the same time and
  # then reload manually
  #reload
end
start() click to toggle source

operations

# File lib/fog/xenserver/models/compute/server.rb, line 140
def start
  return false if running?
  service.start_server( reference )
  true
end
stop(stype = 'clean') click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 182
def stop(stype = 'clean')
  return false if !running?
  service.shutdown_server( reference, stype )
  wait_for { power_state == 'Halted' }
  true
end
tools_installed?() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 117
def tools_installed?
  !guest_metrics.nil?
end
vbds() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 58
def vbds
  __vbds.collect {|vbd| service.vbds.get vbd }
end
vifs() click to toggle source
# File lib/fog/xenserver/models/compute/server.rb, line 95
def vifs
  __vifs.collect { |vif| service.vifs.get vif }
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.