test_management_interface_get_sensors_data_exception fails under python34

Bug #1488252 reported by Davanum Srinivas (DIMS)
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ironic
Fix Released
Undecided
Robert Collins

Bug Description

dims@dims-mac:~/openstack/openstack/ironic$ tox -e py34 test_management_interface_get_sensors_data_exception
py34 create: /Users/dims/openstack/openstack/ironic/.tox/py34
py34 installdeps: -r/Users/dims/openstack/openstack/ironic/test-requirements.txt
py34 develop-inst: /Users/dims/openstack/openstack/ironic
py34 installed: aioeventlet==0.4,alembic==0.8.1,amqp==1.4.6,anyjson==0.3.3,appdirs==1.4.0,automaton==0.6.0,Babel==2.0,beautifulsoup4==4.4.0,blockdiag==1.5.3,cachetools==1.0.3,cffi==1.2.1,cliff==1.14.0,cmd2==0.6.8,contextlib2==0.4.0,coverage==3.7.1,cryptography==1.0,debtcollector==0.7.0,decorator==4.0.2,discover==0.4.0,docutils==0.12,ecdsa==0.13,eventlet==0.17.4,extras==0.0.3,fasteners==0.13.0,fixtures==1.3.1,flake8==2.2.4,funcparserlib==0.3.6,futures==3.0.3,futurist==0.3.0,greenlet==0.4.7,hacking==0.10.2,httplib2==0.9.1,idna==2.0,-e git://git.openstack.org/openstack/ironic@d9fccbd5ab1445a5ab2b3eae8714d5c1c6db280f#egg=ironic-master,iso8601==0.1.10,Jinja2==2.8,jsonpatch==1.11,jsonpointer==1.9,jsonschema==2.5.1,keystonemiddleware==2.1.0,kombu==3.0.26,linecache2==1.0.0,logutils==0.3.3,lxml==3.4.4,Mako==1.0.1,MarkupSafe==0.23,mccabe==0.2.1,mock==1.3.0,monotonic==0.3,mox3==0.9.0,msgpack-python==0.4.6,netaddr==0.7.15,netifaces==0.10.4,numpy==1.9.2,os-client-config==1.6.3,oslo.concurrency==2.4.0,oslo.config==2.2.0,oslo.context==0.5.0,oslo.db==2.4.1,oslo.i18n==2.4.0,oslo.log==1.9.0,oslo.messaging==2.3.0,oslo.middleware==2.6.1,oslo.policy==0.9.0,oslo.rootwrap==2.2.0,oslo.serialization==1.8.0,oslo.service==0.7.0,oslo.utils==2.3.0,oslo.versionedobjects==0.7.0,oslosphinx==3.1.0,oslotest==1.10.0,paramiko==1.15.2,pbr==1.5.0,pecan==1.0.2,pep8==1.5.7,Pillow==2.9.0,posix-ipc==1.0.0,prettytable==0.7.2,psycopg2==2.6.1,pyasn1==0.1.8,pycadf==1.1.0,pycparser==2.14,pycrypto==2.6.1,pyflakes==0.8.1,Pygments==2.0.2,PyMySQL==0.6.6,pyOpenSSL==0.15.1,pyparsing==2.0.3,pysendfile==2.0.1,python-editor==0.3,python-glanceclient==0.19.0,python-ironicclient==0.7.0,python-keystoneclient==1.6.0,python-mimeparse==0.1.4,python-neutronclient==2.6.0,python-subunit==1.1.0,python-swiftclient==2.5.0,pytz==2015.4,PyYAML==3.11,requests==2.7.0,retrying==1.3.3,seqdiag==0.9.5,simplegeneric==0.8.1,simplejson==3.8.0,six==1.9.0,Sphinx==1.2.3,sphinxcontrib-httpdomain==1.4.0,sphinxcontrib-pecanwsme==0.8.0,sphinxcontrib-seqdiag==0.8.4,SQLAlchemy==1.0.8,sqlalchemy-migrate==0.9.7,sqlparse==0.1.16,stevedore==1.7.0,Tempita==0.5.2,testrepository==0.0.20,testresources==0.2.7,testscenarios==0.5.0,testtools==1.8.0,traceback2==1.4.0,trollius==2.0,unicodecsv==0.13.0,unittest2==1.1.0,waitress==0.8.9,warlock==1.1.0,webcolors==1.5,WebOb==1.4.1,websockify==0.7.0,WebTest==2.0.18,wheel==0.24.0,wrapt==1.10.5,WSME==0.7.0
py34 runtests: PYTHONHASHSEED='2675489474'
py34 runtests: commands[0] | bash -c TESTS_DIR=./ironic/tests/ python setup.py testr --slowest --testr-args='test_management_interface_get_sensors_data_exception'
running testr
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
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 /var/folders/wr/8hznwwy91lqbbt8b2k99hxtw0000gn/T/tmp6_k_x_5j
======================================================================
FAIL: ironic.tests.drivers.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception
tags: worker-0
----------------------------------------------------------------------
Empty attachments:
  stdout

pythonlogging:'': {{{
Context impl SQLiteImpl.
Will assume non-transactional DDL.
}}}

stderr: {{{
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.runtime.migration] Running stamp_revision -> 516faf1bb9b1
}}}

Traceback (most recent call last):
  File "/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/mock.py", line 1136, in patched
    return func(*args, **keywargs)
  File "/Users/dims/openstack/openstack/ironic/ironic/tests/drivers/irmc/test_management.py", line 301, in test_management_interface_get_sensors_data_exception
    str(e))
  File "/Users/dims/openstack/openstack/ironic/.tox/py34/lib/python3.4/site-packages/testtools/testcase.py", line 350, in assertEqual
    self.assertThat(observed, matcher, message)
  File "/Users/dims/openstack/openstack/ironic/.tox/py34/lib/python3.4/site-packages/testtools/testcase.py", line 435, in assertThat
    raise mismatch_error
testtools.matchers._impl.MismatchError: !=:
reference = 'Failed to get sensor data for node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123. Error: Fake Error'
actual = "Failed to get sensor data for node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123. Error: 'InvalidParameterValue' object is not iterable"
Ran 1 tests in 0.159s
FAILED (id=0, failures=1)
error: testr failed (1)
ERROR: InvocationError: "/bin/bash -c TESTS_DIR=./ironic/tests/ python setup.py testr --slowest --testr-args='test_management_interface_get_sensors_data_exception'"
______________________________________________________________________________________________________________________________________________________________________________ summary ______________________________________________________________________________________________________________________________________________________________________________
ERROR: py34: commands failed

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ironic (master)

Fix proposed to branch: master
Review: https://review.openstack.org/216426

Changed in ironic:
assignee: nobody → Davanum Srinivas (DIMS) (dims-v)
status: New → In Progress
Revision history for this message
Robert Collins (lifeless) wrote :

This is the problem:
  File "/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/mock.py", line 1136, in patched
    return func(*args, **keywargs)

You shouldn't be using the unittest.mock copy - its broken. How it is getting imported there?

Changed in ironic:
assignee: Davanum Srinivas (DIMS) (dims-v) → Robert Collins (lifeless)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on ironic (master)

Change abandoned by Davanum Srinivas (dims) (<email address hidden>) on branch: master
Review: https://review.openstack.org/216426

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ironic (master)

Reviewed: https://review.openstack.org/216444
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=d7f80b24f37ffb5e5cd1f7b2ccfa83c144a79c4d
Submitter: Jenkins
Branch: master

commit d7f80b24f37ffb5e5cd1f7b2ccfa83c144a79c4d
Author: Robert Collins <email address hidden>
Date: Tue Aug 25 10:26:14 2015 +1200

    Remove broken workaround code for old mock.

    Mock <= 1.0.1 was indeed broken on 3.4, but unittest.mock from 3.4 is
    just as (or more) broken. Mock is now fixed, so don't play games with
    the global state of the import system.

    Change-Id: I5e04b773d33c63d5cf06ff60c321de70de453b69
    Closes-Bug: #1488252
    Partial-Bug: #1463867

Changed in ironic:
status: In Progress → Fix Committed
Changed in ironic:
milestone: none → 4.1.0
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.