]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
tests: drop rbd_cli_tests.pl and RbdLib.pm 12821/head
authorNathan Cutler <ncutler@suse.com>
Sun, 8 Jan 2017 15:17:08 +0000 (16:17 +0100)
committerNathan Cutler <ncutler@suse.com>
Sun, 8 Jan 2017 15:17:08 +0000 (16:17 +0100)
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>
qa/qa_scripts/RbdLib.pm [deleted file]
qa/qa_scripts/rbd_cli_tests.pl [deleted file]
qa/suites/ceph-ansible/smoke/basic/3-tasks/rbd_cli_tests.yaml [deleted file]
qa/suites/rbd/basic/tasks/rbd_cli_tests.yaml [deleted file]
qa/workunits/rbd/run_cli_tests.sh [deleted file]

diff --git a/qa/qa_scripts/RbdLib.pm b/qa/qa_scripts/RbdLib.pm
deleted file mode 100755 (executable)
index 83a506e..0000000
+++ /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 (executable)
index 4c8b5a9..0000000
+++ /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 (file)
index 1a4fa0d..0000000
+++ /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 (file)
index a37db05..0000000
+++ /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 (executable)
index 93e438f..0000000
+++ /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