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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
The extension has been removed from nova so there is no reason to
keep the tempest side code around.
Change-Id: I780028729b71c130a16d23e783f3a12c620b784a
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
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
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
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
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
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
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
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
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