rest_client is NOT redriving rate limited calls for the second time.
When 413 error code is encountered for a request, it checks for the
word "overLimit" and "limit" in resp_body and resp_body[message]
respectively so as to confirm if it is a absolute-limited call.
If absolute limited call is confirmed, OverLimit exception is raised
without any re-try for request.
Then comes the check for depth < MAX_RECURSION_DEPTH, if it is true,
re-drive towards request call occurs.
But, the word "limit" also appears in the message of ratelimited call.
Hence it is incorrect to raise OverLimit exception without re-try when
word "limit" is present in the message of response.
Thus changed the word to "exceeded" instead of "limit".
Fixes: bug #1093573
Change-Id: Iadd94c18668096d7e4795631337230ec36e9c4b9
Adds three test cases to "test_object_services.py" so as to validate
GET, Create, Delete object without using credentials. And also
Added corresponding client method in "ObjectClientCustomizedHeader"
class of object_client.py. For the above test cases to work properly,
the earlier test case and test name
"test_access_object_without_using_creds" has been modified
Incorporated reviewer comments and submitting as patch 3.
Change-Id: I9ef545046d3e3b258b054ef3f45f6a07db541363
Implements: blueprint add-swift-security-tests
* DefaultClientSmokeTest.tearDownClass was previously calling
delete() on test resources without error handling. Since the
intent of the method is to remove test resources, a NotFound
exception indicating that the resource has already been
removed can safely be ignored.
Change-Id: Idd289d2f3ce4133c49b0c882304d6ad6695a7396
* Adds negative tests for volume types.
* Adds negative tests for volume type extra specs.
* Adds xml client for volume types and extra specs.
Fixes LP Bug #1090229
Change-Id: I97ad07ffff7d85b5901fb4c23b70fe4a8814ebcb
Rather than just taking the first region in the array,
specify the name of the region as a string. If the region
is not found, then fallback to the first in the array.
Change-Id: I9f710812cc69a4f4f615ca72483dd58441b3b08a
Currently when running Tempest tests with run_tests.sh a venv
isn't being used. This leaves tempest at the mercy of whatever
required package versions are installed on the system.
This patch takes install_venv.py and with_venv.sh from nova and
integrates them into run_tests to ensure that the correct
dependencies versions from pip-requires and test-requires are
being used.
Change-Id: I4bf4a02890a33c4034e4493d1763ed4019fdf46e
Adds object expiry test case to "test_object_expiry.py" so as to
validate the object expiry support by trying to GET object after
expiry time.
Implements: blueprint add-swift-object-expiry-test
Change-Id: I1a29e8ae57e9f8661c21000775153bda78b0c689
Updates the common/rest_client keystone_auth function so that
it doesn't hard code the 'service_name' for the volume service.
The motivation here is to allow Tempest to run in more environments
where the volume service name may not always be 'cinder'.
Change-Id: I3b892781929642fd42a3dd3b4ba8d44486bfe275
* Added test_network_basic_ops, a port of the devstack exercise
script quantum-adv-test.sh.
* Tenant network connectivity can be tested by setting
the 'tenant_networks_reachable' key in tempest.conf to 'true'.
* Public (floating ip) connectivity can be tested by setting the
'public_network_id' key in tempest.conf.
* Addresses bug 1043980
Change-Id: I506518c431a8da0b91e3044f2a6aabce48081d93
Added a test case to "test_object_services.py" which tries to GET
public readable object with an empty header. Added a new class
"ObjectClientCustomizedHeader" to object_client.py inorder to overwrite
the http request with an empty header, which makes the test case to
"Make container public-readable, and access the object anonymously
without using credentials" with proper verification
Change-Id: I407ceffefb6a99cbfa3bb31421189190aa3f8c1c
Implements: blueprint add-some-functional-swift-tests
Possible fix for bug #1079687
When running tests we create a lot of servers, and do delete
calls at the end of tests. However delete is an async action,
so the previous servers will often be hanging around after our
tests. In memory constrained environments like the OpenStack CI
system if deletes happen too slowly we hit the memory limits,
nova scheduler can no longer schedule VMs, and the tests get flakey.
This *may* fix the periodic fails we've seen on tempest in nova.
Pair programmed with Matt Treinish <treinish@linux.vnet.ibm.com>
Change-Id: I1f93ac26064c68bf529e2efa1bf0c35e1f4e7d2c
most of the servers tests weren't using the create_server
utility method, which meant no automatic server tracking and
class level cleanup.
Most of these tests used the underlying create_server with
additional keyword args, and expected access to the resp in
the return, so a new method was needed for easiest transition.
create_server_with_extras shouldn't run synchronously because
we need to test states of servers besides ACTIVE
Pair programmed with Matt Treinish <treinish@linux.vnet.ibm.com>
Change-Id: I736ea755a512723eb6b9bae57e2112985c46ea45
In testing and QA environments, often endpoints are set up
with self-signed or incomplete certs, and Tempest will bomb
out with complaints about being unable to validate SSL certificates.
Tempest isn't about testing SSL certificates. It's about testing
the OpenStack APIs, and if a common scenario is to test SSL and
endpoints in a testing environment, the client should disable
SSL cert checking.
Change-Id: I999cef9b5cd40a94c1b1bd63f4e19b2e58924c9a
fixes: lp bug #1089762
The whitebox/SSH tests use paramiko, but it is not listed
in the tools/pip-requires. This adds it.
Change-Id: Icd3df69a94446f85772e515a820d8a013f0271f8
fixes: lp bug #1089763
This adds hacking.py, based on the one in nova, to wrap around
pep8 and enforce more stringent checks on tempest. This adds
the rules that nova is currently enforcing on incoming commits.
The rules that pep8 is ignoring are copied from the pep8 check on
jenkins.
The HACKING file was also updated to indicate the inclusion
of the new rules that are being enforced.
Change-Id: I5c85829ee15d4264d8de2d9f0207d9dd3dfbbff2
This fixes pep8 issues introduced in Change:
I19ff56a434f8cc87089f2488e97701492e47d830
Which didn't comply with TEMPEST N306, N201
Change-Id: I4c31cbdbb9bd288f8f99cf9d68d4d94f9a64bf68