34 Commits

Author SHA1 Message Date
Thiago da Silva
4ab3706b75 Remove nobarrier option
XFS no longer supports nobarrier mount option.
It has been deprecated for a long time[1] and removed in
recent kernel versions resulting in an error when trying to
mount: "kernel: XFS (loop0): unknown mount option [nobarrier]."

[1] - https://patchwork.kernel.org/patch/9486549/

Change-Id: Iaa9208fb20545ae9ac990f0e180899108d983123
2019-06-18 14:47:39 +01:00
Zuul
f55167a735 Merge "Increase node_timeout in gate" 2019-04-30 22:12:01 +00:00
Thiago da Silva
621e924883 Update openstack repo for libec install
Update to rocky release

Change-Id: Id35a41d689a24bf68d17647879780f5daaecdf37
2019-04-08 16:49:29 -04:00
Clay Gerrard
771963c926 Increase node_timeout in gate
Give storage nodes more time to complete requests for multi-node upgrade
and probetests.

Also slightly decouple probetests from default configs.

Change-Id: I334ef517d833916a3b7be3151a812d4f9c66a6e1
2019-02-12 10:39:17 -06:00
Tim Burke
defae1dd14 Fix rolling upgrade job
Previously, we'd install development versions of Swift as root, causing
later tox runs as zuul to fail on a permissions error because the
generated egg-info (at least) was locked down.

Change-Id: Ia688790f8b23ed1cf76947b5809c208df5dee8bb
2018-12-14 15:11:19 -08:00
Tim Burke
dd49f17030 Add coverage reports to py27/35/36 unit test jobs
...and drop openstack-cover-jobs since it is no longer necessary.

Change-Id: Iad12e64f41bbdd8b8e005b0fb14a7e2108fa3bcf
2018-10-10 23:17:00 +00:00
Tim Burke
050f8799ca Use latest eventlet in probe tests
Note that eventlet 0.22.0+ closes connections between requests when
it stops accepting connections.

Partial-Bug: #1792615
Change-Id: Ia8d9ab95e2aad40e8d797acc3423a917e809ffdb
2018-09-19 14:59:32 -07:00
Thiago da Silva
5d70396247 add multinode functional test to swift
This new test job adds multinode testing to swift.
It currently configures 5 nodes: test-runner, proxy,
account, container and object. It starts by checkout out
the latest release and then 'upgrades' the storage nodes
to the current patch under test. That means that it will
the test-runner and the proxy are still running the latest
release.

Future work would include a new set of tests where it will
add objects to the cluster prior to upgrading and then try
to read those objects after the upgrade. It should also be
noted that the 'upgrade' currently only means a new
'git checkout' the configuration files are not being updated.
A future patch should fix that too.

Change-Id: If8e09a082fc024257a98cf332de9a36a18d2adc5
2018-09-17 12:51:34 -04:00
Tim Burke
5a8cfd6e06 Add another user for s3api func tests
Previously we'd use two users, one admin and one unprivileged.

Ceph's s3-tests, however, assume that both users should have access to
create buckets. Further, there are different errors that may be returned
depending on whether you are the *bucket* owner or not when using
s3_acl. So now we've got:

  test:tester1  (admin)
  test:tester2  (also admin)
  test:tester3  (unprivileged)

Change-Id: I0b67c53de3bcadc2c656d86131fca5f2c3114f14
2018-09-14 13:33:51 +00:00
Kota Tsuyuzaki
80001aa096 Add ceph-s3 test non-voting job
This patch added new non-voting gate job to check the s3api compatibility
via swiftstack/s3compat tool that shows the ratio of compatible S3 APIs
in the gate result for each patch. This is very useful to check the possibility
if the new incoming patch breaks S3 API compatibility unexpectedly.

Originally swift3 has this kind of the gate job but we missed the staff
while migrating from swift3 into swift upstream repo so this is the porting of that.

Note that currently the job is against to only tempauth because we don't have
custom gate jobs using keystone environment other than dsvm.

Change-Id: I6f30f74678ad35479da237361bee48c46c0ecc49
2018-09-14 22:32:34 +09:00
Tim Burke
1d65219445 Move legacy-swift-dsvm-functional job in-tree
Note that there's no swift-dsvm-functional-identity-v3-only because
as of the Queens release, that's the *only* way Keystone gets deployed.

Change-Id: I49d963b98f3df21fea0db24c83553ef873ad73c8
2018-08-27 09:57:02 -07:00
Thiago da Silva
6a039903c6 Remove contentdir hack
Latest version of CentOS should not need this anymore

Change-Id: Ief83c39420cfb4509f16d4e357d704025b116134
2018-07-25 18:08:10 -04:00
John Dickinson
0edfb879a7 reorganized existing ansible playbooks
Change-Id: Ib08c2c4c685eb30a4c804ece0b667575c04d2ca0
2018-06-25 13:47:45 -07:00
Thiago da Silva
ca21d71152 Add swift probe tests to gate
This patch includes some generic playbooks to configure a SAIO[0]
plus the playbook to run the probe tests.

The current SAIO playbooks have only been tests on CentOS, they
would need additional changes to run on Ubuntu.

[0] - https://docs.openstack.org/swift/latest/development_saio.html

Change-Id: Ib72c77021aeed20f2070d42cff0ea9b671a4317a
2018-03-06 06:57:53 -05:00
Andreas Jaeger
bdd4eb6936 Install liberasurecode-devel for CentOS 7
Since I747c2b8754effbc6ec82af3bf7543fd9599a6c14 we do not install
the RDO package repository anymore and thus liberasurecode-devel
cannot be installed.

For CentOS 7, remove liberasurecode-devel from bindep.txt and install it
from test-setup.sh instead after enabling the RDO package repositories.

Update python dependencies: CentOS 7 does not have python3. Fix the
SUSE tags.

Change-Id: I72aa6b5455dfb025f54e83334983ac280f04afb2
2017-12-20 09:29:19 +01:00
Andreas Jaeger
dc1c55c9a0 Native Zuul v3 tox jobs
Convert the legacy tox jobs to Zuul v3 native and use the
tools/test_setup.sh script to setup a XFS file like it's done in the
legacy job.

Needed-By: Id2b5cff998ac3a825a8f515c7bae3b433f30d272
Change-Id: I34ed9e1c4b822f700e42fb07937df7be72cbaf4e
2017-12-19 12:05:08 +01:00
niu-zglinux
627d0ba52f Rename requires files to standard names.
Rename tools/pip-requires to requirements.txt and tools/test-requires
to test-requirements.txt. These are standard files, and tools in the
general world are growing intelligence about them.

Change-Id: Ib3e50a811868e2969923d978ee00c4f92682aa1c
Fixes: bug #1179008
2013-05-30 22:14:01 +00:00
Matthieu Huin
b61b177a3f Skip cname_lookup when host is an IP address
cname_lookup cannot resolve IP addresses as CNAME records, and therefore
should not attempt to resolve the host in that case. The middleware is
skipped when the host is an IP address.

Change-Id: I6961ec205e771116ace1ebcb8c088f3116eb38f0
Fixes: bug #1172289
2013-05-03 17:48:31 +02:00
Monty Taylor
de2e5aa462 Update to flake8 instead of pep8.
Change-Id: I3d4a31111c3044da06611405ce80f208ef8a0ce3
2013-05-01 14:19:38 -04:00
gholt
46c5b098f8 Fixed version req for netifaces to 0.5
Change-Id: Ic1c67ced0169658c9aa7f78ed09bf24863cc9fb6
2013-01-10 23:07:02 +00:00
Julien Danjou
dcff5ff516 Use install_requires in setup.py
Using install_requires makes sure that if some code is using Swift internal
and wants to require Swift, all its dependencies have been already pulled.
This is really useful on test automation for example, otherwise, code might
be failing because on of the module listed in pip-requires is not instaled.

Also, we change the pip-requires files to use >= rather than ==, so the
requirements are easily fulfiled with distribution provided packages.

Change-Id: I65814bcd8ce798da21a5c17b4d5916a23f59e962
Signed-off-by: Julien Danjou <julien@danjou.info>
2012-12-12 11:18:45 +01:00
Samuel Merritt
35f4d29ed6 Upgrade pep8 to 1.3.3.
This required a bunch of whitespace-poking of the scripts in bin, but
that's all. Now every file in swift/ and bin/ is pep8-1.3.3-compliant,
so hopefully we can be done with this pep8 stuff for a good long time.

Change-Id: I44fdb41d219c57400a4c396ab7eb0ffa9dcd8db8
2012-11-26 18:15:21 -08:00
Clark Boylan
a4da977e6c Use pypi for python-swiftclient dependency.
Using github as a package source is less reliable in the Jenkins test
framework than using pypi. This is because the Jenkins test framework
has a local pypi mirror.

Change-Id: Ia904d39ce70f5c2bd7d6edb9172f8226131074e2
2012-11-02 16:56:18 -07:00
Samuel Merritt
e76b82c91b Fix version requirement for mock library.
One of the tests uses mock.call, which is only available in version
0.8.0 and up.

Fixes bug 1066274.

Change-Id: I77e4de0908f93326992fc4d4af4a7e54e60b5585
2012-10-14 08:02:09 -07:00
Michael Barton
c7e2e9a1f3 remove configobj from deps
Change-Id: Ie566e712ba0d3dca543e99efbdb576b19623e73c
2012-10-08 14:20:00 -07:00
Michael Barton
5e3e9a882d local WSGI Request and Response classes
This change replaces WebOb with a mostly compatible local library,
swift.common.swob.  Subtle changes to WebOb's API over the years have been a
huge headache.  Swift doesn't even run on the current version.

There are a few incompatibilities to simplify the implementation/interface:
 * It only implements the header properties we use.  More can be easily added.
 * Casts header values to str on assignment.
 * Response classes ("HTTPNotFound") are no longer subclasses, but partials
   on Response, so things like isinstance no longer work on them.
 * Unlike newer webob versions, will never return unicode objects.

Change-Id: I76617a0903ee2286b25a821b3c935c86ff95233f
2012-09-28 14:48:48 -07:00
Florian Hines
c0537ac6e0 Breakout search_devs & add get_builder() for reuse
This moves search_devs into RingBuilder to make it accessible to other utils
that need to search the builder. Along the same lines this also adds a
load() call to get a RingBuilder instance when working with the builder files.

- This adds python-mock >= 0.7 as a dependency for unittests. On Ubuntu
  10.04 you'll have to pip install it, on 12.04 you can apt-get install
  it. Fedora 17+ should be able to yum install it.
- new pep8 compliance
- Fixed a small issue (undefined var) in swift-ring-builder when remove was
called but failed to find a match.

Change-Id: I2e02684235aa2f4e901a00858ae037091594c545
2012-09-06 20:16:46 -05:00
Clark Boylan
2352b9d66f Add nosehtmloutput as a test dependency.
Adding nosehtmloutput as a test dependency allows nose to output its
results to an html file. This will be used by Jenkins to save logs on
a different server.

Change-Id: I6bd4736e8cc4132db65bfe8cdfe1f3a388369fa8
2012-08-21 14:43:30 -07:00
Iryoung Jeong
de4d23c2a5 Adapt Swift for WebOb 1.2
Based on PatchSet 3 of https://review.openstack.org/#/c/7569/ , make them to pass all funcional tests with both webob 1.x and 1.2.

The additional following compatibility issues were addressed:
 - Until patch for range header issue is merged into official webob release, testRangedGetsWithLWSinHeader() should skip test against webob 1.2
(49c175aec2)

 - common.constraints.check_utf8() can accept both utf8 str and unicode.

 - To convert unicode to utf-8 str if necessary.

 - Making proxy_logging can handle invalid utf-8 str

bug 888371
bug 959881

blueprint webob-support

Change-Id: I00e5fd04cd1653259606a4ffdd4926db3c84c496
2012-07-15 00:03:01 +09:00
Chmouel Boudjnah
22572b506a Remove swift.common.client from here.
- It has been to its own gerrit project.
- direct_client should follow next.
- Implements blueprint clientbindings.

Change-Id: I3bb50c95eba81302bfec71cb7ce5288b85a41dc0
2012-06-07 16:36:49 +02:00
Monty Taylor
cb84214b5d Add sphinx to test-requires.
Need sphinx in test-requires so that we can build docs in
the venv (wanted because module introspection needs build
depends installed)

Change-Id: If3caf817381aea8e9cd8fb50e7e35c647f088b60
2012-03-16 12:11:47 -07:00
Maru Newby
e6ea310751 Add support for venv-based test run with tox.
* Adds tox config
   - based on the config from python-quantumclient and updated for
     test, pep8 and coverage execution as per nova's run_tests.sh.
 * Adds nosetests defaults in setup.cfg
 * Adds runtime dependencies in tools/pip-requires
   - dependencies were gathered by referencing the packages used in
     creation of a Swift All In One.  Versions were determined by
     checking the swift-core/trunk ppa or, failing that, the version
     available in lucid.
 * Adds test dependencies in tools/test-requires
 * Updates swift/common/middleware/formpost.py for pep8 compliance
 * Adds instructions for executing the tests with Tox to the
   developer_guidelines
 * Adds instructions for installing openstack.nose_plugin to
   developer_saio
 * Fixes bug 909177

Change-Id: I5407924d2181e9ab335aaf76bf30c8d40deccbb4
2012-03-07 22:44:34 -08:00
John Dickinson
3d9672799d removed tools/rfc.sh
Change-Id: I297c3801991cbed2c360b3324d005ed003a1108d
2012-01-23 15:43:48 -06:00
James E. Blair
46c5ed75e1 Add rfc.sh to help with gerrit workflow.
Change-Id: If2af58cd4724b440d47385c10f202c9441cdf4bb
2011-09-06 08:37:54 -07:00