146 Commits

Author SHA1 Message Date
Jenkins
590cde1f79 Merge "Add service/endpoint discover to verify_tempest_config" 2014-03-21 23:02:12 +00:00
Jenkins
02b4c04697 Merge "change dirty logs to work off a whitelist" 2014-03-19 17:37:47 +00:00
Jenkins
2258bddb36 Merge "Add swift discoverable_api support to verify_tempest_config" 2014-03-19 09:02:01 +00:00
Sean Dague
5d407e2125 change dirty logs to work off a whitelist
instead of marking the logs that we think should be clean, mark
the ones we think should be dirty. This means no new services can
come in with unclean logs.

remove the whitelist data, as that's currently obsolete, we'll
remove the code for it later.

Change-Id: I4b15c932b78f54ec371aa67c7b4e8248b3f9c0eb
2014-03-18 18:50:24 -04:00
David Kranz
5274de426f Allow failing logs with errors on a per-log-file basis
Change-Id: I382a173b9e2ad4cf2d6c5761db62722cb8828e55
2014-03-07 15:12:51 -05:00
Jenkins
652a624635 Merge "add TRACE level to the items that are being flagged" 2014-03-04 21:17:34 +00:00
Matthew Treinish
221bd7f59b Add service/endpoint discover to verify_tempest_config
This commit adds a check to verify_tempest_config for which services
are available. This is used to do 2 things:

1. Verify that the entries in the service_availble group are set correctly
2. Use for filtering which checks inside the script are valid to perform

Partially implements bp config-verification

Change-Id: Ib0e55f21b83d0746994e7e7e1f9666524e1bb3b7
2014-03-02 03:48:51 +00:00
Matthew Treinish
c0120ba257 Add swift discoverable_api support to verify_tempest_config
This commit adds support to the verify_tempest_config.py script
for detecting which swift apis are enabled.

Partially implements bp config-verification

Change-Id: I7f4a1fdc41246b3584aa5d3faca5920ca5c2f6e5
2014-03-02 03:48:51 +00:00
David Kranz
002d684e0d add TRACE level to the items that are being flagged
Change-Id: I7f13829abe2f5c7a5f0b9173acf43b3c709b1a5e
2014-02-20 17:53:02 -05:00
Matthew Treinish
a508081055 Fix get versions call in verify_nova_api_versions()
This commit fixes the HTTP GET call to return the list of nova api
versions. The enpoint that the tempest clients use for servers
includes the api version. This is because nova registers each version
api as separate endpoints in keystone's catalog. So this commit fixes
the url to use the unversioned endpoint so the list of versions will
be returned.

Change-Id: Iaf4671d4d1dd285161aa5679648956c086a9119c
2014-02-18 20:37:11 +00:00
Jenkins
5e678848ca Merge "Rename Openstack to OpenStack" 2014-02-18 12:47:32 +00:00
tanlin
4956a64ce1 Rename Openstack to OpenStack
Change-Id: I64530a086f591a2f0e33ab734e4241b4c9846820
2014-02-13 16:53:04 +08:00
Jenkins
c86d2e3da8 Merge "Dump all log errors to console" 2014-02-12 03:05:09 +00:00
Andrea Frittoli
8bbdb1660f Multiversion authentication part1
Moves authentication from rest_client to an external auth_provider,
assigned to the client by the client manager.

The auth provider can decorate a request based on credentials (coming
from the client manager) and filters (region, service, endpoint_type)
given by the client. The auth provider can also return the raw
auth_data, which in the Keystone implementation is a tuple (token,
auth_data). The auth provider allows mixing multiple credentials
when decorating a request, possibly using empty or invalid credentials,
to facilitate negative tests.

The auth provider caches auth data, so that all API requests for a
specific set of credentials only require a single call to obtain a
token, unless the token expires or is forcefully deleted from the
auth provder.

Two implementations of the auth provider are included: Keystonev2 and
Keystonev3.  The Manager object behaves as factory of auth_providers,
building the correct one based on the configured auth_version, and on
the interface type (JSON or XML).

Fixes endpoint selection for v3 auth. Drops unused basic_auth.
Extends TokenClients to provide both token and auth data,
and accept different combinations of credentials for v3.
Removes redundant server_client_v3_auth.

Adapts tempest unit tests to work with modified rest client.

Introduces a configuration parameter for authentication version to be
used. That is used when instantiating the client manager, and it
applies to all clients used by api tests.

Next steps (next patches):
- move to credentials as dict (as opposed to tuple)
- expose a get_client method from the client manager
  and create clients only when requested
- remove redundant CustomizedHeader object storage clients
- supports keystone v3 in tenant isolation
- use Auth Provider in scenario tests
- use Auth Provider in CLI tests
- implement parsing of catalog XML format (?)

Partially implements: bp multi-keystone-api-version-tests

Change-Id: Icfa921e9051c01f339f8d2471b12d6ec950cc456
2014-02-05 11:34:53 +00:00
Matthew Treinish
d44fe033e4 Don't run extensions list if service isn't available
This commit adds a check to see if the service is available before
running the extension list verification.

Partially implements bp config-verification

Change-Id: I722440cf84a44d9c38536a3421972c1cb837969e
2014-01-31 20:07:24 +00:00
Jenkins
29269a641e Merge "Add a check for compute api versions to verify_tempest_config" 2014-01-28 01:34:19 +00:00
Jenkins
75ff64d085 Merge "Add neutron extension support to verify_tempest_config" 2014-01-25 19:28:07 +00:00
Jenkins
3597ac930e Merge "Rework extension verification in verify_tempest_config" 2014-01-25 19:27:59 +00:00
Jenkins
c36e2de175 Merge "Use install_venv from oslo to fix no post_process issue" 2014-01-25 17:06:10 +00:00
Masayuki Igawa
e8d31a0b80 Remove vim headers
We don't need to have the vim headers in each source files. We can set
it in our vimrc file instead. Also if set incorrectly, gate (pep8 check)
will catch the mistakes.

More discussions:
http://lists.openstack.org/pipermail/openstack-dev/2013-October/017353.html

Change-Id: I43703e2289212389c7841f44691ae7849ed1f505
Closes-Bug: #1229324
2014-01-20 11:22:45 +09:00
Matthew Treinish
4f30eb8dae Add a check for compute api versions to verify_tempest_config
This commit adds another verification method to the
verify_tempest_config script that adds a check to see if the compute
v3 api is enabled.

Partially implements bp config-verification

Change-Id: Idae7db73c9eba94b7f74ec2f71e20d4267aa582c
2014-01-14 18:23:00 +00:00
Matthew Treinish
8c6706d809 Add neutron extension support to verify_tempest_config
This commit adds support for the neutron extension detection to the
verify_tempest_config script. The neutron extensions api behaves
slightly differently from the other services in that several of the
extensions' name field is really a title that includes spaces. This
can't be used for the list option and the tempest code already
assumes that the alias field is used instead of name.

Partially implements bp config-verification

Change-Id: Ib60f191fec1cb6b9d60055a848749b07b8393cf5
2014-01-14 18:22:48 +00:00
Matthew Treinish
8b006d289a Rework extension verification in verify_tempest_config
Due to several changes being made to the config nomenclature around
features and extensions in tempest the verify_tempest_config script
was actually not valid anymore. This commit fixes the script to use
the updated config structure. Additionally it adds support for all
3 api's in tempest that currently have extensions api clients:
nova, nova_v3, and cinder.

Partially implements bp config-verification

Change-Id: I35c325c5f57803b36906bde13f132b69509f5e85
2014-01-14 18:22:05 +00:00
Masayuki Igawa
f3d92ecc2e Use install_venv from oslo to fix no post_process issue
In a recent oslo sync commit Ib9b07fe733dc2c924ac0eb054fa707dd352a812b,
post_process() has been removed from tools/install_venv_common.py.
However, it's still called in tools/install_venv.

The current code for CentOS looks like trying to install the openssl
after trying to compile pyOpenSSL. So this can't be working.

This change switches tools/install_venv.py to use oslo code to align the
effort as well as fixing original no 'post_process' issue.

Note: openstack-common.conf is not updated. Because the project name
variable in install_venv has to be modified after syncing from oslo.
That makes it not an exact sync but modification after sync now.

Change-Id: Ia50075f9b317315eb939ddb66645987bb9ec69c2
Closes-Bug: #1263940
2014-01-14 10:55:12 +09:00
Sean Dague
fc691e33f3 sync oslo to current
this is largely to deal with config generator issues, however
we're apparently quite far behind on other items, so lets just
sync it all.

Change-Id: I2f36e41b5d7cce8dd0b64636e45da3f7481b0e39
2014-01-03 09:25:29 -05:00
David Kranz
955a9e39ec Dump all log errors to console
Errors that are not whitelisted are tagged for differentiation.

Change-Id: I1a4f392b3fe4276afbe1610af679d5e11ee8acad
2013-12-30 12:04:17 -05:00
Sean Dague
86bd8427e3 moving to global lazy loaded config
one of the problems we've got with tempest is the fact that config
loading is tied into the class hierarchy. However there is no
reason why it should be. If we instead create a config proxy
object we can lazy load the actual config when we are executing,
and not do it at import time.

This could use future iteration, but it does a huge job in
removing config from the object inheritance tree which massively
simplifies our ability to use config variables throughout the code.

Change-Id: I9b1bbfe231c85c01938bd68be4e5974bd24130d6
2013-12-20 14:00:14 -05:00
Jenkins
69bcb82a7f Merge "Tighten ERROR regexp in log checker" 2013-12-16 03:12:31 +00:00
Matthew Treinish
1ee4398ade Set pipefail for wrapper scripts
Previously if the testr list command was failing subunit2py would
return a 0 making the test runs that use the pretty_tox scripts also
return 0 despite testr actually failing. This commit gets around this
condition by setting pipefail in the pretty_tox scripts to ensure that
we actually fail.

Change-Id: I9cbaf83cfea7c02133b27fe639e7ea12edb48f7e
2013-12-14 10:42:20 -05:00
Sean Dague
1159e52a2c don't fail on dirty logs with grenade
because grenade is upgrading from old to new we might actually
expect the logs to be dirtier than in upstream tempest. The grenade
logs weren't scrubbed in the same ways during the development here
as the tempest regular runs.

Change-Id: Id1bcc2cc85e73a414d382756a65ea1d80dc10b00
Closes-Bug: #1259907
2013-12-13 18:46:21 -05:00
David Kranz
0e9ac35d6d Tighten ERROR regexp in log checker
Because each project uses a slightly different format for logging, and
sometimes different formats within a project, it is hard to match ERROR as
the log level across all log files. There was a failure caused by "ERROR"
actually showing up inside a keystone token. This change will prevent that
though it is still possible something else could slip through.

Change-Id: Ic8b036b4ed7481856231b2d073d273b1df783415
2013-12-11 13:59:05 -05:00
Jenkins
3eeb857f1f Merge "Rip out the coverage extension client from tempest" 2013-12-08 02:07:11 +00:00
Sean Dague
6b44788b65 update to hacking 0.8
hacking 0.8 brings us a working H302 rule (should import modules
not objects) and a bunch of python 3 compat rules.

fix the python 3 compat issues to make this landable.

Change-Id: I53abf39394afc54da5ad049802dca0032f14882d
2013-12-03 18:33:23 +00:00
Matthew Treinish
96a20bcd90 Rip out the coverage extension client from tempest
The extension has been removed from nova so there is no reason to
keep the tempest side code around.

Change-Id: I780028729b71c130a16d23e783f3a12c620b784a
2013-12-03 11:40:25 -05:00
David Kranz
b705d466bd Start failing logs with errors except neutron
Change-Id: Ie9d52cca37fc02cdec506633b055e37c7e35fabe
2013-11-30 04:14:44 +00:00
David Kranz
78dc5abf0c Fix file print logic bug and update whitelist
Change-Id: I723cb28b05fda314fa42c4d9baf5b2d922446867
2013-11-29 14:13:20 -05:00
David Kranz
e07cdb8767 Dump all error messages for neutron
Also, prepare to fail all jobs except neutron if there are errors.

Change-Id: I6e8299b45a8845d9772f37feaf360b9bc1be2675
2013-11-27 10:53:54 -05:00
Matthew Treinish
6eb0585f70 Improve the UX around sample config generation
This commit just adds some documentation around using the sample config
generator. It also adds a wrapper script that sets the env variable for
running the oslo generator script with tempest.

Change-Id: I860b17defeeb85174e68b1e8b046b0e43c30683b
2013-11-26 15:47:52 +00:00
Jenkins
f9455867ef Merge "Add sample config check to tox pep8 job" 2013-11-25 18:51:01 +00:00
Matthew Treinish
3d46811826 Add sample config check to tox pep8 job
This commit takes the check_uptodate.sh script from nova and adds it
to the pep8 tox job. This will enforce that the sample config file is
up to date for each proposed commit. This also ensures that config
options are setup properly and that the style in the sample config is
consistent because it's auto-generated.

Partially Implements: blueprint config-cleanup

Change-Id: I9efaa9fc1cf09e95d7111b000895c7b49705713b
2013-11-25 15:11:47 +00:00
Tal Kammer
f30b4ef240 Added images support and existing config support
This adds the support of auto configuring images to be used by
tempest by either using existing images in glance or in case they
do not exist, download the cirros images and register them.
Also, added the option of specifing a config file instead of
relying on the sample

Change-Id: I436d2a75706fdaa294a92d0fd38ea3269c776e8c
2013-11-13 10:52:58 +02:00
Jenkins
e521962b67 Merge "Sync latest module versions from oslo-incubator" 2013-11-12 11:43:09 +00:00
Matthew Treinish
547e843c86 Sync config file generator from oslo
This commit syncs in the sample config generator from Oslo-incubator.
This will enable the sample file to be auto generated instead of
managing it by hand which is prone to errors.

Partially Implements: blueprint config-cleanup

Change-Id: Ic2553da72de5978b5d721d2ddb4c68ec1bf5005d
2013-10-29 20:10:53 +00:00
Matthew Treinish
99afd07524 Add api version detection to verify_tempest_config
This commit adds glance api version discovery to
verify_tempest_config.py. It will query the glance API to see which
API versions are available and then compare that to what is in the
config, pointing out any differences

Partially Implements: blueprint config-verification

Change-Id: Ie75f7f526d78b85a53ea4b0484e670d373d622ec
2013-10-29 20:10:53 +00:00
Matthew Treinish
1f7b33d908 Add config feature verification script
This commit adds a new tool to tempest that will verify that API
queryable config options are set correctly. Right now the list of
options that are verified is very short. Later on additional checks
will be added to verify other services features when the tempest
clients for the other services get functions to query enabled
extensions.

Partially Implements: blueprint config-verification

Change-Id: Ie3b5fadd74460fb7199bff7046ec0efe37268b94
2013-10-29 20:10:53 +00:00
Matthew Treinish
f45528a527 Sync latest module versions from oslo-incubator
This commit just syncs the latest modules from oslo-incubator, which
includes removing the second copy of LockFixture from the
tempest.openstack.common.lockutils module.

Change-Id: Ib9b07fe733dc2c924ac0eb054fa707dd352a812b
2013-10-24 20:12:28 +00:00
Matthew Treinish
bae2a99b3a Add filenames to skip_tracker.py output
This commit adds support for also printing the filenames along with
the bug number in the skip tracker output. This should make it
slightly easier to find the skips and remove them.

Change-Id: Ia3502f1a48bb9e028d046fa60307e398582e6124
2013-10-20 23:56:21 -04:00
Jenkins
86ab2385c7 Merge "Accept gzip files in find_stack_traces.py" 2013-10-12 07:47:04 +00:00
David Kranz
e8e263115b Script to filter logs for ERRORs based on whitelist
The script will take a directory or url containing log files.
For now all non-whitelisted errors will be dumped to the console but
the script will always return success. Once we are convinced it is reliable
enough we can change it to fail on non-whitelisted errors.

Partially implements blueprint fail-gate-on-log-errors

Change-Id: I30b0eee1055f47aaad7984d886c739ccf5aa6186
2013-10-11 09:27:11 -04:00
David Kranz
9e3c71780a Accept gzip files in find_stack_traces.py
The server response seems to have changed since this code was originally
written.

Change-Id: Icffc062ce46f59b678fe468560d198567286fe67
2013-10-09 21:51:25 -04:00