Implement task templates based on jinja2.
This allow us to pass as a task jinja2 template
and it's argument via arguments --task-args and
--task-args-file that should be dict in JSON or YAML
presentations.
So now command looks like:
rally task start <file> --task-args <template-args-json-or-yaml> \
--task-args-file <file-with-args-in-json-yaml>
If both --task-args and --task-args-file then file dict is updated
by task args file.
Extend rally CI performance job. Now we can set template args
via file with name: ${TASK}_args.yaml
Bonus:
* Better message on InvalidTask format
* Remove redudant catch of "keyboardinterrupt"
it should be implement in different way.
* Replace ' -> " in rally.cmd.commands.task
and tests.unit.cmd.commands.task
* Imporve a bit CLI messages on rally task start
* Remove old plot2html command (it's enough deprecated)
* Improve test coverage of rally/cmd/commands/task
* Fix rally/cmd/commands/validate return 1 if bad format
* Write errors to stderr (in whole cmd/commands/task.py)
Change-Id: I7dadf2986bb10407865bc73bb2fb8c96a5162d9a
Added ability to build one report from
results of multiple tasks. Tasks may be passed as UUID or as previously
saved json results. Also it may be mixed list of UUIDs and file pathes.
Closes bug 1406585
Change-Id: I11f2ca3ee6b868b79f91a4fa95e6a9ea918a79b0
* Add more info about basic entities in rally, add samples
* Fix wrong multiline :param: handling
* Fix "rally info BenchmarkScenarios" output so that it contains
no base classes with no scenarios
* Sort entity tables (BenchmarkScenarios/DeployEngines/...) by names
* Enable search for SLA by config option name (not only by class name)
and print this config option name in "rally info SLA"
* Fix SLA desciption in the basic "rally info" call
* Rename "rally info DeployEngines" -> "rally info DeploymentEngines",
but leave an alias (so that "DeployEngines" still works)
* Handle unicode bugs
* Modify the cliutils code so that it does not print traces in case of
excessive CLI arguments
* Other cosmetic improvements
Change-Id: I2ca2b5e7f00b503a1b60d2103596ab1dfa64ac46
Closes-Bug: #1392895
* Add "rally info BenchmarkScenario", "rally info DeployEgnine" etc.
* Simplify the default "rally info" output
* Add SLA support
Change-Id: I85259e7cf61b2b435b416b9618064f8ec22fe778
Small modifications to the rally commands 'deployment', 'task', and
'verify'.
In deployment, rename the subcommand endpoint to show, and remove
the pprint and json output options in subcommand config in favor of
pretty-printed json output only.
In task, perform the same in subcommand results as in config.
In verify, perform the same in subcommand results as in config.
Change-Id: I9686abf5088782e68111638da10be72c0e1135fa
1. Typing "rally info list" now results in a list of entities available in Rally:
$ rally info list
Benchmark scenario groups:
----------------------------------------------------------------------------------
Name Description
----------------------------------------------------------------------------------
Authenticate This class should contain authentication mechanism.
CeilometerAlarms ...
...
The same info appears on just "rally info" (we've monkey-patched InfoCommands
docstring to achieve this).
2. "rally info find" called for benchmark scenario groups now prints a list of benchmark
scenarios available there with short descriptions.
$ rally info find NovaServers
NovaServers (benchmark scenario group).
Benchmark scenarios:
--------------------------------------------------------------------------------
Name Description
--------------------------------------------------------------------------------
NovaServers.boot_and_bounce_server Test booting a server (...)
NovaServers.boot_and_delete_server Tests booting and then (...)
NovaServers.boot_and_list_server Tests booting an image (...)
3. Minor local code & UTs improvements
Change-Id: Ib954796245d12ee0aed793984233c3d36ad24ad5
Currently there is no built-in way in Rally to see the differences
between two verification runs. This feature adds a compare sub-command
to rally verify that takes two verification IDs as input and output the
differences between two verifications in the desired format, html, csv,
json or pprint. Output may be printed to std out or directed to file
destination specified.
Tasks
- Add compare sub-command to rally verify.
- Add ability to specify output format and file name of comparison
report.
Initial support will allow for output to either HTML, pretty print
or CSV.
- Create rally/verification/verifiers/tempest/diff.py that handles all
the comparing and output of results.
- Create required mako template (compare.mako) and renderer
(compare2html.py) class for HTML output.
- Added percentage threshold argument for determining execution time
differences
Change-Id: I0276e431d7d1ad89b1b28306cd0e0ea7e1174217
Implements: blueprint tempest-compare
Class `verification.verifiers.tempest.Tempest` contains next changes:
Output from installation of virtual environment is not useful for users,
so visibility of this output was changed and now only in debug mode it
will be printed.
The status of verification will be changed to 'FAILED' if something will
go wrong in subproccess.call
Two variables contain word 'tempest' in their names. This is redundant,
so they were renamed:
Tempest.tempest_base_path => Tempest.base_repo
Tempest.tempest_path => Tempest._path
Construction "os.path.join(Tempest.path, some_path)" was moved to method
`Tempest.path`, since it used in many places.
Method `Tempest.parse_results` should not be static, because it needed
inner variable `Tempest.log_file_raw`, so this was fixed.
"git remote update" is not needed in Tempest installation, so we can
remove this call and decrease time of installation.
In `rally.cmd.commands.verify.start` command, several issues were fixed:
First function argument changed to "set_name" instead of "deploy_id".
Reason: "deploy_id" have default value, so it should be the first in
arguments. It will simplify command for end-users(launch
'rally verify start <set_name>' instead of
'rally verify start --set <set_name>').
Task commands have cool feature: save task_id in global variables, so
results cmd can print the last task, without setting it id. This feature
is ported in verification.
Tests for verification contains a lot of tests, so they are splitted
to separate classes(TempestVerifyTestCase, TempestInstallAndUninstallTestCase
and etc). Also, new tests were added.
Change-Id: I08a52a1e3ceb468ba619049573bcfe642aecbcaf
Also removed some unused code in cliutils
Now `rally bash-completion' prints out bash completion script
Added test for checking completion script is up-to-date
Change-Id: I7e89baf71313da45e264fe344ff69be0e93a96d1
This patch add a script rally.bash_completion which enables
auto-completion of rally CLI in bash environmnet when running:
python setup.py install
or
python setup.py develop
test:
rally [tab]
rally ta[tab]
rally task [tab]
rally task de[tab]
to-do:
adding a cache to bash-completion result could speed up auto-completion
Change-Id: Ia4c68ccf3faea73da87a93ce64b36545d9d8411c
This is a bunch of code that actually does nothing.
"tox" command is much powerfull and it is actually used in gates.
In other words end users should use only "tox" command.
Change-Id: I2463434223c82e6eb59479cc00ee34014a5fe178
Includes updates in config generator, db.sqlalchemy, gettext utils and
log. New script added: tools/config/check_uptodate.sh
Change-Id: I0afaeb593e1b3425d7953b2a11711801299fe1f9
This sync brings the latest openstack/common/db code from
olso-incubator until commit
9fed4ed Fix Keystone doc build errors with SQLAlchemy 0.9
Changes in Rally caused by API changes in openstack.common.db code -
oslo.db no longer stores SQLAlchemy Engine and sessionmaker instances
globally and it's up to applications to create them. So we should add
methods for work with engine and session to Rally code.
Config database options was modified, so rally.conf.sample was updated.
Change-Id: Ia00f2c5fb54bb86f88440233f9bf79eab7b07589
Add gmp-devel to rhel dependencies in install_rally.sh
Also add +x permissions to test_install.sh
Related: blueprint rally-gate-jobs
Change-Id: I9effe4d70e6f7d43b52640cea96bf129071064bb
The following modules are updated:
cliutils,gettextutils,importutils,log,test,fixture,config
The following modules are new:
uuidutils
Other chnages:
* Added uuidutils to openstack-common.conf
* excluded rally/openstack* from pep8 check in tox.ini
Change-Id: I46fd3dc2e04bb9b5b74721a47689b860a9c68bdb
The install_rally.sh file is a Bash script that installs Rally on a
Unix system. Specifically, it is able to install and configure Rally
either globally (system-wide, the default behavior), or isolated in a
virtual environment using the virtualenv tool.
Change-Id: I4b6498a52cb1105fd8e27593ac482038ddcff702
Implements: blueprint rally-installation-script
Add run_tests.sh and tools that depends from it from oslo-incubator.
run_tests.sh has much more siplier interface, works much more faster and
display infromation in much more human readable format.