Bug 239659

Summary: Add regression tests for CIFS to RHTS
Product: Red Hat Enterprise Linux 5 Reporter: Jeff Layton <jlayton>
Component: kernelAssignee: Barry Donahue <bdonahue>
Status: CLOSED CURRENTRELEASE QA Contact: Martin Jenner <mjenner>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.0CC: ssorce, staubach, steved
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-08-08 18:37:21 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
patch -- add -C option to "server" script to skip non-CIFS friendly tests
none
patch -- add -C option to "server" script to skip non-CIFS friendly tests
none
tests.init file for cifs testing
none
basic smb.conf file none

Description Jeff Layton 2007-05-10 11:50:38 UTC
Not sure if I opened this in the right category, so feel free to move it to a
different one if need be...

We currently aren't doing any regression testing of CIFS between RHEL updates.
I'm opening this BZ to track adding such a set of tests to RHTS.

Comment 1 Jeff Layton 2007-05-10 11:56:35 UTC
Here's what I think we need to have:

A server running SAMBA with a writeable share. We'll need to do 2 complete test
runs against this server, once with "normal" settings and once with "unix
extensions = no" in the global options.

For each run I think we'll want to run the connectathon test suite. The
connectathon tests *all* seem to pass when unix extensions are enabled, but some
fail when unix extensions are disabled.

For now, I'm identifying those tests and am planning to patch the cthon04
tarball so they can be excluded from testing w/o unix extensions.

We'll probably also want to consider running something like fsstress and/or fsx
to do more stress-testing of the client, but I'd like to start with just the
connectathon tests.


Comment 2 Jeff Layton 2007-05-10 12:04:37 UTC
Created attachment 154465 [details]
patch -- add -C option to "server" script to skip non-CIFS friendly tests

First pass at a patch for cthon04. This adds a -C flag to the "server" script
that makes it skip the tests that I've ID'ed as not working correctly with CIFS
w/o unix extensions. The hardlink tests also don't seem to work correctly.

If you patch the cthon04 tarball, set up tests.init with the correct stuff for
CIFS, and then run:

$ ./server -C -h <servername>

...then the testsuite passes.

As a side note, I'm planning to open new BZ's for the tests that we're
excluding and see if we can fix the client upstream such that they pass.

Comment 3 Jeff Layton 2007-05-10 13:47:19 UTC
Created attachment 154469 [details]
patch -- add -C option to "server" script to skip non-CIFS friendly tests

Updated patch. With this, no "-h" option is required. The only tests we're
skipping are:

special/nfsidem
lock/test10
lock/test11

All the other tests that get run on a normal run seem to pass.

Comment 4 Jeff Layton 2007-05-10 13:49:25 UTC
Created attachment 154470 [details]
tests.init file for cifs testing

This file should be used in place of the stock tests.init file. It configures
the tarball for Linux and changes the mount commands and options for CIFS
testing. It may take some modification depending on how the samba server is
configured...

Comment 5 Jeff Layton 2007-05-17 14:25:10 UTC
Created attachment 154919 [details]
basic smb.conf file

This is the smb.conf file I've been using for testing. It may need a little
modification (pathname particularly and maybe workgroup) but you shouldn't need
to change much. You'll need to flip unix extensions to no and yes depending on
which CIFS mode you want to test.

Aside from this, you'll also probably want to create an unprivileged user on
the box:

# useradd testuser

...and then you'll need to set up a smbpasswd for it:

# printf "testuser\ntestuser\n" | smbpasswd -a -s testuser

You'll also need to mount using options with the user. With this, I have a
fstab entry that looks something like this:

//server.foo.redhat.com/testuser	 /mnt/cifs		 cifs	
user=testuser,password=testuser,domain=EXAMPLE,rw,noauto       0 0

...let me know if you need other info.

Comment 6 Barry Donahue 2007-08-30 19:49:16 UTC
This test has been completed and tested on all arches. It is kernel/storage/cifs
and is invoked with the multi-stable-workflow script. It runs once, client to
server, with unix extentions and then reverses the client and server and tests
without unix extensions.