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
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
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
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
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 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
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