1
0
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:
mcabrerizo 2017-04-12 09:58:31 +02:00
parent 7343c80fe3
commit 0084ffc57c
3 changed files with 11 additions and 21 deletions

View File

@ -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

View File

@ -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 "\

View File

@ -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 "\