What is rawhide for?
John Poelstra
poelstra at redhat.com
Mon Jun 16 14:16:46 UTC 2008
Rawhide serves several purposes in Fedora and yet I don't think we
clearly delineate what they are. It is often said in Fedoraland that
the best way to test the Feodora is to "run rawhide." There is a
difference between installing and running rawhide to experience the
absolute latest and greatest Fedora has to offer and intentionally
testing it. I just think we need to be clearer about our approach and
use of rawhide for testing (specific QA) because sometimes it doesn't
make sense.
Take a step back and consider what a strange testing target rawhide is:
1) An "officially" available version for reproducing bugs or test
results only exists for one day--contrast that with our build
environment that was created specifically with the intention of always
being able to recreate binaries in their original environment.
2) For most people, the economical way to get rawhide is a mirror--there
is no simple definitive way to determine that you have "the originally
composed version" of rawhide for that day. There are a few methods that
can give you "reasonable certainty", but nothing like a single check sum
or a way to confirm that the tree you've downloaded is exactly the same
as what was composed.
3) There is no "last known good version" when things completely get
messed up and you need to reinstall from scratch except the Alpha, Beta,
and Preview Release.
4) You never know when it will install or not. It isn't smoke
tested--we leave that for *everyone* to do themselves based on their own
install attempt. Even if Fedora hosted an automated smoke test to
determine if it installs you still have the problem of mirrors being out
of sync and not knowing if what you have is the exact same group of
packages that passed the smoke test.
5) It is the community's only access point for obtaining the (what is
close to) the Release Candidate for testing. I know several people will
disagree with me immediately here--we've had the argument several times
on IRC. I still think the underlying assumptions that it is "close
enough" and "most likely the same thing" are not good enough. I think
we have been lucky so far and there was a situation with F9 where the RC
contained a different package version than what was in rawhide.
6) We often place a higher value on daily rawhide than the Alpha and
Beta releases by proclaiming that they "don't really matter that much
because they are 'simply snapshots' of rawhide." The community at large
seems to focus more on the Alpha, Beta, and Preview releases as
evidenced by spikes in traffic on fedora-test-list after these releases.
7) We consider rawhide our primary testing target yet there is no
practical way to create a test matrix around it because it changes every
day. Instead we create test matrices for the Alpha, Beta, and Preview
releases which..... see the previous point. How do we know when we have
completed a full test run? How can you thoroughly test a moving target?
I know I will hear the stock replies of "but it is rawhide" or "this is
Fedora, not an enterprise distro like RHEL" and while I agree that
"rawhide is rawhide" (a circular, but well understood argument for long
term rawhide veterans) and that Fedora is not striving to be an
"enterprise distro" that doesn't mean one of Fedora's goals has to be
emphasizing a testing process that is flawed and could be better if we
all put our collective brains together to come up with something better
:-) We innovate in so many other areas... why not innovate here?
I would like to advocate that we reconsider the value we place on
rawhide and the emphasis we place around the Alpha, Beta, and Preview
Release. I think a good place to start would be document in our test
plan where using rawhide for test results makes sense and where it does
not. I believe rawhide does have its place, but I think we are trying
to use it to cover too many bases and could do more effective testing
with a more refined approach which in the end makes Fedora better!
What do other people think? Is there something here worth throwing
around here on this list with a following up discussing at FUDCon later
in the week?
More information about the fedora-test-list
mailing list