In Python 3, urlparse module is gone.
To support both Python 2 and Python 3, "six.moves.urllib.parse"
should be used instead.
Change-Id: I0adddbdea5a80606907a1b78ca1a04d15f61452b
Closes-Bug: #1403433
* Remove semantic validation mechanism for context. We will use same
approach as for current scenarios (via decorators)
* Pass "deployment" instead of "tasks" to validators. This allow us to
remove access to DB from validators + we can call validation without
creating tasks
* Add hacking rule to force using construction "from rally import objects"
* Fix unit tests
Change-Id: Ibf08183b28479cc49ab6adfd12298612f6b4397f
In python 3, the raise syntax no longer accepts comma-separated
arguments, instead working with exception instances.
Also, python 3 is more strict, tuple must be created explicit.
Change-Id: Ib56b6bdf9266c0a2ed410729dc1f33ca08921005
Closes-bug:#1405145
This file may be used to build rally image for docker.
More about docker: https://www.docker.com/
Also added some docs in installation.rst
Change-Id: I8580755b6838a3cebc2bd9e27854e68a02ff26b4
In Python 3, StringIO module is gone.
Class StringIO.StringIO is not available from io module.
To support both Python 2 and Python 3, "six.moves.StringIO" should be used instead.
Change-Id: I17e79d8625c75d6903f024c648d3ef62e21d0c51
Closes-bug:#1403076
There is no global variable "basestring" in Python 3.
"six.string_types" should be used to support both Python 2 and Python 3
Change-Id: I556fef0e98d00ab819e3dea961666b403b927b06
Closes-bug:#1403077
Rally should have detailed docstrings for:
* Benchmark scenario classes
* Benchmark scenarios
* Deploy engines
* Server providers
* SLA
Here we add such docstrings and also add a test suite that checks
that Rally is 100% covered with docstrings and that these docstrings
are correctly formed.
We also change the interface of the following benchmark scenarios
(for the sake of unification):
* CinderVolumes.create_and_attach_volume
* CinderVolumes.create_snapshot_and_attach_volume
* CinderVolumes.create_nested_snapshots_and_attach_volume
Finally, we refactor a bit NovaServers.boot_and_bounce_server.
Change-Id: Ia38c8fc2d692a09719d3e068d332647d4b0da47f
Since in Python 3 there's no longer dict.iteritems()
and to keep the compatibility with Python 2, instead of call
dict.iteritems(), we must call six.iteritems(dict).
This patch is to avoid broken this compatibility in the future
adding a validation for iteritems.
Change-Id: I7c5e312801db886483b0ff5c45a80cba6848c95e
The auto_security_group is now enabled by default for all Node Groups in all
Clusters. This is required for setting up a security group with a list
of TCP port for Hadoop operations.
Sahara does both creating and removig security groups automatically.
Change-Id: Ie862b541f468286bf4380f6e8d19014229beef91
This patch replaces code that creates networking resources in
NovaSecGroup.boot_and_delete_server_with_secgroups
with usage of our new Network Context.
Change-Id: I9e63256d409978763ee3bb9bf0d896313ba6dec9
Context for networking resources.
Note:
using this context in security_groups related scenarios
will be added in another patch.
Main changes:
* the network context class
* rally.benchmark.utils.RAMInt class that represents integer value in RAM,
so we can make process safe sync of cluster-unique stuff (like CIDRs)
* rally.benchmark.wrappers.network module, that unifies network service
implementation, for usage both in context and scenarios
* optimization in NovaScenario._boot_server
Co-Authored-By: Lingxian Kong <anlin.kong@gmail.com>
Co-Authored-By: Timur Nurlygayanov <tnurlygayanov@mirantis.com>
Co-Authored-By: Sergey Skripnick <sskripnick@mirantis.com>
Co-Authored-By: Vadim Rovachev <vrovachev@mirantis.com>
Co-Authored-By: Aleksandr Maretskiy <amaretskiy@mirantis.com>
Implements: blueprint benchmark-context-network
Change-Id: Ia2c461ba3421dc9650c4bb7949c115fee08c6b7b
Current Rally provides "boot_and_list_server" scenario, but doesn't provide
"list_servers" scenario. User can specify number of servers which will be
created in context.
Change-Id: I1a4f0b30dcfba08f8830448c99e687014282e094
This benchmark is super unstable and almost fully block rally gate.
The reason is in Nova and Neutron races. So we have to remove until
we fix those projects.
Change-Id: I2188b984183578c5c3f1f42b5e1ba5593692683f
Small change that fixes cleanup order, and a bit of refactoring.
Changes:
* order values in rally.benchmark.context.cleanup.context
set to maximum value, so this cleanup runs first after scenario
is finished. That avoids blocking of context resources deletion
by resources that created by scenarios.
* change some resources order so they are not immediately follows
after each other: 301, 302, 303 -> 310, 320, 330.
Change-Id: Id195d7df6cb369d448f8a0019891a693a0d3d0aa
dict.iteritems() was removed in Python 3. This patch
replace dict.iteritems() with six.iteritems() to support
both Python 2 and Python 3
Closes-Bug: #1403071
Change-Id: I5bcee5db2d7188633d45e6161e0c956449ad2197
* Ignore any service not present in pre-defined service list
while generating tempest.conf
Change-Id: I69661e0cdafe83b5a3ae5cdb777a5c682117fe18
Closes-Bug: #1400907
This scenario for Zaqar benchmarks a serial consumer-producer
use case: creates a queue, sends messages to it, retrieves
messages from it and deletes the queue.
Some changes have been added to the fakes to test this
scenario properly.
Change-Id: I49d5956bbf571840829b3e9b1411a907748cf1ed
Optimize tenants and their resources in context.
Implement tenant related resources tree with tenant
as root.
Change-Id: I974f3a02eeade3de6f6208642fa593832f7c62d9
This patch properly print in the debug the exception that might
ocurr when rally calls the cmd.cliutils.run command
Change-Id: Ib4121f442196989ce77d6e3081f4288d35c52098
Due to some security reasons, this patch changes default user assignment
from "same as name" to uuid.
Also, named parameter "password" is removed from method signature.
If there is a need for a new user to be created with preselected
that can be done thru kwargs by seting value with the "password" key.
Change-Id: Iccd085a8e67b204d4f9a985d5628128f4299ff83