In addition:
* remove usage of LegacyEngineFacade
* extend migrations tests to check that we actually for something rather
that relying only on 'for' loop
* fix `_pickle.PicklingError: Can't pickle ...` error that occures only
on mac m1
* update u-c file
Change-Id: I6030dcc93439ad5f4786cc94707d3f0d49cf3adb
Rally code is not compatible with SQLAlchemy-2.0.0,
until it's compatible let's pin it.
CI jobs are broken with multiple errors, so to get
this in also need following fixes:-
- Remove python-dev from bindep to fix announce-release
and docs jobs
- Update upper-constraints for testtools to 2.5.0 to fix
issues with python3.10+
- Update tox.ini for tox4 compatibility
- Ignore warnings introdueced with oslo.db-12.1.0,
SQLAlchemy-1.4.46
- Make tox-cover job non-voting as to get it passing
coverage report need to succeed for previous commit,
which will not succeed without the required changes
in this patch. It will be made voting again in follow
up patch.
Related-Bug: #2004022
Change-Id: Ifcffd11e300e1485fdbfa54b23bcdcaa6ad61011
* rtd can use only one requirements file
* remove redundant requirements from tests-requirements.txt
* update upper-constraints
Change-Id: I9fa049abbe1fd95b4a3adbc8994225d46571db27
six library helped a lot for Py2/Py3 compatibility. Thanks the authors
for the great library.
Since we do not support Python 2, there is no need in six anymore
Change-Id: If5213c088964aa137e6ff5ac2c376a02a980aa72
+ remove sseveral unused ci files
+ ignore some warnings during pytest execution to make the output clean
Change-Id: Ic94ab503ea77c8a1582292becad872670034d49c
morph library is distributed under GPLv3 dependency which means that we
need to distribute under package as well under GPLv3 license or stop
using this library.
Since we do not use too much from morph, so let's just let's write a
simple replacement for what we actually need.
Change-Id: I00df4e66a2365cbaa948707289b14262dc016454
* oslotest
We are using just one fixture class(with only one useful code-line) from
oslotest library. To reduce inheritors and simplify readability of the
code, let's remove oslotest dependency.
NOTE: coverage job will fail at master change with trying to import
oslotest. To fix this issue oslotest is temporary added to `cover`
tox env and will be removed in follow-up change
* testscenarios
We do not use this dependency now (or even ever?!)
* coverage
This library was used before we switched to pytest. Now, all we need
is pytest-cov
Change-Id: Id0d52f928e067ced5bf4613c291019529b43fbbf
we are using just several simple methods from oslo.utils which requires
a lot of other dependecies.
To make rally a lightweight framework, we need to abandon usage of such
things
Change-Id: I6e6170c7dabc97a089d030ee6b05fc07993e8c32
The new release of kubernetes python client improved the validation,
so we need to ediot our test to create the right fake objects.
As well, kubernetes.client.ConnectionObject was renamed to just `Connection`
and we should handle this.
Change-Id: I1a3275a8a5a3d729ce507689ab38e3c3d54d3c77
Sync our requirements with global openstack requirements.
Also, include uc for not direct rally dependencies
Change-Id: Ia1f0bf2cfbef75214ec66a8551bdfb5e84f90542
kubernetes 4.0.0 inlcudes some backward incompatible changes. Fixing
them requires some time and we need to unblock gates for now.
Change-Id: If54966f65e5083a8fc41ef910f7fa031903d9878
Using upper limits for all requirements adds a lot of pain for operators
and packaging teams. Sometimes it is very hard to find a list of
compatible packages which will feet rally and some other libs.
This patch stops setting upper limits for all packages in our
requirements list and moves to our personal upper-constraints file.
PS: It doesn't mean that we cannot limit packages in case of failures
and known compatibility issues
Change-Id: Id5d84fd1b605811ecbf7f88a4af8c2c607b9dd72
This elastic search exporter plugin allows user to export
results directly to the elasticsearch or dump to the ifle.
The implementation of this plugin is similar to other
exporters that user can call simply from command line, like:
rally task export --type elasticsearch --to ./results_dump.txt
or
rally task export --type elasticsearch --to https://user:pass@xxx.com
Co-Authored-By: Andrey Kurilin <andr.kurilin@gmail.com>
Change-Id: I59e8eeaaf666708923df98018c01ebfed4a0cc39
in rally/common/plugin/info replace sphinx prepare_docstring
with trim function from PEP-257 reference implementation
Also move Sphinx from requirements to test-requirements
Added several unittests for PEP-257 trim function
Change-Id: I9f13906cbb3ea9212a78b5bed178e15780001caf
Kubernetes Community provides python client named client-python project
for integrating with kubernetes. Let use the same in Rally. As Magnum
uses the same[1.].
I have ported the code from k8sclient to kubernetes.
[1.] https://review.openstack.org/#/c/432421/
Depends-on: I5489ee60cee9857036bb0796f56466cbbf1396c0
Change-Id: I443f2ece1168470b5c83f06bd7514ef257bb4df6
The OSprofiler is a distributed trace toolkit library.
It helps to trace internal calls of Openstack services including RPC, DB
and WSGI.
This patch integrates OSprofiler in Rally. Rally can trigger the
profiling on a per-iteration basis. To do so a secret key
(profiler_hmac_key) is stored alongside the credentials and used to
initialize the profiler in the constructor of the scenarios. A
configuration parameter (enable_profiler) can disabled the profiling.
Note that in this patch we don't embed the full osprofiler report but
only a trace id. This trace id can be used to retrieve the full trace
from the osprofiler tool later.
Change-Id: I7602856d094e073fde80d287b4d92b5750aacc3c
Co-Authored-By: rcherrueau <Ronan-Alexandre.Cherrueau@inria.fr>
Implements: spec osprofiler
Context and scenario to create pods and RCs
In this scenario, a Kubernetes cluster is created and
pods and replication controllers are launched. These
will in turn launch docker instances. The manifest
for the pods and replication controllers specifies
the docker image to be downloaded and used in the
containers.
The sample files will create nginx containers.
This scenario is intended to test the performance
of the Kubernetes as provisioned and configured by
Magnum. There are many ways to configure the
cluster, therefore it would be helpful to detect
if any configuration can be tuned for better
performance.
Partially-Implements: blueprint benchmark-scenarios-for-magnum
Co-Authored-By: Ton Ngo <ton@us.ibm.com>
Change-Id: I3284f44ecce1f6b30087ad380b72da9ac41f21ce
On systems where python-virtualenv is not installed, rally fails
to run. As such adding the package to requirements required for
running rally.
Change-Id: Ib95331bab90d0926750548704ac4ba7e997d72f1
Closes-Bug: #1678047
cue project seems to be dead now and python-cueclient
dependancies shows lots of deprecation warnings at run time.
Change-Id: I9e023276798e04820384b15d12cd7952aec441ce
The assertion error mentioned to justify the restriction is
not actually due to this version of the python package, but
instead due to an improperly prepared wheel which was
uploaded to pypi. This wheel has now been removed and the
package works properly.
Reference: https://github.com/eliben/pycparser/issues/147
This patch removes the restriction so that Rally's
requirements are back in line with the OpenStack upper
constraint for pycparser.
Change-Id: I66ef46ad4c1511f39817270f59c7c1511645f2eb
Related-Bug: #1629830
Related-Bug: #1629726
This should fix AssertionError: sorry, but this version only
supports 100 named groups during requirements install via pip
Change-Id: I2fd06f39066007ac5496a11eb048f97446a3aaf6
As discussed at weekly meeting, we should use optional-requirements only
for small number of cases.
This patch:
- moves most of packages from optional-requirements to requirements
- make groups of packages in requirements.txt
- sorts Openstack related group of package
- describes purpose of optional-requirements
Change-Id: I24fff516588d064069bf4226adeb0ae209c16d42