[Kolab-devel] How to test the Kolab server (was: Re: Brain Dump of the Week: Ideas, Plans and Realities ...)
Gunnar Wrobel
wrobel at pardus.de
Mon Nov 23 17:27:40 CET 2009
Hi Richard,
Quoting Richard Bos <ml at radoeka.nl>:
[snip]
> > 2. Packaging and Distribution Future
> >
> > The current official and only commercially supported platform
> for Kolab
> > is OpenPKG -- unfortunately the future of OpenPKG, technically
> and
> > politically (read business model), is unknown -- at least to
> us. On the
> > other hand there is the contributed native packaging of Kolab
> server for
> > many distributions, with varying grades of functionality and
> stability.
> >
> > Currently we are not sure what to make of all this. It is
> clear that we
> > will continue to need one defined distribution with stability
> and
> > support standards for our enterprise business -- but this
> might not
> > necessary be OpenPKG for ever. Besides this we want to make
> Kolab
> > server as attractive and easy to setup for users and
> developers as
> > possible, which not at least would mean to support good native
> > packaging, but once again the strategy how to achieve this
> with limited
> > resources is work in progress.
>
> May I point your attention to the openSUSE build service?
[snip]
As pointed out by both Sascha and Bernhard before I also don't think
that building the packages is our core problem. Let me try to explain
why and then come back to the core problem we see: testing the server.
The openSUSE build service is of course interesting. It would provide
one piece of a continuous integration setup - where code commits
directly lead to an updated server release that could be tested. Using
something like the openSUSE build service would help in producing
releases for several platforms simultaneously. Compiling these for
several distributions would certainly help the package quality.
We have had our problems with supporting the packaging efforts of the
community in the past and many people from the native ports (of course
including you) helped the Kolab project to improve in that area.
Things are still not perfect but I would say they progressed quite
well in the recent years.
But for the Kolab Konsortium the community cannot be the only driving
factor. I'm already happy that the process is as open as it currently
is. But in order to finance the Kolab server we are required to
deliver a rock solid mail server for the customers. This is simply
essential in the area of mail services. And that means we need to
thoroughly test the server.
This has been one of the driving factors for the OpenPKG decision.
This way the server runs on many Linux base distros while we can still
test only one specific packaging setup and the corresponsing upgrade
path.
Providing packages for several distributions won't really help with
the testing problem. In fact we'd get more setups we'd need to test
and we already have enough trouble testing the one setup we currently
support.
So I think the core issue to discuss would be testing. With the manual
testing scheme we are currently using we can only support one
distribution. If that is OpenPKG or something else in the future does
not really matter.
The only alternative I see - and that has also already been mentioned
- is a test suite for the complete server (or even the Kolab server
network if we consider slaves).
The advantages of such a test suite would be:
1) It would be independant of the distribution and at one point we might be
able to say: A Kolab Server is an installation that runs fine
with this test
suite. That would be cool - but also a lot of work.
2) It would document the server functionality. Right now sometimes the best
solution to determine how something works on the Kolab server is to check
the OpenPKG variant. This is not really satisfying.
3) It would speed up our development process. Having a test suite
always helps
developers to point out potential side effects of their commits that they
did not think of.
4) It would allow the communities from the native ports to help improving the
testing. Right now issues from the native ports are problematic because it
is difficult to determine if a reported issue is a distribution specific
problem or not.
And the disadvantages:
1) It would be a lot of work to provide a test suite that covers a lot of the
Kolab Server functionality.
2) If such a test suite exists it is tempting to write a new test
for each new
issue (if possible). This would slow down the development process.
3) The test suite would have to be maintained. If it is a large test
suite then
it might be hard to do larger rearragements for the Kolab server
as the test
suite suddenly fails in many places. This is a particular problem of such
high level testing as it would be necessary for the Kolab server.
4) Makes adding new functionality hard as all the additional features need
testing, too.
The current system also has some advantages:
1) Tried and tested :) system.
2) Works well with the available man power.
And the main disadvantages:
1) Limits us to a single distribution.
2) Makes adding new functionality hard as all the additional features need
testing, too (see web client).
3) Not reliable as we can't possibly test all the different features of the
Kolab server manually for each release.
This is not an exhaustive overview and my personal view of the topic.
I just wanted to highlight the difficulties I currently see.
As to a possible solution: The two systems are in no way mutually
exclusive. There is no reason why we should not have both of them at
the same time. So why not just start with a very small test suite?
Something that tests just one area of the Kolab server.
I would suggest to go for the resource management
(Kolab_FreeBusy/Kolab_Filter) of the Kolab server. In my experience
this is one of the things that is hard to get right on the native
distributions and that tends to break easily. So there should be a
benefit for the OpenPKG version as well.
W could provide a defined way on how to set up and run this test suite
as well as describing how people can add new tests. By supporting a
small - or even tiny - testsuite over several server releases we
might get what we need to know in order to decide which way to go. We
might get an idea on whether such a test suite is hard to maintain and
how much effort adding new tests would be. We might be able to see if
people are willing and able to contribute.
My 2cents on testing.
Cheers,
Gunnar
--
____ http://www.pardus.de[1] _________________
http://gunnarwrobel.de[2] _
E-mail : p at rdus.de Dr. Gunnar Wrobel
Tel. : +49 700 6245 0000 Bundesstrasse 29
Fax : +49 721 1513 52322 D-20146 Hamburg
--------------------------------------------------------------------
>> Mail at ease - Rent a kolab groupware server at p at rdus <<
--------------------------------------------------------------------
Links:
------
[1] http://www.pardus.de
[2] http://gunnarwrobel.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digitale PGP-Unterschrift
URL: <http://lists.kolab.org/pipermail/devel/attachments/20091123/ae94cc2b/attachment.sig>
More information about the devel
mailing list