Class: Vagrant::Smartos::Zones::Models::Dataset

Inherits:
Object
  • Object
show all
Includes:
Util::GlobalZone::Helper
Defined in:
lib/vagrant/smartos/zones/models/dataset.rb

Class Method Summary collapse

Methods included from Util::GlobalZone::Helper

included, #sudo, #with_gz

Class Method Details

.create(name, zone) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/vagrant/smartos/zones/models/dataset.rb', line 11

def self.create(name, zone)
  Models::Snapshot.around(zone) do
    zone.zlogin('\'find /var/log -type f -exec truncate --size 0 {} \;\'')
    zone.zlogin('sm-prepare-image -y')
    zone.stop
    Models::Snapshot.around(zone) do |snapshot|
      cmd = 'pfexec /usr/bin/bash -l -c "/usr/sbin/zfs send %s | /usr/bin/bzip2 > /zones/%s.zfs.bz2"'
      with_gz(zone.machine, cmd % [snapshot.path, name])
    end
  end
  zone.start
end