Sha256: 28244633e0ff2e7cec5058f5e8632d2241af622adb5e94ea32809203fb8df6e2

Contents?: true

Size: 1.48 KB

Versions: 9

Compression:

Stored size: 1.48 KB

Contents

require 'manageiq-gems-pending'
require 'openssl' # Required for 'Digest' in camcorder (< Ruby 2.1)
require 'camcorder'
require 'log4r'
require 'MiqVm/MiqVm'

class ConsoleFormatter < Log4r::Formatter
  def format(event)
    (event.data.kind_of?(String) ? event.data : event.data.inspect) + "\n"
  end
end

toplog = Log4r::Logger.new 'toplog'
Log4r::StderrOutputter.new('err_console', :level => Log4r::DEBUG, :formatter => ConsoleFormatter)
toplog.add 'err_console'
$log = toplog if $log.nil?

#
# Path to RAW disk image.
#
VIRTUAL_DISK_FILE = "path to raw disk image file"

commit = true

begin
  recorder = Camcorder::Recorder.new("#{File.dirname(__FILE__)}/foo.yml")
  Camcorder.default_recorder = recorder
  Camcorder.intercept_constructor(MiqLargeFile::MiqLargeFileOther) do
    methods_with_side_effects :seek, :read, :write
  end
  Camcorder.intercept_constructor(MiqLargeFile::MiqLargeFileStat)

  recorder.start

  hardware  = "scsi0:0.present = \"TRUE\"\n"
  hardware += "scsi0:0.filename = \"#{VIRTUAL_DISK_FILE}\"\n"

  ost = OpenStruct.new
  ost.rawDisk = true

  miqVm = MiqVm.new(hardware, ost)

  %w(accounts services software system).each do |cat|
    xml = miqVm.extract(cat)
    xml.write($stdout, 4)
  end
rescue => err
  puts err.to_s
  puts err.backtrace.join("\n")
  commit = false # don't commit recording on error
ensure
  miqVm.unmount if miqVm
  puts "...done"
  if recorder && commit
    puts
    puts "camcorder: committing recording..."
    recorder.commit
    puts "done."
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
manageiq-smartstate-0.2.1 lib/MiqVm/test/camcorder_fleece_test.rb
manageiq-smartstate-0.2.0 lib/MiqVm/test/camcorder_fleece_test.rb
manageiq-smartstate-0.1.6 lib/MiqVm/test/camcorder_fleece_test.rb
manageiq-smartstate-0.1.5 lib/MiqVm/test/camcorder_fleece_test.rb
manageiq-smartstate-0.1.4 lib/MiqVm/test/camcorder_fleece_test.rb
manageiq-smartstate-0.1.3 lib/MiqVm/test/camcorder_fleece_test.rb
manageiq-smartstate-0.1.2 lib/MiqVm/test/camcorder_fleece_test.rb
manageiq-smartstate-0.1.1 lib/MiqVm/test/camcorder_fleece_test.rb
manageiq-smartstate-0.1.0 lib/MiqVm/test/camcorder_fleece_test.rb