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:
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
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
Goutham provided a solution and there has been no response in three months time so I'm closing this one.
For posterity we were able to get the Manila plugin working.
For posterity we were finally able to get the Manila plugin working.
For posterity, we were able to get the Manila plugin functioning