Move the object client to tempest.lib and cleanup the last bits
of code that were required to manage internal-only tempest service
clients.
Change-Id: Ia9aeab78e530c798dfa7b7d6f71e4b3ea3a84b7f
Many of the method of object_client accept many headers and
query param.
This commit makes them to accept all headers and query param.
Partially implements blueprint consistent-service-method-names
Change-Id: I80668c00a38db00958bbe54421e69798d54482d7
There are few methods in object_clients which are
wrapper on PUT API with different combination of
headers.
As object_client is going to be declared as lib interface
it is better to remove these wrapper.
NOTE: Those methods are not being used outside of Tempest.
Partially implements blueprint consistent-service-method-names
Change-Id: Ia70ef3913c1650fad7b8f6b9019378b074c88155
object storage container_client is stable now and good to be moved
as stable library interface.
Unit tests will be next step for those clients which should
be ok after miving to lib.
Partially implements blueprint consistent-service-method-names
Change-Id: I74c6d62058e0dcf9284f313c6f45d83c20597fc4
Swift accept lot many headers in create container API but service
client method only accept the metadata headers.
This commit makes the PUT method to accept headers as kwargs.
Also this commit renames the PUT method to update_container because
that is PUT operation. In addition, this adds create_container as
the alias for the usability.
Details- https://developer.openstack.org/api-ref/object-store/#create-container
Partially implements blueprint consistent-service-method-names
Change-Id: I2a722bf181853ca903d05d4518b4c98764fadc12
Swift provides a single API to Create, Update or Delete
container metadata.
With different headers or values those operation can be
achieved. For example:
- delete metadata by passing metadata without value
- update metadata by passing updated value with same key
Details- https://developer.openstack.org/api-ref/object-store/?expanded=create-update-or-delete-container-metadata-detail
But current service client for account has 2 different
method for these operation. update_, delete_
To make it consistent with other service client and to have
single service client method per API, this patch merge those
methods.
Partially implements blueprint consistent-service-method-names
Change-Id: I75e40fc5c19d5b56d2be5f68e6cdb41bda4f9595
Make the list methods naming and doc string consistent
for container clients.
Partially implements blueprint consistent-service-method-names
Change-Id: Ibc770eef75a74880231d18670478e6ec99c90d1f
object storage account_client is stable now and good to be moved
as stable library interface.
Partially implements blueprint consistent-service-method-names
Change-Id: I03863fbb23e914b4115f2c0aaec0ecf266ccc060
object storage capabilities_client is stable now and good to be moved
as stable library interface.
Partially implements blueprint consistent-service-method-names
Change-Id: I06e874300a7b042ed09dc666aaeed578e814acf1
object storage bulk_middleware_client is stable now and good to be moved
as stable library interface.
Partially implements blueprint consistent-service-method-names
Change-Id: I6b44fb9a692b947baadbe049b2f7d31e4ab51035
All service clients methods return their response wrapped in
ResponseBody, ResponseBodyData or ResponseBodyList.
But object storage service clients were left out of this
because response from object storage APIs are not same way other
service return. Some APIs return is as string etc.
This commit makes capabilities_client to return ResponseBody
object with consistency to other service clients.
Also add unit tests for that.
This is step to move these clients to lib.
Partially implements blueprint consistent-service-method-names
Change-Id: Ida85033c06a50011b2cd9a86941089fb1ea7bedd
All service clients methods return their response wrapped in
ResponseBody, ResponseBodyData or ResponseBodyList.
But object storage service clients were left out of this
because response from object storage APIs are not same way other
service return. Some APIs return is as string etc.
This commit makes bulk_middleware_client to return ResponseBodyData
object with consistency to other service clients.
This is step to move these clients to lib.
Partially implements blueprint consistent-service-method-names
Change-Id: Iade0a1afd0e28ea42f12df175f55eadb1bea7071
Swift provides a single API to Create, Update or Delete
account metadata.
With different headers or values those operation can be
achieved. For example:
- delete metadata by passing metadata without value
- update metadata by passing updated value with same key
Details- http://developer.openstack.org/api-ref/object-storage/?expanded=create-update-or-delete-account-metadata-detail
But current service client for account has 3 different
method for these operation. create_, delete_ and create_and_delete_
To make it consistent with other service client and to have
single service client method per API, this patch merge those
methods.
Partially implements blueprint consistent-service-method-names
Change-Id: I098e4ccc0d7b443d77ee055f39958e983acf7113
Swift support bulk operation for upload archive file and bulk
delete. Service client methods for those API request are
present in account_client.py
This patch separate those methods in new client and use accordingly.
Partially implements blueprint consistent-service-method-names
Change-Id: Icceaf1bf4eddd2cf6501e76e52b54de2e105a165
list_containers also takes in the param 'reverse'
we should have a test case for this
(http://docs.openstack.org/developer/swift/account.html
- s/matadata/metadata
Change-Id: I9bea26400ebfa7d2abc74371b39f793cbf8fe154
As [1] mentioned, we should use dict.items instead of six.iteritems.
Let's use dict.items as it should return iterators in PY3 as well.
(As for PY2, the performance about list should be negligible)
[1] https://wiki.openstack.org/wiki/Python3
Change-Id: I77b3a71faa71b5f671daff3415e2ae58289fd3ca
Main changes:
* Use bytes instead of strings for object content (data)
* Use bytes when using crypto functions (hmac, md5)
* When we can't make the service client to always return strings
(because we can't know for sure the returned payload is a text),
use decode() in tests.
Change-Id: Ic56827e3401f36ccc555dd0568b606a8c3047f00
Migrate identity v3 API domains_client to tempest.lib and implement
unit test for the service clients.
Init files are edited and the old ones in tempest/services/identity are removed
as this is the last identity client to migrate.
Partially implements blueprint consistent-service-method-names
Co-Authored-By: ghanshyam <ghanshyammann@gmail.com>
Change-Id: Ia3f5693156d6d9dff4f8b0b1986c5bc456af804a
ironic project now has a tempest plugin and its tests will be maintained there.
Closes-Bug: #1614516
Depends-On: I0b7e32dfad2ed63f9dd4d7cad130da39bc869a8a
Change-Id: Id518a6d87d0949737cd1c50cb6a83149b85e5f85
As we discussed on
http://lists.openstack.org/pipermail/openstack-dev/2015-July/068864.html
All http POST/PUT methods need to contain **kwargs as their arguments.
This patch makes identity v3 domains_client use **kwargs.
Also add and correct doc string link.
Partially implements blueprint consistent-service-method-names
Change-Id: Ibe27a399e5b2774aae2c3585e2299616583c25f9
Moving volume v3 folders to /lib/services/volumes
Remove old left overs from service/volumes.
The patch removes services/volume api code
Tempest volume api will run from /lib/service
Change-Id: I76fec9c42ecb7038f01a186f3eb51bb471b1679d
This patch adds unit tests for the role_assignments_client and also
moves it to the lib.
Additionally, the method is refactored to be generic and handle the
full set of the role_assignments API parameters.
Change-Id: I1452d4f7be927f87f180badee377afa116d55ed6
Since volume clients v1 and v2 have migrated under lib/services libery,
We do not neet these directories anymore.
Change-Id: Icbbce7622c9e0b8179c8311554d4401b9b68e369
list_all_container_objects is not a real client method but more of an helper.
We can use list_container_contents replace it. Therefore, I remove it.
Change-Id: I680868712461ab44c343b82fd007e6e9ea8d746b
Co-Authored-By: guo yunxian <yunxian.guo@easystack.cn>
The arguments(method, url, headers and body) are not used in
_error_checker(). So this patch removes them for the cleanup.
Change-Id: I84e3be748af10b158037866e1ee4c1375b2c3541
Tempest provides a stable library interface and I think we can use it
for volume clients.
Partially implements blueprint consistent-service-method-names
Change-Id: Ia2d87360a6d88e5f54ecd00efbf6730b06484c99
I think now is a good time. It's been sitting here for ages. We
really should try to make Tempest smaller.
Change-Id: I3370a146042f23a5ba2ca40d2ddf76e7c9e9cf0f
Split and migrate v1 and v2 backups__client to tempest.lib.
Partially implements blueprint consistent-service-method-names
Change-Id: I9d6ef9f069c449f392c245fdac10996517a1cc73
Inherited role assignments are really useful when dealing with
hierarchies - we must test that granting an inherited role in a higher
level of the hierarchy has effect in the project's tree.
The verification is done via the "role_assignments" API and its query
parameters, such as "effective" (which lists the role assignments that
take effect in each project layer).
Change-Id: I0f5a54d85a28c8c011fd3489cf55629b9caa1dcf
Currently, wait_for_backup_status function resides on
services/volume/base/base_backups_client.py.
I think we should move it to common.waiters module as
other waiters functions.
Partially implements blueprint consistent-service-method-names
Change-Id: Ie1d416e32c583d8e48140c4046df989cc209b84f
Because we define clients as library before, this admin package's
all contents are moved to other places. This package is
unnecessary, so delete it.
Change-Id: I7b51cb20f51b6dc571fcfa8dd53efe1dbd1e6985
Split and migrate v1 and v2 API qos_client to tempest.lib.
Partially implements blueprint consistent-service-method-names
Change-Id: I14c3db7f1229a030a02f60f686826508afa01f61
This patch splits the base client into v1 and v2 following the model
from the patch at [1] and also migrates those clients to tempest.lib.
[1] https://review.openstack.org/#/c/359442/
Change-Id: I03c254210aeff80173ced68cfa3f3e36ede10d22