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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to