- Adds new median metric both on CLI and HTML reports.
- Adds supports for table header that consolidates
units from each metric, and gives a title.
- Re-organizes metrics based on order statistics
(min, percentiles, max) then its followed by
aggregate statistics metrics.
- Includes unit tests.
Change-Id: Icd154c9f00b5e9d6df11797685fe8f92c4fdbb1b
This patch makes output of `tox -epy34` to finish with following message:
> py34: commands succeeded
> congratulations :)
Issues:
* module "__builtin__" was renamed to "builtins" in Python 3
Related modules:
- rally.api
- tests.unit.benchmark.scenarios.vm.test_utils
* function "map"/"filter" returns "builtins.map"/"builtins.filter" object
in Python 3 instead of list in Python 2. "builtins.map" and
"builtins.filter" object is not subscriptable and has no len(), so list
comprehension is preferable to use and py2/py3 compatible way.
Related modules:
- rally.benchmark.context.sahara.sahara_edp
- rally.benchmark.processing.plot
- rally.benchmark.sla.base
- rally.benchmark.types
- rally.cmd.commands.task
- rally.cmd.commands.verify
- tests.unit.benchmark.scenarios.test_base
- tests.unit.benchmark.wrappers.test_keystone
- tests.unit.cmd.commands.test_task
- tests.unit.cmd.commands.test_verify
* dict.keys()/dict.values() returns "dict_keys"/"dict_values" object in
Python 3 instead of list in Python 2. so list(dict) and
list(dict.values()) should be used instead.
Related modules:
- rally.benchmark.scenarios.utils
- rally.benchmark.scenarios.vm.vmtasks
- tests.unit.cmd.commands.test_show
- tests.unit.common.test_broker
- tests.unit.deploy.engines.test_fuel
- tests.unit.fakes
* Some changes was made in Python 3 related to data model, so we should
change our inspect code. See code changes for more details
Related modules:
- rally.cmd.cliutils
- rally.common.utils
* ConfigParser is more strict for duplicate items in Python 3, so
duplicates are removed
Related files:
- rally/verification/tempest/config.ini
* Exception object doesn't have "message" attribute in Python 3, so
if we want to get it, the most proper way is using "getattr"
Related modules:
- rally.verification.tempest.config
* "mock.MagicMock" is not sortable in Python 3, so we should add required
attributes to fix that.
Related modules:
- tests.unit.benchmark.context.test_base
* assertSequenceEqual assertation method was added in tests.unit.test to
compare sequence objects
Related modules:
- tests.unit.benchmark.context.cleanup.test_resources
- tests.unit.benchmark.scenarios.nova.test_utils
* function "range" returns "range" object in Python 3 instead of list
in Python 2.
Related modules:
- tests.unit.benchmark.processing.test_utils
* keyword arguments should be transmitted to self.assertRaises as kwargs,
not like a dict
Related modules:
- tests.unit.benchmark.scenarios.dummy.test_dummy
Additional changes:
* Python 2.6 was added to setup.cfg, since Rally supports it.
* py33, py34 environments were added to tox.ini
* wrong ignore path was removed from tox.ini
* made items of bash complition sorted
Several tests are skipped in Python 3 env. For more details see notes in code:
- tests.unit.benchmark.processing.test_plot.PlotTestCase.test__process_main_time
- tests.unit.benchmark.processing.test_plot.PlotTestCase.test__process_atomic_time
- tests.unit.common.test_utils.MethodClassTestCase.test_method_class_for_class_level_method
During porting Rally to Python3, several issues found and fixed in
TempestContext and its unit tests:
- If process of cleanup is failed, exception is handled and cleanup is
marked as successfull. This issue was fixed and CleanUpException was
added to rally.exception module
- Cleanup was called with wrong path.
Change-Id: If04e873790dcb4c9c882d4be4bf40479deedd36d
Rules:
N311 - Validate that debug level logs are not translated
N320 - Ensure that ``assertTrue(isinstance(A, B))`` is not used
N321 - Ensure that ``assertEqual(type(A), B)`` is not used
N322 - Ensure that ``assertEqual(A, None)`` and ``assertEqual(None, A)``
are not used
N323 - Ensure that ``assertTrue/assertFalse(A in/not in B)`` are not
used with collection contents
Also, small bug related to logging in verification was fixed.
Change-Id: Ieabe1b23d0c02cc13bb6cad106ab855507359ddc
In this patch:
* responsive behavior of task report is changed:
now we have minimal width with scroll bars
and scenarios list is always on left side
* `bootstrap' framework css is removed - now its responsive grid
is useless, so other styles were reimplemented
* AngularJS, D3, NVD3 updated to recent versions
* Current tab is now a part of URL hash
* Expanding arrows are added on scenarios list
* Table row with `total' values is highlighted and always last
* Chart scope ends correctly on large count of iterations - e.g. if last
value is 1200 and limit is 1000, then scope ends with 1200, not 1000
* Fix: more accurate histograms calculation
Change-Id: Ie9ed98443a7f2163bc5fbf0d416b9bda8c5b3b6f