← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1414517] [NEW] Zookeeper servicegroup API driver is not tested and apparently not usable either

 

Public bug reported:

The current UNIT tests for the Zookeeper servicegroup API driver are
never run in any of the gates, since it would require installation of a
number of Python libraries, one of which would require C headers
(zkpython).

When I tried to follow the instructions on the Zookeeper driver unit
test:

You need to install ZooKeeper locally and related dependencies
to run the test. It's unclear how to install python-zookeeper lib
in venv so you might have to run the test without it.

To set up in Ubuntu 12.04:
$ sudo apt-get install zookeeper zookeeperd python-zookeeper
$ sudo pip install evzookeeper
$ nosetests nova.tests.unit.servicegroup.test_zk_driver

The steps above did not work. The evzookeeper PIP install never
completes, due to the following error:

jaypipes@minty:~/repos/openstack/nova$ sudo pip install evzookeeper
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    load_entry_point('pip==1.5.4', 'console_scripts', 'pip')()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 351, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2363, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2088, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 11, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", line 9, in <module>
    from pip.download import path_to_url
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 25, in <module>
    from requests.compat import IncompleteRead
ImportError: cannot import name IncompleteRead

After doing some digging, it looks like the Python + Zookeeper community
has shifted its focus to the Kazoo library:

https://kazoo.readthedocs.org/en/latest/

And our own community has switched focuses to the Tooz distributed lock
management library. So, I propose that we mark the existing ZK driver in
Nova as deprecated, with a note that we're not sure it ever worked to
begin with.

** Affects: nova
     Importance: Medium
         Status: New


** Tags: low-hanging-fruit servicegroup-api

-- 
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/1414517

Title:
  Zookeeper servicegroup API driver is not tested and apparently not
  usable either

Status in OpenStack Compute (Nova):
  New

Bug description:
  The current UNIT tests for the Zookeeper servicegroup API driver are
  never run in any of the gates, since it would require installation of
  a number of Python libraries, one of which would require C headers
  (zkpython).

  When I tried to follow the instructions on the Zookeeper driver unit
  test:

  You need to install ZooKeeper locally and related dependencies
  to run the test. It's unclear how to install python-zookeeper lib
  in venv so you might have to run the test without it.

  To set up in Ubuntu 12.04:
  $ sudo apt-get install zookeeper zookeeperd python-zookeeper
  $ sudo pip install evzookeeper
  $ nosetests nova.tests.unit.servicegroup.test_zk_driver

  The steps above did not work. The evzookeeper PIP install never
  completes, due to the following error:

  jaypipes@minty:~/repos/openstack/nova$ sudo pip install evzookeeper
  Traceback (most recent call last):
    File "/usr/bin/pip", line 9, in <module>
      load_entry_point('pip==1.5.4', 'console_scripts', 'pip')()
    File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 351, in load_entry_point
      return get_distribution(dist).load_entry_point(group, name)
    File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2363, in load_entry_point
      return ep.load()
    File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2088, in load
      entry = __import__(self.module_name, globals(),globals(), ['__name__'])
    File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 11, in <module>
      from pip.vcs import git, mercurial, subversion, bazaar  # noqa
    File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", line 9, in <module>
      from pip.download import path_to_url
    File "/usr/lib/python2.7/dist-packages/pip/download.py", line 25, in <module>
      from requests.compat import IncompleteRead
  ImportError: cannot import name IncompleteRead

  After doing some digging, it looks like the Python + Zookeeper
  community has shifted its focus to the Kazoo library:

  https://kazoo.readthedocs.org/en/latest/

  And our own community has switched focuses to the Tooz distributed
  lock management library. So, I propose that we mark the existing ZK
  driver in Nova as deprecated, with a note that we're not sure it ever
  worked to begin with.

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


Follow ups

References