Class: Vmit::Plugins::Bootstrap
- Inherits:
-
Clamp::Command
- Object
- Clamp::Command
- Vmit::Plugins::Bootstrap
- Defined in:
- lib/vmit/plugins/bootstrap.rb
Overview
Bootstrap allows to initialize a virtual machine from (currently) a (SUSE) repository.
It will perform an autoinstallation based on the repository.
Instance Method Summary collapse
Instance Method Details
#execute ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/vmit/plugins/bootstrap.rb', line 68 def execute Vmit.logger.info 'Starting bootstrap' workspace = Vmit::Workspace.from_pwd Vmit.logger.info ' Deleting old images' FileUtils.rm_f(Dir.glob('*.qcow2')) opts = {} opts[:disk_size] = disk_size if disk_size workspace.disk_image_init!(opts) workspace.save_config! location = location_list.join(' ') install_media = Vmit::InstallMedia.scan(location) Vmit.logger.info "Install media: #{install_media}" packages.each do |pkg| install_media.unattended_install.config.add_packages!(pkg) end vm = Vmit::LibvirtVM.from_pwd install_media.autoinstall(vm) Vmit.logger.info 'Creating snapshot of fresh system.' workspace.disk_snapshot! Vmit.logger.info 'Bootstraping done. Call vmit run to start your system.' end |