diff options
author | Nathan Cutler <ncutler@suse.com> | 2017-01-08 16:17:08 +0100 |
---|---|---|
committer | Nathan Cutler <ncutler@suse.com> | 2017-01-08 16:17:08 +0100 |
commit | 4f4f35e37cd3ce55733a7c66394b44eafd691b0c (patch) | |
tree | 551df785d37f3efb9799130a33590cc4ec469cbf /qa | |
parent | Merge pull request #12816 from SUSE/wip-18440 (diff) | |
download | ceph-4f4f35e37cd3ce55733a7c66394b44eafd691b0c.tar.xz ceph-4f4f35e37cd3ce55733a7c66394b44eafd691b0c.zip |
tests: drop rbd_cli_tests.pl and RbdLib.pm
The rbd_cli_tests Perl script is not maintained and currently serves no
purpose. The RbdLib.pm module was only used by rbd_functional_tests.pl (which
was dropped by 276ffb46319a78a047f3c1f401d8125ac9e17c1e) and rbd_cli_tests.pl
so drop it as well.
Fixes: http://tracker.ceph.com/issues/14825
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Diffstat (limited to 'qa')
-rwxr-xr-x | qa/qa_scripts/RbdLib.pm | 530 | ||||
-rwxr-xr-x | qa/qa_scripts/rbd_cli_tests.pl | 386 | ||||
-rw-r--r-- | qa/suites/ceph-ansible/smoke/basic/3-tasks/rbd_cli_tests.yaml | 8 | ||||
-rw-r--r-- | qa/suites/rbd/basic/tasks/rbd_cli_tests.yaml | 6 | ||||
-rwxr-xr-x | qa/workunits/rbd/run_cli_tests.sh | 5 |
5 files changed, 0 insertions, 935 deletions
diff --git a/qa/qa_scripts/RbdLib.pm b/qa/qa_scripts/RbdLib.pm deleted file mode 100755 index 83a506e96c3..00000000000 --- a/qa/qa_scripts/RbdLib.pm +++ /dev/null @@ -1,530 +0,0 @@ -#! /usr/bin/perl -=head1 NAME - -RbdLib.pm - Perl Module that contains the functions used by CLI script for testing RBD. - -=cut - -package RbdLib; -use Cwd; -use Exporter; -@ISA = 'Exporter'; -@EXPORT_OK = qw(perform_action create_image resize_image rename_image copy_image list_image info_image export_image import_image remove_image create_snapshots protect_snapshot clone_image unprotect_snapshot rollback_snapshots purge_snapshots list_snapshots remove_snapshot rbd_map rbd_unmap rbd_showmapped display_result _pre_clean_up _post_clean_up _create_rados_pool display_ceph_os_info $RADOS_LS $RADOS_MKPOOL $RADOS_RMPOOL $RBD_CREATE $RBD_RESIZE $RBD_INFO $RBD_REMOVE $RBD_RENAME $RBD_MV $RBD_LS $RBD_LIST $RBD_CLONE $RBD_EXPORT $RBD_IMPORT $RBD_CP $RBD_COPY $SNAP_CREATE $SNAP_LS $SNAP_LIST $SNAP_ROLLBACK $SNAP_PURGE $SNAP_REMOVE $RBD_CHILDREN $RBD_FLATTEN $POOL_RM_SUCCESS $POOL_MK_SUCCESS $RBD_EXISTS_ERR $RBD_WATCH $RBD_MAP $RBD_UNMAP $RBD_SHOWMAPPED $RBD_FLATTEN $SNAP_PROTECT $SNAP_UNPROTECT get_command_output verify_action debug_msg tpass tfail log_results display_func_result $CLI_FLAG ); -use Pod::Usage(); -use Getopt::Long(); - -use strict; -use warnings; - -$|=1; - -# variables -our $TC_CNT = " "; -our $PASS_CNT = 0; -our $TPASS_CNT = 0; -our $FAIL_CNT = 0; -our $TFAIL_CNT = 0; -our $RADOS_MKPOOL = "rados mkpool"; -our $RADOS_RMPOOL = "rados rmpool"; -our $RBD_CREATE = "rbd create"; -our $RBD_RESIZE = "rbd resize"; -our $RBD_INFO = "rbd info"; -our $RBD_REMOVE = "rbd rm"; -our $RBD_RENAME = "rbd rename"; -our $RBD_MV = "rbd mv"; -our $RBD_LS = "rbd ls"; -our $RBD_LIST = "rbd list"; -our $RBD_CLONE = "rbd clone"; -our $RBD_EXPORT = "rbd export"; -our $RBD_IMPORT = "rbd import"; -our $RBD_COPY = "rbd copy"; -our $RBD_CP = "rbd cp"; -our $SNAP_CREATE = "rbd snap create"; -our $SNAP_LIST = "rbd snap list"; -our $SNAP_LS = "rbd snap ls"; -our $SNAP_ROLLBACK = "rbd snap rollback"; -our $SNAP_REMOVE = "rbd snap rm"; -our $SNAP_PURGE = "rbd snap purge"; -our $RBD_WATCH = "rbd watch"; -our $RBD_MAP = "sudo rbd map"; -our $RBD_UNMAP = "sudo rbd unmap"; -our $RBD_SHOWMAPPED = "rbd showmapped"; -our $RADOS_LS = "rados ls"; -our $SNAP_PROTECT = "rbd snap protect"; -our $SNAP_UNPROTECT = "rbd snap unprotect"; -our $RBD_CHILDREN = "rbd children"; -our $RBD_FLATTEN = "rbd flatten"; - -#====Error messages======================== - -our $RBD_CREATE_ERR = "size must be >= 0"; -our $RBD_EXTRA_ERR = "extraneous parameter"; -our $RBD_REQ_ERR = "expected integer"; -our $RBD_RM_ERROR = "image name was not specified"; -our $SNAP_LS_ERROR = "snap name was not specified"; -our $SNAP_RM_ERROR = "remove failed"; -our $SNAP_ROLLBACK_ERR = "rollback failed"; -our $RBD_CP_ERROR = "error: destination image name"; -our $RBD_EXISTS_ERR = "exists"; -our $RBD_RENAME_ERROR = "rename error"; -our $RBD_DELETE_ERROR = "delete error"; -our $RBD_NO_IMAGE = "error opening image"; -our $RBD_POOL_ERROR = "error opening pool"; -our $RBD_INT_ERR = "expected integer"; -our $RBD_ARG_ERR = "requires an argument"; -our $RBD_EXP_ERR = "export error"; -our $RBD_IMP_ERR = "import failed"; -our $RBD_MAP_ERR = "add failed"; -our $RBD_UNMAP_ERR = "remove failed"; -our $RBD_INFO_SNAP_ERR = "error setting snapshot context"; -our $SNAP_PROTECT_ERR = "Device or resource busy"; -our $SNAP_PROTECT_RM_ERR = "protected from removal"; -our $SNAP_PROTECT_ERR1 = "No such file or directory"; -our $SNAP_UNPROT_ERR = "snap_unprotect: image must support layering"; -our $SNAP_UNPROT_ERR1 = "snap_unprotect: snapshot is already unprotected"; -our $SNAP_PROT_ERR = "snap_protect: image must support layering"; -our $CLONE_UNPROTECT_ERR = "parent snapshot must be protected"; -our $CLONE_ARG_ERR = "destination image name was not specified"; -our $CLONE_PARENT_ERR = "error opening parent image"; -our $CLONE_PF_ERR = "parent image must be in new format"; -our $FLATTEN_ERR = "librbd: parent snapshot must be protected"; -our $FLATTEN_IMG_ERR = "librbd: image has no parent"; - -#=======Success messages======================= - -our $POOL_MK_SUCCESS = "successfully created pool"; -our $POOL_RM_SUCCESS = "successfully deleted pool"; -our $RBD_RM_SUCCESS = "Removing image: 100%"; -our $RBD_CP_SUCCESS = "Image copy: 100%"; -our $RBD_RESIZE_SUCCESS = "Resizing image: 100%"; -our $RBD_EXP_SUCCESS = "Exporting image: 100%"; -our $RBD_IMP_SUCCESS = "Importing image: 100%"; -our $SNAP_ROLLBACK_SUCCESS = "Rolling back to snapshot: 100%"; -our $SNAP_PURGE_SUCCESS = "Removing all snapshots: 100%"; -our $RBD_FLATTEN_SUCCESS = "Image flatten: 100% complete"; - -#===========Variables used in the script======== - -our $test_log = "logfile.txt"; -our $success_file = "test_completed.txt"; -our $log_file = "log.txt"; -our $exec_cmd; -our $PASS_FLAG = "FALSE"; -our $TPASS_FLAG = "FALSE"; -our $MSG; -our $rbd_imp_file = "test_file"; -our $exp_file = "rbd_test_file1"; -our $exp_file1 = "rbd_test_file2"; -our $rbd_imp_test = "new_test_file"; -our $img_name = "test_img"; -our $pool_name; -our $rc = " "; -our $CLI_FLAG; - -sub _post_clean_up { - my $exec_cmd = get_command_output( -"rm -rf $img_name $rbd_imp_file $rbd_imp_test $exp_file $exp_file1" - ); -} - -sub _pre_clean_up { - my $exec_cmd = get_command_output( -"rm -rf logfile.txt log.txt test_completed.txt" - ); -} - -sub perform_action { - my ( $action, $cmd_args, $option ) = @_; - my $command = frame_command( $action, $cmd_args, $option ); - my $cmd_op = get_command_output($command); - my $rc = validate_cmd_output( $cmd_op, $action, $cmd_args, $option ); - return $rc; -} - -sub verify_action { - my ( $action, $cmd_args, $option ) = @_; - my $command = frame_command( $action, $cmd_args, $option ); - my $cmd_op = get_command_output($command); - return $cmd_op; -} - -sub pass { - my ($comment) = @_; - print "Comment required." unless length $comment; - chomp $comment; - print_border2(); - print "Test case: $TC_CNT PASSED - $comment \n"; - print_border2(); - $PASS_CNT++; - $PASS_FLAG = "TRUE"; - $MSG = "$comment"; - log_cli_results(); -} - -sub tpass { - my ($comment) = @_; - print "Comment required." unless length $comment; - chomp $comment; - print_border4(); - print "PASS: $comment \n"; - print_border4(); - $TPASS_CNT++; - $TPASS_FLAG = "TRUE"; - $MSG = "$comment"; - log_results(); -} - -sub fail { - my ($comment) = @_; - print "Comment required." unless length $comment; - chomp $comment; - print_border2(); - print "Test case: $TC_CNT FAILED - $comment \n"; - print_border2(); - $FAIL_CNT++; - $PASS_FLAG = "FALSE"; - $MSG = "$comment"; - log_cli_results(); -} - -sub tfail { - my ($comment) = @_; - print "Comment required." unless length $comment; - chomp $comment; - print_border4(); - print "FAIL: $comment \n"; - print_border4(); - $TFAIL_CNT++; - $TPASS_FLAG = "FALSE"; - $MSG = "$comment"; - log_results(); -} - -sub debug_msg { - my ($comment,$is_debug) = @_; - print "Comment required." unless length $comment; - chomp $comment; - print_border3(); - if (!$is_debug){ - print "DEBUG: $comment \n"; - } else { - print "$comment \n"; - } - print_border3(); -} - -sub print_border { - print "=" x 90 . "\n"; -} - -sub print_border2 { - print "~" x 90 . "\n"; -} - -sub print_border3 { - print "+" x 90 . "\n"; -} - -sub print_border4 { - print "*" x 90 . "\n"; -} - -sub banner { - my ($string) = @_; - chomp $string; - print_border(); - print $string, "\n"; - print_border(); -} - -sub display_result { - banner("TEST RESULTS"); - banner( -"No. of test cases passed:$PASS_CNT\nNo. of test cases failed:$FAIL_CNT\n" - ); -} - -sub display_func_result { - banner("TEST RESULTS"); - banner( -"No. of test cases passed:$TPASS_CNT\nNo. of test cases failed:$TFAIL_CNT\n" - ); -} - -sub get_command_output { - my $cmd_output = shift; - open( FH, ">>$test_log" ); - print FH "*" x 90 . "\n"; - print FH "\"$cmd_output\"\n"; - my $exec_cmd = `$cmd_output 2>&1`; - print FH "$exec_cmd\n"; - print FH "*" x 90 . "\n"; - close(FH); - return $exec_cmd; -} - -sub frame_command { - my ( $action, $cmd_args, $option ) = @_; - my @command_set = split( /,/, $cmd_args ); - my $command = join( ' --', @command_set ); - $command = "$action $command"; - return $command; -} - -sub check_if_listed { - my ( $chk_cmd, $check_arg, $cmd, $args ) = @_; - my $check_op = get_command_output($chk_cmd); - if ( $check_op =~ /$check_arg/ ) { - pass("$cmd $args passed"); - return 0; - } - else { - fail("$cmd $args failed"); - return 1; - } -} - -sub check_if_not_listed { - my ( $chk_cmd, $check_arg, $cmd, $args ) = @_; - my $check_op = get_command_output($chk_cmd); - if ( $check_op =~ /$check_arg/ ) { - fail("$cmd $args failed"); - return 1; - } else { - pass("$cmd $args passed"); - return 0; - } -} - -sub validate_cmd_output { - $TC_CNT++ if ( $CLI_FLAG eq "TRUE" ) ; - $PASS_FLAG = "FALSE"; - $MSG = " "; - my ( $arg, $snap, $arg1, $parg ); - my $snaps; - my ( $cmd_op, $act, $args, $test_flag ) = @_; - if ( !$test_flag ) { - if ( ( $act =~ /$RBD_CREATE/ ) && ( !$cmd_op ) ) { - $arg = ( split /,/, $args )[0]; - $parg = ( split /,/, $args )[1]; - $pool_name = ( split / /, $parg )[1]; - $rc = check_if_listed( "$RBD_LS $pool_name", $arg, $act , $args); - return $rc; - } - elsif (( ( $act =~ /$RBD_RENAME/ ) || ( $act =~ /$RBD_MV/ ) ) - && ( !$cmd_op ) ) - { - $arg = ( split /\//, $args )[-1]; - $pool_name = ( split /\//, $args )[0]; - $rc = check_if_listed( "$RBD_LS $pool_name", $arg, $act, $args ); - return $rc; - } - elsif ( ( $act =~ /$SNAP_CREATE/ ) && ( !$cmd_op ) ) { - $snaps = ( split / /, $args )[1]; - $arg = ( split / /, $args )[2]; - $rc = check_if_listed( "$SNAP_LS $arg", $snaps, $act, $args ); - return $rc; - } - elsif ( ( $act =~ /$SNAP_REMOVE/ ) && ( !$cmd_op ) ) { - $snaps = ( split /\@/, $args )[-1]; - $arg1 = ( split /\@/, $args )[-2]; - $arg = ( split /\//, $arg1 )[-1]; - $pool_name = ( split /\@/,$args )[0]; - $rc = check_if_not_listed( "$SNAP_LS $pool_name", $snaps , $act, $args); - return $rc; - } - elsif (( $act =~ /$SNAP_PURGE/ ) - && ( $cmd_op =~ /$SNAP_PURGE_SUCCESS/ ) ) - { - pass("$act $args passed"); - } - elsif ( $act =~ /$RBD_INFO/ ) { - $arg = ( split /\//, $args )[-1]; - my $rbd_img_quoted = "\'$arg\'"; - pass("$act $args passed") - if ( $cmd_op =~ /rbd image $rbd_img_quoted/ ); - } - elsif ( ( $act =~ /$RBD_REMOVE/ ) && ( $cmd_op =~ /$RBD_RM_SUCCESS/ ) ) - { - $pool_name = ( split /\//, $args )[0]; - my $img_name = ( split /\//, $args )[1]; - $rc = check_if_not_listed( "$RBD_LS $pool_name",$img_name , $act, $args ); - return $rc; - } - elsif (( $act =~ /$RBD_RESIZE/ ) - && ( $cmd_op =~ /$RBD_RESIZE_SUCCESS/ ) ) - { - pass("$act $args passed"); - } - elsif (( ( $act =~ /$RBD_COPY/ ) || ( $act =~ /$RBD_CP/ ) ) - && ( $cmd_op =~ /$RBD_CP_SUCCESS/ ) ) - { - pass("$act $args passed"); - } - elsif ( - ( $act =~ /$RBD_EXPORT/ ) - && ( ( $cmd_op =~ /$RBD_EXP_SUCCESS/ ) - || ( $cmd_op =~ /$RBD_EXISTS_ERR/ ) ) - ) - { - pass("$act $args passed"); - } - elsif ( - ( $act =~ /$RBD_IMPORT/ ) - && ( ( $cmd_op =~ /$RBD_IMP_SUCCESS/ ) - || ( $cmd_op =~ /$RBD_EXISTS_ERR/ ) ) - ) - { - pass("$act $args passed"); - } - elsif (( $act =~ /$SNAP_ROLLBACK/ ) - && ( $cmd_op =~ /$SNAP_ROLLBACK_SUCCESS/ ) ) - { - pass("$act $args passed"); - } - elsif ( ( $act =~ /$RBD_SHOWMAPPED/ ) && ( $cmd_op =~ /$img_name/ ) ) { - pass("$act $args passed"); - } - elsif ( ( $act =~ /$RBD_MAP/ ) && ( $cmd_op !~ /./ ) ) { - pass("$act $args passed"); - } - elsif ( ( $act =~ /$SNAP_PROTECT/ ) && ( $cmd_op !~ /./ ) ) { - pass("$act $args passed"); - } - elsif ( ( $act =~ /$SNAP_UNPROTECT/ ) && ( $cmd_op !~ /./ ) ) { - pass("$act $args passed"); - } - elsif ( ( $act =~ /$RBD_CLONE/ ) && ( $cmd_op !~ /./ ) ) { - pass("$act $args passed"); - } - elsif ( ( $act =~ /$RBD_FLATTEN/ ) && ( $cmd_op =~ /$RBD_FLATTEN_SUCCESS/ ) ) { - pass("$act $args passed"); - } - elsif ( ( $act =~ /$RBD_UNMAP/ ) && ( $cmd_op !~ /$RBD_UNMAP_ERR/ ) ) { - pass("$act $args passed"); - } - else { - if ( $cmd_op =~ /$RBD_EXISTS_ERR/ ) { - pass("$act $args $RBD_EXISTS_ERR"); - } - else { - fail("$act $args failed"); - return 1; - } - } - return 0; - } - elsif ( ( $test_flag == 1 ) && ( $cmd_op =~ /$RBD_EXISTS_ERR/ ) ) { - pass("Already exists: $act $args passed"); - return 0; - } - elsif ( - ( $test_flag == 2 ) - && ( ( $cmd_op =~ /$RBD_RENAME_ERROR/ ) - || ( $cmd_op =~ /$RBD_DELETE_ERROR/ ) - || ( $cmd_op =~ /$RBD_NO_IMAGE/ ) - || ( $cmd_op =~ /$RBD_POOL_ERROR/ ) - || ( $cmd_op =~ /$RBD_INT_ERR/ ) - || ( $cmd_op =~ /$RBD_ARG_ERR/ ) - || ( $cmd_op =~ /$RBD_RM_ERROR/ ) - || ( $cmd_op =~ /$SNAP_LS_ERROR/ ) - || ( $cmd_op =~ /$SNAP_RM_ERROR/ ) - || ( $cmd_op =~ /$RBD_CP_ERROR/ ) - || ( $cmd_op =~ /$RBD_EXP_ERR/ ) - || ( $cmd_op =~ /$RBD_IMP_ERR/ ) - || ( $cmd_op =~ /$SNAP_ROLLBACK_ERR/ ) - || ( $cmd_op =~ /$RBD_MAP_ERR/ ) - || ( $cmd_op =~ /$RBD_UNMAP_ERR/ ) - || ( $cmd_op =~ /$RBD_CREATE_ERR/ ) - || ( $cmd_op =~ /$RBD_EXTRA_ERR/ ) - || ( $cmd_op =~ /$RBD_REQ_ERR/ ) - || ( $cmd_op =~ /$SNAP_PROTECT_ERR/ ) - || ( $cmd_op =~ /$SNAP_PROTECT_ERR1/ ) - || ( $cmd_op =~ /$SNAP_PROTECT_RM_ERR/ ) - || ( $cmd_op =~ /$SNAP_PROT_ERR/ ) - || ( $cmd_op =~ /$SNAP_UNPROT_ERR/ ) - || ( $cmd_op =~ /$SNAP_UNPROT_ERR1/ ) - || ( $cmd_op =~ /$CLONE_UNPROTECT_ERR/ ) - || ( $cmd_op =~ /$CLONE_ARG_ERR/ ) - || ( $cmd_op =~ /$CLONE_PARENT_ERR/ ) - || ( $cmd_op =~ /$CLONE_PF_ERR/ ) - || ( $cmd_op =~ /$FLATTEN_ERR/ ) - || ( $cmd_op =~ /$FLATTEN_IMG_ERR/ ) - || ( $cmd_op =~ /$RBD_INFO_SNAP_ERR/ ) ) - ) - { - pass("negative case: $act $args passed"); - return 0; - } - elsif ( ( $test_flag == 3 ) && ( $cmd_op =~ /usage/ ) ) { - pass("negative case: $act $args passed"); - return 0; - } - else { - fail("negative case:$act $args failed"); - return 1; - } -} - -# Test Script execution results for Functional tests -sub log_results -{ - if ( $TPASS_FLAG eq "TRUE" ) { - open( TC, '>>test_completed.txt' ); - close(TC); - open( TC, '>>log.txt' ); - print TC "[Success] $MSG\n"; - close(TC); - } - else { - open( TC, '>>test_completed.txt' ); - close(TC); - open( TC, '>>log.txt' ); - print TC "[Failure] $MSG\n"; - close(TC); - } -} - -# Test Script execution results for CLI tests -sub log_cli_results -{ - if ($CLI_FLAG eq "TRUE") { - if ( $PASS_FLAG eq "TRUE" ) { - open( TC, '>>test_completed.txt' ); - close(TC); - open( TC, '>>log.txt' ); - print TC "[Success] TestCase $TC_CNT $MSG\n"; - close(TC); - } - else { - open( TC, '>>test_completed.txt' ); - close(TC); - open( TC, '>>log.txt' ); - print TC "[Failure] TestCase $TC_CNT $MSG\n"; - close(TC); - } - } -} - -sub ceph_os_info -{ - my $ceph_v = get_command_output ( "ceph -v" ); - my @ceph_arr = split(" ",$ceph_v); - $ceph_v = "Ceph Version: $ceph_arr[2]"; - my $os_distro = get_command_output ( "lsb_release -d" ); - my @os_arr = split(":",$os_distro); - $os_distro = "Linux Flavor:$os_arr[1]"; - return ($ceph_v, $os_distro); -} - -sub display_ceph_os_info -{ - my ($vceph, $vos) = ceph_os_info(); - my $dat = get_command_output ( "date" ); - my $msg = "The Tests were executed on $dat"; - debug_msg ( "$msg\n$vos$vceph\n",1 ); - open( TC, '>>log.txt' ); - print TC "[Log] $vceph\n"; - close (TC); -} -1; diff --git a/qa/qa_scripts/rbd_cli_tests.pl b/qa/qa_scripts/rbd_cli_tests.pl deleted file mode 100755 index 4c8b5a9afa5..00000000000 --- a/qa/qa_scripts/rbd_cli_tests.pl +++ /dev/null @@ -1,386 +0,0 @@ -#! /usr/bin/perl - -=head1 NAME - -rbd_cli_tests.pl - Script to test the RBD CLI commands and report the -test results - -=head1 SYNOPSIS - -Use: - perl rbd_cli_tests.pl [--pool pool_name][--help] - -Examples: - perl rbd_cli_tests.pl --pool test_pool - or - perl rbd_cli_tests.pl --help - -=head1 DESCRIPTION - -This script intends to test the RBD CLI commands for the scenarios mentioned below -and reports the test results - -Positive cases -Negative cases --- Boundary value testing --- Incorrect Parameter values/ Incorrect field values --- Insufficient parameters / Extra parameters - -=head1 ARGUMENTS - -rbd_cli_tests.pl takes the following arguments: - --pool - (optional) If not specified, rbd pool is used. - --help - (optional) Displays the usage message. - -If cephx is enabled, set 'export CEPH_ARGS="--keyring /etc/ceph/ceph.keyring --id <user>"' -and execute the script as root. - -For Example,for "nova" user, 'export CEPH_ARGS="--keyring /etc/ceph/ceph.keyring --id nova"' - -=cut - -use Cwd; -use RbdLib qw(perform_action create_image resize_image rename_image copy_image list_image info_image export_image import_image remove_image create_snapshots protect_snapshot unprotect_snapshot clone_image rollback_snapshots purge_snapshots list_snapshots remove_snapshot rbd_map rbd_unmap rbd_showmapped display_result _pre_clean_up _post_clean_up _create_rados_pool display_ceph_os_info $RADOS_MKPOOL $RADOS_RMPOOL $RBD_CREATE $RBD_RESIZE $RBD_INFO $RBD_REMOVE $RBD_RENAME $RBD_MV $RBD_LS $RBD_LIST $RBD_CLONE $RBD_EXPORT $RBD_IMPORT $RBD_CP $RBD_COPY $SNAP_CREATE $SNAP_PROTECT $SNAP_UNPROTECT $SNAP_LS $SNAP_LIST $SNAP_ROLLBACK $SNAP_PURGE $SNAP_REMOVE $POOL_RM_SUCCESS $POOL_MK_SUCCESS $RBD_EXISTS_ERR $RBD_WATCH $RBD_MAP $RBD_UNMAP $RBD_SHOWMAPPED $RBD_CHILDREN $RBD_FLATTEN get_command_output debug_msg $CLI_FLAG); - -use Pod::Usage(); -use Getopt::Long(); - -use strict; -my ( $help, $pool ); - -Getopt::Long::GetOptions( - 'pool=s' => \$pool, - 'help' => \$help -); - -Pod::Usage::pod2usage( -verbose => 1 ) if ($help); - -our $pool_name = "rbd"; -$pool_name = $pool if ($pool); - -#===========Variables used in the script======== - -our $img_name = "test_img"; -our $snap_name = "snap1"; -our $snap_name2 = "snap2"; -our $snap_name3 = "snap3"; -our $snap_name4 = "snap4"; -our $snap_name5 = "snap5"; -our $snap_new = "snap_new"; -our $clone_new = "clone_new"; -our $clone_new1 = "clone_new1"; -our $clone_new2 = "clone_new2"; -our $snap_test = "snap_test"; -our $new_rbd_img = "new_rbd_img"; -our $non_existing_img = "rbdimage"; -our $cp_new = "newest"; -our $exp_file = "rbd_test_file1"; -our $exp_file1 = "rbd_test_file2"; -our $exp_file2 = "rbd_test_file3"; -our $rbd_imp_file = "test_file"; -our $rbd_imp_image = "new_imp_img"; -our $content = "This is a test file"; -our $rbd_snap_new = "new"; -our $neg_img_name = "neg_img"; -our $new_img_name = "new_img"; -our $max_img_name = "max_img"; -our $img_name1 = "testing_img1"; -our $rbd_imp_test = "new_test_file"; -our $non_pool_name = "no_pool"; -our $no_snap = "no_snap"; -our $img_name_mv = "new_img_mv"; -our $test_log = "logfile.txt"; -our $success = "test_completed.txt"; -our $fail = "log.txt"; -our $exec_cmd; -our $MSG; -our $pool_name; -our $CLI_FLAG = "TRUE"; - -# Tests for create image -sub create_image { - perform_action ( $RBD_CREATE, "$img_name,pool $pool_name,size 1024", 0 ); - - perform_action( $RBD_CREATE, "$img_name_mv,pool $pool_name,size 1024", 0 ); - perform_action( $RBD_CREATE, "$img_name_mv,pool $pool_name,size 0,order 22", - 1 ); - perform_action( $RBD_CREATE, "$img_name1,pool $pool_name,size 0", 0 ); - perform_action( $RBD_CREATE, "$neg_img_name,pool $pool_name,size -1", 2 ); - perform_action( $RBD_CREATE, "$img_name1 pool $pool_name", 2 ); - perform_action( $RBD_CREATE, "--size 1024", 2 ); - perform_action( $RBD_CREATE, - "$max_img_name,pool $pool_name,size 1024000000000", 0 ); - perform_action( $RBD_CREATE, "$img_name1,pool $pool_name,size 2048,order", - 2 ); - perform_action( $RBD_CREATE, "$img_name1,pool $pool_name,size,order 22", - 2 ); - perform_action( $RBD_CREATE, - "$new_img_name,pool $pool_name,size 1024,new-format", 0 ); - -} - -# Tests to create snapshot -sub create_snapshots { - perform_action( $SNAP_CREATE, "--snap $snap_name $pool_name\/$img_name", - 0 ); - perform_action( $SNAP_CREATE, "--snap $snap_name $pool_name\/$img_name", - 1 ); - perform_action( $SNAP_CREATE, "$snap_name", 2 ); - - perform_action($SNAP_CREATE,"--snap $snap_name2 $pool_name\/$img_name",0); - perform_action( $SNAP_CREATE, "--snap $snap_name3 $pool_name\/$img_name", - 0 ); - perform_action( $SNAP_CREATE, "--snap $snap_name4 $pool_name\/$img_name", - 0 ); - perform_action( $SNAP_CREATE, "--snap $snap_new $pool_name\/$new_img_name", - 0 ); -} - -# Tests to protect snapshot -sub protect_snapshot { - perform_action( $SNAP_PROTECT, "--snap $snap_new $pool_name\/$new_img_name", - 0 ); - perform_action( $SNAP_PROTECT, "--snap $snap_new $pool_name\/$new_img_name", - 2 ); - perform_action( $SNAP_PROTECT, "--snap $snap_name4 $pool_name\/$img_name", - 2 ); - perform_action( $SNAP_PROTECT, "--snap $snap_test $pool_name\/$img_name", - 2 ); -} - -# Tests to unprotect snapshot -sub unprotect_snapshot { - perform_action( $SNAP_UNPROTECT, "--snap $snap_new $pool_name\/$new_img_name", - 0 ); - perform_action( $SNAP_UNPROTECT, "--snap $snap_new $pool_name\/$new_img_name", - 2 ); - perform_action( $SNAP_UNPROTECT, "--snap $snap_name4 $pool_name\/$img_name", - 2 ); - perform_action( $SNAP_UNPROTECT, "--snap $snap_test $pool_name\/$img_name", - 2 ); -} - -# clone protected snapshot -sub clone_image { - perform_action( $RBD_CLONE, "$pool_name\/$new_img_name\@$snap_new $pool_name\/$clone_new", - 0 ); - perform_action( $RBD_CLONE, "$pool_name\/$new_img_name\@$snap_new $pool_name\/$clone_new", - 1 ); - perform_action( $RBD_CLONE, "$pool_name\/$new_img_name\@$snap_name5 $pool_name\/$clone_new1", - 2 ); - perform_action( $RBD_CLONE, "$pool_name\/$img_name\@$snap_test $pool_name\/$clone_new1", - 2 ); - perform_action( $RBD_CLONE, "$pool_name\/$img_name\@$snap_name5 $pool_name\/$clone_new2", - 2 ); - perform_action( $RBD_CLONE, "$pool_name\/$img_name\@$snap_new", - 2 ); - perform_action( $RBD_CLONE, "$pool_name\/$img_name", - 2 ); -} - -#flatten image -sub rbd_flatten { - perform_action( $RBD_FLATTEN, "$pool_name\/$clone_new", 0); - perform_action( $RBD_FLATTEN, "$pool_name\/$clone_new", 2); - perform_action( $RBD_FLATTEN, "$pool_name\/$clone_new2", 2); - perform_action( $RBD_FLATTEN, "$pool_name\/$new_img_name", 2); -} - -# Tests to rollback snapshot -sub rollback_snapshot { - perform_action( $SNAP_ROLLBACK, "--snap $snap_name2 $pool_name\/$img_name", - 0 ); - perform_action( $SNAP_ROLLBACK, - "--snap $rbd_snap_new $pool_name\/$img_name", 2 ); - perform_action( $SNAP_ROLLBACK, - "--snap $snap_name $pool_name\/$new_rbd_img", 2 ); -} - -# Tests to purge snapshots -sub purge_snapshots { - perform_action( $SNAP_PURGE, "$pool_name\/$img_name", 0 ); - perform_action( $SNAP_PURGE, "$pool_name\/$new_rbd_img", 2 ); - perform_action( $SNAP_PURGE, "$pool_name\/$new_img_name", 2 ); -} - -# Tests to list snapshots for an image -sub list_snapshots { - perform_action( $SNAP_LIST, "$pool_name\/$non_existing_img", 2 ); -} - -# Tests for remove snapshots -sub remove_snapshot { - perform_action( $SNAP_REMOVE, "$pool_name\/$img_name\@$snap_name", 0 ); - perform_action( $SNAP_REMOVE, "$pool_name\/$new_img_name\@$snap_new", 2 ); - perform_action( $SNAP_REMOVE, "$non_pool_name\/$img_name\@$snap_name3", 2 ); - perform_action( $SNAP_REMOVE, "$pool_name\/$img_name\@$snap_name2", 0 ); - perform_action( $SNAP_REMOVE, "$pool_name\/$non_existing_img", 2 ); - perform_action( $SNAP_REMOVE, " ", 2 ); -} - -# Tests for resize image -sub resize_image { - perform_action( $RBD_RESIZE, "$img_name,size 1024,pool $pool_name", 0 ); - perform_action( $RBD_RESIZE, "$non_existing_img,size 1024,pool $pool_name", - 2 ); -} - -# Tests for list rbd image -sub list_image { - perform_action( $RBD_LIST, "$non_pool_name", 2 ); -} - -# Tests to copy rbd image -sub copy_image { - perform_action( $RBD_CP, "$pool_name\/$img_name $pool_name\/$cp_new", 0 ); - perform_action( $RBD_CP, "$pool_name\/$non_existing_img", 2 ); -} - -# Tests for rbd info -sub info_image { - perform_action( $RBD_INFO, "$pool_name\/$img_name", 0 ); - perform_action( $RBD_INFO, "--snap $snap_name $pool_name\/$img_name_mv", - 2 ); - perform_action( $RBD_INFO, "--snap $no_snap $pool_name\/$img_name", 2 ); - perform_action( $RBD_INFO, "$pool_name\/$non_existing_img", 2 ); -} - -# Tests for rename image -sub rename_image { - perform_action( $RBD_RENAME, - "$pool_name\/$img_name_mv $pool_name\/$new_rbd_img", 0 ); - perform_action( $RBD_MV, - "$pool_name\/$new_rbd_img $pool_name\/$img_name_mv", 0 ); -} - -# Tests for remove image -sub remove_image { - perform_action( $RBD_REMOVE,"$pool_name\/$img_name",0); - perform_action( $RBD_REMOVE, "$pool_name\/$new_rbd_img", 2 ); - perform_action( $RBD_REMOVE, "$pool_name\/$rbd_imp_image", 0 ); - perform_action( $RBD_REMOVE, "$pool_name\/$cp_new", 0 ); - perform_action( $RBD_REMOVE, " ", 2 ); -} - -# Tests for export rbd image -sub export_image { - perform_action( $RBD_EXPORT, "$pool_name\/$img_name $exp_file", 0 ); - perform_action( $RBD_EXPORT, "$pool_name\/$img_name .", 2 ); - perform_action( $RBD_EXPORT, "$pool_name\/$img_name", 0 ); - perform_action( $RBD_EXPORT, - "--snap $snap_name $pool_name\/$img_name $exp_file1", 0 ); - perform_action( $RBD_EXPORT, - "--snap $no_snap $pool_name\/$img_name $exp_file1", 2 ); - perform_action( $RBD_EXPORT, - "--snap $snap_name $pool_name\/$non_existing_img $exp_file2", 2 ); -} - -# Tests for import file to rbd image -sub import_image { - my $i = create_test_file( $rbd_imp_file, $content ); - if ( $i == 0 ) { - perform_action( $RBD_IMPORT, "$rbd_imp_file $pool_name\/$rbd_imp_image", 0 ); - } - create_test_file( "$rbd_imp_test", 0 ); - perform_action( $RBD_IMPORT, "$rbd_imp_test $pool_name\/$rbd_imp_image", 2); - perform_action( $RBD_IMPORT, "$exp_file $pool_name\/$rbd_imp_image", 2 ); -} - -# To map rbd image to device -sub rbd_map { - - # Execute "modprobe rbd" - my $cmd = get_command_output("sudo modprobe rbd"); - if ( !$cmd ) { - perform_action( $RBD_MAP, "$pool_name\/$img_name", 0 ); - rbd_showmapped(); - perform_action( $RBD_MAP, "$pool_name\/$non_existing_img", 2 ); - } -} - -# To list rbd map -sub rbd_showmapped { - perform_action( $RBD_SHOWMAPPED, "", 0 ); -} - -# To unmap rbd device -sub rbd_unmap { - perform_action( $RBD_UNMAP, "/dev/rbd0", 0 ); - sleep(10); - perform_action( $RBD_UNMAP, "/dev/rbd10", 2 ); -} - -# To create a test file and write to it -sub create_test_file { - my ( $test_arg, $content ) = @_; - my $command = "touch $test_arg"; - my $cmd = get_command_output($command); - if ( ( !$cmd ) && ($content) ) { - $command = "echo $content > $test_arg"; - $cmd = get_command_output($command); - if ( !$cmd ) { - my $cmd = get_command_output("ls -l $test_arg"); - } - else { - return 1; - } - } - else { - return 1; - } - return 0; -} - -# deletes and creates a given rados pool -sub _create_rados_pool { - $exec_cmd = get_command_output("$RADOS_RMPOOL $pool_name"); - if ( ( $exec_cmd =~ /$POOL_RM_SUCCESS/ ) - || ( $exec_cmd =~ /does not exist/ ) ) - { - debug_msg("Pool $pool_name deleted"); - } - $exec_cmd = get_command_output("$RADOS_MKPOOL $pool_name"); - if ( ( $exec_cmd =~ /$POOL_MK_SUCCESS/ ) - || ( $exec_cmd =~ /$RBD_EXISTS_ERR/ ) ) - { - debug_msg("Pool $pool_name created"); - } -} - -sub _del_pool { - $exec_cmd = get_command_output("$RADOS_RMPOOL $pool_name"); - if ( ( $exec_cmd =~ /$POOL_RM_SUCCESS/ ) - || ( $exec_cmd =~ /does not exist/ ) ) - { - debug_msg("Pool $pool_name deleted"); - } -} - -#== Main starts here=== - -_pre_clean_up(); -display_ceph_os_info(); -_create_rados_pool(); -create_image(); -list_image(); -rename_image(); -resize_image(); -info_image(); -create_snapshots(); -protect_snapshot(); -export_image(); -import_image(); -list_snapshots(); -rollback_snapshot(); -remove_snapshot(); -purge_snapshots(); -clone_image(); -rbd_flatten(); -unprotect_snapshot(); -copy_image(); -remove_image(); -display_result(); -_post_clean_up(); -_del_pool(); diff --git a/qa/suites/ceph-ansible/smoke/basic/3-tasks/rbd_cli_tests.yaml b/qa/suites/ceph-ansible/smoke/basic/3-tasks/rbd_cli_tests.yaml deleted file mode 100644 index 1a4fa0d1f86..00000000000 --- a/qa/suites/ceph-ansible/smoke/basic/3-tasks/rbd_cli_tests.yaml +++ /dev/null @@ -1,8 +0,0 @@ -meta: -- desc: "Run the rbd cli tests" -tasks: -- workunit: - clients: - client.0: - - rbd/run_cli_tests.sh - diff --git a/qa/suites/rbd/basic/tasks/rbd_cli_tests.yaml b/qa/suites/rbd/basic/tasks/rbd_cli_tests.yaml deleted file mode 100644 index a37db057b5d..00000000000 --- a/qa/suites/rbd/basic/tasks/rbd_cli_tests.yaml +++ /dev/null @@ -1,6 +0,0 @@ -tasks: -- workunit: - clients: - client.0: - - rbd/run_cli_tests.sh - diff --git a/qa/workunits/rbd/run_cli_tests.sh b/qa/workunits/rbd/run_cli_tests.sh deleted file mode 100755 index 93e438f6b7e..00000000000 --- a/qa/workunits/rbd/run_cli_tests.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -ex - -wget -q http://download.ceph.com/qa/rbd_cli_tests.pls -wget -q http://download.ceph.com/qa/RbdLib.pm -perl rbd_cli_tests.pls --pool test |