def test(): test_util.test_dsc('Create test vm as utility vm') vm1 = test_stub.create_vlan_vm() test_obj_dict.add_vm(vm1) #this test will rely on live snapshot capability supporting host_inv = test_lib.lib_find_host_by_vm(vm1.get_vm()) if not test_lib.lib_check_live_snapshot_cap(host_inv): vm1.destroy() test_obj_dict.rm_vm(vm1) test_util.test_skip('Skip test, since [host:] %s does not support live snapshot.' % host_inv.uuid) live_snapshot = test_lib.lib_check_live_snapshot_cap(host_inv) if not live_snapshot: vm1.destroy() test_obj_dict.rm_vm(vm1) test_util.test_skip("Skip test, since [host:] %s doesn't support live snapshot " % host_inv.uuid) vm = test_stub.create_vlan_vm() test_obj_dict.add_vm(vm) test_util.test_dsc('Create volume for snapshot testing') disk_offering = test_lib.lib_get_disk_offering_by_name(os.environ.get('smallDiskOfferingName')) volume_creation_option = test_util.VolumeOption() volume_creation_option.set_name('volume for snapshot testing') volume_creation_option.set_disk_offering_uuid(disk_offering.uuid) volume1 = test_stub.create_volume(volume_creation_option) test_obj_dict.add_volume(volume1) volume2 = test_stub.create_volume(volume_creation_option) test_obj_dict.add_volume(volume2) #make sure utility vm is starting and running vm.check() volume1.attach(vm1) volume2.attach(vm1) test_util.test_dsc('create snapshot for root') vm_root_volume_inv = test_lib.lib_get_root_volume(vm1.get_vm()) snapshots = test_obj_dict.get_volume_snapshot(vm_root_volume_inv.uuid) snapshots.set_utility_vm(vm) snapshots.create_snapshot('create_root_volume_snapshot1') volume1.check() volume2.check() snapshots2 = test_obj_dict.get_volume_snapshot(volume1.get_volume().uuid) snapshots2.set_utility_vm(vm) snapshots2.create_snapshot('create_data_volume_snapshot1') snapshots.check() volume1.check() volume2.check() test_lib.lib_robot_cleanup(test_obj_dict) test_util.test_pass('Create root Snapshot and test data volume status test Success')
def test(): test_util.test_dsc('Create test vm as utility vm') vm = test_stub.create_vlan_vm() test_obj_dict.add_vm(vm) #this test will rely on live snapshot capability supporting host_inv = test_lib.lib_find_host_by_vm(vm.get_vm()) if not test_lib.lib_check_live_snapshot_cap(host_inv): vm.destroy() test_obj_dict.rm_vm(vm) test_util.test_skip( 'Skip test, since [host:] %s does not support live snapshot.') libvirt_ver = test_lib.lib_get_host_libvirt_tag(host_inv) if not libvirt_ver or libvirt_ver < '1.2.7': vm.destroy() test_obj_dict.rm_vm(vm) test_util.test_skip( "Skip test, since [host:] %s libvert version: %s is lower than 1.2.7, which doesn't support live merge, when doing snapshot deleting." % (host_inv.uuid, libvirt_ver)) vm1 = test_stub.create_vlan_vm() test_obj_dict.add_vm(vm1) test_util.test_dsc('Create volume for snapshot testing') disk_offering = test_lib.lib_get_disk_offering_by_name( os.environ.get('smallDiskOfferingName')) volume_creation_option = test_util.VolumeOption() volume_creation_option.set_name('volume for snapshot testing') volume_creation_option.set_disk_offering_uuid(disk_offering.uuid) volume = test_stub.create_volume(volume_creation_option) test_obj_dict.add_volume(volume) #make sure utility vm is starting and running vm.check() test_util.test_dsc('create snapshot and check') #snapshots = zstack_sp_header.ZstackVolumeSnapshot() #snapshots.set_target_volume(volume) #test_obj_dict.add_volume_snapshot(snapshots) snapshots = test_obj_dict.get_volume_snapshot(volume.get_volume().uuid) snapshots.set_utility_vm(vm) snapshots.create_snapshot('create_snapshot1') snapshots.create_snapshot('create_snapshot2') snapshots.create_snapshot('create_snapshot3') volume.attach(vm1) snapshots.delete() test_obj_dict.rm_volume_snapshot(snapshots) vm1.start() volume.check() vm.destroy() test_obj_dict.rm_vm(vm) test_lib.lib_robot_cleanup(test_obj_dict) test_util.test_pass('Delete Snapshot on running vm test Success')
def test(): test_util.test_dsc('Create test vm as utility vm') vm = test_stub.create_vlan_vm() test_obj_dict.add_vm(vm) #this test will rely on live snapshot capability supporting host_inv = test_lib.lib_find_host_by_vm(vm.get_vm()) if not test_lib.lib_check_live_snapshot_cap(host_inv): vm.destroy() test_obj_dict.rm_vm(vm) test_util.test_skip('Skip test, since [host:] %s does not support live snapshot.') libvirt_ver = test_lib.lib_get_host_libvirt_tag(host_inv) if not libvirt_ver or LooseVersion(libvirt_ver) < LooseVersion('1.2.7'): vm.destroy() test_obj_dict.rm_vm(vm) test_util.test_skip("Skip test, since [host:] %s libvert version: %s is lower than 1.2.7, which doesn't support live merge, when doing snapshot deleting." % (host_inv.uuid, libvirt_ver)) vm1 = test_stub.create_vlan_vm() test_obj_dict.add_vm(vm1) test_util.test_dsc('Create volume for snapshot testing') disk_offering = test_lib.lib_get_disk_offering_by_name(os.environ.get('smallDiskOfferingName')) volume_creation_option = test_util.VolumeOption() volume_creation_option.set_name('volume for snapshot testing') volume_creation_option.set_disk_offering_uuid(disk_offering.uuid) volume = test_stub.create_volume(volume_creation_option) test_obj_dict.add_volume(volume) #make sure utility vm is starting and running vm.check() test_util.test_dsc('create snapshot and check') #snapshots = zstack_sp_header.ZstackVolumeSnapshot() #snapshots.set_target_volume(volume) #test_obj_dict.add_volume_snapshot(snapshots) snapshots = test_obj_dict.get_volume_snapshot(volume.get_volume().uuid) snapshots.set_utility_vm(vm) snapshots.create_snapshot('create_snapshot1') snapshots.create_snapshot('create_snapshot2') snapshots.create_snapshot('create_snapshot3') volume.attach(vm1) snapshots.delete() test_obj_dict.rm_volume_snapshot(snapshots) volume.check() vm.destroy() test_obj_dict.rm_vm(vm) test_lib.lib_robot_cleanup(test_obj_dict) test_util.test_pass('Delete Snapshot on running vm test Success')
def test(): test_util.test_dsc('Create test vm as utility vm') new_offering = test_lib.lib_create_instance_offering(cpuNum = 6, memorySize = 2048 * 1024 * 1024) new_offering_uuid = new_offering.uuid vm1 = test_stub.create_windows_vm_2(instance_offering_uuid = new_offering_uuid) test_obj_dict.add_vm(vm1) #this test will rely on live snapshot capability supporting host_inv = test_lib.lib_find_host_by_vm(vm1.get_vm()) if not test_lib.lib_check_live_snapshot_cap(host_inv): vm1.destroy() test_obj_dict.rm_vm(vm1) test_util.test_skip('Skip test, since [host:] %s does not support live snapshot.' % host_inv.uuid) libvirt_ver = test_lib.lib_get_host_libvirt_tag(host_inv) if not libvirt_ver or LooseVersion(libvirt_ver) < LooseVersion('1.2.7'): vm1.destroy() test_obj_dict.rm_vm(vm1) test_util.test_skip("Skip test, since [host:] %s libvert version: %s is lower than 1.2.7, which doesn't support live merge, when doing snapshot deleting." % (host_inv.uuid, libvirt_ver)) test_util.test_dsc('Create volume for snapshot testing') disk_offering = test_lib.lib_get_disk_offering_by_name(os.environ.get('smallDiskOfferingName')) volume_creation_option = test_util.VolumeOption() volume_creation_option.set_name('volume for snapshot testing') volume_creation_option.set_disk_offering_uuid(disk_offering.uuid) volume = test_stub.create_volume(volume_creation_option) test_obj_dict.add_volume(volume) #make sure utility vm is starting and running vm1.stop() volume.attach(vm1) vm1.start() test_util.test_dsc('create snapshot') snapshots = test_obj_dict.get_volume_snapshot(volume.get_volume().uuid) snapshots.create_snapshot('create_snapshot1', False) # snapshots.check() test_lib.lib_robot_cleanup(test_obj_dict) test_util.test_pass('Create Snapshot test Success')
def test(): test_util.test_dsc('Create test vm as utility vm') vm1 = test_stub.create_vlan_vm() test_obj_dict.add_vm(vm1) #this test will rely on live snapshot capability supporting host_inv = test_lib.lib_find_host_by_vm(vm1.get_vm()) if not test_lib.lib_check_live_snapshot_cap(host_inv): vm1.destroy() test_obj_dict.rm_vm(vm1) test_util.test_skip('Skip test, since [host:] %s does not support live snapshot.') vm = test_stub.create_vlan_vm() test_obj_dict.add_vm(vm) test_util.test_dsc('Create volume for snapshot testing') disk_offering = test_lib.lib_get_disk_offering_by_name(os.environ.get('smallDiskOfferingName')) volume_creation_option = test_util.VolumeOption() volume_creation_option.set_name('volume for snapshot testing') volume_creation_option.set_disk_offering_uuid(disk_offering.uuid) volume = test_stub.create_volume(volume_creation_option) test_obj_dict.add_volume(volume) #make sure utility vm is starting and running vm.check() volume.attach(vm1) test_util.test_dsc('create snapshot and check') #snapshots = zstack_sp_header.ZstackVolumeSnapshot() #snapshots.set_target_volume(volume) #test_obj_dict.add_volume_snapshot(snapshots) snapshots = test_obj_dict.get_volume_snapshot(volume.get_volume().uuid) snapshots.set_utility_vm(vm) snapshots.create_snapshot('create_snapshot1') snapshots.check() snapshot1 = snapshots.get_current_snapshot() snapshots.create_snapshot('create_snapshot2') snapshots.check() snapshots.create_snapshot('create_snapshot3') snapshots.check() snapshot3 = snapshots.get_current_snapshot() #even with live snapshot function, the revert need stop vm. vm1.stop() snapshots.use_snapshot(snapshot1) vm1.start() snapshots.create_snapshot('create_snapshot1.1.1') snapshots.check() snapshots.create_snapshot('create_snapshot1.1.2') snapshots.check() vm1.stop() snapshots.use_snapshot(snapshot1) vm1.start() snapshots.create_snapshot('create_snapshot1.2.1') snapshots.check() snapshot1_2_1 = snapshots.get_current_snapshot() snapshots.create_snapshot('create_snapshot1.2.2') snapshots.check() vm1.stop() snapshots.use_snapshot(snapshot3) snapshots.check() snapshots.create_snapshot('create_snapshot4') snapshots.check() #vm need to keep stopped or the volume is needed to be detached, before del #vm1.start() test_util.test_dsc('Delete snapshot, volume and check') snapshots.delete_snapshot(snapshot3) snapshots.check() snapshots.delete_snapshot(snapshot1_2_1) snapshots.check() snapshots.delete() test_obj_dict.rm_volume_snapshot(snapshots) vm1.start() volume.check() test_lib.lib_robot_cleanup(test_obj_dict) test_util.test_pass('Create Snapshot test Success')
def test(): test_util.test_dsc('Create test vm as utility vm') vm1 = test_stub.create_vlan_vm() test_obj_dict.add_vm(vm1) #this test will rely on live snapshot capability supporting host_inv = test_lib.lib_find_host_by_vm(vm1.get_vm()) if not test_lib.lib_check_live_snapshot_cap(host_inv): vm1.destroy() test_obj_dict.rm_vm(vm1) test_util.test_skip( 'Skip test, since [host:] %s does not support live snapshot.' % host_inv.uuid) live_snapshot = test_lib.lib_check_live_snapshot_cap(host_inv) if not live_snapshot: vm1.destroy() test_obj_dict.rm_vm(vm1) test_util.test_skip( "Skip test, since [host:] %s doesn't support live snapshot " % host_inv.uuid) vm = test_stub.create_vlan_vm() test_obj_dict.add_vm(vm) test_util.test_dsc('Create volume for snapshot testing') disk_offering = test_lib.lib_get_disk_offering_by_name( os.environ.get('smallDiskOfferingName')) volume_creation_option = test_util.VolumeOption() volume_creation_option.set_name('volume for snapshot testing') volume_creation_option.set_disk_offering_uuid(disk_offering.uuid) volume = test_stub.create_volume(volume_creation_option) test_obj_dict.add_volume(volume) #make sure utility vm is starting and running vm.check() volume.attach(vm1) test_util.test_dsc('create snapshot and check') #snapshots = zstack_sp_header.ZstackVolumeSnapshot() #snapshots.set_target_volume(volume) #test_obj_dict.add_volume_snapshot(snapshots) snapshots = test_obj_dict.get_volume_snapshot(volume.get_volume().uuid) snapshots.set_utility_vm(vm) snapshots.create_snapshot('create_snapshot1') snapshots.check() snapshot1 = snapshots.get_current_snapshot() snapshots.create_snapshot('create_snapshot2') snapshots.check() snapshots.create_snapshot('create_snapshot3') snapshots.check() snapshot3 = snapshots.get_current_snapshot() #even with live snapshot function, the revert need stop vm. vm1.stop() snapshots.use_snapshot(snapshot1) vm1.start() snapshots.create_snapshot('create_snapshot1.1.1') snapshots.check() snapshots.create_snapshot('create_snapshot1.1.2') snapshots.check() vm1.stop() snapshots.use_snapshot(snapshot1) vm1.start() snapshots.create_snapshot('create_snapshot1.2.1') snapshots.check() snapshot1_2_1 = snapshots.get_current_snapshot() snapshots.create_snapshot('create_snapshot1.2.2') snapshots.check() vm1.stop() snapshots.use_snapshot(snapshot3) snapshots.check() snapshots.create_snapshot('create_snapshot4') snapshots.check() #delay start vm vm1.start() test_util.test_dsc('Delete snapshot, volume and check') snapshots.delete_snapshot(snapshot3) snapshots.check() snapshots.delete_snapshot(snapshot1_2_1) snapshots.check() snapshots.delete() test_obj_dict.rm_volume_snapshot(snapshots) volume.check() test_lib.lib_robot_cleanup(test_obj_dict) test_util.test_pass('Create Snapshot test Success')
def test(): test_util.test_dsc('Create test vm as utility vm') vm = test_stub.create_vlan_vm() test_obj_dict.add_vm(vm) #this test will rely on live snapshot capability supporting host_inv = test_lib.lib_find_host_by_vm(vm.get_vm()) if not test_lib.lib_check_live_snapshot_cap(host_inv): vm.destroy() test_obj_dict.rm_vm(vm) test_util.test_skip( 'Skip test, since [host:] %s does not support live snapshot.') vm1 = test_stub.create_vlan_vm() test_obj_dict.add_vm(vm1) test_util.test_dsc('Create volume for snapshot testing') disk_offering = test_lib.lib_get_disk_offering_by_name( os.environ.get('smallDiskOfferingName')) volume_creation_option = test_util.VolumeOption() volume_creation_option.set_name('volume for snapshot testing') volume_creation_option.set_disk_offering_uuid(disk_offering.uuid) volume = test_stub.create_volume(volume_creation_option) test_obj_dict.add_volume(volume) #make sure utility vm is starting and running vm.check() volume.attach(vm1) vm1.stop() test_util.test_dsc('create snapshot and check') #snapshots = zstack_sp_header.ZstackVolumeSnapshot() #snapshots.set_target_volume(volume) #test_obj_dict.add_volume_snapshot(snapshots) snapshots = test_obj_dict.get_volume_snapshot(volume.get_volume().uuid) snapshots.set_utility_vm(vm) snapshots.create_snapshot('create_snapshot1') vm1.start() snapshots.check() vm1.stop() snapshot1 = snapshots.get_current_snapshot() snapshots.create_snapshot('create_snapshot2') snapshots.create_snapshot('create_snapshot3') vm1.start() snapshots.check() snapshot3 = snapshots.get_current_snapshot() vm1.stop() snapshots.use_snapshot(snapshot1) snapshots.create_snapshot('create_snapshot1.1.1') snapshot1 = snapshots.get_current_snapshot() snapshots.create_snapshot('create_snapshot1.1.2') snapshot2 = snapshots.get_current_snapshot() snapshots.check() snapshots.use_snapshot(snapshot1) vm1.start() #If delete snapshot who is in anther tree, that will be fine. snapshots.delete_snapshot(snapshot2) #test_util.test_dsc('Delete snapshot when vm is alive. This should only supported when libvirt > 1.2.7. Otherwise we need following line') vm1.stop() snapshots.delete() test_obj_dict.rm_volume_snapshot(snapshots) volume.check() vm.destroy() test_obj_dict.rm_vm(vm) test_lib.lib_robot_cleanup(test_obj_dict) test_util.test_pass('Create Snapshot test Success')
def test(): global default_snapshot_depth vm1 = test_stub.create_vlan_vm() test_obj_dict.add_vm(vm1) #this test will rely on live snapshot capability supporting host_inv = test_lib.lib_find_host_by_vm(vm1.get_vm()) if not test_lib.lib_check_live_snapshot_cap(host_inv): vm1.destroy() test_obj_dict.rm_vm(vm1) test_util.test_skip('Skip test, since [host:] %s does not support live snapshot.') test_util.test_dsc('Create test vm as utility vm') default_snapshot_depth = conf_ops.change_global_config('volumeSnapshot', \ 'incrementalSnapshot.maxNum', test_depth) vm = test_stub.create_vlan_vm() test_obj_dict.add_vm(vm) test_util.test_dsc('Create volume for snapshot testing') disk_offering = test_lib.lib_get_disk_offering_by_name(os.environ.get('smallDiskOfferingName')) volume_creation_option = test_util.VolumeOption() volume_creation_option.set_name('volume for snapshot testing') volume_creation_option.set_disk_offering_uuid(disk_offering.uuid) volume = test_stub.create_volume(volume_creation_option) test_obj_dict.add_volume(volume) vm.check() #volume doesn't need to be attached. It is because when create snapshot, # the volume will be attached to utiltiy vm, who will add the volume. #snapshots = zstack_sp_header.ZstackVolumeSnapshot() #snapshots.set_target_volume(volume) #test_obj_dict.add_volume_snapshot(snapshots) snapshots = test_obj_dict.get_volume_snapshot(volume.get_volume().uuid) snapshots.set_utility_vm(vm) test_util.test_dsc('1. create 5 snapshots and check') num = 1 while num < 6: snapshots.create_snapshot('sp %s' % str(num)) num += 1 snapshots.check() snapshot1 = snapshots.get_snapshot_head() snapshots.use_snapshot(snapshot1) test_util.test_dsc('1. create 5 new snapshots and check') num = 1 while num < 6: snapshots.create_snapshot('sp 1.%s' % str(num)) num += 1 snapshots.check() snapshot1_3 = snapshots.get_current_snapshot().get_parent().get_parent() snapshot1_1 = snapshot1_3.get_parent().get_parent() snapshots.use_snapshot(snapshot1_3) test_util.test_dsc('1. create 5 new snapshots and check') num = 1 while num < 6: snapshots.create_snapshot('sp 1.3.%s' % str(num)) num += 1 snapshots.check() snapshot1_3_2 = snapshots.get_current_snapshot().get_parent().get_parent().get_parent() snapshots.use_snapshot(snapshot1_3_2) test_util.test_dsc('1. create 5 new snapshots and check') num = 1 while num < 6: snapshots.create_snapshot('sp 1.3.2.%s' % str(num)) num += 1 snapshots.check() snapshot1_3_2_1 = snapshots.get_current_snapshot().get_parent().get_parent().get_parent().get_parent() snapshots.use_snapshot(snapshot1_3_2_1) test_util.test_dsc('1. create 5 new snapshots and check') num = 1 while num < 6: snapshots.create_snapshot('sp 1.3.2.1.%s' % str(num)) num += 1 snapshots.check() snapshots.use_snapshot(snapshot1_1) snapshots.create_snapshot('sp 1.1.1') snapshot1_1_1 = snapshots.get_current_snapshot() num = 2 while num < 6: snapshots.create_snapshot('sp 1.1.%s' % str(num)) num += 1 snapshots.check() snapshots.use_snapshot(snapshot1_1_1) snapshots.create_snapshot('sp 1.1.1.1') snapshot1_1_1_1 = snapshots.get_current_snapshot() num = 2 while num < 6: snapshots.create_snapshot('sp 1.1.1.%s' % str(num)) num += 1 snapshots.check() snapshots.use_snapshot(snapshot1_1_1_1) snapshots.create_snapshot('sp 1.1.1.1.1') snapshot1_1_1_1_1 = snapshots.get_current_snapshot() num = 2 while num < 6: snapshots.create_snapshot('sp 1.1.1.1.%s' % str(num)) num += 1 snapshots.check() snapshots.delete() test_obj_dict.rm_volume_snapshot(snapshots) volume.check() volume.delete() test_obj_dict.rm_volume(volume) vm.destroy() conf_ops.change_global_config('volumeSnapshot', \ 'incrementalSnapshot.maxNum', default_snapshot_depth) test_util.test_pass('Create Snapshots with change max sp depth test Success')
def test(): test_util.test_dsc('Create test vm as utility vm') vm = test_stub.create_vlan_vm() test_obj_dict.add_vm(vm) #this test will rely on live snapshot capability supporting host_inv = test_lib.lib_find_host_by_vm(vm.get_vm()) if not test_lib.lib_check_live_snapshot_cap(host_inv): vm.destroy() test_obj_dict.rm_vm(vm) test_util.test_skip('Skip test, since [host:] %s does not support live snapshot.') vm1 = test_stub.create_vlan_vm() test_obj_dict.add_vm(vm1) test_util.test_dsc('Create volume for snapshot testing') disk_offering = test_lib.lib_get_disk_offering_by_name(os.environ.get('smallDiskOfferingName')) volume_creation_option = test_util.VolumeOption() volume_creation_option.set_name('volume for snapshot testing') volume_creation_option.set_disk_offering_uuid(disk_offering.uuid) volume = test_stub.create_volume(volume_creation_option) test_obj_dict.add_volume(volume) #make sure utility vm is starting and running vm.check() volume.attach(vm1) vm1.stop() test_util.test_dsc('create snapshot and check') #snapshots = zstack_sp_header.ZstackVolumeSnapshot() #snapshots.set_target_volume(volume) #test_obj_dict.add_volume_snapshot(snapshots) snapshots = test_obj_dict.get_volume_snapshot(volume.get_volume().uuid) snapshots.set_utility_vm(vm) snapshots.create_snapshot('create_snapshot1') vm1.start() snapshots.check() vm1.stop() snapshot1 = snapshots.get_current_snapshot() snapshots.create_snapshot('create_snapshot2') snapshots.create_snapshot('create_snapshot3') vm1.start() snapshots.check() snapshot3 = snapshots.get_current_snapshot() vm1.stop() snapshots.use_snapshot(snapshot1) snapshots.create_snapshot('create_snapshot1.1.1') snapshot1 = snapshots.get_current_snapshot() snapshots.create_snapshot('create_snapshot1.1.2') snapshot2 = snapshots.get_current_snapshot() snapshots.check() snapshots.use_snapshot(snapshot1) vm1.start() #If delete snapshot who is in anther tree, that will be fine. snapshots.delete_snapshot(snapshot2) #test_util.test_dsc('Delete snapshot when vm is alive. This should only supported when libvirt > 1.2.7. Otherwise we need following line') vm1.stop() snapshots.delete() test_obj_dict.rm_volume_snapshot(snapshots) volume.check() vm.destroy() test_obj_dict.rm_vm(vm) test_lib.lib_robot_cleanup(test_obj_dict) test_util.test_pass('Create Snapshot test Success')