Class: VCloudCloud::Steps::StemcellInfo
Instance Attribute Summary
#client, #state
Instance Method Summary
collapse
#initialize, #rollback
Instance Method Details
#cleanup ⇒ Object
17
18
19
|
# File 'lib/cloud/vcloud/steps/stemcell_info.rb', line 17
def cleanup
FileUtils.remove_entry_secure state[:stemcell_dir] if state[:stemcell_dir]
end
|
4
5
6
7
8
9
10
11
12
13
14
15
|
# File 'lib/cloud/vcloud/steps/stemcell_info.rb', line 4
def perform(image, &block)
tmpdir = state[:stemcell_dir] = Dir.mktmpdir
_, stderr, status = Open3.capture3("tar -C #{tmpdir} -xzf #{File.absolute_path(image)}")
raise "Invalid stemcell image: #{stderr}" unless status.success?
files = Dir.glob File.join(tmpdir, '*.ovf')
raise "Invalid stemcell image: having #{files.length} .ovf files" if files.length != 1
state[:stemcell_ovf] = File.basename files[0]
end
|