ra-general-updates: kto, z kim, kiedy ?

Tomasz Kłoczko kloczek w rudy.mif.pg.gda.pl
Śro, 11 Gru 2002, 03:18:52 CET


On Tue, 10 Dec 2002, Marcin Bohosiewicz wrote:
[..
> Dla ix86 (i386,i586,i686) i ppc buildery sa i sie kurza.
> Alpha chyba w CS tez juz stoi gotowa do uzytku.

Tak czy inaczje jest to tylko kopia builderów Ra.
Długo byłem cierpliwy obsługijać to dość ręcznie. Wątpie zbey ktokolwiek 
wytrzymał to dłużej. Ja już mam z lekka dość .. i to tym bardziej że 
czeka nas conajmniej dwu, trzy ktotne przebudowanie całość zanim zacznie 
zamykanie 2.0. Już samo to jest wstaczającym powodem żeby nie robić za 
dużo w obarciu o obecne schematy nie śpiesżać sie z możliwie szerokim 
rozbudowaniem funkcjonalnosci builderów i narzędzi które beda operować na 
pakeitach po stronie ftp serwera wspomagając przenoszenie pakeitów w 
takich zbiorach żeby nikt nie musiał narzekać juz na to że cżęść rzeczy 
rozjechała się w zależnościach.
Teraz jest właściwy czas na to żeby to przemyśleć bo potem jak cały młyn 
się zacznie już kręcić z pełna prędkoscią zmiany tego typu będą wczhodzić
dość opornie.

IMHO do tego żeby dopracować tą ayutomatykę jest potrzebne szersze 
uzywanie builderów po za bezpośrednia produkcja zasobów dystrybucyjnych. 
Dobrym bodźcem do czegos takiego może być rozbudowanie funcjonalności 
builderów o to żeby mogły służyć do przebudowywanai pakietów na zasadach 
distributed computing czyli żeby kazdy majac zosrganizowane u siebie 
środowisko do przebudowywania pakietów mógł zgłosić włąsna maszynkę co 
spowoduje że bedzie mógł dostawać zlecenai pzrebudowywanai pakietów w 
środowisku pakietów takich samych jak na produkcyjnych builderch.

Wszystko to po to żeby po wprowadzeniue nawet niewielkich zmian w takowym 
środowuisku móc wychwytywać konsekwencje takich zmian, gromadząc tego typu 
informacje po to żeby było niemal w każdej chwili co w danym momencie się 
nie buduje.

Rozdzielacz takich zleceń to rzecz dosć prosta. Dużo bardziej 
skomplikowane będzie dorobienie do tego tego co bezie obrabiać wyniki 
zleceń.

Tak czy inczje IMHO do obecnech buildera wartoby dorobić nasepujące 
funcje:
- cancel zlecenia które czy to jest jesszcze w klejce czy to wąłsnie jest 
  w trakcie realizacji,
- zlecenie z priorytetem - np. po to żeby nawet ptrodukcyjne buuldery 
  wykorzystywax cdo tego zeby mogłgły uczestniczyć w testowym w kółko 
  wykonywanym budowaniu pakietów .. tego typu zlecenia powinny iść z 
  niskim priorytetem ale zlecenie "produkcyjne" powinno wejść jako 
  pierwsze po najbliższym skończeniu budowania pakietu,
- mozliwość pzrekazywania w zleceniu czy jest to test build czy zlecenie
  produkcyjne - zlecenia drugie typu beda kończyć się oddaniem w określone 
  mijsce build logów (bez względu na to czy budowanie sie powodło czy 
  nie) i pakeitów wynikowych,
- builder powinien zawsze budować tylko binarne pakiety lub tylko 
  źródłowe,
- z powyższym związane jest wysyłanie po pomyślnym produkcyjnym buildzie 
  sygnału o tym że można wygenerowac pakeit źródłowy. Tutaj w sumie 
  buildery binarek mogłby od razu generować same zlecenia wygenerowania na 
  builder źródłowy. Kwestia tylk ozastanowienai się jak obsługiwać 
  budowanie źródłowych pakietów w sytuacji keidy wiadomo ze takei zlecenia 
  nie podeślą wszystkie buildery, a także to że część pakeitów jest arch 
  specyfic,
- mniejważne le takze moznaby przewidzieć obsługę zlecenia w którym 
  oddawane bezie to co w danym momencie się buduje i co jest jeszcze 
  kolejce (choćby do monitorowania tego co się dzieje i stwierdzani które 
  buildery z tych które uczęstniczą w massiv building są w danym moencie 
  aktrywne co mzoę być także pomocne w ponownym wysłaniu zlecenia 
  przebudowania jakiegoś pakietu na inny builder,
- część maszynek uczestnicżacych w budowaniu bedzie w stanei odbuierać 
  zlecenia budowanai pakeitół na kilak architektór tak jak to jest z x86 
  czy będzie za kawałek z sparc. Wobec tego pzrysdałoby się mieć mozliwość 
  wspólnego gospodarowania ilościa różnolegle obrabianych zleceń i to 
  zwrówno po to żeby majac np. konto buildera przyjmujące zmlecenia które 
  obsługuje kilak architektór ale ma obsługiwać tylko np. jedno budowanie 
  w danym momencie jak i po to żbey majac builder tylko na jedna arch ale 
  mając np. maszynke SMP godzić sie na to że będzie sie w ramach jednego 
  środowiska budować kilak pakietów róznolegle,
- o ile będziemy rozbudowywać automatyczne testowanie pakietów to 
  conajmniej kilka rzeczy mzoę wymagać żeby owe testy były pzreprowadzane 
  w sytuacji keidy nic innego nie bedzie próbować dotykać jakich zasobów
  czyli że z czasem może się rozwinąć dodatrkowyindeks pakitów które 
  takiej wyłacznosic przy budowaniu beda potrzebowały (będzie to wazne w 
  śrosdowiskach buildewrów które beda dopuszczać budowanie równolegle na 
  kilku arch).

Komuś przychodzi jeszcze coś do głowy ?
A jeszcze jedno. W przypadku builderów z obsługą kilku arch odbieranie
zleceń powinno być mosliwei niezależne od MTA. IMHO to co wpada do 
chrootów jeśli chodzi o to co jest tam zamontowane an koncie builder nie 
powinno yć wprost instalwane z rpma0- tylko generowane. to znaczy się że 
po zainstalowaniu pakeityu pld-builder, po zdecydowaniu ile zleceń bezie 
się chciało obsługiwać (równolegle) z template katalogu i listy pakeitów 
obecnego build środowiska (dosepne na głownych ftp) powinno naswpić 
wygenerownie chrootów, zainstalwoanei w nich potrzebncyh pakietów i 
odpowidnich sktyptów w template katalogu. Takze z crona powinno być 
obsługiwane (np. raz na dzień) aktuwalizowanie zawartości builderów ale 
także mogłoby isstnieć zlecenie wykonujące takową aaktualziacje po to zeby 
niezwłocznie móc zainstalowac jakieś pakiet w build środowiskach.
Na czas takiej operacji oczywiście w danych chroot nie powinno być 
wykonywane ządne budowanie. W sumie z croan mogłby być wrzucene loklnie 
takie zlecenie raz na dzień (już bez autentykacji).

Z powyzszym wiąże się składowanie logów z aktualizacji pakietów (do
wynboru zdalnie lub tylko lokalnie). Powinno meić to duze znacznie w 
diagnostyce jakis zakłuceń generowanych przez nowo pojaiwajace się 
pakiety.

Pwyższe to dość szetrki plan ale wejść na ścieżke jego realizacji wejsć i 
tak trzeab bo bez tego urobimy sie po łokcie a efektu z tego wielkiego nie 
bedzie .. zabawy także.

Jeżeli komuś jeszcze nasuwają sie tu jakieś przemyślenia co do powyższego 
to proszę ..

Do powyższro jeszcze tzreba bedzie domontować automatyke działakjcą po 
stonie repozytorium gotowych pakeitó czyli transwer pakietów do punktu 
pośredniego, automatyczne podpisywanie pakietów w tym punkcie i 
automatyczne przenoszenie grup pakietów z takiego pośrednaika do 
podstwowego dzrewka w taki sposób żeby nie zryuwać zależnosci w 
głównym drzewku (tu będzie potrzebna przy tym na pewno pomoc Pawła :).


kloczek
-- 
-----------------------------------------------------------
*Ludzie nie mają problemów, tylko sobie sami je stwarzają*
-----------------------------------------------------------
Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek w rudy.mif.pg.gda.pl*



Więcej informacji o liście dyskusyjnej pld-devel-pl