← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1586976] Re: UTs and functional tests broken related to msgid translations

 

Okay, I think I found the root case.

https://review.openstack.org/#/c/294751/ was introduced on 2016-04-12
but only tagged for 1.7.0 on http://git.openstack.org/cgit/openstack
/python-cinderclient/commit/?id=0cdcfb5988f57da80551b1a11fcd3d96d0baf1d8
(which was reverted quickly) and then only applied again when 1.7.1 was
pushed to upper-constraints.txt (
https://github.com/openstack/requirements/commit/c682e3b8355b3e4648e3ec6158f6b4a2758be71a
#diff-0bdd949ed8a7fdd4f95240bd951779c8 )

It seems the new cinderclient globally modifies the translation catalog
lookup fonctions (LW, LI, etc.) *globally* :
https://review.openstack.org/#/c/294751/2/cinderclient/_i18n.py


** Also affects: python-cinderclient
   Importance: Undecided
       Status: New

** Changed in: python-cinderclient
       Status: New => Confirmed

** Summary changed:

- UTs and functional tests broken related to msgid translations
+ UTs and functional tests broken due to cinderclient modifying i18n global vars

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1586976

Title:
  Nova UTs and functional tests broken due to cinderclient modifying
  i18n global vars

Status in OpenStack Compute (nova):
  Confirmed
Status in python-cinderclient:
  Confirmed

Bug description:
  Python unittests and functional tests are trampled by our Translation
  system, and in particular the gettext module.

  For example :
  2016-05-30 05:45:25.217 | nova.tests.unit.virt.libvirt.test_driver.LibvirtConnTestCase.test_create_images_and_backing_images_exist
  2016-05-30 05:45:25.218 | --------------------------------------------------------------------------------------------------------
  2016-05-30 05:45:25.218 |
  2016-05-30 05:45:25.218 | Captured traceback:
  2016-05-30 05:45:25.218 | ~~~~~~~~~~~~~~~~~~~
  2016-05-30 05:45:25.218 |     Traceback (most recent call last):
  2016-05-30 05:45:25.218 |       File "/home/jenkins/workspace/gate-nova-python27-db/.tox/py27/local/lib/python2.7/site-packages/mock/mock.py", line 1305, in patched
  2016-05-30 05:45:25.218 |         return func(*args, **keywargs)
  2016-05-30 05:45:25.218 |       File "nova/tests/unit/virt/libvirt/test_driver.py", line 8337, in test_create_images_and_backing_images_exist
  2016-05-30 05:45:25.218 |         conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
  2016-05-30 05:45:25.218 |       File "nova/virt/libvirt/driver.py", line 325, in __init__
  2016-05-30 05:45:25.218 |         host=self._host)
  2016-05-30 05:45:25.219 |       File "nova/virt/firewall.py", line 37, in load_driver
  2016-05-30 05:45:25.219 |         return fw_class(*args, **kwargs)
  2016-05-30 05:45:25.219 |       File "nova/virt/libvirt/firewall.py", line 335, in __init__
  2016-05-30 05:45:25.219 |         self.nwfilter = NWFilterFirewall(kwargs['host'])
  2016-05-30 05:45:25.219 |       File "nova/virt/libvirt/firewall.py", line 58, in __init__
  2016-05-30 05:45:25.219 |         LOG.warning(_LW("Libvirt module could not be loaded. "
  2016-05-30 05:45:25.219 |       File "/home/jenkins/workspace/gate-nova-python27-db/.tox/py27/local/lib/python2.7/site-packages/oslo_i18n/_factory.py", line 83, in f
  2016-05-30 05:45:25.219 |         return _message.Message(msg, domain=domain)
  2016-05-30 05:45:25.219 |       File "/home/jenkins/workspace/gate-nova-python27-db/.tox/py27/local/lib/python2.7/site-packages/oslo_i18n/_message.py", line 60, in __new__
  2016-05-30 05:45:25.219 |         msgtext = Message._translate_msgid(msgid, domain)
  2016-05-30 05:45:25.219 |       File "/home/jenkins/workspace/gate-nova-python27-db/.tox/py27/local/lib/python2.7/site-packages/oslo_i18n/_message.py", line 117, in _translate_msgid
  2016-05-30 05:45:25.219 |         fallback=True)
  2016-05-30 05:45:25.220 |       File "/usr/lib/python2.7/gettext.py", line 492, in translation
  2016-05-30 05:45:25.220 |         with open(mofile, 'rb') as fp:
  2016-05-30 05:45:25.220 |     IOError: [Errno 2] No such file or directory: '/home/jenkins/workspace/gate-nova-python27-db/.tox/py27/share/locale/en_US.ISO8859-1/LC_MESSAGES/nova-log-warning.mo'
  2016-05-30 05:45:25.220 |

  Or :
  2016-05-30 05:45:25.210 | nova.tests.unit.virt.libvirt.test_driver.LibvirtDriverTestCase.test_delete_instance_files_resize
  2016-05-30 05:45:25.210 | ------------------------------------------------------------------------------------------------
  2016-05-30 05:45:25.210 |
  2016-05-30 05:45:25.210 | Captured pythonlogging:
  2016-05-30 05:45:25.210 | ~~~~~~~~~~~~~~~~~~~~~~~
  2016-05-30 05:45:25.210 |     2016-05-30 05:42:04,467 WARNING [nova.virt.libvirt.firewall] Libvirt module could not be loaded. NWFilterFirewall will not work correctly.
  2016-05-30 05:45:25.210 |     2016-05-30 05:42:04,469 INFO [os_brick.initiator.connector] Init DISCO connector
  2016-05-30 05:45:25.210 |
  2016-05-30 05:45:25.210 |
  2016-05-30 05:45:25.210 | Captured traceback:
  2016-05-30 05:45:25.210 | ~~~~~~~~~~~~~~~~~~~
  2016-05-30 05:45:25.211 |     Traceback (most recent call last):
  2016-05-30 05:45:25.211 |       File "/home/jenkins/workspace/gate-nova-python27-db/.tox/py27/local/lib/python2.7/site-packages/mock/mock.py", line 1305, in patched
  2016-05-30 05:45:25.211 |         return func(*args, **keywargs)
  2016-05-30 05:45:25.211 |       File "nova/tests/unit/virt/libvirt/test_driver.py", line 15409, in test_delete_instance_files_resize
  2016-05-30 05:45:25.211 |         result = self.drvr.delete_instance_files(instance)
  2016-05-30 05:45:25.211 |       File "nova/virt/libvirt/driver.py", line 7422, in delete_instance_files
  2016-05-30 05:45:25.211 |         LOG.info(_LI('Deleting instance files %s'), target_del,
  2016-05-30 05:45:25.211 |       File "/home/jenkins/workspace/gate-nova-python27-db/.tox/py27/local/lib/python2.7/site-packages/oslo_i18n/_factory.py", line 83, in f
  2016-05-30 05:45:25.211 |         return _message.Message(msg, domain=domain)
  2016-05-30 05:45:25.211 |       File "/home/jenkins/workspace/gate-nova-python27-db/.tox/py27/local/lib/python2.7/site-packages/oslo_i18n/_message.py", line 60, in __new__
  2016-05-30 05:45:25.212 |         msgtext = Message._translate_msgid(msgid, domain)
  2016-05-30 05:45:25.212 |       File "/home/jenkins/workspace/gate-nova-python27-db/.tox/py27/local/lib/python2.7/site-packages/oslo_i18n/_message.py", line 117, in _translate_msgid
  2016-05-30 05:45:25.212 |         fallback=True)
  2016-05-30 05:45:25.212 |       File "/usr/lib/python2.7/gettext.py", line 480, in translation
  2016-05-30 05:45:25.212 |         mofiles = find(domain, localedir, languages, all=1)
  2016-05-30 05:45:25.212 |       File "/usr/lib/python2.7/gettext.py", line 463, in find
  2016-05-30 05:45:25.212 |         if os.path.exists(mofile_lp):
  2016-05-30 05:45:25.212 |       File "/home/jenkins/workspace/gate-nova-python27-db/.tox/py27/local/lib/python2.7/site-packages/mock/mock.py", line 1062, in __call__
  2016-05-30 05:45:25.212 |         return _mock_self._mock_call(*args, **kwargs)
  2016-05-30 05:45:25.212 |       File "/home/jenkins/workspace/gate-nova-python27-db/.tox/py27/local/lib/python2.7/site-packages/mock/mock.py", line 1121, in _mock_call
  2016-05-30 05:45:25.212 |         result = next(effect)
  2016-05-30 05:45:25.213 |       File "/home/jenkins/workspace/gate-nova-python27-db/.tox/py27/local/lib/python2.7/site-packages/mock/mock.py", line 109, in next
  2016-05-30 05:45:25.213 |         return _next(obj)
  2016-05-30 05:45:25.213 |     StopIteration

  Occurrences seem to start on May 27th after 00:00UTC :
  http://logstash.openstack.org/#dashboard/file/logstash.json?query=message%3A%5C%22%2C%20line%20463%2C%20in%20find%5C%22%20AND%20project%3A%5C%22openstack%2Fnova%5C%22&from=7d
  http://logstash.openstack.org/#/dashboard/file/logstash.json?query=message:\%22nova-log-warning.mo\%22%20AND%20project:\%22openstack%2Fnova\%22&from=7d

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1586976/+subscriptions


References