CentOS 7: Want a functional loggerhead

Kevin R. Bulgrien kevin.bulgrien at freedomcte.com
Wed Sep 9 22:32:10 UTC 2015


Having used bzr and loggerhead successfully on a very old server, and as
I have started to use CentOS 7 (because of its long-term support), I am
interested in getting bzr / loggerhead functionality on that platform.

I have a CentOS release 6.6 (Final) server at home, so I can compare and
contrast there as needed.  An example of what follows:

  $ cd ~/bzr && bzr checkout bzr+ssh://some.where/some.path/bzr/blah blah
  $ cat /etc/redhat-release && serve-branches ~/bzr/blah
  CentOS release 6.6 (Final)
  DEBUG:paste.httpserver.ThreadPool:Started new worker -1220355216: Initial 
worker pool
  <snip />
  serving on 0.0.0.0:8080 view at http://127.0.0.1:8080
  <snip />

  $ lynx http://localhost:8080/

I can browse the checkout with logger head using lynx.  For reference, I see
server logs as shown here:

  $ cat serve-branches.log
  2015-09-09 14:10:56,190 INFO     loggerhead: 127.0.0.1 - - 
[09/Sep/2015:14:10:55 -0500] "GET / HTTP/1.0" 301 - "-" "Lynx/2.8.6rel.5 
libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/1.0.0-fips"
  2015-09-09 14:10:58,429 INFO     loggerhead.blah: built revision graph cache: 
0.010983943939208984 secs
  2015-09-09 14:10:58,523 INFO     loggerhead.blah: Getting information for 
ChangeLogUI: 0.23343706130981445 secs
  2015-09-09 14:10:58,524 INFO     loggerhead: 127.0.0.1 - - 
[09/Sep/2015:14:10:58 -0500] "GET /changes HTTP/1.0" 200 - "-" "Lynx/2.8.6rel.5 
libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/1.0.0-fips"
  2015-09-09 14:10:58,895 INFO     loggerhead.blah: Rendering ChangeLogUI: 
0.24676394462585449 secs, 8215 bytes

This works fine on CentOS 6 / EPEL 6 packages:

  $ rpm -qa | egrep "(^bzr)|(loggerhead)"
  bzrtools-2.1.0-1.el6.i686
  bzr-2.1.1-2.el6.i686
  loggerhead-1.18.1-1.el6.noarch

CentOS 7 / EPEL 7 has some bzr packages, so I loaded them:

  $ cat /etc/redhat-release && rpm -qa | egrep "(^bzr)|(loggerhead)"
  CentOS Linux release 7.1.1503 (Core)
  bzrtools-2.5-5.el7.x86_64
  bzr-doc-2.5.1-14.el7.x86_64
  bzr-2.5.1-14.el7.x86_64

All packages except bzrtools are from CentOS 7.  bzrtools is from EPEL.
Neither EPEL 7 nor CentOS 7 package loggerhead.  As I tend to like to
Build RPMs so they are easily redeployed on multiple similar systems, I
chose to take a package-based approach in solving the problem.

The first inclination I had was to obtain the CentOS 6 loggerhead SRPM and
rebuild it on the CentOS 7 system.  This was a bit more of a challenge than
anticipated: that loggerhead SRPM needs python-simpletal and python-sqlite2
not supplied by CentOS 7 or EPEL 7.  SRPMs from CentOS 6/EPEL 6 were found
and build, but yield no success.  That said, serve-branches appeared
somewhat functional except that browsing to the localhost URL gave a 404
error.  Eventually I found that this old CentOS 6 loggerhead package was
built in a way that precluded it from being used with bzr 2.5.1 as
.bzr.log contained a clue:

  0.116  Unable to load plugin 'loggerhead'. It requested API version (2, 3, 0) 
of module <module 'bzrlib' from 
'/usr/lib64/python2.7/site-packages/bzrlib/__init__.pyc'> but the minimum 
exported version is (2, 4, 0), and the maximum is (2, 5, 1)

I went though some other machinations to get things working, but decided
to cut to the chase and just try to make loggerhead from a launchpad
tarball.  Packages not from CentOS or EPEL are no longer installed.

  $ python setup.py install --prefix=/a/local/path

  $ cat /etc/redhat-release && /home/app/bin/serve-branches ~/bzr/blah
  CentOS Linux release 7.1.1503 (Core)
  DEBUG:paste.httpserver.ThreadPool:Started new worker 139704170727168: Initial 
worker pool
  <snip />
  serving on 0.0.0.0:8080 view at http://127.0.0.1:8080

  $ lynx http://localhost:8080/
  Alert!: HTTP/1.0 404 Not Found

  $ cat serve-branches.log
  2015-09-09 17:15:25,908 INFO     loggerhead: 127.0.0.1 - - 
[09/Sep/2015:17:15:25 -0500] "GET / HTTP/1.0" 404 - "-" "Lynx/2.8.8dev.15 
libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/1.0.1e-fips"

Note the absence of the additional log entries related to repository browsing.

The ~/.bzr.log does not have anything for this timeframe.

I have changed /etc/sysconfig/selinux to set permissive mode instead of
enforcing mode as part of trying to get things working, though I did
have any evidence that it is part of the problem.

Could someone offer some pointers as to how I might try to get
loggerhead functional on CentOS 7?  I haven't found any search
engine silver bullets yet.

---
Kevin R. Bulgrien






More information about the bazaar mailing list