Comment 2 for bug 410571

Revision history for this message
Jim Fulton (jim-zope) wrote : Re: [Bug 410571] [NEW] Can't start runzeo: FSConfig instance has no attribute 'packer'

On Sat, Aug 8, 2009 at 12:03 AM, gd2shoe<email address hidden> wrote:
> Public bug reported:
>
> I'm very new to zodb and zeo.  I'm interested in using them alongside
> pylons (wsgi stack framework).
>
> Because my only interaction with this installation of ZODB up to this
> point is the runzeo command, I should not be getting a stack trace.  I
> believe this is a bug in ZEO, but may also have been an update to ZODB
> that didn't take ZEO into account.
>
> (note, all paths below are absolute paths that have been truncated for
> privacy.)
>
> === My setup ===
>
> Running in a python virtual environment (using virtualenv.py rather than Buildout for a pylons deployment) :
> http://pylonsbook.com/en/1.0/installing-pylons.html#setting-up-a-virtual-python-environment
>
> using ZODB3-3.9.0b5 obtained using:
> env/bin/easy_install -U zodb3
> gcc is version 4:4.3.3-9
> system is Debian
>
> === My problem ===
>
> $ env/bin/runzeo -a run/zeo.socket -f myDB.fs.zodb
>
> 2009-08-07T20:20:15 INFO ZEO.runzeo (11225) opening storage '1' using FileStorage
> Traceback (most recent call last):
>  File "env/bin/runzeo", line 8, in <module>
>    load_entry_point('ZODB3==3.9.0b5', 'console_scripts', 'runzeo')()
>  File "env/lib/python2.5/site-packages/ZODB3-3.9.0b5-py2.5-linux-i686.egg/ZEO/runzeo.py", line 377, in main
>    s.main()
>  File "env/lib/python2.5/site-packages/ZODB3-3.9.0b5-py2.5-linux-i686.egg/ZEO/runzeo.py", line 156, in main
>    self.open_storages()
>  File "env/lib/python2.5/site-packages/ZODB3-3.9.0b5-py2.5-linux-i686.egg/ZEO/runzeo.py", line 205, in open_storages
>    self.storages[opener.name] = opener.open()
>  File "env/lib/python2.5/site-packages/ZODB3-3.9.0b5-py2.5-linux-i686.egg/ZODB/config.py", line 158, in open
>    if self.config.packer:
> AttributeError: FSConfig instance has no attribute 'packer'
>
>
> As near as I can tell, ZEOOptions in runzeo.py doesn't include some important members such as packer and pack_gc.  I've poked around in the code a bit, but I'm out of my element.  Again, unless my environment is broken somehow, I should not be getting a stack trace.  (and yes, I tried removing and reinstalling zodb3, same behavior)

Thanks. I can reproduce this.

Most people use (poorly documented :() zeo configuration files, and
the command-line interface lacks tests. :( I'll fix this bug in the
next release.
(I have a long term project to write decent docs.)

In the mean time, I suggest using a ZEO configuration file. A
configuration file corresponding to the options you used is:

  <zeo>
    address run/zeo.socket
  </zeo>

  <filestorage>
     path myDB.fs.zodb
  </filestorage>

When running runzeo, use the -C option to specify a configuration file.

Jim

--
Jim Fulton