5748 Commits

Author SHA1 Message Date
Andrey Kurilin
d89eb07a02 Rework novaclient floating ips actions
Methods for association floating ips and dissociation were deprecated in
novaclient a year ago and latest major release (python-novaclient 10)
doesn't include them[*].
These actions should be performed via neutronclient now. It requires more
work, but there is no other options.

[*] https://github.com/openstack/python-novaclient/blob/master/releasenotes/notes/remove-virt-interfaces-add-rm-fixed-floating-398c905d9c91cca8.yaml

Change-Id: I6c019fe84fb3d6dfcef5dfadbbccff01bde4a102
2018-03-09 16:49:37 +02:00
Zuul
7174452c13 Merge "[openstack] Remove nova hosts specific logic" 2018-03-06 16:29:51 +00:00
Andrey Kurilin
877190f6cc [openstack] Remove nova hosts specific logic
os-hosts CLIs and python API bindings had been deprecated from
python-novaclient 9.0.0 and finally became removed in 10.0.0 release.

The related scenarios become redundant. We cannot launch then in gates
and it is impossible to ensure that they work even with old novaclient
release. Since it is not something critical and what is called regulary
in old OpenStack environments we should not provide any workaround and
can just remove the os-hosts logic from Rally.

[*] https://github.com/openstack/python-novaclient/blob/master/releasenotes/notes/remove-hosts-d08855550c40b9c6.yaml

Change-Id: I915983dbc634dafcab1cc54dba7bae8d4e368884
2018-03-06 14:30:55 +00:00
Zuul
40f4f22515 Merge "Fix exporting workload with n/a success_rate to es" 2018-03-03 00:26:50 +00:00
Andrey Kurilin
848d37e496 Fix exporting workload with n/a success_rate to es
ElasticSearch exporter assumes that success_rate from workload stats
is a string with numeric value from 0 to 100 + '%' char in the end.

It is not always True. For example in case of failure in contexts, the
workload inself will have "n/a" success rate.

This patch covers the case

Change-Id: If8380febc65f6f92331ef1137aa83301a81200a9
2018-03-02 17:39:07 +02:00
Zuul
bd2ffbba6a Merge "Neutron scenario to delete subnets for the same network concurrently" 2018-03-01 19:25:42 +00:00
chenpengzi
59c9dbf753 Fix documents title format error
Change-Id: I4c1f6b0017b0082bf4c41611cf9a1f38fae634a8
2018-02-28 11:10:54 +08:00
Zuul
7d30a6b9a1 Merge "Fix the version of websocket-client" 0.11.1 2018-02-27 16:34:46 +00:00
Andrey Kurilin
a7fbefdfb3 Fix the version of websocket-client
k8s client 4.0.0 excepts only <=0.40.0

Change-Id: Ic59053d1036571cee93a3d3b0980c34292a3574f
2018-02-27 16:06:57 +02:00
Andrey Kurilin
47ed3f7222 Fix title for Rally 0.11.1 release notes
Change-Id: I09c53675e469ce338ec2f9aeca11128ad02d020a
2018-02-27 15:29:03 +02:00
Andrey Kurilin
18e0647f85 Release notes for Rally 0.11.1
Change-Id: I78440781183588dcd86959500a5a13797fa4cd1f
2018-02-27 14:44:16 +02:00
Zuul
11376bd14b Merge "[ci] Return 4 as a magic number for coverage job" 2018-02-27 00:12:15 +00:00
Zuul
15628943b2 Merge "[db][ci] Add basic job for checking migrations" 2018-02-26 20:36:16 +00:00
Andrey Kurilin
ee58b49a79 [ci] Return 4 as a magic number for coverage job
Change-Id: I12663cd2cd814fc36c8b6781d111118615f5fc79
2018-02-26 19:01:02 +00:00
Zuul
a68ed41054 Merge "Add new Gnocchi scenarios" 2018-02-26 14:51:32 +00:00
Andrey Kurilin
d29b13fa3e [db][ci] Add basic job for checking migrations
Change-Id: Ide0d715d53eee4027a132f73c45a114c16e48b8f
2018-02-26 15:21:26 +02:00
Andrey Kurilin
428af69fdf Fix cli job
Change-Id: I6964139ed3629abf5e5788595b9144c7b42635ce
2018-02-26 13:58:42 +02:00
Ihar Hrachyshka
d17af073b4 Neutron scenario to delete subnets for the same network concurrently
This scenario, executed concurrently, should be able to trigger any IP
allocation race conditions in database layer of Neutron IPAM layer.

Change-Id: Icecfcd255fb83250cb77e8505f6b4846e005725c
2018-02-25 09:48:00 +00:00
Zuul
db25afde5b Merge "Don't use sitepackages for cli target" 2018-02-25 01:54:43 +00:00
Zuul
eb4c9446ec Merge "[db] Rework 7287df262dbc migration" 2018-02-25 01:54:41 +00:00
Ihar Hrachyshka
cf07d6baee Don't use sitepackages for cli target
It fails on fedora25 with system gssapi package installed with the
following error:

AttributeError: 'module' object has no attribute 'GSSException'

It happens because of: https://github.com/paramiko/paramiko/issues/584
that will be fixed with https://github.com/paramiko/paramiko/pull/861
that is not released or even merged yet.

It's better to isolate the venv from system libraries that may be
incompatible with paramiko.

Change-Id: I98af75bb01fa42a2902a850de1b974abc982d432
2018-02-23 14:12:26 -08:00
Andrey Kurilin
dbf0329303 [verify] Add support for sTestr
Tempest team switched from `testr` to `stestr` tool. `stestr` is
modified version of original `testr` and has the similar interface.
The support of a new tool can be easily integrated in the currect
TestrRunner

Change-Id: Ibcb949ad98323f770bf20f144ad66b4a47c00e22
2018-02-23 16:30:23 +00:00
Andrey Kurilin
415ad6a9ef [db] Rework 7287df262dbc migration
Rally <0.10.0 was hardcoded to support only OpenStack platform. That is
why deployment config had a flat schema (i.e openstack credentials were
at the same top-level as other properties).

Rally 0.10 includes an attempt to unify deployment component for
supporting multiple platforms. The deployment config was extended with a
new top level property `creds` which was designed to include credentials
for different platforms.
Since Task and Verification components used deployment.credentials object
from database instead of using deployment config directly, Rally 0.10 did
not provide a database migration of deployment config.

While developing Rally 0.11.0 with new Environment component, we made a
wrong assumption and forgot about an old format. That is why a
7287df262dbc migration relied on "creds" property of deployment.config

If the database was created before Rally<0.10, the introduced assumption
leds to KeyError failure[0] for old deployment configuration:

  File ".../7287df262dbc_move_deployment_to_env.py", line 137, in upgrade
       and (set(spec["creds"]) == {"openstack"}
  KeyError: 'creds'

To fix this issue, we need to disable 7287df262dbc migration, introduce
a new migration for an old deployment format, return the code of
7287df262dbc in a new migration.

NOTE: This commit introduces several migrations at once. These
   migrations have downgrade methods which are not tested(we do not support
   downgrade, but these methods are mandatory). To make CI happy with these
   uncovered by unit tests lines we need to temporary increase the magic
   number in coverage job.

Change-Id: I475fd1b0f14af923552d92da87df09c26b81bb7a
2018-02-23 10:39:16 +00:00
Boris Pavlovic
b345294991 Refacotr DB layer (part 1)
- Remove usless abstraction of db.api
- Split API methods to schema management and just record related ops
- Remove part of oslo.db and oslo.utils dependency (need one more patch)
- Improve performance & refactor mulitple requests

Change-Id: I56ca311ea354409e9b19511dca77cda27be5d52b
2018-02-20 08:50:42 -08:00
Zuul
f6b3532ccb Merge "Fix support for k8s-client 4.0" 2018-02-19 22:14:49 +00:00
Andrey Kurilin
fbc648ac36 Fix support for k8s-client 4.0
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
2018-02-19 19:14:12 +02:00
Boris Pavlovic
52c93a90b2 Remove rally.task.utils.check_service_status method
It is dead code that is not used already forever

Change-Id: I0038cec97464ced1e3ea8a4f10115880f6a3756b
2018-02-19 04:23:14 -08:00
Zuul
73b84df1eb Merge "Return stdout data after running the command:" 2018-02-18 04:23:04 +00:00
aginwala
dbfae0ab48 Return stdout data after running the command:
1. e.g. When doing ovn-scale-test; to list the lswitches on northbound
 database on the controller, self.run is not returning the data back.
 Hence this commit fixes it.

Change-Id: I6c5e2c935430641586f204142cb3de00925770c1
2018-02-17 17:36:59 -08:00
Juha Kosonen
68e27137fe Add new Gnocchi scenarios
This patch is based on [1] and adds following scenarios:

GnocchiArchivePolicyRule.list_archive_policy_rule
GnocchiArchivePolicyRule.create_archive_policy_rule
GnocchiArchivePolicyRule.create_delete_archive_policy_rule

[1] https://review.openstack.org/#/c/453861/

Change-Id: I3d2104fa6f6ba4bd90c4ac1771e48c32a5403832
Signed-off-by: Juha Kosonen <juha.kosonen@nokia.com>
2018-02-16 15:56:27 +02:00
Andrey Kurilin
0ba733e5c4 [docs] Fix date of Rally 0.11.0 release
Change-Id: I51340e3ab892479bf3de5675b49a3cbe0883b7a4
0.11.0
2018-02-16 12:01:34 +02:00
Andrey Kurilin
b1427a4f41 Fix uc for PrettyTable
Change-Id: I5e39ea1e0dcba82abce533b5ca9044268df0dbd5
2018-02-15 18:22:49 +02:00
Andrey Kurilin
565947d453 Release notes for 0.11.0
Change-Id: I0d26a082dd50a59dff281ea6cbe42115d75363ad
2018-02-15 15:57:58 +02:00
Boris Pavlovic
e7d6155298 [envs] Implmenet Env CLI commands
- Introduce Env CLI commands & bash completition
- Use RALLY_ENV variable in both cases for deployments and env
- Smooth RALLY_DEPLOYMENT -> RALLY_ENV migration
- Implement unit tests
- Implement functional tests

Change-Id: I56a60bd35bdc5ff833fdcad19f13ecf55496a316
2018-02-15 02:47:21 -08:00
Boris Pavlovic
eeb1de65f7 [testing] Refactor CLI tests and utils
* Make hook tests pass on any platform
* Fix Task Import tests (not sure why they worked before)
* Reduce the time required to run tests
* Use getjson where suitable
* Use no_logs where logs may cause problems

Change-Id: Iae927760152c2e1ca2a4622762b33a57f1070945
2018-02-15 02:29:06 -08:00
Andrey Kurilin
aab953d055 [cfg] Use stderr for logging by default
It is quite important for json-like output of results in CLI.

Change-Id: I0e2afdc165a7f65763597cb354d9c2acdcebdc07
2018-02-14 19:31:27 +02:00
Zuul
2102b6eeea Merge "[docs] Fix several deployment configs" 2018-02-13 19:00:26 +00:00
Andrey Kurilin
f9b18fecf5 [docs] Fix several deployment configs
Change-Id: I9ff455682270ae4686f901ee703094c484039ffc
2018-02-13 19:19:26 +02:00
Andrey Kurilin
d3847fc4d5 [env] Be more strict for version of format
Let's use enum type instead of integer to check that only valid values
can be transmitted.

Change-Id: I9ad803d0f955f41910e4436b1c8bd9aaea8e21a4
2018-02-13 12:16:26 +02:00
Zuul
398649ae34 Merge "Update requirements" 2018-02-13 08:19:09 +00:00
Zuul
f905a2c11b Merge "Add timestamp item for Failure tab on html report" 2018-02-12 22:22:07 +00:00
Andrey Kurilin
1ecab3d295 Update requirements
Sync our requirements with global openstack requirements.
Also, include uc for not direct rally dependencies

Change-Id: Ia1f0bf2cfbef75214ec66a8551bdfb5e84f90542
2018-02-12 22:53:49 +02:00
Zuul
9097068525 Merge "[cfg] Introduce rally.common.cfg" 2018-02-12 19:27:51 +00:00
Zuul
6c4f50c883 Merge "Fix grammar error" 2018-02-12 14:24:31 +00:00
Andrey Kurilin
28df7861bb [cfg] Introduce rally.common.cfg
As for config options we are using oslo_config library.
It limits us to override config options based on used deployment/env.

To get control of all options and how they are obtained, let's restrict
usage of oslo_config directly and force everyone to use rally.common.cfg
which has the same interface.

Change-Id: Ia845958b50b62d971f1343c03da2552049aa4363
2018-02-12 15:49:26 +02:00
chenhb
a7b8b4dae6 Add timestamp item for Failure tab on html report
Change-Id: I8acf76be07b5a6dfd3fb933a48448f97966e9f5b
2018-02-12 19:51:23 +08:00
Zuul
a62b98fa23 Merge "[env][openstack] Change format of info method" 2018-02-12 05:05:14 +00:00
Zuul
9373f64619 Merge "port more things to use envmanager" 2018-02-12 04:55:20 +00:00
Andrey Kurilin
d971eac021 [env][openstack] Change format of info method
The info method of existing@openstack returns a dict with information
about available services. The key isservice types, the value is
service name. It is convenient for code usage, but not obvious for the
users, as much as "__unknown__" service name.

This patch changes the format to be a list of dicts. Each dict is a
representation of available service. The service type is represented via
"type" field and name (if available) is represented via "name" field.

Also, the new format allows to provide more info about services in
future.

Change-Id: I4be4468d4a78ceb43e1bfa97c35c396606aa4da2
2018-02-11 13:41:29 +00:00
Andrey Kurilin
a9a9fe4b87 port more things to use envmanager
* Port rally.task.engine to use EnvManager instead of Deployment
* Rename method `set_deployment` of `rally.common.objects.Verifier`
  to `set_env`. It can be done in backward incompatible way, since the
  original method should be called only from rally.api
* Extend `rally.common.objects.Verifier` with `env` property
* Move OpenStackCredential under dict parenthood. object like style
  makes things too complicated. The simple dict should give more
  transparency. As for backward compatibility old-behaviour is kept.
* Call `check_helth` method of EnvManager from TaskEngine instead of
  hardcoded for openstack `verify_connection` method.
* Remove methods `get_validation_context` and `verify_connection` from
  OpenStackCredential. It should not be called anywhere.

Change-Id: I76608deaefc68dbd5a99a3339584c9cf70e16ba0
2018-02-11 14:20:40 +02:00