152 Commits

Author SHA1 Message Date
Matthew Treinish
1722f0b17c Fix url parsing for api version check
This commit fixes a couple of oversights in the common api version
check function. The previous version of the method would never work
because the url wasn't passed to urlparse, and the resulting endpoint
url would be missing a ':' even if it were.

Change-Id: I4b6bb47f0601063aa8164ded386ca71adc6ccc80
2014-04-11 20:13:06 +00:00
Sean Dague
ef2865af43 remove n-sch from the watch list
we've seen no n-sch errors in passing gate runs in the last week,
I consider this sufficient proof that we're clean on n-sch for now.

Part of bp:clean-logs

Change-Id: Ife0e0602767e155fc645e07546bed36c2c060a20
2014-04-10 07:26:09 -04:00
Matthew Treinish
864fe07b13 Add keystone api version detection to verify_tempest_config
This commit adds a check for the keystone api versions that are
supported and checks that with the config file. In the process of
adding the additional check the version verification code is reworked
to use a common get versions method.

Partially implements bp config-verification

Change-Id: Ibb15c53e2b2a1e2a2ad95351692d06389f2ebb06
2014-04-09 17:27:36 +00:00
Sean Dague
e2cda41ad5 ceilometer-collector now has errors
need to add this to the dirty list to make forward progress.

In order to make the results more readable we also need a line
break before the log file stanza.

Change-Id: I863a8a30384edf27a4ba761c707b5cf673c1f86e
2014-03-26 15:39:05 -04:00
Jenkins
fd5aa5e1cd Merge "Update Oslo config sample generator" 2014-03-26 08:29:33 +00:00
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
Matthew Treinish
90ac914ca1 Update Oslo config sample generator
This commit syncs the latest version of the config generator and all
it's dependency modules from oslo-incubator. The justification was
change Iee6cc05cad70963f2a151f595ac376c9338f5774 which adds the oslo
synced version of the check_uptodate script. Which among other things
does proper cleanup of the tempdirs

Change-Id: I56bdd239b328cc38a83f80d14e53cc62d4f97954
2014-03-17 15:04:12 +00: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