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...
This issue seems fixed by now. Please reopen this bug if not.