mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-21 14:50:08 +03:00
F #4913: VC snapshot name will be One's id and VC snapshot description will be One's name F#4921
This commit is contained in:
parent
7343c80fe3
commit
0084ffc57c
@ -2172,8 +2172,8 @@ class VirtualMachine < Template
|
||||
# Create a snapshot for the VM
|
||||
def create_snapshot(snap_id, snap_name)
|
||||
snapshot_hash = {
|
||||
:name => snap_name,
|
||||
:description => "OpenNebula's snapshot at #{Time.now}",
|
||||
:name => snap_id,
|
||||
:description => "OpenNebula Snapshot: #{snap_name}",
|
||||
:memory => true,
|
||||
:quiesce => true
|
||||
}
|
||||
@ -2211,10 +2211,10 @@ class VirtualMachine < Template
|
||||
end
|
||||
|
||||
# Revert to a VM snapshot
|
||||
def revert_snapshot(snap_id, snap_name)
|
||||
def revert_snapshot(snap_id)
|
||||
|
||||
snapshot_list = self["snapshot.rootSnapshotList"]
|
||||
snapshot = find_snapshot_in_list(snapshot_list, snap_id, snap_name)
|
||||
snapshot = find_snapshot_in_list(snapshot_list, snap_id)
|
||||
|
||||
return nil if !snapshot
|
||||
|
||||
@ -2227,10 +2227,10 @@ class VirtualMachine < Template
|
||||
end
|
||||
|
||||
# Delete VM snapshot
|
||||
def delete_snapshot(snap_id, snap_name)
|
||||
def delete_snapshot(snap_id)
|
||||
|
||||
snapshot_list = self["snapshot.rootSnapshotList"]
|
||||
snapshot = find_snapshot_in_list(snapshot_list, snap_id, snap_name)
|
||||
snapshot = find_snapshot_in_list(snapshot_list, snap_id)
|
||||
|
||||
return nil if !snapshot
|
||||
|
||||
@ -2245,12 +2245,12 @@ class VirtualMachine < Template
|
||||
end
|
||||
end
|
||||
|
||||
def find_snapshot_in_list(list, snap_id, snap_name)
|
||||
def find_snapshot_in_list(list, snap_id)
|
||||
list.each do |i|
|
||||
if i.name == snap_id.to_s || i.name == snap_name.to_s
|
||||
if i.name == snap_id.to_s
|
||||
return i.snapshot
|
||||
elsif !i.childSnapshotList.empty?
|
||||
snap = find_snapshot_in_list(i.childSnapshotList, snap_id, snap_name)
|
||||
snap = find_snapshot_in_list(i.childSnapshotList, snap_id)
|
||||
return snap if snap
|
||||
end
|
||||
end rescue nil
|
||||
|
@ -31,7 +31,6 @@ require 'vcenter_driver'
|
||||
|
||||
vm_ref = ARGV[0]
|
||||
snap_id = ARGV[1]
|
||||
vm_id = ARGV[2]
|
||||
vc_cluster_name = ARGV[3]
|
||||
|
||||
host = VCenterDriver::VIHelper.find_by_name(OpenNebula::HostPool, vc_cluster_name)
|
||||
@ -42,11 +41,7 @@ begin
|
||||
|
||||
vm = VCenterDriver::VirtualMachine.new_from_ref(vm_ref, vi_client)
|
||||
|
||||
# Get snapshot name
|
||||
one_vm = VCenterDriver::VIHelper.one_item(OpenNebula::VirtualMachine, vm_id)
|
||||
snap_name = one_vm["TEMPLATE/SNAPSHOT[SNAPSHOT_ID=#{snap_id}]/NAME"]
|
||||
|
||||
vm.delete_snapshot(snap_id, snap_name)
|
||||
vm.delete_snapshot(snap_id)
|
||||
|
||||
rescue Exception => e
|
||||
STDERR.puts "Snapshot of VM #{vm_ref} on vCenter cluster "\
|
||||
|
@ -31,7 +31,6 @@ require 'vcenter_driver'
|
||||
|
||||
vm_ref = ARGV[0]
|
||||
snap_id = ARGV[1]
|
||||
vm_id = ARGV[2]
|
||||
vc_cluster_name = ARGV[3]
|
||||
|
||||
host = VCenterDriver::VIHelper.find_by_name(OpenNebula::HostPool, vc_cluster_name)
|
||||
@ -42,11 +41,7 @@ begin
|
||||
|
||||
vm = VCenterDriver::VirtualMachine.new_from_ref(vm_ref, vi_client)
|
||||
|
||||
# Get snapshot name
|
||||
one_vm = VCenterDriver::VIHelper.one_item(OpenNebula::VirtualMachine, vm_id)
|
||||
snap_name = one_vm["TEMPLATE/SNAPSHOT[SNAPSHOT_ID=#{snap_id}]/NAME"]
|
||||
|
||||
vm.revert_snapshot(snap_id, snap_name)
|
||||
vm.revert_snapshot(snap_id)
|
||||
|
||||
rescue Exception => e
|
||||
STDERR.puts "Snapshot of VM #{vm_ref} on vCenter cluster "\
|
||||
|
Loading…
x
Reference in New Issue
Block a user