Bug 1314874 - Seven failing unittests on ironic component test Jenkins build
Summary: Seven failing unittests on ironic component test Jenkins build
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-ironic
Version: 8.0 (Liberty)
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
: 8.0 (Liberty)
Assignee: Lucas Alvares Gomes
QA Contact: Toure Dunnon
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-03-04 18:01 UTC by Harry Rybacki
Modified: 2016-08-18 14:14 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-08-18 14:14:12 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Harry Rybacki 2016-03-04 18:01:21 UTC
Description of problem:
There are currently seven failing unittests for the ironic component test build[1]. Note that a recent change to rhos-8.0-patches has broken the unittests. The pre-rebase patchset passed[4]

Version-Release number of selected component (if applicable):

How reproducible:
Easily

Steps to Reproduce:
1. Navigate to the internal Jenkins gerrit manual trigger page[2]
2. Enter 'change:67329' as your query
3. Select the radio box for the change
4. Click the 'trigger selected' button
5. Click the 'rhos-unittest-gerrit-ironic-rhel-7.2' link to the build that was kicked off.
6. (Once the build has begun) click the 'console output' button

Actual results:
1. Build is successful and output indicates all unittests passed.

Expected results:
1. Build fails and seven unittests fail e.g. build 15[3].

Output:
00:08:40.588 cmd: export PATH=$PATH:/usr/sbin; export NOSE_WITH_XUNIT=1; export NOSE_WITH_HTML_OUTPUT=1; export NOSE_HTML_OUT_FILE=nose_results.html;sudo rm -Rf .tox || true; truncate --size 0 requirements.txt; truncate --size 0 test-requirements.txt;rpm -qa > all-rpms.txt; set -o pipefail; tox --sitepackages -v -e py27 2>&1 | tee ../logs/testrun.log;
00:08:40.592 
00:08:40.592 start: 2016-03-04 10:50:54.601737
00:08:40.592 
00:08:40.593 end: 2016-03-04 10:51:12.178763
00:08:40.593 
00:08:40.593 delta: 0:00:17.577026
00:08:40.594 
00:08:40.594 stdout: using tox.ini: /home/cloud-user/ironic/tox.ini
00:08:40.594 using tox-1.8.1 from /usr/lib/python2.7/site-packages/tox/__init__.pyc
00:08:40.595 py27 create: /home/cloud-user/ironic/.tox/py27
00:08:40.595   /home/cloud-user/ironic/.tox$ /usr/bin/python -mvirtualenv --setuptools --system-site-packages --python /usr/bin/python2.7 py27 >/home/cloud-user/ironic/.tox/py27/log/py27-0.log
00:08:40.597 py27 installdeps: -r/home/cloud-user/ironic/test-requirements.txt
00:08:40.597   /home/cloud-user/ironic$ /home/cloud-user/ironic/.tox/py27/bin/pip install -U -r/home/cloud-user/ironic/test-requirements.txt >/home/cloud-user/ironic/.tox/py27/log/py27-1.log
00:08:40.598 py27 develop-inst: /home/cloud-user/ironic
00:08:40.598   /home/cloud-user/ironic$ /home/cloud-user/ironic/.tox/py27/bin/pip install -U -e /home/cloud-user/ironic >/home/cloud-user/ironic/.tox/py27/log/py27-2.log
00:08:40.599 py27 runtests: PYTHONHASHSEED='1856316823'
00:08:40.600 py27 runtests: commands[0] | bash -c TESTS_DIR=./ironic/tests/ python setup.py testr --slowest --testr-args=''
00:08:40.600   /home/cloud-user/ironic$ /usr/bin/bash -c TESTS_DIR=./ironic/tests/ python setup.py testr --slowest --testr-args='' 
00:08:40.601 running testr
00:08:40.601 running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} OS_TEST_TIMEOUT=60 ${PYTHON:-python} -m subunit.run discover -t ./ ${TESTS_DIR:-./ironic/tests/} --list 
00:08:40.602 running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} OS_TEST_TIMEOUT=60 ${PYTHON:-python} -m subunit.run discover -t ./ ${TESTS_DIR:-./ironic/tests/}  --load-list /tmp/tmp79jkxI
00:08:40.603 running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} OS_TEST_TIMEOUT=60 ${PYTHON:-python} -m subunit.run discover -t ./ ${TESTS_DIR:-./ironic/tests/}  --load-list /tmp/tmpNIdsSA
00:08:40.605 running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} OS_TEST_TIMEOUT=60 ${PYTHON:-python} -m subunit.run discover -t ./ ${TESTS_DIR:-./ironic/tests/}  --load-list /tmp/tmpIOoHiD
00:08:40.606 running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} OS_TEST_TIMEOUT=60 ${PYTHON:-python} -m subunit.run discover -t ./ ${TESTS_DIR:-./ironic/tests/}  --load-list /tmp/tmpFEglG1
00:08:40.607 ======================================================================
00:08:40.607 FAIL: ironic.tests.drivers.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job
00:08:40.608 tags: worker-0
00:08:40.608 ----------------------------------------------------------------------
00:08:40.609 Empty attachments:
00:08:40.609   pythonlogging:''
00:08:40.609   stderr
00:08:40.609   stdout
00:08:40.609 
00:08:40.609 Traceback (most recent call last):
00:08:40.609   File "/usr/lib/python2.7/site-packages/mock/mock.py", line 1305, in patched
00:08:40.610     return func(*args, **keywargs)
00:08:40.610   File "ironic/tests/drivers/drac/test_periodic_task.py", line 175, in test__check_node_raid_jobs_with_completed_job
00:08:40.611     self.driver._check_node_raid_jobs(self.node)
00:08:40.611   File "ironic/drivers/drac.py", line 137, in _check_node_raid_jobs
00:08:40.611     disk.__dict__ for disk in raid.list_virtual_disks(node)]
00:08:40.612 AttributeError: 'GenericNamedTuple' object has no attribute '__dict__'
00:08:40.612 ======================================================================
00:08:40.612 FAIL: ironic.tests.drivers.drac.test_job.DracJobTestCase.test_list_unfinished_jobs
00:08:40.613 tags: worker-1
00:08:40.613 ----------------------------------------------------------------------
00:08:40.613 Empty attachments:
00:08:40.613   pythonlogging:''
00:08:40.614   stderr
00:08:40.614   stdout
00:08:40.614 
00:08:40.614 Traceback (most recent call last):
00:08:40.614   File "/usr/lib/python2.7/site-packages/mock/mock.py", line 1305, in patched
00:08:40.614     return func(*args, **keywargs)
00:08:40.615   File "ironic/tests/drivers/drac/test_job.py", line 85, in test_list_unfinished_jobs
00:08:40.615     resp = task.driver.vendor.list_unfinished_jobs(task)
00:08:40.615   File "ironic/drivers/base.py", line 637, in passthru_handler
00:08:40.616     raise exception.VendorPassthruException(message=e)
00:08:40.616 ironic.common.exception.VendorPassthruException: 'GenericNamedTuple' object has no attribute '__dict__'
00:08:40.617 ======================================================================
00:08:40.617 FAIL: ironic.tests.drivers.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks
00:08:40.618 tags: worker-1
00:08:40.618 ----------------------------------------------------------------------
00:08:40.618 Empty attachments:
00:08:40.619   pythonlogging:''
00:08:40.619   stderr
00:08:40.620   stdout
00:08:40.620 
00:08:40.620 Traceback (most recent call last):
00:08:40.621   File "/usr/lib/python2.7/site-packages/mock/mock.py", line 1305, in patched
00:08:40.622     return func(*args, **keywargs)
00:08:40.622   File "ironic/tests/drivers/drac/test_raid.py", line 119, in test_list_virtual_disks
00:08:40.623     resp = task.driver.vendor.list_virtual_disks(task)
00:08:40.624   File "ironic/drivers/base.py", line 637, in passthru_handler
00:08:40.625     raise exception.VendorPassthruException(message=e)
00:08:40.625 ironic.common.exception.VendorPassthruException: 'GenericNamedTuple' object has no attribute '__dict__'
00:08:40.625 ======================================================================
00:08:40.626 FAIL: ironic.tests.drivers.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config
00:08:40.626 tags: worker-2
00:08:40.626 ----------------------------------------------------------------------
00:08:40.627 Empty attachments:
00:08:40.627   pythonlogging:''
00:08:40.627   stderr
00:08:40.627   stdout
00:08:40.627 
00:08:40.627 Traceback (most recent call last):
00:08:40.627   File "ironic/tests/drivers/drac/test_bios.py", line 69, in test_get_config
00:08:40.628     bios_config = task.driver.vendor.get_bios_config(task)
00:08:40.628   File "ironic/drivers/base.py", line 637, in passthru_handler
00:08:40.628     raise exception.VendorPassthruException(message=e)
00:08:40.629 ironic.common.exception.VendorPassthruException: 'GenericNamedTuple' object has no attribute '__dict__'
00:08:40.629 ======================================================================
00:08:40.630 FAIL: ironic.tests.drivers.drac.test_job.DracJobTestCase.test_get_job
00:08:40.630 tags: worker-3
00:08:40.630 ----------------------------------------------------------------------
00:08:40.631 Empty attachments:
00:08:40.631   pythonlogging:''
00:08:40.631   stderr
00:08:40.631   stdout
00:08:40.631 
00:08:40.631 Traceback (most recent call last):
00:08:40.631   File "/usr/lib/python2.7/site-packages/mock/mock.py", line 1305, in patched
00:08:40.632     return func(*args, **keywargs)
00:08:40.632   File "ironic/tests/drivers/drac/test_job.py", line 61, in test_get_job
00:08:40.632     resp = task.driver.vendor.get_job(task, 'foo')
00:08:40.633   File "ironic/drivers/base.py", line 637, in passthru_handler
00:08:40.633     raise exception.VendorPassthruException(message=e)
00:08:40.633 ironic.common.exception.VendorPassthruException: 'GenericNamedTuple' object has no attribute '__dict__'
00:08:40.634 ======================================================================
00:08:40.634 FAIL: ironic.tests.drivers.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers
00:08:40.635 tags: worker-2
00:08:40.635 ----------------------------------------------------------------------
00:08:40.635 Empty attachments:
00:08:40.635   pythonlogging:''
00:08:40.636   stderr
00:08:40.636   stdout
00:08:40.636 
00:08:40.636 Traceback (most recent call last):
00:08:40.636   File "/usr/lib/python2.7/site-packages/mock/mock.py", line 1305, in patched
00:08:40.636     return func(*args, **keywargs)
00:08:40.637   File "ironic/tests/drivers/drac/test_raid.py", line 95, in test_list_raid_controllers
00:08:40.637     resp = task.driver.vendor.list_raid_controllers(task)
00:08:40.637   File "ironic/drivers/base.py", line 637, in passthru_handler
00:08:40.638     raise exception.VendorPassthruException(message=e)
00:08:40.638 ironic.common.exception.VendorPassthruException: 'GenericNamedTuple' object has no attribute '__dict__'
00:08:40.638 ======================================================================
00:08:40.639 FAIL: ironic.tests.drivers.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks
00:08:40.639 tags: worker-3
00:08:40.639 ----------------------------------------------------------------------
00:08:40.640 Empty attachments:
00:08:40.640   pythonlogging:''
00:08:40.640   stderr
00:08:40.640   stdout
00:08:40.640 
00:08:40.640 Traceback (most recent call last):
00:08:40.640   File "/usr/lib/python2.7/site-packages/mock/mock.py", line 1305, in patched
00:08:40.641     return func(*args, **keywargs)
00:08:40.641   File "ironic/tests/drivers/drac/test_raid.py", line 143, in test_list_physical_disks
00:08:40.642     resp = task.driver.vendor.list_physical_disks(task)
00:08:40.642   File "ironic/drivers/base.py", line 637, in passthru_handler
00:08:40.642     raise exception.VendorPassthruException(message=e)
00:08:40.643 ironic.common.exception.VendorPassthruException: 'GenericNamedTuple' object has no attribute '__dict__'
00:08:40.643 Ran 2734 tests in 10.371s
00:08:40.643 FAILED (id=0, failures=7, skips=15)
00:08:40.644 error: testr failed (1)
00:08:40.644 ERROR: InvocationError: "/usr/bin/bash -c TESTS_DIR=./ironic/tests/ python setup.py testr --slowest --testr-args=''"
00:08:40.645 ___________________________________ summary ____________________________________
00:08:40.645 ERROR:   py27: commands failed

Additional info:

Internal links[1-4] in private comment...

Comment 3 Lucas Alvares Gomes 2016-08-18 14:14:12 UTC
This issue seems fixed by now. Please reopen this bug if not.


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