Bug 1703185 - Tempest manila test fail
Summary: Tempest manila test fail
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: python-manila-tests-tempest
Version: 13.0 (Queens)
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: ---
Assignee: RHOS Maint
QA Contact: Jason Grosso
URL:
Whiteboard:
Depends On:
Blocks: epmosp13bugs 1588541
TreeView+ depends on / blocked
 
Reported: 2019-04-25 18:33 UTC by David Paterson
Modified: 2019-10-24 13:24 UTC (History)
16 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-08-07 13:20:46 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description David Paterson 2019-04-25 18:33:15 UTC
Description of problem: Manila tests fail


Version-Release number of selected component (if applicable):
I have tried both latest manila tempest package and downgrading
python2-manila-tests-tempest.noarch 1:0.1.0-1.el7ost
python2-manila-tests-tempest.noarch 1:0.0.1-0.20180418200735.7f35fc0.el7ost
How reproducible:
Every time

Steps to Reproduce:
1. Install manila tempest plugin
2. Configure tempest
3. ostestr --regex manila_tempest_tests.tests.scenario.test_share_basic_ops.TestShareBasicOpsCIFS.test_mount_share_one_vm
Actual results:
                         
Version: 1:0.1.0-1.el7ost
Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/usr/lib/python2.7/site-packages/manila_tempest_tests/tests/scenario/test_share_basic_ops.py", line 117, in test_mount_share_one_vm
        self.create_share()
      File "/usr/lib/python2.7/site-packages/manila_tempest_tests/tests/scenario/manager_share.py", line 202, in create_share
        default_share_type_id = self._get_share_type()['id']
      File "/usr/lib/python2.7/site-packages/manila_tempest_tests/tests/scenario/manager_share.py", line 315, in _get_share_type
        'driver_handles_share_servers': CONF.share.multitenancy_enabled
      File "/usr/lib/python2.7/site-packages/manila_tempest_tests/tests/scenario/manager_share.py", line 492, in _create_share_type
        **kwargs)
      File "/usr/lib/python2.7/site-packages/manila_tempest_tests/services/share/v2/json/shares_client.py", line 876, in create_share_type
        resp, body = self.post('types', post_body, version=version)
      File "/usr/lib/python2.7/site-packages/manila_tempest_tests/services/share/v2/json/shares_client.py", line 62, in post
        return super(SharesV2Client, self).post(url, body, headers=headers)
      File "/usr/lib/python2.7/site-packages/tempest/lib/common/rest_client.py", line 279, in post
        return self.request('POST', url, extra_headers, headers, body, chunked)
      File "/usr/lib/python2.7/site-packages/tempest/lib/common/rest_client.py", line 668, in request
        self._error_checker(resp, resp_body)
      File "/usr/lib/python2.7/site-packages/tempest/lib/common/rest_client.py", line 849, in _error_checker
        resp=resp)
    tempest.lib.exceptions.UnexpectedResponseCode: Unexpected response code received
    Details: 406

Note the 406 return code is do to a versioning mismatch, from log:
 2019-04-25 09:14:14,616 10031 INFO     [tempest.lib.common.rest_client] Request (TestShareBasicOpsCIFS:test_mount_share_one_vm): 406 POST http://100.67.154.160:8786/v2/032f3ff70ddd4920aad4ae811c165928/types 0.585s
    2019-04-25 09:14:14,617 10031 DEBUG    [tempest.lib.common.rest_client] Request - Headers: {'x-openstack-manila-api-version': '2.46', 'Content-Type': 'application/json', 'Accept': 'application/json', 'X-Auth-Token': '<omitted>'}
            Body: {"share_type": {"share_type_access:is_public": true, "extra_specs": {"snapshot_support": true, "driver_handles_share_servers": true}, "name": "tempest-share_type-574183919"}}
        Response - Headers: {'status': '406', u'content-length': '123', 'content-location': 'http://100.67.154.160:8786/v2/032f3ff70ddd4920aad4ae811c165928/types', u'x-compute-request-id': 'req-8b1f40d6-35f2-4956-bbc2-ccd12ea75a99', u'vary': 'X-OpenStack-Manila-API-Version', u'x-openstack-manila-api-version': '2.46', u'connection': 'close', u'date': 'Thu, 25 Apr 2019 14:14:14 GMT', u'content-type': 'application/json'}
            Body: {"computeFault": {"message": "Version 2.46 is not supported by the API. Minimum is 2.0 and maximum is 2.42.", "code": 406}}

---------------------------------------------------------------------------

Version: 1:0.0.1-0.20180418200735.7f35fc0.el7ost
==============================
Failed 1 tests - output below:
==============================

setUpClass (manila_tempest_tests.tests.scenario.test_share_basic_ops.TestShareBasicOpsCIFS)
-------------------------------------------------------------------------------------------

Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/usr/lib/python2.7/site-packages/tempest/test.py", line 172, in setUpClass
        six.reraise(etype, value, trace)
      File "/usr/lib/python2.7/site-packages/tempest/test.py", line 162, in setUpClass
        cls.setup_clients()
      File "/usr/lib/python2.7/site-packages/manila_tempest_tests/tests/scenario/manager.py", line 88, in setup_clients
        cls.volumes_client = cls.os_primary.volumes_client
    AttributeError: 'Manager' object has no attribute 'volumes_client'




Expected results:


Additional info:

Comment 1 David Paterson 2019-04-25 18:48:47 UTC
manila config section from tempest.conf below:

# manila related
[share]
# Capabilities
capability_storage_protocol = NFS
capability_snapshot_support = True
capability_create_share_from_snapshot_support = True
# backend_names = Backendname1,BackendName2
backend_names = tripleo_manila_unity
backend_replication_type = readable
image_with_share_tools = manila-service-image
# Enable/Disable test groups
multi_backend = True
multitenancy_enabled = True
# enable_protocols = nfs,cifs,glusterfs,cephfs
enable_protocols = nfs,cifs
enable_ip_rules_for_protocols = nfs,cifs
enable_user_rules_for_protocols = cifs
enable_cert_rules_for_protocols = glusterfs
enable_cephx_rules_for_protocols = cephfs
username_for_user_rules = foouser
enable_ro_access_level_for_protocols = nfs
run_quota_tests = True
run_extend_tests = True
run_shrink_tests = True
run_snapshot_tests = True
run_replication_tests = True
run_migration_tests = True
run_manage_unmanage_tests = True
run_manage_unmanage_snapshot_tests = True

Comment 2 Goutham Pacha Ravi 2019-05-09 22:12:31 UTC
Hi David, 

The manila tempest tests package allows you to run tests against any version of manila; however, the package has a default Manila API Version that it tests with. You can override that with configuration. 

Looking at the error log you pasted: "Version 2.46 is not supported by the API. Minimum is 2.0 and maximum is 2.42." 

You'll want to set the following in your tempest.conf and retry running the test:

[share]
max_api_microversion = 2.42

See the config option documentation here: https://opendev.org/openstack/manila-tempest-plugin/src/commit/b087b3093b26ce069b57dca91acb7f1b186cac6f/manila_tempest_tests/config.py

Please let us know if this resolves the issue.

Thanks, 
Goutham

Comment 3 Tom Barron 2019-08-07 13:20:46 UTC
Goutham provided a solution and there has been no response in three months time so I'm closing this one.

Comment 4 David Paterson 2019-10-24 13:23:06 UTC
For posterity we were able to get the Manila plugin working.

Comment 5 David Paterson 2019-10-24 13:23:46 UTC
For posterity we were finally able to get the Manila plugin working.

Comment 6 David Paterson 2019-10-24 13:24:39 UTC
For posterity, we were able to get the Manila plugin functioning


Note You need to log in before you can comment on or make changes to this bug.