def cleanup_lvm_volumes(step, vg_name): step_assert(step).assert_true(world.lvm_volumes) table = utils.ascii_table(utils.bash("sudo lvs|sed 's/Origin .* Convert//'| sed 's/ */\|/g'").output_text()) all_volumes = table.select_values('LV', 'VG', vg_name) volumes_to_clean = set(all_volumes) - set(world.lvm_volumes) for volume in volumes_to_clean: step_assert(step).assert_true(utils.bash('sudo lvremove -f %s/%s' % (vg_name, volume)))
def instance_is_terminated(step, vm_name, timeout): start_time = datetime.now() while(datetime.now() - start_time).seconds < int(timeout): instances = utils.ascii_table(utils.nova_cli.get_novaclient_command_out('list')) if not instances.select_values('ID', 'Name', vm_name): return True raise RuntimeError("%s:\nVM is not terminated" % step.sentence)
def record_lvm_volumes(step, vg_name): table = utils.ascii_table(utils.bash("sudo lvs|sed 's/Origin .* Convert//'| sed 's/ */\|/g'").output_text()) world.lvm_volumes = table.select_values('LV', 'VG', vg_name)