Commit Graph

523 Commits (cd147631f8254c2f727ccfc937566a7a200349f9)

Author SHA1 Message Date
elajkat 23e0747e51 Add placement API methods for testing routed provider nets
Routed provider networks feature uses the placement API, to test the
feature we need to add the following client methods to the placement
client:
* list_resource_providers
* show_resource_provider
* list_resource_provider_inventories
* list_resource_provider_aggregates

Change-Id: I4e4b104bf4b6b26b02d95b2c9697f4bfdba25ac4
3 years ago
Zuul 4f1a3bb3c4 Merge "Add Access Rules tests" 3 years ago
Lee Yarwood ec3ae5ea0e services: Introduce a cinder v3 attachments client
This change adds a new attachment client to allow for CRUD operations
against volume attachments as now exposed by the Cinder v3 API.

Change-Id: I0171dc0a87800ad33c176c6b6540fbc3db025709
3 years ago
Colleen Murphy d2cbd3ad4c Add Access Rules tests
Access rules for application credentials were added in the Train release
of keystone. This change adds related CRUD tests for access rules. See
the API reference for additional information[1].

[1] https://docs.openstack.org/api-ref/identity/v3/index.html#application-credentials

Change-Id: Ifd4ff2245277c2c57f5ccf450923434c0277a724
3 years ago
elajkat 36e543b9a3 Add segments client
Segments client is necessary to test the routed provider networks
feature.
the following client methods are now available for Tempest:
* create_segment
* update_segment
* show_segment
* delete_segment
* list_segments

Change-Id: Ie89468351fc9cf68ccf356d35ee9ba4b5037c499
4 years ago
Lajos Katona e8a5e5c824 Add QoS policies and minimum bandwidth rule client
The goal of the QoS policies and QoS minimum bandwidth rules client for
tempest is to make possible the end-to-end testing of the placement
based bandwidth feature.

Change-Id: I417574e3ef24e658b6cd2ce290f897180fed5300
Partial-Bug: #1578989
See-Also: https://review.openstack.org/502306 (nova spec)
See-Also: https://review.openstack.org/508149 (neutron spec)
4 years ago
Archit Modi a8cb701cc0 Init placement client in tempest Manager object
Placement client is not yet added/initialized in
the tempest/clients.py Manager object.

Change-Id: I19224b178e2860ee29c56546340cee36cd71b0e8
4 years ago
zhufl 6cd3827e3d [Trivial fix]Remove unnecessary slash
This is to remove the unncessary slash when the line doesn't
exceed the length of 79, just to keep the code clean.

Change-Id: I1a5c339a4c0d85beff94ac2b00afffda99cc869d
4 years ago
Ghanshyam ff2c986da2 Remove deprecated option volume_feature_enabled.api_v1
volume_feature_enabled.api_v1 config option to enable the
Cinder v1 API was deprecated in Juno
- https://review.openstack.org/#/c/446238/

Cinder v1 API tests were also got removed from Tempest in Juno
- https://review.openstack.org/#/c/446233/

This commit remove the deprecated api_v1 config option and also
remove the cinder service clients alias from clients.py

Note: clients.py cinder v1 service clients alias are being used by
many plugins (depends-on patches). These are being used mainly in
scenario manger copy of plugins.

Depends-On: https://review.openstack.org/#/c/573168/
Depends-On: https://review.openstack.org/#/c/573167/
Depends-On: https://review.openstack.org/#/c/573164/
Depends-On: https://review.openstack.org/#/c/573174/
Depends-On: https://review.openstack.org/#/c/573169/
Depends-On: https://review.openstack.org/#/c/573163/
Depends-On: https://review.openstack.org/#/c/573171/
Depends-On: https://review.openstack.org/#/c/573175/
Depends-On: https://review.openstack.org/#/c/573172/
Next we will deprecated the cinder v1 service clients present in
db876f990d/tempest/lib/services/volume/v1

Only networking-fortinet left to merge the changes which seems inactive
now a days- https://review.openstack.org/#/c/573170/

As reminder sent in ML, we are good to merge this patch
- http://lists.openstack.org/pipermail/openstack-dev/2018-August/133189.html

Change-Id: Ief961758ee413d69d89d45a1b36f1d126c6101cf
5 years ago
ghanshyam 6c682ffc5d Make volume client alias with _latest suffix
This is next step patch from https://review.openstack.org/#/c/573118/
which makes all the volume service clients alias with _latest suffix.

As all the volume clients point to v3 service client only, having
alias with _v2_ or _v3_ name are confusing.

This commit provide alias with _latest suffix and use them in
tempest. As old alias are being used in tempest plugins also,
we keep the old alias also and slowly will move each plugins to
start using new alias.

Change-Id: Ib89ab72ab4ada3e8442901f104b0b96072187ef9
5 years ago
Ghanshyam 05232f556d Remove volume v2 service client warning
with moving the volume testing to v3 API, commit
https://review.openstack.org/#/c/536121/ moved all the
volume v2 service client into v3 service client.

That added warning msg on usage of volume v2 service client.

tempest/clients.py provide the alias for volume v2 service client
but instantiating those. Which intern leads to lot of warning msg in
logs.

As v2 service clients are nothing but directing to v3, this commit
change the v2 service client alias to point to v3 service clients.

next we will do more cleanup on service client alias and name all of
them as *_latest.

Change-Id: Ia48582c2e703c68450ead4bc288f9e64b375e92f
5 years ago
lkuchlan e20e6a8d04 Backup and restore scenario
This testcase verifies content preservation after backup and restore
operations by booting a server from a restored backup and check the
connectivity to it, this will indicate that the image data was preserved.

Added:
- 'create_backup' method in scenario/manager
- 'restore_backup' method in scenario/manager

Change-Id: I20ebf2bb2e4950c24d912c24a081dc0ac0101b8d
5 years ago
Colleen Murphy 0e52d4e706 Add tests for application credentials
Application credentials were implemented in keystone in Queens. This
patch adds test for create, retrieval, and deleting application
credentials and ensures that application credentials that are created
can be used for authentication. Updating application credentials is not
supported.

bp application-credentials

Change-Id: I3272fee2881fb918fe83961774f4bd27e30cee02
5 years ago
Felipe Monteiro a3b2d8e1b2 Add identity v3 project tags client
This PS adds ``project_tags_client`` to the identity v3
library. This feature enables the possibility of invoking
the following API actions:

    * update_project_tag
    * list_project_tags
    * update_all_project_tags
    * check_project_tag_existence
    * delete_project_tag
    * delete_all_project_tags

Change-Id: Iad6b3a88639bb4a0dc3aea5af2ba0162dfa19f96
Depends-On: Iec6b34c10ea1bd7103720c773b48ce130643115d
5 years ago
zhufl 15292a3221 Support only volume api_v3 is enabled
Now if we set CONF.volume_feature_enabled.api_v2 to False while
setting CONF.volume_feature_enabled.api_v3 to True, some testcases
can't work properly, e.g., in scenario.manager.py, we have
    "if not client:
        client = self.os_admin.volume_types_v2_client"

In fact, we should support only volume api_v3 is enabled, which means
to run all volume testcases using v3 interfaces(not only those new
functions added in v3).

So this is to transfer all volume v2 clients to using v3 interfaces
if only api_v3 is enabled.

Change-Id: I6924f295bcc84797e3c59f8cc4b68c1e251b931d
5 years ago
Zuul 10973fb725 Merge "Don't read config in Manager class definition" 6 years ago
Andrea Frittoli f082079797 Don't read config in Manager class definition
tempest.clients.Manager loads config in the class definition
which triggers reading the config file during test discovery.
Config is loaded via the service_client_config helper, but
that's not needed anymore since service clients get their
configuration via the registry (or via a call to
service_client_config at __init__ time in case of the swift
service client).

Change-Id: Iddcfc7227f8ff1b574729a2eb8ebb63e23f09ea5
6 years ago
Andrea Frittoli 986407ddd3 Move the object client to tempest.lib
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
6 years ago
Andrea Frittoli a6b301595a Make sure test use the latest volume clients
Compute and scenario test use volume v2, but they should use
the latest available API version instead.

Change-Id: I09cfb726fe87b8e6a4f6ead7c955c77d60043d8b
6 years ago
xing-yang 41ed715c23 Add Tests for Groups Volume APIs - Part 2
Generic volume groups support was added to Cinder in the
Newton release:
https://blueprints.launchpad.net/cinder/+spec/generic-volume-group

This is the 2nd patch that adds the tempest tests for generic
volume groups APIs in Cinder. It adds group_snapshots clients.
It adds tests for the following APIs:

  * create group snapshot
  * delete group snapshot
  * show group snapshot
  * list group snapshot

Change-Id: I21f07f7b3e8f22055e7978c0bf4aa01b80b493d9
6 years ago
Jenkins 55e301689c Merge "Cleanup the orchestration client init and attr" 6 years ago
Andrea Frittoli f3e247d25c Cleanup the orchestration client init and attr
Clients.py inits the orchestration client and defines and attribute
in the client manager for it. The only known consumers of attribute
are Tempest itself in the cleanup service and Murano.

I proposed a patch to Murano: Ic6fef4b4f260d13efd7b035bc012369f0da55602

The aim is to make clients stable for plugins, and I don't want the
Heat client to be in the stable interface since it's not something
that we will be supporting on Tempest side: all the Heat config
values are deprecated and will be removed during Queens.

Depends-on: Ic6fef4b4f260d13efd7b035bc012369f0da55602
Change-Id: I9f4703296a44e741cab8db6b52ba410b7dd3bed6
6 years ago
Jenkins 35316c5bc3 Merge "create test to verify catalog standardization" 6 years ago
Jenkins 78894bc6ce Merge "Handle volume API version enablement" 6 years ago
Megan Guiney d02951667d create test to verify catalog standardization
this test will verify whether or not the catalog that it is run
against uses approved names for the services it contains. This
patch will include a few additions:
- a minimal client which will "GET" and return the service catalog,
- unit testing for the new client
- and a test that will make sure that the service catalog uses a
  naming scheme that is compatible with the established governance-
  approved naming scheme.

Change-Id: Ia745dff050f35cc5a3fc3744d58c6fe1e875e56f
6 years ago
Sean McGinnis ff5f0c14f7 Handle volume API version enablement
This is a start to have tempest handle Cinder API versions
based on what is actually enabled. There are currently a
lot of places in the code the assume v1 and v2 are available,
but those versions may be disabled, especially as we try to
get everyone moved onto the latest (final?) v3 API version.

There are more areas that should be fixed up before we can
actually just work with v3 only, but this is a start to get
there.

Closes-bug: #1703044
Change-Id: Icc2e12f06c3b4899f934f000e191552f4a5cd2a9
6 years ago
zhufl ac2bb526af Remove unused LOG from clients.py
LOG is not used in clients.py, so this is to remove
it for code clean.

Change-Id: I517bb46e0d47c59678266a8912c535ec68edf5e9
6 years ago
jeremy.zhang f4ce417b8b Add test case for update volume backup
Update volume backup is a new api implemented in volume v3 (since 3.9).
This patch is to add test case for this new feature.

Including:

[1] Add v3 backups_client as a library
[2] Add update backup api to v3 backups_client
[3] Add unit tests for update backup api
[4] Add test case: test_update_backup
[5] Add release note

Change-Id: Id50fcdbc41e9e170f3d467789f80c28bac01d434
6 years ago
Hemanth Nakkina d9594f5119 Add token related API to Keystone v3-ext/OS-OAUTH1 client
Enhance oauth_consumers_client with the following API
/v3/OS-OAUTH1/request_token
/v3/OS-OAUTH1/authorize/{request_token_id}
/v3/OS-OAUTH1/access_token
/v3/users/{user_id}/OS-OAUTH1/access_tokens/{access_token_id}
/v3/users/{user_id}/OS-OAUTH1/access_tokens
/v3/users/{user_id}/OS-OAUTH1/access_tokens/{access_token_id}/roles
/v3/users/{user_id}/OS-OAUTH1/access_tokens/{access_token_id}/roles/{role_id}

https://developer.openstack.org/api-ref/identity/v3-ext/index.html?expanded=#os-oauth1-api

Co-Authored-By: Nishant Kumar <nk613n@att.com>
Closes-Bug: #1682425

Change-Id: I4c5369ae3ad7a7add630e3ac6a4fc52f854bc77c
6 years ago
Xing Yang 0ddf83ead7 Add Tests for Groups Volume APIs - Part 1
This is the 1st patch that adds the tempest tests for generic
volume groups APIs in Cinder. It adds groups and group_types clients.
It tests the following group APIs:

  * create group
  * delete group
  * show group
  * list group

Change-Id: Id1779fe5dce50b062ca0ff841a7ede72cac9dd73
6 years ago
Jenkins 6aaecc0c57 Merge "Identity V3 - Endpoint Groups Client" 6 years ago
Felipe Monteiro 1177942f0e Add network tags client
This patch creates the network v2.0 tags client. Unlike
most network clients, this client cannot use
update_resource for create_tag (which does self.put)
because create_tag returns 201 but upstate_resource
asserts that 200 was returned. Similarly,
check_tag_existence cannot use "check_resource"
in ``BaseNetworkClient`` because it doesn't exist.

This patch also adds unit tests for the new ``tags_client``
and API tests for the network tag extension. To make this
patch easier to review, tests for the network tag-ext
extension have not been added. The difference between
tag and tag-ext is that tag only supports the network
resource and the tag-ext supports other resources like
subnets, routers, etc. [0].

[0] https://developer.openstack.org/api-ref/networking/v2/#tag-extension-tags
Change-Id: Icfff444ee7638a3220d228330f9162044673636c
6 years ago
Andrea Frittoli 7ae56bb940 Stop warning on client_parameters
client_parameters is deprecated but we're still using it for
no good reason. All clients get their configuration from the
registry expect object-storage since it's not in lib yet.
However object storage clients can get their config from the
config module directly without going through client parameters.

Change-Id: I252a9ea9b7ed389c2708602c55a70b187721107a
6 years ago
jeremy.zhang 79a1cbf2dd Add test case for show volume summary
Show volume summary is a new api implemented in volume v3. This patch
is to add a simple test case for this new feature.

Including:

[1] Add v3 volumes_client as library
[2] Add show volume summary api to v3 volumes_client
[3] Add unit tests for show volume summary api
[4] Add test case: test_show_volume_summary
[5] Add release note

Change-Id: I9904bc53896e7d58a22aef11f6a3128147c0a373
6 years ago
Jenkins f84537bfc8 Merge "Add test cases for volume quota class" 6 years ago
Pradeep Kumar KS 5d52d3af8a Keystone v3 extension os-ep-filter api testcases
Implementing client for the following APIs
 DELETE,HEAD,GET,PUT apis for
/v3/OS-EP-FILTER/projects/{project_id}/endpoints/ and
/v3/OS-EP-FILTER/endpoints/{project_id}/projects

Change-Id: I42fc49dea52ac4612cb018f3964675444c96ffdd
Co-Authored-By: Uday T Kumar <uk310y@att.com>
Co-Authored-By: Kaustav Royburman <kr336r@att.com>
Partial-bug: #1673749
6 years ago
Jenkins 2deeebe129 Merge "Identity v3 Domain Configuration Client" 6 years ago
Chi Lo d0ed8b00d0 Identity V3 - Endpoint Groups Client
Adding a new client lib to handle Endpoint Groups API testing

Co-authored by: Ananda Chintalapati <ac5760@att.com>

Change-Id: I96a8dbe02ff70d9cf8b23e194fe60fc5df08c43b
6 years ago
Felipe Monteiro 94d8577365 Identity v3 Domain Configuration Client
Adds a new client lib to handle the domain configuration API.

The domain configuration API is part of the standard
keystone v3 API [0].

This patch also adds unit tests and API tests for the domain
configuration client. Most of its APIs are RULE_ADMIN_REQUIRED
[1] and so the API tests are included in the admin namespace.

[0] https://developer.openstack.org/api-ref/identity/v3/
[1] https://github.com/openstack/keystone/blob/master/keystone/common/policies/domain_config.py

Change-Id: I2f6229076aa7d2939dd91c487085ea73de001403
6 years ago
Jenkins b6532ddaad Merge "Separate object-storage bulk operation service clients" 6 years ago
Andrea Frittoli 203225702e Stop using self.parameters for compute clients
This was a leftover from when paremetrs was replaced with
configuration from the registry. Anything that is not standard
configuration must be passed from CONF.

Change-Id: I78fc364d10a1e56285766c57d5ec4c90be28fb18
6 years ago
jeremy.zhang 644b01dafe Add test cases for volume quota class
Now tempest has provided tests for tenant's quota in volume, but
lacks tests for volume quota class. This patch adds this support.

Including:

[1] Add volume v2 quota class client as library
[2] Add release note
[3] Add test cases: show & update volume 'default' quota class
[4] Add unit tests for volume v2 quota class client
[5] Fix for test_volume_quotas.py

Change-Id: I30bac79b986e6e90d43dcc6f9d247e74a314bf3c
6 years ago
Jenkins 17217e33ee Merge "Remove test_baremetal_nodes from tempest" 6 years ago
zwhe 1b0567c680 Remove test_baremetal_nodes from tempest
Current compute baremetal tests involve ironic and nova. Ironic to
create baremetal node and then GET nodes using nova APIs.

Nova only provides GET APIs for baremetal nodes which has been deprecated.

This tests is testing Ironic node GET/POST etc which are covered on
ironic tempest plugin and nova API testing is covered in nova functional
tests.

It needs Ironic to be present and so ironic baremetal client.

With all points in consideration we should remove this tests from tempest.

It satisfy all rules as defined in tests removal procedure.
1. Nova functional test is enough for this API testing.
   -http://git.openstack.org/cgit/openstack/nova/tree/nova/tests/functional/api_sample_tests/test_baremetal_nodes.py
2. gate does not run this test.
3. No external usage:
   - http://codesearch.openstack.org/?q=test_list_get_baremetal_nodes&i=nope&files=&repos=

Change-Id: Ide9ca3a349f396c994f1c822c3d040d93547ad48
Closes-Bug: #1675416
6 years ago
ghanshyam 59614b445c Separate volume v2 transfers service clients
v2 volume transfers service clients does API calls on
separate resource url "os-volume-transfer" but those
are currently in v2 volumes_client.py.

Each resource service clients should be in separate file.

This commit separate the transfer service client from volumes client
and deprecate the same from volumes service client.

Change-Id: Ia85bcfbadbff4f7c594dc5631ecdd595c5d275f3
6 years ago
Jenkins 90d505ae75 Merge "Identity V3-ext Oauth1 Consumers Client" 6 years ago
Jenkins a92a428b8c Merge "Add test case for volume unmanage and manage" 6 years ago
ghanshyam 3608544b6f Separate object-storage bulk operation service clients
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
6 years ago
Nicolas Helgeson 8e2d403283 Identity V3-ext Oauth1 Consumers Client
Adding a new client lib to handle the OAUTH consumers API testing

Included unit tests for the client lib, and
API tests for the OAUTH consumers API

Co-Authored-By: Nishant Kumar <nk613n@att.com>
Co-Authored-By: Avishek Dutta <ad620p@att.com>

Change-Id: I6d0884637cfe00a5313a5d019e1e062316f76d57
Closes-Bug: #1672810
6 years ago
Ken'ichi Ohmichi 4adae2fff6 Add "list Cinder API versions"
Many projects provides multiple API versions and the version
information is very important for users, because users can know
what features are available on clouds. However, Tempest didn't
test the Cinder API versions in long-term. So this patch adds
the corresponding test.

NOTE: This patch adds the response status code validation also
      for 300 but Cinder api-ref currently shows 200 and 202 also.
      These status codes are never returned actually and the patch
      Id28e26fca0adbdcfb0d905f52ca697a74db3be75 will fix it on
      Cinder side.

Change-Id: Id5791665d8435fac7552733b0c1126cee4359d00
6 years ago