Lidé, kteří se na projektu Fedora podílejí už delší dobu, si možná pamatují na vydání prvních verzí, kdy to bylo v den vydání opravdu hektické. Servery a sítě skomíraly kvůli stahování, dychtiví uživatelé přicházeli s hromadami otázek a bugů, nadšení z prvního pohledu na úplně nové věci. Poslední vydání už taková podle mě nebyla, a je to pro mnoho důvodů.
Poznámka: článek původně vyšel na blogu Kevina Fenziho, který ve Red Hatu pracuje jako Fedora Infrastructure Lead, s názvem Fedora release days aren’t as frantic as they used to be, and why it’s mostly a good thing.
Snadná a cynická odpověď, která by mohla lidi napadnout, je to, že už se o vydání Fedory tolik lidí nezajímá – vzhledem k množství dalších konkurenčních operačních systémů a jiných věcí, o které se starají. Možná je na tom trochu pravdy, ale podle mého názoru to následující body vysvětlují lépe.
Historická odbočka: v dobách Fedora Core se hlavní obrazy vytvářely a testovaly v rámci Red Hatu, takže den vydání byl zajímavý kvůli tomu, že jen málo lidí produkt vidělo před vlastním vydáním. U těchto prvních verzí se připravovala testovací / alfa / beta / preview sestavení, ale distribuovala se pouze velmi angažovaným testerům. Až do Fedory 13 byla vydání připravována z rawhide.
Dnes je toho spoustu jinak:
O přechodu na novou verzi před vydáním
- Protože vytváříme pro nová vydání samostatné větve, je mnohem snazší přejít na novou verzi, než je vydána.
- Používání rawhide není tak matoucí. Navíc stačí udělat jedinou věc, abyste čistě přešli na novou verzi (yum distro-sync nebo znovu povolit updates-testing, jakmile je to vypnuto těsně před vydáním).
- Protože vytváříme pro nové vydání vlastní větev, mohou jít rušivější věci do rawhide, místo aby buď zaneřádily odvětvenou část před vydáním, nebo zpomalovaly správce.
O počtu milníků/testovacích obrazů
- V dobách Fedory 9–13 byly obyčejně vydávány Alpha, Beta a Preview (hrstka). Dnes jich připravujeme o HODNĚ víc. Je tak snadnější se zapojit do testování. Například v rámci cyklu Fedory 19 jsme připravili 29 sestavení (Test, Release Candidates atd.). Znamená to více práce pro lidi z týmů Release Engineering a QA, ale myslím, že to opravdu přitáhlo více testerů z komunity a usnadnilo jim to začátky.
O distribuování testovacích obrazů
- Zatížení sítě je obrovské. Zatímco dříve síť plně vytížilo, když si testovací obraz stahovalo pár lidí, dnes už to zdaleka není takový problém.
- Síť zrcadel Fedory se časem rozrostla a zrcadel je dnes k dispozici opravdu mnoho.
- Máme více master zrcadel. V jednom datacentru jich je 5, v dalším 3 a ještě v dalším 1.
- Ačkoliv testovací obrazy nejsou zrcadleny nebo distribuovány přes torrenty, master zrcadla zátěž stahování zvládají bez potíží, protože datová centra, ve kterých jsou umístěná, mají k dispozici spoustu šířky pásma.
O obecné stabilitě
- Na svém notebooku mám neustále rawhide a za posledních šest měsíců jsem narazil jen na malé množství problémů. V průběhu času se stabilita našich vydání podle mě dost zlepšuje. Důvodů je řada: více QA, lepší reportovací nástroje, lepší aktualizační politika, více lidí, kteří mohou opravovat problémy, atd.
- A protože větve nových verzí jsou ještě více chráněné a stabilní než rawhide, jsou také více použitelné pro každodenní provoz, takže na ně přechází stále více lidí už v době počátečních milníků – v minulosti by prostě počkali na finální vydání. Dříve jsem na novou verzi přecházel ve fázi Beta, později ve fázi Alpha a dnes už mám pořád rawhide.
O způsobech upgradu
- Ve Fedoře 7 a 8 byla jediným způsobem upgradu anaconda na instalačním médiu. Ve Fedoře 9-17 jsme přidali preupgrade a konečně ve Fedoře 18 jsme nahradili preupgrade i anacondu nástrojem fedup. Ja jasné, že pokud k upgradu potřebujete instalační médium, musíte počkat, až bude k dispozici (tj. den vydání nebo těsně předtím). Preupgrade měl v infrastruktuře Fedory soubor, který kontroloval, jestli už je k mání nová verze, na kterou by mohl upgradovat. Bylo to však přepínáno až v den vydání, takže jen málo lidí to používalo před vydáním. Fedup můžete spustit kdykoliv. Tím pádem to před vlastním vydáním používá mnohem více lidí. Kdykoliv s pomocí fedup můžete řejít na větev nové verze. Chcete-li upgradovat, nemá příliš smysl čekat na finální vydání.
- Yum je o mnoho chytřejší. Počínaje Fedorou 13 bylo možné používat yumovský příkaz distribution-sync, který váš stroj synchronizuje s tím, co je k dispozici v repozitářích (upgrade i downgrade). To velmi usnadnilo přechod na/z větve nových verzí.
O dalších změnách
- Dříve jsme „bit flip“ (změnu oprávnění, která nové vydání zpřístupní na master zrcadlech) prováděli v okamžiku vydání. Potíž je v tom, že na zrcadlech druhého řádu trvá až do další synchronizace, než začnou data nabízet, takže bývaly mastery zahlcené – zejména těsně po vydání. Dnes to tedy otevíráme o kousek dřív, aby se zrcadla stihla synchronizovat ještě před oznámením.
Celkově to vše znamená, že spousta lidí, se kterými jsem o tom mluvil, už přešla na Fedoru 19 dlouho před oficiálním vydáním. Hektická špička se tedy rozpustí. Díky tomu máme více testerů a uživatelů předverzí, a tak mají ti, kteří si počkají na finální verzi, stabilnější a použitelnější vydání než dříve. Výhra na všechny strany.