Class: Xen::Vbd

Inherits:
Object
  • Object
show all
Defined in:
lib/xen/config.rb

Overview

Virtual Block Device

We’re only supporting Logical Volumes. No loopback devices.

wiki.xensource.com/xenwiki/XenStorage

Example

disk        = [ 'phy:xendisks/example-disk,sda1,w', 
                'phy:xendisks/example-swap,sda2,w',
                'phy:assets/example-assets,sdb1,w' ]

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, vg, domu, mode = 'w') ⇒ Vbd

Returns a new instance of Vbd.



127
128
129
# File 'lib/xen/config.rb', line 127

def initialize(name, vg, domu, mode='w')
  @name, @vg, @domu, @mode = name, vg, domu, mode
end

Instance Attribute Details

#domuObject

Returns the value of attribute domu.



126
127
128
# File 'lib/xen/config.rb', line 126

def domu
  @domu
end

#modeObject

Returns the value of attribute mode.



126
127
128
# File 'lib/xen/config.rb', line 126

def mode
  @mode
end

#nameObject

Returns the value of attribute name.



126
127
128
# File 'lib/xen/config.rb', line 126

def name
  @name
end

#vgObject

Returns the value of attribute vg.



126
127
128
# File 'lib/xen/config.rb', line 126

def vg
  @vg
end

Class Method Details

.from_str(value) ⇒ Object



131
132
133
134
135
# File 'lib/xen/config.rb', line 131

def self.from_str(value)
  dom0, domu, mode = value.split(',')
  vg, name = dom0.split(/[\/:]/).slice(-2, 2)
  new(name, vg, domu, mode)
end

Instance Method Details

#sizeObject



137
138
139
# File 'lib/xen/config.rb', line 137

def size
  Xen::Command.lv_size(@vg, @name)
end

#to_strObject



141
142
143
# File 'lib/xen/config.rb', line 141

def to_str
  "phy:#{vg}/#{lv},#{domu},#{mode}"
end