Bug 1315487 - Tempest fails two tempest.api.baremetal.* tests when Ironic service returns unicode strings
Tempest fails two tempest.api.baremetal.* tests when Ironic service returns u...
Status: CLOSED INSUFFICIENT_DATA
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tempest (Show other bugs)
7.0 (Kilo)
Unspecified Unspecified
unspecified Severity unspecified
: ---
: 8.0 (Liberty)
Assigned To: Daniel Mellado
tkammer
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-03-07 16:37 EST by Harry Rybacki
Modified: 2017-10-09 09:06 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-03-10 02:25:26 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Harry Rybacki 2016-03-07 16:37:56 EST
Description of problem:
Tempest is failing two api.baremetal.* tests when Ironic is returning unicode strings.

Version-Release number of selected component (if applicable):
- Pinned release of tempest[1]
- Custom fork (from above pinned release) that removes tempest dependency on Cinder to allow for testing against the undercloud[2]

How reproducible:
Relatively easy


Steps to Reproduce:
1. Using rdo-manager install an undercloud
2. On the undercloud, clone[2]
3. Ensure that the fake driver is enabled for Ironic `ironic driver-list`
4. Run baremetal tests: `source /home/stack/stackrc; cd /home/stack/tempest && tools/run-tests.sh --skip-file /home/stack/skipfile tempest\.api\.baremetal.*`

Actual results:

baremetal.admin.test_list_ports and baremetal.test_list_ports_details fail[3] 

<output omitted>
...
    Traceback (most recent call last):
      File "/home/stack/tempest/tempest/api/baremetal/admin/test_ports.py", line 145, in test_list_ports_details
        port['links'][0]['href'])
      File "/home/stack/tempest/tempest/api/baremetal/admin/base.py", line 211, in validate_self_link
        self.assertEqual(expected_link, link)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 348, in assertEqual
        self.assertThat(observed, matcher, message)
      File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 433, in assertThat
        raise mismatch_error
    MismatchError: !=:
    reference = 'http://192.0.2.1:6385//v1/ports/96eb8bd4-e8b1-45f9-99e6-21e7d3b1cb39'
    actual    = u'http://192.0.2.1:6385/v1/ports/96eb8bd4-e8b1-45f9-99e6-21e7d3b1cb39'
...
<output omitted>
======
Totals
======
Ran: 69 tests in 19.0000 sec.
 - Passed: 65
 - Skipped: 2
 - Expected Fail: 0
 - Unexpected Success: 0
 - Failed: 2

Expected results:
...<output omitted>
======
Totals
======
Ran: 69 tests in 19.0000 sec.
 - Passed: 67
 - Skipped: 2
 - Expected Fail: 0
 - Unexpected Success: 0
 - Failed: 0

Additional info:

[1] - https://github.com/redhat-openstack/tempest/releases/tag/openstack-tempest-kilo-20151020
[2] - https://github.com/harryrybacki/tempest/tree/tempest_undercloud_testing
[3] - http://fpaste.org/335349/57385679/

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