summaryrefslogtreecommitdiffstats
path: root/test/functional
Commit message (Collapse)AuthorAgeFilesLines
* Add support for Object Expiration featurePrashanth Pai2014-03-241-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Preventing access to expired objects ------------------------------------ Re-enabled accepting X-Delete-At and X-Delete-After headers. During a GET on an expired object, DiskFileExpired is raised by DiskFile class. This will result in object-server returning HTTPNotFound (404) to the client. Tracking objects to be deleted ------------------------------ Objects to be deleted are tracked using "tracker objects". These are PUT into a special account(a volume, for now). These zero size "tracker objects" have names that contain: * Expiration timestamp * Path of the actual object to be deleted Deleting actual objects from GlusterFS volume --------------------------------------------- The object-expirer daemon runs a pass once every X seconds. For every pass it makes, it queries the special account for "tracker objects". Based on (timestamp, path) present in name of "tracker objects", object-expirer then deletes the actual object and the corresponding tracker object. To run object-expirer forever: swift-init object-expirer start To run just once: swift-object-expirer -o -v /etc/swift/object-expirer.conf Caveat/Limitation: Object-expirer needs a separate account(volume) that is not used by other services like gswauth. By default, this volume is named "gsexpiring" and is configurable. More info about object expiration: http://docs.openstack.org/developer/swift/overview_expiring_objects.html Change-Id: I876995bf4f16ef4bfdff901561e0558ecf1dc38f Signed-off-by: Prashanth Pai <ppai@redhat.com> Reviewed-on: http://review.gluster.org/6891 Tested-by: Chetan Risbud <crisbud@redhat.com> Reviewed-by: pushpesh sharma <psharma@redhat.com> Tested-by: pushpesh sharma <psharma@redhat.com> Reviewed-by: Chetan Risbud <crisbud@redhat.com>
* Functional tests for SwiftKerbAuth filter.Chetan Risbud2014-03-141-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This provides an infrastructure for swiftkerbauth related functional test cases. More test cases will be added later. Added a section in swiftkerbauth guide about how to run functional tests. test/functional_auth/swiftkerbauth ---------------------------------- A new authentication filter related functional tests and configuration to reside here. The configuration would help setup the environment. All the generic functional tests should run fine with PASSIVE mode of swiftkerbatuh. Please refere to swiftkerbatuh documentation for ACTIVE/PASSIVE mode of working. swiftkerbauth/test_swkrbath_active.py ------------------------------------- This file has all the testcases of active mode of swiftkerbauth. More test cases to be added later. SwiftKerbAuth related test cases are meant to run on the setup where SwiftKerbAuth is setup and installed. Change-Id: Ibc2a3945f5c9b6714475fcec0ee9d153debb48e3 Signed-off-by: Chetan Risbud <crisbud@redhat.com> Reviewed-on: http://review.gluster.org/6925 Reviewed-by: Luis Pabon <lpabon@redhat.com> Tested-by: Luis Pabon <lpabon@redhat.com>
* Sync with OpenStack Swift v1.13.0Prashanth Pai2014-03-134-24/+192
| | | | | | | | | | | Also, bumped version of gluster-swift to v1.13.0 Change-Id: I797dc704c9523540cba847b1e8ff3da97b79630c Signed-off-by: Prashanth Pai <ppai@redhat.com> Reviewed-on: http://review.gluster.org/7229 Reviewed-by: Chetan Risbud <crisbud@redhat.com> Reviewed-by: Luis Pabon <lpabon@redhat.com> Tested-by: Luis Pabon <lpabon@redhat.com>
* Sync with OpenStack Swift v1.12.0Luis Pabon2014-02-165-2/+1709
| | | | | | | | | | | | * Bumped the version of gluster-swift to v1.12.0. * Added document on how to do a sync Change-Id: I676e110759b0bce3007a2a38f3b384b4ca9d710d Signed-off-by: Luis Pabon <lpabon@redhat.com> Reviewed-on: http://review.gluster.org/6977 Reviewed-by: Prashanth Pai <ppai@redhat.com> Reviewed-by: Chetan Risbud <crisbud@redhat.com> Tested-by: Chetan Risbud <crisbud@redhat.com>
* Revert "Attempt to fix failing testMetadataOnPost functional test"Chetan Risbud2014-02-101-1/+0
| | | | | | | | | This reverts commit ad6fb3558019e0f65de0b36c2c2f78d94925838c Change-Id: I0e04c923880b3b987bedb04fdb10d3f9813bb884 Reviewed-on: http://review.gluster.org/6952 Reviewed-by: Chetan Risbud <crisbud@redhat.com> Tested-by: Chetan Risbud <crisbud@redhat.com>
* Attempt to fix failing testMetadataOnPost functional testPrashanth Pai2014-02-101-0/+1
| | | | | | | | | | | | | | | | On Jenkins, functional tests occasionally fail in testMetadataOnPost test case with ResponseNotReady exception. This is an attempt to fix that as I'm guessing that the following could be the reason. It is advised to read the whole response body before sending a new request: http://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.getresponse http://hg.python.org/cpython/file/2.7/Lib/httplib.py#l1033 Change-Id: I2ee880fd15af8766dcbd12f84ef561a67acdcdce Signed-off-by: Prashanth Pai <ppai@redhat.com> Reviewed-on: http://review.gluster.org/6945 Reviewed-by: Chetan Risbud <crisbud@redhat.com> Tested-by: Chetan Risbud <crisbud@redhat.com>
* Sync with OpenStack v1.11.0 Jan 10 2014v1.11.0Luis Pabon2014-01-152-30/+72
| | | | | | | | | | | | | Updated tox.ini, functional tests, and proxy unit tests. BUG: https://bugs.launchpad.net/bugs/1268017 Change-Id: I5ff8359b8abdb8fe5ae82492c12f57c395992735 Signed-off-by: Luis Pabon <lpabon@redhat.com> Reviewed-on: http://review.gluster.org/6682 Reviewed-by: Thiago da Silva <thiago@redhat.com> Tested-by: Thiago da Silva <thiago@redhat.com>
* Rebase to OpenStack Swift v1.10.0.172.g9fe7748v1.10.2-0v1.10.2Luis Pabon2013-12-052-25/+385
| | | | | | | | | | | * Updated Proxy unit test * Updated Functional tests * Updated Tox to point to the new swift snapshot available on http://launchpad.net/gluster-swift Change-Id: Ia91593c6a28d5a3fe70715ddc60546931ae71635 Signed-off-by: Luis Pabon <lpabon@redhat.com> Reviewed-on: http://review.gluster.org/6445
* Return BadRequest on X-Delete-At/After headersLuis Pabon2013-12-051-2/+31
| | | | | | | | | | | Gluster-swift does not support X-Delete-After or X-Delete-At headers. The code needs to inform the caller with a 400-BadRequest if they use these headers. Change-Id: Ic9d3a1646c0d26bb0204245efce4501f7479fee6 Signed-off-by: Luis Pabon <lpabon@redhat.com> Reviewed-on: http://review.gluster.org/6364 Reviewed-by: Chetan Risbud <crisbud@redhat.com>
* Functional TCs for Multi-Protocol AccessPushpesh Sharma2013-11-101-2/+101
| | | | | | | | | | | | | | | | 1.testObjectsFromMountPoint verifies the directory structure from mount point that is created by REST This test uses os,re and other python modules. It assumes the root directory is /mnt/gluster-object 2.testObjectContentFromMountPoint check md5 sum computed from mount point is same as etag. Change-Id: I676218c9b828022f599f4dea7ad0284777fc0506 Signed-off-by: Pushpesh Sharma <psharma@redhat.com> Reviewed-on: http://review.gluster.org/6208 Reviewed-by: Luis Pabon <lpabon@redhat.com> Tested-by: Luis Pabon <lpabon@redhat.com>
* Keystone Functional TestsLuis Pabon2013-11-041-4/+3
| | | | | | | | | | | | | | Functional tests using OpenStack Keystone Authentication. Tests require the following: 1. Keystone server is running locally 2. Keystone server has been setup according to the test.conf 3. /mnt/gluster-object has the directories setup Change-Id: I460471e549da91366cb817916ed5293c7e7adda4 Signed-off-by: Luis Pabon <lpabon@redhat.com> Reviewed-on: http://review.gluster.org/6218 Reviewed-by: Peter Portante <pportant@redhat.com> Tested-by: Peter Portante <pportant@redhat.com>
* Rebase to OpenStack Swift Havana (1.10.0)Peter Portante2013-10-282-385/+380
| | | | | | | | Change-Id: I90821230a1a7100c74d97cccc9c445251d0f65e7 Signed-off-by: Peter Portante <peter.portante@redhat.com> Reviewed-on: http://review.gluster.org/6157 Reviewed-by: Luis Pabon <lpabon@redhat.com> Tested-by: Luis Pabon <lpabon@redhat.com>
* moving functional tests to prepare for auth testsThiago da Silva2013-10-258-353/+0
| | | | | | | | | | | | moved the actual tests to generic folder and created an auth dir that will contain specific tests and configuration files for each authentication service Change-Id: I80debb917a53c3f56629b92cf5e7157da916d223 Signed-off-by: Thiago da Silva <thiago@redhat.com> Reviewed-on: http://review.gluster.org/6140 Reviewed-by: Luis Pabon <lpabon@redhat.com> Tested-by: Luis Pabon <lpabon@redhat.com>
* Sync functional tests with Swift v1.9.1Peter Portante2013-10-253-85/+103
| | | | | | | | Change-Id: Id478f651fe937883837291059da9da853fcd2de2 Signed-off-by: Peter Portante <peter.portante@redhat.com> Reviewed-on: http://review.gluster.org/6141 Reviewed-by: Luis Pabon <lpabon@redhat.com> Tested-by: Luis Pabon <lpabon@redhat.com>
* Added Object Versioning Functional TCPushpesh Sharma2013-10-012-0/+50
| | | | | | | | | | | | | | | | | | | | | | Changed container-server.conf to allow object versioning. Added object versioning testcase which does following: a. Setup method to create two containers object,versions b. Set 'X-Versions-Location':'versions' for 'object' container c. test method: 1. Write random data to a object named 'object' in 'object' container for random number of times 2. Match the current version of object with last data written 3. Delete the current version 4. Repeat steps 2-3 till list of data written exhausted Change-Id: I6b36008b9c4d967383169290c8fd3adf3c3446a8 Signed-off-by: Pushpesh Sharma <psharma@redhat.com> Reviewed-on: http://review.gluster.org/6018 Reviewed-by: Luis Pabon <lpabon@redhat.com> Tested-by: Luis Pabon <lpabon@redhat.com>
* Added functional test for object manifestPushpesh Sharma2013-10-011-0/+27
| | | | | | | | | | | | | | The Object manifest is way to support large objects. http://docs.openstack.org/developer/swift/overview_large_objects.html. This functional test upload a random data in to segments. Create a manifest object to connect all these segments. Issue a GET request to manifest object and match this data with the original unsegmented data. Change-Id: I4ca3f4b4e4540f3121c75db50280ef214836a8d1 Signed-off-by: Pushpesh Sharma <psharma@redhat.com> Reviewed-on: http://review.gluster.org/5945 Reviewed-by: Luis Pabon <lpabon@redhat.com> Tested-by: Luis Pabon <lpabon@redhat.com>
* Removed conf file sections which are not neededLuis Pabon2013-08-063-23/+0
| | | | | | | | | Change-Id: I4f63bf4d1a8eb62fed5a9cc9b43f54de0127d3e4 Signed-off-by: Luis Pabon <lpabon@redhat.com> Reviewed-on: http://review.gluster.org/5445 Tested-by: Peter Portante <pportant@redhat.com> Reviewed-by: Peter Portante <pportant@redhat.com> Reviewed-on: http://review.gluster.org/5507
* Change max file sizeLuis Pabon2013-08-061-3/+3
| | | | | | | Change-Id: I232c04050e932200b37eb64ba41622d7b187fb24 Signed-off-by: Luis Pabon <lpabon@redhat.com> Reviewed-on: http://review.gluster.org/5420 Reviewed-on: http://review.gluster.org/5505
* Update logging on conf filesLuis Pabon2013-08-065-10/+14
| | | | | | | | | BUG 989406: https://bugzilla.redhat.com/show_bug.cgi?id=989406 Change-Id: I777845ec57f9f6fc6aed87de7bea5f01bb69f7c3 Signed-off-by: Luis Pabon <lpabon@redhat.com> Reviewed-on: http://review.gluster.org/5419 Reviewed-on: http://review.gluster.org/5506
* perf: Container and account performance incLuis Pabon2013-08-061-5/+4
| | | | | | | | | | | | | | | | | | | | | * Container and accounts performance increase by removing the need to update either the object count or the container count, respectively. New hidden configuratoins added to re-enable the functionality. * object_only configuratoin removed from fs.conf and replaced with a hidden configuration. The new hidden configuration reports gratuituosly crated directories as objects, to support a compatibility behavior with previous version 1.4.8 (even though it was incorrect). BUG 988969: https://bugzilla.redhat.com/show_bug.cgi?id=988969 Change-Id: Idca20b8629ec38606ff5692fe62bc2cadabffc86 Signed-off-by: Luis Pabon <lpabon@redhat.com> Reviewed-on: http://review.gluster.org/5403 Reviewed-by: Peter Portante <pportant@redhat.com> Tested-by: Peter Portante <pportant@redhat.com> Reviewed-on: http://review.gluster.org/5504
* Updating copyrights with current yearChetan Risbud2013-07-242-2/+32
| | | | | | | | | | | Copyrights are updated across the code to reflect 2013. Copyrights message was added to couple of scripts. Change-Id: I2cfc7bdc6adaa5c9ab0075aab49021a5f0dea7a1 Signed-off-by: Chetan Risbud <crisbud@redhat.com> Reviewed-on: http://review.gluster.org/5371 Reviewed-by: Luis Pabon <lpabon@redhat.com> Tested-by: Luis Pabon <lpabon@redhat.com>
* Final forward port of PDQ performance patchesPeter Portante2013-07-105-16/+68
| | | | | | | | Change-Id: I4ef131b3cc7648d4571a4d854029efb1aff8b901 Signed-off-by: Peter Portante <peter.portante@redhat.com> Reviewed-on: http://review.gluster.org/5305 Reviewed-by: Luis Pabon <lpabon@redhat.com> Tested-by: Luis Pabon <lpabon@redhat.com>
* Disable fallocate for Gluster volumesChetan Risbud2013-07-103-0/+6
| | | | | | | | | | | | The overridden configuration files of gluster now disable the usage of fallocate. Also modified the functional test configuration files accordingly. BUG: 951661 Change-Id: I3c7d518e0415b7eea5b31c88dd647069f9d730ac Signed-off-by: Chetan Risbud <crisbud@redhat.com> Signed-off-by: Luis Pabon <lpabon@redhat.com> Reviewed-on: http://review.gluster.org/5303
* Automate functional testsLuis Pabon2013-07-038-0/+312
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By storing the functional tests configuration files in the repo, we can now run the functional_tests.sh to setup, run the functional tests, and teardown. Most likely this will be able to be run as a user from the same directory as the repo, but at the moment, the configuration files are copied to /etc/swift. The only requirements are: 1. /etc/swift does not exist. That way the tests will not interfere with an existing deployment. 2. /mnt/gluster-object/test and /mnt/gluster-object/test2 must have been created and setup correctly on an XFS or GlusterFS volume 3. sudo rights without password prompt 4. glusterfs-openstack-swift-* rpm must not be installed on the system Once the requirements are met, you can execute the tests as follows: $ bash tools/functional_tests.sh Change-Id: Icdbcd420355b02e64f294df7298a3e473b343655 Signed-off-by: Luis Pabon <lpabon@redhat.com> Reviewed-on: http://review.gluster.org/5281 Reviewed-by: Peter Portante <pportant@redhat.com>
* OpenStack Swift Functional Tests for G4SLuis Pabon2013-06-282-1/+182
| | | | | | | | | | | | | | | | | | | | This commit has the following changes: * G4S no longer accepts URLs that end in /. A HTTP code of 400 is returned when a / at the end of the object is detected. * Directories can be created as objects setting the content-type to application/directory and content-length to 0. * Functional tests have been adjusted to work with G4S constraints Change-Id: I31038a59699a8e3eeaba902db322218c6400093e Signed-off-by: Luis Pabon <lpabon@redhat.com> Reviewed-on: http://review.gluster.org/5246 Reviewed-by: Peter Portante <pportant@redhat.com> Tested-by: Peter Portante <pportant@redhat.com>
* Copy OpenStack Swift (Grizzly) Functional testsLuis Pabon2013-06-143-0/+2353
Copy the functional tests to our tree so that we can edit and skip any tests we know we are not going to support for this release Change-Id: I93a76550aaaa58de49ec9a7178a34e081b7b7cf0 Signed-off-by: Luis Pabon <lpabon@redhat.com> Reviewed-on: http://review.gluster.org/5211