Commit Graph

5228 Commits

Author SHA1 Message Date
Tony Breeds e3f138ca7f Retire Packaging Deb project repos
This commit is part of a series to retire the Packaging Deb
project. Step 2 is to remove all content from the project
repos, replacing it with a README notification where to find
ongoing work, and how to recover the repo if needed at some
future point (as in
https://docs.openstack.org/infra/manual/drivers.html#retiring-a-project).

Change-Id: I416e08c1d85d78f9c141571bf88b6b7076271088
2017-09-12 16:18:47 -06:00
Jenkins 196d177377 Merge "Reduce load in Nova and Cinder CI jobs" 2017-07-24 11:43:55 +00:00
Jenkins c6a850b663 Merge "Rename namespace -> platform in scenarios" 2017-07-24 08:47:57 +00:00
Boris Pavlovic cca8c0394f Fix Designate Plugins
- Fix all bugs in cleanup:
  Removing copy paste, fixing lists, getting id and name methods
  Fixing deleting method in case of subresources.
  Delete Designate Recrods as well
- Use proper versions of clients in osresources check
- Reduce concurency and amount of iterations in CI
- Remove assertations

Change-Id: I98f61c647051b3f5ce9910d9e613d38450a58b4b
2017-07-23 23:12:23 -07:00
Boris Pavlovic d272e4a3ee Reduce load in Nova and Cinder CI jobs
Change-Id: I121251c9775d1668b35e8524139f80467edd36a2
2017-07-23 14:07:26 -07:00
Jenkins fe0dc3bbb3 Merge "Reduce load in gates in long running jobs" 2017-07-23 17:26:26 +00:00
Jenkins 8cc784ae27 Merge "[db] Fix an issue with writting inf value" 2017-07-23 10:50:34 +00:00
Boris Pavlovic 7c9285c7d5 Reduce load in gates in long running jobs
Goal is to make CI job pass in < 1 hour

Change-Id: I8a1c51867f5eaf2c9d48940e23158d7bb16abfbc
2017-07-23 03:06:43 -07:00
Jenkins 39dc7787f9 Merge "Fix assertRaise cli output to only generate one file per test" 2017-07-23 09:12:34 +00:00
Boris Pavlovic e6a17e6f3b Rename namespace -> platform in scenarios
- It's better to provide this paramter explicitly, otherwise for
  anybody newbie it'ss going to be hard to understand that
  this plugins is related to openstack platform. As well it's
  actually part of full name: "<name>@<platform>"

- Fix all places

Change-Id: I15b5ba8b33c542cc3f642dc7940a2eb1677ffefb
2017-07-22 20:03:54 -07:00
Andrey Kurilin 221c8521ec [db] Fix an issue with writting inf value
In case of workload without data(without results), start_time and
min_duration can be equal to Inf while importing such results via
`rally task import`. Since float column of the table cannot accept
Infinity value in most cases, we need to trasmit a proper value
there.

Also, this patch adds a migration to replca -1 min and max durations
by None.

Change-Id: Ic1a1bf6aac9a994dae4dd0914010c41beec6fbb8
2017-07-22 17:22:59 +03:00
Boris Pavlovic 752e2f1618 Remove namespace in osclient module
This is internal change and won't affect external plugins

Change-Id: Ic94079e157ab09700b3602970d01331ce00a034c
2017-07-21 15:09:27 -07:00
Boris Pavlovic 50b6f78067 Rename namespace -> platform in context & validators plugins
- This change is backward compatible, it will add warning in
  case of using deprecated namespace arg

- Use "openstack" platform in openstack context plugins
  This is going to be needed after

Change-Id: I76194201aa1f39f3850809f32a0d6b0e55c8f7b1
2017-07-21 15:06:03 -07:00
Jenkins 4e6f341e4b Merge "[ci] Use not the latest xdist package" 2017-07-21 19:56:46 +00:00
Jenkins f9c889fa38 Merge "Move tests.unit.test_logging to tests.unit.common.test_logging" 2017-07-21 18:32:04 +00:00
Jenkins 8b967c8a8c Merge "Improve deprecation warnings" 2017-07-21 18:31:47 +00:00
Jenkins 041cfb04c6 Merge "Add nova.BootServerAttachVolumeAndListAttachemnt" 2017-07-21 14:08:04 +00:00
Andrey Kurilin d1b2e6b9d7 [ci] Use not the latest xdist package
Change-Id: I772a2e0978bd99829f40d9f3dfc46f641ab204b2
2017-07-21 11:47:51 +00:00
Boris Pavlovic 2e037b924d Move tests.unit.test_logging to tests.unit.common.test_logging
There is only one module that is tested and it's in rally.common.logging
which means that all tests should be in tests.unit.common.test_logging

Change-Id: I3112f7cb6eb519f167f7ec5302da255b44e90eae
2017-07-21 02:41:21 -07:00
Boris Pavlovic b7ee4a04a8 Improve deprecation warnings
Previously decorates was showing warnings information without
telling what actually cases it.

This commit improves message and adds location of call of
deprecated method or usage of deprecated argument

Change-Id: If6c1ecbdefbd4cc5ed14d3bb938b1f18d078767e
2017-07-21 02:40:11 -07:00
zhangzhang 485cf7b07f Add nova.BootServerAttachVolumeAndListAttachemnt
Create a VM, attach N volume to it and list server's
attachemnt.

Measure the "nova volume-attachments" command performance.

Change-Id: Iff7b7aad66b16138beb723ca20d0a7bae7bb24d8
2017-07-21 06:41:00 +00:00
Amy Ge 2135dd981e Fix assertRaise cli output to only generate one file per test
Previously, assertRaise call generates separate output file from each
test function in rally-cli-output-files.

It's better to get the method_name in __init__ to avoid the situation
where some method/call generate new frames. Also I added check when
after getting method_name to make sure rally instance is generated in
each test function instead of being generated once in setup().

Change-Id: Ia7b1608a3abd91caeefbaa021276d7b1a056fa16
2017-07-20 15:08:27 -07:00
Andrey Kurilin caf516a4a2 Move os_faults import from the root of module
os-faults dependency is not lightweight. It depends on ansible which is
quite huge library.
os-faults is not used regurarly, so there is no need to load all its
module and dependencies at run-time for all cases(even when
fault_injection hook plugin is not used).

Change-Id: Iba35853f96ab7d46de12c2fe32da4fd268c90946
2017-07-19 12:01:56 +03:00
Jenkins e442473a3e Merge "[small change]Change the format of plugin information" 2017-07-19 02:14:08 +00:00
Jenkins f2488e7fc7 Merge "Put db requirements to extra requirements" 2017-07-19 01:02:54 +00:00
chenhb f5617fa29f [small change]Change the format of plugin information
This patch changes the output format of plugin information what
is getted via `rally plugin show`.
1.we should not sort the parameters and keep the sort as the same
  we commentted in plugins.
2.Remove the redundant blank line, it is ok that just save one blank line.

ORIGIN:
+----------+------------------------------------------------------+
| name     | description                                          |
+----------+------------------------------------------------------+
| detailed | determines whether the volume listing should contain |
|          | detailed information about all of them               |
|          |                                                      |
|          |                                                      |
| image    | image to be used to create volume                    |
|          |                                                      |
|          |                                                      |
| kwargs   | optional args to create a volume                     |
|          |                                                      |
| size     | volume size (integer, in GB) or                      |
|          | dictionary, must contain two values:                 |
|          |     min - minimum size volumes will be created as;   |
|          |     max - maximum size volumes will be created as.   |
|          |                                                      |
|          |                                                      |
+----------+------------------------------------------------------+

NOW:
+----------+------------------------------------------------------+
| name     | description                                          |
+----------+------------------------------------------------------+
| size     | volume size (integer, in GB) or                      |
|          | dictionary, must contain two values:                 |
|          |     min - minimum size volumes will be created as;   |
|          |     max - maximum size volumes will be created as.   |
|          |                                                      |
| detailed | determines whether the volume listing should contain |
|          | detailed information about all of them               |
|          |                                                      |
| image    | image to be used to create volume                    |
|          |                                                      |
| kwargs   | optional args to create a volume                     |
+----------+------------------------------------------------------+

Change-Id: I10adfaf68d60142e378215136bdf29d3ac597df6
2017-07-19 08:03:54 +08:00
Andrey Kurilin 55c50cadf4 Put db requirements to extra requirements
https://www.python.org/dev/peps/pep-0426/#extras-optional-dependencies

Python is a great language and it support extra requirements. In our
case, it can be used for listing database requirements.

This patch adds two separate extra requirements:
  * psycopg2 as for Postgres database backend
  * PyMySQL as for MySQL database backend

To install Rally with a specific database backend you need just to do
execute pip in right way:
    pip install rally[postgres]
  or
    pip install rally[mysql]

Change-Id: Ibf816758fc093a65b94e6a2b2c273a073275b393
2017-07-18 21:46:01 +00:00
Jenkins 0d4c48c64e Merge "Rename namespace -> platform (part 1)" 2017-07-18 20:25:03 +00:00
Jenkins b5b84aca03 Merge "remove runtime dep on sphinx" 2017-07-18 19:02:48 +00:00
Jenkins 41269047a5 Merge "Improve Task v2 format" 2017-07-18 08:57:22 +00:00
Boris Pavlovic 591eff426f Improve Task v2 format
Change-Id: I53870803892e6c7db51f6a2ed7297049cf88dbb1
2017-07-18 01:26:10 -07:00
Boris Pavlovic c7775c36a9 Rename namespace -> platform (part 1)
- Simplify rally.common.plugin.plugin code, there is no need to
  support from_func() plugins which was removed before, so now
  plugins are way simpler to use

- Rename namespace to platform in rally.common.plugin.plugin module

- Switch code to the new plugin interface and fix all tests

Note:
This patch performs minimal changes outside of plugin module

Change-Id: I745539a6b017791d64b42f9303e44027f642b5dc
2017-07-18 00:18:09 -07:00
Jenkins 010e59a725 Merge "[ci] Experiment with check_random_request" 2017-07-18 07:09:10 +00:00
Jenkins 17532bba9d Merge "Fix an issue of database migration" 2017-07-18 00:03:38 +00:00
Andrey Kurilin 21ca7dbe23 [ci] do not fail on glance resources
Glance has an issue with integration with uwsgi. Since OpenStack
community has a global goal - move everyone under uwsgi, glance team
cannot just revert moving under uwsgi, so we need to wait.

Since we do not want to be blocked due to such kind of issues, let's
skip the case when glance resources are not deleted.

Change-Id: I0a8c5d8867f6b43b80a97c2eeda3cefb9f02dd4d
2017-07-17 18:53:06 +03:00
Jon Schlueter f6b37ca733 remove runtime dep on sphinx
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
2017-07-17 08:04:58 -04:00
chenhb 7d457c2540 Fix an issue of database migration
We did not migrate all old atomic to new format, just convert
them while getting data from database and update, so it maybe
occur an error while merging aotmic at line #104. I think it
is the time that we update all old atomic to new format, and
remove the lazy-migration.
NOTE:
It is ok to modify existing migration, since we have 2 cases:
1) the database doesn't include results in old format. In this case the
   old migration succedded and change of it doesn't affect anything.
   Everything is ok here
2) the database includes results in old format. In this case the old
   migration will fail and do not actually apply, so it will be possible
   to apply it again(with new code)

Change-Id: Idb2a0ffd161163537e62ced320f8da033f4e04c9
2017-07-17 17:32:22 +08:00
Jenkins 19b85d4e6d Merge "[cli] "rally task list" improvements" 2017-07-16 14:08:32 +00:00
Jenkins 561fe229f1 Merge "Update the documentation links for doc migration" 2017-07-16 06:04:46 +00:00
Amy Ge c296ac7ced Added user creds in 'rally deployment check' err debug msg with tests
The authentication error message for 'rally deployment check' was
not very specific. I added username and tenant_name information in
debugging mode to make it easier for users to debug. Notice that the
changes are made in credential layer this time.

Also, I refactored the exceptions handling place by concluding
InvalidEndpointsException and HostUnreachableException into one
AuthenticationFailed exception and moving it from
Clients/verified_keystone into Keystone/auth_ref.
Now, verified_keystone will only check if the user is admin and
all other exceptions will be handled in auth_ref().

For tests, I added two unit tests for the Keystone.auth_ref() and
one functional test to check if the authentication error is caught
and if the corresponding details are printed.

Now, the debugging error msg contains the username & tenant name:
"""
   [-] Unable to connect for user admin in project demo
"""

Change-Id: I3986f883805e95989c7617cea5396f019a4a0211
2017-07-15 06:41:06 +00:00
Jenkins 0fdbde57e4 Merge "Improve tox -e cli write to report failed commands as well" 2017-07-15 06:01:50 +00:00
Jenkins c7fb777811 Merge "[db] Move serialize wrapper in the proper place" 2017-07-15 05:34:11 +00:00
Jenkins 1a7cd08792 Merge "Expand user path in Murano plugins" 2017-07-15 04:10:58 +00:00
Boris Pavlovic 0db3472458 Improve tox -e cli write to report failed commands as well
Without this it's hard to see
- How exceptions looks like
- Debug the gates in case of failures

Change-Id: I9d913ef6c44f1ae16c5f44297819fa42b7f30149
2017-07-15 03:21:06 +00:00
Anton Studenov 4a5124f353 Remove existing_users context
There is no need to have two separate classes - users and existing_users.
Both of them are equal from task engine perspective, but require splitting
some logic based on deployment configuration.

This patch simplifies that things and merges "existing_users" context into
"users".

Co-Authored-By: Andrey Kurilin <andr.kurilin@gmail.com>

Change-Id: Ie8fe3b433686bbbd80197876662ccb87b972d5a3
2017-07-14 21:31:57 +00:00
Andrey Kurilin 6a8ffe8797 [db] Move serialize wrapper in the proper place
Methods serialize and serialize_data relate to sqlalchemy only and
are used only there, so they should be located there too.

Also, it fixes an issue with serialization of db model object.

Change-Id: I3ceef4d3be3e4f4f95c21ae812992638474684cc
2017-07-14 21:18:46 +00:00
Boris Pavlovic 8c501549f4 Expand user path in Murano plugins
Change-Id: I8bcb19a055081073866ffea6a7e888ac53615598
2017-07-14 20:58:35 +00:00
Boris Pavlovic bbf1547a60 Remove Cinder create and delete volume v1 API
V1 is disable and this scenario fails.
As well v1 is not tested anymore by Cinder team in their gates
so it can cause a lot of troubles for us in future.

Let's just remove it

Change-Id: I387da0dd51922c8a3433e2ef3ed78e254cb20172
2017-07-14 13:40:14 -07:00
chenxing 2753b3a485 Update the documentation links for doc migration
Change-Id: Ia8ac79913d68646f109bb535935d6ee9027d1071
2017-07-14 13:44:43 +00:00
Andrey Kurilin bc6613ca92 [cli] "rally task list" improvements
* Fix displaying duration of the test
* Use more user-friednly headers in the table
* Add proper functional test for checking the output
* Do not print uuids like a table in uuids-only mode. (it adds spaces
 which makes parsing more conplicated)

Change-Id: I8f8f82b6eafd49cee36f4444b681726cce93d6d3
2017-07-14 13:52:41 +03:00