[MIR] zookeeper, netty, log4cxx
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| log4cxx (Ubuntu) |
High
|
Unassigned | ||
| netty (Ubuntu) |
High
|
Unassigned | ||
| zookeeper (Ubuntu) |
High
|
Clint Byrum |
Bug Description
== Availability ==
Zookeeper is written mostly in java, with a C client library as well, and has been available in Ubuntu since at least 10.04.
== Rationale ==
Zookeeper is used for large distributed systems and provides several primitives necessary to coordinate network activities. Zookeeper is a key component of juju, which we have identified as a key tool needed to help users transition into the cloud and deploy large scale services as well.
== Quality assurance ==
Zookeeper is fairly complicated and a low level service, so documentation is a must, though it is fairly simple to 'apt-get install zookeeperd' and have a working, powerful service immediately available.
In Ubuntu, ZK has no bugs above Medium priority (and that one is not severe at all).
The package is maintained in Debian currently by our own core developer, James Page.
Work is ongoing to enable the various test suites shipped in the package. Unfortunately there are a few non-deterministic tests which need to be patched out and fixed upstream (they pass sometimes). Thus, the package doesn't run the unit tests now in build, but that should be a simple patch once the bad tests are identified, which james-page is doing now. That process will be tracked in this bug report:
https:/
Package has an up to date watch file.
== UI standards ==
N/A
== Dependencies ==
All of zookeeper's build-deps and dependencies/
daemon - Change is already staged to drop this dependency in the next upload
log4cxx - Very simple stable C++ library, used in zktreeutil, a useful cli tool in zookeeper. It has a test suite, but it is somewhat unmaintained and so is not suitable to be run on upload.
netty - Simple java library which is useful in many contexts. Has a test suite but it is not run currently. This bug was opened to enable it:
https:/
None of these have any important bugs open in Debian or Ubuntu at this time.
== Maintenance ==
The package is reasonably straight forward, and ZK itself is a stable upstream project which should not require much maintenance.
== Background information ==
This MIR is part of the blueprint servercloud-
James Page (james-page) wrote : | #1 |
James Page (james-page) wrote : | #2 |
http://
James Page (james-page) wrote : | #3 |
daemon dependency of zookeeper has also now been dropped in preference for start-stop-daemon
James Page (james-page) wrote : | #4 |
All non-x86 architectures now build OK; good for final MIR review IMHO.
description: | updated |
Changed in zookeeper (Ubuntu): | |
importance: | Undecided → Medium |
Changed in log4cxx (Ubuntu): | |
importance: | Undecided → High |
Changed in netty (Ubuntu): | |
importance: | Undecided → High |
Changed in zookeeper (Ubuntu): | |
importance: | Medium → High |
summary: |
- [MIR] Zookeeper, netty, log4cxx + [MIR] zookeeper, netty, log4cxx |
Michael Terry (mterry) wrote : | #5 |
log4cxx needs either a symbols file or a "-V" argument with no parameter to dh_makeshlibs to tighten reverse dependencies. Since this is a C++ library, I'd recommend the "-V" approach.
It also has a test suite that isn't enabled. Adding "dh_auto_test" to it's build target runs it, but it has 3 test failures that should be examined.
I'd also like to see a bug subscriber for it, but that's not a blocker. Debian maintenance is very light, but the bug list isn't bad.
Changed in log4cxx (Ubuntu): | |
status: | New → Incomplete |
Michael Terry (mterry) wrote : | #6 |
Netty seems fine. Simple packaging, no bugs, almost in sync with Debian. Even has a bug subscriber. :)
When I built it in a pbuilder though, it pulled in libslf4j-java from universe. Seems like that needs to be added to this MIR?
Changed in netty (Ubuntu): | |
status: | New → Fix Committed |
Michael Terry (mterry) wrote : | #7 |
Just noticed your previous comments about log4cxx's test suite being unmaintained and not suitable for automated running. A bummer. Is it difficult to fix? If those 3 failures can be easily patched to success, that would be a big win. Else, don't worry about it.
And of course the -V issue remains.
Michael Terry (mterry) wrote : | #8 |
Zookeeper I'm passing to Jamie, since it seems likely to want a security review.
Changed in zookeeper (Ubuntu): | |
assignee: | nobody → Jamie Strandboge (jdstrand) |
Clint Byrum (clint-fewbar) wrote : | #9 |
mterry, thanks for the review. I fixed the test suite, it now runs on build, and added a -V to dh_makeshlibs.
Changed in log4cxx (Ubuntu): | |
status: | Incomplete → New |
Michael Terry (mterry) wrote : | #10 |
Thanks, Clint! log4cxx approved then.
Changed in log4cxx (Ubuntu): | |
status: | New → Fix Committed |
Jamie Strandboge (jdstrand) wrote : | #11 |
Report for shallow review of zookeeper:
* /usr/bin/
* upstart job looks fine, and zookeeperd runs as non-root
* There are no dbus services, sudoers fragments or setuid binaries
* test suite is enabled in the build
* build logs do have some warnings. See with "egrep -i '(error|warning):' <buildlog>". Notably:
* [javac] PerChannelBooki
* [javac] PerChannelBooki
* looking at the code and spot checking here and there, memory, string operations, et al seem fine
* zkfuse.cc had some interesting stuff and could be problematic, but we don't ship it
* ./src/contrib/
While ACLs are supported and various forms of authentication come built in (eg ip and digest authentication, with kerberos authentication is in 3.4 (not in precise yet)), one thing this is a bit disappointing (which is all too common) is the lack of native SSL support. Upstream says network security is the answer to this (ie, firewalls, security groups, etc), and also suggested stunnel: http://<email address hidden>
Based on my review and an active upstream, ACK with suggested documentation change.
Changed in zookeeper (Ubuntu): | |
assignee: | Jamie Strandboge (jdstrand) → Clint Byrum (clint-fewbar) |
status: | New → In Progress |
James Page (james-page) wrote : | #12 |
Marking Won't Fix as Python Juju won't go to main.
Changed in zookeeper (Ubuntu): | |
status: | In Progress → Won't Fix |
Changed in netty (Ubuntu): | |
status: | Fix Committed → Won't Fix |
Changed in log4cxx (Ubuntu): | |
status: | Fix Committed → Won't Fix |
I've enabled the C and Java test suites for zookeeper; these now build/test reliably on x86 architectures.
However I get a build failure for the test suite on armel/armhf - see bug 920871.
I've also enable what I can of the unit testing suite for netty; the package only builds a partial feature set to reduce main dependencies (think it was a dep of Eucalyptus).