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